Leonardo de Moura
ca110012d8
feat(library/tactic): automate "generalize-intro-induction/cases" idiom
...
closes #645
2015-05-30 21:57:28 -07:00
Leonardo de Moura
6f6848968d
feat(frontends/lean/coercion_elaborator): "coercion lifting" for backtracking case
...
closes #252
2015-05-30 16:44:26 -07:00
Leonardo de Moura
00232e70d6
feat(hott,library): auxiliary theorems for simplifier
2015-05-27 16:35:56 -07:00
Leonardo de Moura
85409a59d3
feat(library/tactic/rewrite_tactic): add xrewrite and krewrite tactic variants
...
closes #511
2015-05-27 16:32:43 -07:00
Leonardo de Moura
dc6411b903
feat(library/inductive_unifier_plugin): restrict rule that was generating non-terminating behavior
...
see issue #632
2015-05-27 14:41:12 -07:00
Floris van Doorn
96a4a015d9
fix(hit): make the nondependent eliminator standard for hits
2015-05-26 21:37:02 -07:00
Floris van Doorn
43bcdd7994
feat(hott): remove sorry's in circle.hlean, characterize pathovers in degenerate pi's
2015-05-26 21:37:01 -07:00
Floris van Doorn
c64d73aae4
feat(types.nat): prove that inequalities on nat are mere propositions
...
Also some small changes in various other locations
2015-05-26 21:37:01 -07:00
Floris van Doorn
95e0fbb71a
feat(hott): add interval and (start of) squareovers
2015-05-26 21:37:01 -07:00
Floris van Doorn
d7c1a8f2e0
feat(hott): small fixes in hit and cubical.square
2015-05-26 21:37:01 -07:00
Floris van Doorn
4a29f4bdd4
feat(types): incorporate pathovers in the files of the types folder
...
Conflicts:
hott/cubical/pathover.hlean
2015-05-26 21:37:01 -07:00
Floris van Doorn
0b12d51b25
feat(hott): use pathovers in all the recursors of hits
...
move pathover file to the init folder
2015-05-26 21:37:01 -07:00
Floris van Doorn
54ed8a8e76
feat(hott): small changes in init and category
2015-05-26 21:37:01 -07:00
Floris van Doorn
40d5f83851
feat(hit): start using induction tactic
2015-05-26 21:37:01 -07:00
Floris van Doorn
50290fb81c
feat(hott): add recursor attribute to hits
...
recursor attribute is added to both the dependent and nondependent elimination, is such a way that the dependent elimination is used by default
2015-05-26 21:37:01 -07:00
Floris van Doorn
8056f326d7
feat(reserved_notation): make is_typeof parsing-only, add ^ to HoTT
2015-05-26 21:37:01 -07:00
Jeremy Avigad
716da2488b
fix(hott/*.md,library/*.md): use the word 'file' instead of 'module'
2015-05-25 16:50:42 -07:00
Leonardo de Moura
d0987eb3ac
feat(library/tactic): add 'subtvars' tactic
2015-05-25 16:36:44 -07:00
Jeremy Avigad
33214f0895
refactor(hott/*): remove 'Module:' lines
2015-05-23 20:52:58 +10:00
Jeremy Avigad
d33c91d7b9
fix({hott,library}/algebra/*): fix names
2015-05-23 14:05:06 +10:00
Leonardo de Moura
c133d26505
feat(frontends/lean/builtin_exprs): change how 'show' is processed in tactics
...
Unresolved placeholders were not being reported
2015-05-19 16:23:50 -07:00
Leonardo de Moura
78ee055de8
feat(library/tactic): add induction tactic with support for user defined recursors
...
closes #483
closes #492
2015-05-19 13:27:17 -07:00
Leonardo de Moura
e1c2340db2
fix(frontends/lean): consistent behavior for protected declarations
...
see https://github.com/leanprover/lean/issues/604#issuecomment-103265608
closes #609
2015-05-18 22:35:18 -07:00
Floris van Doorn
c430d1d5ba
feat(category.constructions): define comma category
2015-05-18 15:59:55 -07:00
Floris van Doorn
eedf1992bf
feat(functor): prove sorry's, and shorten some proofs
2015-05-18 15:59:55 -07:00
Floris van Doorn
6ca9635d53
feat(hit.trunc): replace sorry by proof
2015-05-18 15:59:55 -07:00
Floris van Doorn
de6294a4ce
feat(hott.core): add more files to core.hlean
2015-05-18 15:59:55 -07:00
Floris van Doorn
2144036cdb
feat(hott.circle): prove that the fundamental group of the circle is equal to the integers, as groups
...
Also many minor fixes at various places
2015-05-18 15:59:55 -07:00
Floris van Doorn
1597337c72
feat(path): add unfold-c attribute to definitions
2015-05-18 15:59:55 -07:00
Floris van Doorn
17a9bb4bc2
fix(types.W): clean-up W file, remove 'exit'
2015-05-18 15:59:54 -07:00
Leonardo de Moura
19361f0196
feat(library/unifier): do not fire type class resolution as last resort when type contains metavariables
...
see discussion at #604
2015-05-18 15:45:23 -07:00
Leonardo de Moura
b1ece388a6
feat(frontends/lean,library/tactic/induction_tactic): improve induction tactic notation, expand induction tactic implementation
2015-05-18 09:25:07 -07:00
Leonardo de Moura
065a1f7501
feat(library/tactic): add 'induction' tactic skeleton
2015-05-12 20:21:25 -07:00
Leonardo de Moura
396f77aa68
fix(library,hott): comment 'exit' commands to avoid warnings during compilation
2015-05-11 11:49:23 -07:00
Leonardo de Moura
379af8a04e
feat(library): avoid 'definition' hack for theorems
2015-05-09 12:15:30 -07:00
Leonardo de Moura
6c958a25e7
refactor(library/tactic/expr_to_tactic): make sure builtin tactics don't need to be marked opaque
...
This modification is needed since we will remove opaque definitions from
the kernel.
see issue #576
2015-05-08 16:06:16 -07:00
Leonardo de Moura
0b57f7d00a
refactor(library/tactic): refine interface between tactic and proof-term modes
...
Some constraints were being lost with the previous interface.
This is why we had a workaround in fintype.lean.
We can also remove some hacks we have used in the past.
2015-05-07 18:02:51 -07:00
Floris van Doorn
c2c7c4f79f
feat(hit.circle): finish proof that (base = base) is equivalent to int
2015-05-07 16:39:04 -07:00
Floris van Doorn
111c8e1529
feat(hott): add [unfold-c] and [constructor] attributes for HITs
2015-05-07 16:39:04 -07:00
Floris van Doorn
9893de6194
feat(hit/circle): prove partly that the fundamental group of the circle is int
...
Also add markdown files for nat and int
2015-05-07 16:39:04 -07:00
Floris van Doorn
0a8f4f6dab
feat(function): add unfold hints to function.[h]lean
2015-05-07 16:39:03 -07:00
Floris van Doorn
7cfac38eda
feat(hott): port parts of natural numbers and integers from standard library to HoTT
...
This also involves:
- adding definitions about logic and natural numbers existing in the standard library to init
- porting the current algebraic hierarchy
2015-05-07 16:39:03 -07:00
Floris van Doorn
e9ff925e2f
feat(pi): prove that forall x, a = x is a mere proposition
2015-05-07 16:39:03 -07:00
Floris van Doorn
e5241f84ec
fix(init.datatypes): make empty live in Type.{0}
2015-05-07 16:39:03 -07:00
Floris van Doorn
90f1a691fd
feat(hott): change notation of transport to correspond with standard library
2015-05-07 16:39:03 -07:00
Floris van Doorn
8b4756f9c8
feat(hott): port nat from standard library to HoTT library; make script to port files
2015-05-07 16:39:03 -07:00
Floris van Doorn
61c1cd6840
feat(hott.init): define core namespace
2015-05-07 16:39:03 -07:00
Floris van Doorn
6dfd7af0ec
feat(hott.types): add theorems about booleans
2015-05-07 16:39:03 -07:00
Floris van Doorn
dce672a815
fix(hott.md): mention arity.hlean
2015-05-07 16:39:03 -07:00
Floris van Doorn
ce5f60d009
feat(hott.init.function): add more notions from the standard library
2015-05-07 16:39:03 -07:00