Floris van Doorn
4e2cc66061
style(*): rename is_hprop/is_hset to is_prop/is_set
2016-02-22 11:15:38 -08:00
Floris van Doorn
816237315c
feat(hott): various additions, especially for pointed maps/homotopies/equivalences
2016-02-22 11:15:38 -08:00
Floris van Doorn
ecc141779a
feat(init.path): update init.path to use tactics, also some additions
...
Now the file hardly uses eq.rec explicitly anymore.
Also add the fact that horizontal and vertical inverses of paths are equal
Make one more argument explicit in eq.cancel_left and eq.cancel_right (to make it nicer to write 'apply cancel_right p')
2016-02-22 11:15:38 -08:00
Floris van Doorn
7f09ba328e
feat(hott): small changes
2016-02-22 11:15:38 -08:00
Floris van Doorn
78092af27f
feat(hott): add some attributes
2016-02-22 11:15:38 -08:00
Floris van Doorn
cd74b6bff0
fix(hott): abstract some equivalence proofs
...
Note: this is important. I proved a quite complicated equivalence with calc, by chaining these
equivalences. Now if I want to know the underlying function of this composite equivalence, I have to
unfold all these instances. Without the abstracts, this took 14 seconds, and afterwards, it took 2
seconds.
2016-02-22 11:15:38 -08:00
Floris van Doorn
42b78962f9
feat(init/wf): simplify definition acc.drec
2016-02-09 10:03:48 -08:00
Floris van Doorn
e14d4a4c0c
feat(init/wf): port from standard library to HoTT library
...
After this commit we need some more advanced theorems in init/wf, notably function extenstionality.
For this reason I had to refactor the init folder a little bit.
To keep the init folders in both libraries similar, I did the same refactorization in the standard library, even though that was not required for the standard library
2016-02-09 10:03:48 -08:00
Floris van Doorn
ec38ee8df8
fix(hott/init/tactic): add replace
2016-02-07 14:06:28 -08:00
Leonardo de Moura
30d6853ffd
refactor(hott,tests): make sure HoTT library and tests still work if we introduce checkpoints in have-expressions
2016-02-04 16:58:32 -08:00
Ulrik Buchholtz
dcb35008e1
feat(hott/homotopy): general connectivity elimination and the wedge connectivity lemma
2016-02-04 11:07:22 -08:00
Leonardo de Moura
b117a10f82
refactor(library/blast/simplifier): use priority_queue to store simp/congr lemmas, use name convention used at forward/backward lemmas, normalize lemmas when blast starts, cache get_simp_lemmas
2015-12-28 17:52:57 -08:00
Leonardo de Moura
f177082c3b
refactor(*): normalize metaclass names
...
@avigad and @fpvandoorn, I changed the metaclasses names. They
were not uniform:
- The plural was used in some cases (e.g., [coercions]).
- In other cases a cryptic name was used (e.g., [brs]).
Now, I tried to use the attribute name as the metaclass name whenever
possible. For example, we write
definition foo [coercion] ...
definition bla [forward] ...
and
open [coercion] nat
open [forward] nat
It is easier to remember and is uniform.
2015-12-28 10:39:15 -08:00
Leonardo de Moura
128b557d37
refactor(frontends/lean): use attribute_manager to simplify decl_attributes
2015-12-17 22:28:53 -08:00
Floris van Doorn
74366aa061
fix(hott): change some theorems to definitions
...
This ensures that the HoTT library compiles with the option --to_axiom
2015-12-17 12:46:16 -08:00
Floris van Doorn
da5f10ce63
feat(hott): minor fixes. allow the usage of numerals for trunc_index
2015-12-17 12:46:16 -08:00
Leonardo de Moura
61ecf018e9
feat(frontends/lean,library/tactic): add easy tactic parsing support for at ...
and with ...
2015-12-17 12:18:32 -08:00
Leonardo de Moura
c824a0e050
chore(library,hott): enforce naming conventions
2015-12-17 11:36:58 -08:00
Leonardo de Moura
13419d1561
chore(hott/library): cleanup
2015-12-17 11:31:07 -08:00
Sebastian Ullrich
2185ee7e95
feat(library/tactic): make let tactic transparent, introduce new opaque note tactic
...
The new let tactic is semantically equivalent to let terms, while `note`
preserves its old opaque behavior.
2015-12-14 10:14:02 -08:00
Leonardo de Moura
e3a35ba4fd
feat(frontends/lean): add 'with_attributes' tactical
...
closes #494
2015-12-13 18:27:44 -08:00
Leonardo de Moura
d4e49a8434
feat(library/tactic/intros_tactic): intro without argument should introduce a single variable
...
see #695
2015-12-13 16:28:39 -08:00
Floris van Doorn
4ef58f1ba5
chore(hott): more cleanup.
...
Make zero and one reducible (see algebra/port.md)
Change some theorems which need to compute into definitions
2015-12-10 10:42:16 -08:00
Floris van Doorn
c968f920ba
chore(hott): cleanup
2015-12-10 10:42:16 -08:00
Floris van Doorn
2325d23f68
feat(hott): port nat and int from the standard library
2015-12-09 12:36:11 -08:00
Floris van Doorn
46739c8b70
feat(hott/algebra): port abstract structures
2015-12-09 12:34:06 -08:00
Floris van Doorn
14a2c8e444
fix(init/nat): add spaces around inequalities
2015-12-09 12:34:06 -08:00
Leonardo de Moura
85379b7706
feat(library/blast/actions/simple_actions): make sure contradiction action works even if classical logic support is not enabled
...
not (not (not a)) -> not a
2015-12-07 09:30:14 -08:00
Floris van Doorn
c44ad80e4e
feat(homotopy/torus): give recursion and induction principle for the torus
...
also change the surface of the torus to a square instead of an equality between paths
2015-11-22 18:29:37 -08:00
Floris van Doorn
ae92e8c94d
feat(hit/two_quotient): give dependent eliminator for two_quotients
2015-11-22 18:29:37 -08:00
Floris van Doorn
0537ef2bd9
chore(*): add me as author to files where I made nontrivial contributions
2015-11-22 14:21:26 -08:00
Floris van Doorn
cc03ca9c6d
fix(reserved_notation): make :: bind stronger than ++
...
this allows us to write l1 ++ a :: l2 without parentheses
2015-11-22 14:21:26 -08:00
Floris van Doorn
5abc450fad
feat(list): port list.basic from the standard library
2015-11-22 14:21:26 -08:00
Floris van Doorn
45d808ce7f
feat(homotopy/circle): give all higher homotopy groups of the circle
2015-11-22 14:21:25 -08:00
Floris van Doorn
47be1e3a15
feat(types/pointed): change definition of loop space
2015-11-16 21:32:09 -08:00
Floris van Doorn
d402b67d25
feat(hott/function): show that a function is embedding iff it has propositional fibers
2015-11-16 21:32:09 -08:00
Floris van Doorn
e00ccff6de
fix(hott): make sure the HoTT library compiles with --to_axiom
2015-11-16 21:32:09 -08:00
Leonardo de Moura
4d68e2a520
feat(library,hott): add eq.mpr and eq.mp lemmas
2015-11-14 15:40:47 -08:00
Leonardo de Moura
a07598a3ec
feat(hott/init/logic): congr_fun was missing in the HoTT library, blast assumes it is part of the environment
2015-11-08 14:05:03 -08:00
Leonardo de Moura
01259a2d1c
feat(library/app_builder): add helper functions for creating eq.rec applications
2015-11-08 14:05:01 -08:00
Floris van Doorn
4828afa781
fix(hott): small fixes after rebasing
2015-11-08 14:04:59 -08:00
Floris van Doorn
36dfb61a3e
feat(category.limits): prove that yoneda preserves limits
2015-11-08 14:04:59 -08:00
Floris van Doorn
a99a99f047
feat(hit/quotient): prove the flattening lemma
2015-11-08 14:04:59 -08:00
Floris van Doorn
aa9f32a3bd
fix(init/equiv): make transport not an instance
2015-11-08 14:04:59 -08:00
Floris van Doorn
f2d07ca23c
feat(category): various small changes in category theory
2015-11-08 14:04:59 -08:00
Floris van Doorn
de1c47eda9
feat(categories): add exponential laws for categories
...
also give nicer rules to construct equalities between (pre)categories
2015-11-08 14:04:59 -08:00
Floris van Doorn
18ec5f8b85
feat(categories): prove introduction rule for equivalences
2015-11-08 14:04:58 -08:00
Floris van Doorn
448178a045
feat(category.functor2): prove that the category of functors is complete and cocomplete if the codomain is
2015-11-08 14:04:58 -08:00
Leonardo de Moura
50186e2db3
feat(library/class_instance_resolution): add old type class resolution procedure back to be able to compile HoTT library
2015-11-08 14:04:58 -08:00
Leonardo de Moura
d1e111fd6c
fix(hott,frontends/lean,library,library/tactic): make sure we can still compile the HoTT library
2015-11-08 14:04:55 -08:00