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
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
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
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
7e02ea6cab
feat(hott): add smash product of pointed types
2016-02-09 09:57:33 -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
8eab58f41a
fix(choice): make some style changes
2016-01-24 16:34:45 -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
664132b845
feat(hott): add calc lemmas for pointed equivalences, make pinl and pinr constructors
2016-01-24 16:30:16 -08:00
Leonardo de Moura
66a722ff5a
feat(library/unifier): remove "eager delta hack", use is_def_eq when delta-constraint does not have metavariables anymore
...
The "eager-delta hack" was added to minimize problems in the interaction
between coercions and delta-constraints.
2016-01-03 12:39:32 -08:00
Ulrik Buchholtz
f3b2c7010f
feat(hott): functoriality of quotients
2015-12-28 09:06:13 -08:00
Floris van Doorn
c852f7bc71
feat(hott): use the induction tactic for trunc at some places
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
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
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
65c93b180d
fix(types.md): add num
2015-12-09 12:36:11 -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
377755e5ab
feat(types/sigma): add lemma
2015-12-09 12:34:06 -08:00
Leonardo de Moura
6404c3c014
chore(hott/types/nat/order): remove occurrence of "migrate" command
2015-12-08 15:37:13 -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
74aff044ef
feat(group): port three more theorems from the standard library
2015-11-22 14:21:26 -08:00
Floris van Doorn
482c68b387
feat(*/list): add some computation rules for lists in both libraries
2015-11-22 14:21:26 -08:00
Floris van Doorn
93283a4cf8
feat(list): also port part of list.comb
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
88a62f8e74
feat(algebra|types): small additions
...
add to markdown file for algebra, and add some definitions in types/
2015-11-22 14:21:25 -08:00