Commit graph

272 commits

Author SHA1 Message Date
Ulrik Buchholtz
1c52062f1e chore(hott): standardize names of homotopy_of_inv_homotopy_post and friends 2016-03-23 09:22:55 -07:00
Ulrik Buchholtz
bd9e47c82c feat(hott): functoriality of pushout; connectedness in is_conn namespace
other changes:
- move result about connectedness of susp to homotopy.susp
- improved definition of circle multiplication
- improved the interface to join
2016-03-23 09:22:55 -07:00
Floris van Doorn
1e10810a1e feat(init/funext): add function extensionality as an axiom.
This allows us to keep track of theorems which use function extensionality, but not full univalence
2016-03-06 13:03:31 -05:00
Floris van Doorn
671ef077b9 feat(hott): additions, mostly to types.trunc 2016-03-06 13:03:31 -05:00
Floris van Doorn
5cacebcf86 feat(hott): replace assert by have and merge namespace equiv.ops into equiv
The coercion A ≃ B -> (A -> B) is now in namespace equiv. The notation ⁻¹ for symmetry of equivalences is not supported anymore. Use ⁻¹ᵉ
2016-03-03 10:13:21 -08:00
Floris van Doorn
058000f61d feat(homotopy/homotopy_group): add theorems in section 8.3 of the HoTT book 2016-03-03 10:13:21 -08:00
Floris van Doorn
1903601ba5 refactor(trunc): rename namespace is_trunc.trunc_index to trunc_index 2016-03-03 10:13:20 -08:00
Floris van Doorn
e515875464 feat(hott): various additions 2016-03-03 10:13:20 -08:00
Floris van Doorn
c6e628da12 feat(hott): more computation rules for trunc_index and use nats for Lemma 8.6.2 2016-03-03 10:13:20 -08:00
Floris van Doorn
e5d5ef9d55 feat(hott/library): various changes and additions.
Most notably:
Give le.refl the attribute [refl]. This simplifies tactic proofs in various places.
Redefine the order of trunc_index, and instantiate it as weak order.
Add more about pointed equivalences.
2016-03-03 10:13:20 -08:00
Floris van Doorn
4238fdd3d8 fix(hott): add missing links to markdown files 2016-03-03 10:13:20 -08:00
Leonardo de Moura
fbe5188480 refactor(frontends/lean): remove 'by+' and 'begin+' tokens 2016-02-29 13:45:43 -08:00
Leonardo de Moura
b41c65f549 feat(frontends/lean): remove '[visible]' annotation, remove 'is_visible' tracking 2016-02-29 12:31:23 -08:00
Leonardo de Moura
cc8d9bc7ff refactor(hott): replace 'assert'-expr with 'have'-expr 2016-02-29 12:11:17 -08:00
Leonardo de Moura
5a4dd3f237 feat(library/reducible): remove [quasireducible] annotation 2016-02-25 17:42:44 -08:00
Leonardo de Moura
510168a387 refactor(library,hott): remove unnecessary annotations 2016-02-25 12:26:20 -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
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
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