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
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
810a399699
style(homotopy/circle): clean-up encode-decode proof
2015-11-22 14:21:25 -08:00
Floris van Doorn
206bcd4b2a
feat(algebra/homotopy_group): define homotopy groups
2015-11-16 21:32:09 -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
Ulrik Buchholtz
aebb88d42b
feat(hott/homotopy): connectedness, including HoTT Thm 8.2.1
2015-11-08 14:21:16 -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
Leonardo de Moura
744d1cba3d
feat(library,hott,frontends/lean): avoid keywords with hyphen
2015-11-08 14:04:54 -08:00
Floris van Doorn
115dedbd1c
fix(hott): notation spacing and markdown files
2015-10-02 16:26:10 -07:00