Commit graph

459 commits

Author SHA1 Message Date
Leonardo de Moura
d501295ec1 refactor(algebra/binary): remove unnecessary annotations 2016-02-25 15:11:52 -08:00
Leonardo de Moura
768ba1c363 refactor(library/hott): remove more unnecessary annotations 2016-02-25 14:30:00 -08:00
Leonardo de Moura
510168a387 refactor(library,hott): remove unnecessary annotations 2016-02-25 12:26:20 -08:00
Leonardo de Moura
146edde5b3 feat(library/class): mark instances as quasireducible by default
quasireducible are also known as lazyreducible.

There is a lot of work to be done.
We still need to revise blast, and add a normalizer for type class
instances. This commit worksaround that by eagerly unfolding
quasireducible.
2016-02-25 12:11:29 -08:00
Leonardo de Moura
1924b2884c refactor(library/tactic): remove 'append' and 'interleave' tacticals
Preparation for major refactoring in the tactic framework.
2016-02-24 16:02:16 -08:00
Sebastian Ullrich
3de216d302 chore(*.md): fix/remove broken links 2016-02-23 10:11:24 -08:00
Floris van Doorn
6cdbc0f79f feat(pointed/equiv): add more theorems
The theorems are mostly about the interaction between pointed equivalences and pointed homotopies
Some of these theorems were missing for (unpointed) equivalences, so I also added them there
2016-02-22 11:15:39 -08:00
Floris van Doorn
eea2a1ac91 feat(hott): add some more abstracts 2016-02-22 11:15:39 -08:00
Floris van Doorn
facd94a1b4 feat(hott): various changes
more about pointed truncated types, including pointed sets.
also increase the priority of some basic instances that nat/num/pos_num/trunc_index have 0, 1 and + (in both libraries)
also move the notation + for sum into the namespace sum, to (sometimes) avoid overloading with add
2016-02-22 11:15:38 -08:00
Floris van Doorn
087c44d614 style(hott): rename instances of pType using pfoo instead of Foo
For example, the pointed suspension operation was called Susp before this commit, but now is called psusp
2016-02-22 11:15:38 -08:00
Floris van Doorn
c64e5a114c feat(circle): add missing facts that the circle is 1-truncated and 0-connected 2016-02-22 11:15:38 -08:00
Floris van Doorn
bac6d99cc7 style(hott): rename Pointed to pType
also rename sigma_equiv_sigma_id to sigma_equiv_sigma_right and similarly for pi
2016-02-22 11:15:38 -08:00
Floris van Doorn
43cf2ad23d style(hott): replace all other occurrences of hprop/hset
They are replaced by either Prop/Set or prop/set
2016-02-22 11:15:38 -08:00
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
Jakob von Raumer
c0abcc7722 chore(hott): fix signature of previous lemma 2016-02-09 09:59:03 -08:00
Jakob von Raumer
3c7536cff8 chore(hott): clean up cancellability proof a bit 2016-02-09 09:58:57 -08:00
Jakob von Raumer
4d6c516c01 feat(hott): add lemma: equivalent fin sets come from equal numbers, sums with fin sets are cancellable 2016-02-09 09:58:52 -08:00
Jakob von Raumer
4edb6d7765 feat(hott): finish cancelling law for sums with unit 2016-02-09 09:58:31 -08:00
Jakob von Raumer
0ad8131985 feat(hott): start cancellation proof for sums 2016-02-09 09:58:24 -08:00
Jakob von Raumer
62e1431f04 chore(hott): delay lemmas about smash product until I have more ideas on how to tackle the coherence there. 2016-02-09 09:58:17 -08:00
Jakob von Raumer
1042f6c29d feat(hott): port finite ordinal sets from the std library, with all things related to nat.mod and to fintype still missing.
create a logic.hlean file for further extension of the logic theory in the prelude. add distributivity lemmas for products and sums.
2016-02-09 09:58:10 -08:00
Jakob von Raumer
cb3bc1a311 feat(hott): add another constructor for pointed equivalences 2016-02-09 09:57:59 -08:00
Jakob von Raumer
23dec19aa7 feat(hott): start lemma about smashing with bool 2016-02-09 09:57:52 -08:00
Jakob von Raumer
8bc4206c62 feat(hott): add custom recursors for cofiber type 2016-02-09 09:57:47 -08:00
Jakob von Raumer
31e2653e58 feat(hott): add lemma: cofiber of terminal morphism is suspension 2016-02-09 09:57:39 -08:00
Jakob von Raumer
7e02ea6cab feat(hott): add smash product of pointed types 2016-02-09 09:57:33 -08:00
Jakob von Raumer
ce8ca64771 feat(hott): adjust small things in wedge theory 2016-02-09 09:57:27 -08:00
Jakob von Raumer
56cd88267c feat(hott): add cofiber of a function, prove lemma that cofibers of equivalences are contractible 2016-02-09 09:57:21 -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
Leonardo de Moura
42fbc63bb6 fix(library/tc_multigraph): avoid name collisions
@avigad, @fpvandoorn, @rlewis1988, @dselsam

I changed how transitive instances are named.
The motivation is to avoid a naming collision problem found by Daniel.
Before this commit, we were getting an error on the following file
tests/lean/run/collision_bug.lean.

Now, transitive instances contain the prefix "_trans_".
It makes it clear this is an internal definition and it should not be used
by users.

This change also demonstrates (again) how the `rewrite` tactic is
fragile. The problem is that the matching procedure used by it has
very little support for solving matching constraints that involving type
class instances. Eventually, we will need to reimplement `rewrite`
using the new unification procedure used in blast.

In the meantime, the workaround is to use `krewrite` (as usual).
2016-02-04 13:15:42 -08:00
Ulrik Buchholtz
dcb35008e1 feat(hott/homotopy): general connectivity elimination and the wedge connectivity lemma 2016-02-04 11:07:22 -08:00
Floris van Doorn
29c84aad19 fix(book.md): add types.arrow to 2.9
closes #976
2016-01-26 20:40:22 -08:00
Floris van Doorn
3409deecdb chore(hott): update md files, move port.md 2016-01-24 16:34:45 -08:00
Floris van Doorn
8eab58f41a fix(choice): make some style changes 2016-01-24 16:34:45 -08:00
seulbaek
92d6806073 refactor(hott/choice): rename 3.8.5 2016-01-24 16:34:35 -08:00
seulbaek
107550238b refactor(hott/choice): rename lemmas for 3.8.2 2016-01-24 16:34:23 -08:00
seulbaek
d42f3d313f feat(hott): add choice.hlean 2016-01-24 16:34:12 -08:00
seulbaek
2c81c93d69 feat(hott/types/equiv): add is_trunc_equiv to equiv.hlean 2016-01-24 16:33:59 -08:00
Jakob von Raumer
aa5e188179 feat(hott): add symmetry of pushouts and pointed pushouts 2016-01-24 16:30:26 -08:00
Jakob von Raumer
d8d3b0c0b2 feat(hott): add wedge sum of pointed types, neutrality of wedging with the unit type 2016-01-24 16:30:21 -08:00
Jakob von Raumer
664132b845 feat(hott): add calc lemmas for pointed equivalences, make pinl and pinr constructors 2016-01-24 16:30:16 -08:00
Jakob von Raumer
8d22e454e7 feat(hott): add theory about pointed pushouts 2016-01-24 16:30:12 -08:00