Commit graph

285 commits

Author SHA1 Message Date
Floris van Doorn
ae1b2e854c feat(hott): various minor changes 2016-07-09 10:20:21 -07:00
Floris van Doorn
15cdd593c1 feat(init.{equiv|ua}): remove duplicated theorem 2016-07-09 10:20:21 -07:00
Floris van Doorn
735230ad07 feat(hott): small changes, simplify van Kampen 2016-07-09 10:20:21 -07:00
Floris van Doorn
9f13527c25 chore(hott): update default files and some markdown files 2016-07-09 10:20:21 -07:00
Floris van Doorn
52dd6cf90b feat(hott): Port files from other repositories to the HoTT library.
This commit adds truncated 2-quotients, groupoid quotients, Eilenberg MacLane spaces, chain complexes, the long exact sequence of homotopy groups, the Freudenthal Suspension Theorem, Whitehead's principle, and the computation of homotopy groups of almost all spheres which are known in HoTT.
2016-05-06 14:27:27 -07:00
Floris van Doorn
8db4676c46 feat(hott): various changes and additions in the HoTT library
Add more theorems about mapping cylinders, fibers, truncated 2-quotient, truncated univalence, pre/postcomposition with an iso in a precategory.

renamings: equiv.refl -> equiv.rfl and equiv_eq <-> equiv_eq'
2016-05-06 14:27:27 -07:00
Floris van Doorn
f983724cf6 feat(pointed): merge pointed2 into pointed
We move the basic notions of pointed types into init.pointed, to avoid cycles in the import graph. Also adds pointed versions of pi and sigma, with corresponding notation
2016-04-11 09:45:59 -07:00
Floris van Doorn
54da5bcbda feat(hott): add some [constructor] attributes 2016-04-11 09:45:59 -07:00
Floris van Doorn
3887efa7c1 feat(hott): some renamings in init.path 2016-04-11 09:45:59 -07:00
Floris van Doorn
dc37ec954d refactor(hott): rename apdo to apd 2016-04-11 09:45:59 -07:00
Floris van Doorn
80a2e285cb feat(init/ua): add ua_symm and ua_trans 2016-04-11 09:45:59 -07:00
Floris van Doorn
05b59aecf8 refactor(hott): rename apd to apdt 2016-04-11 09:45:59 -07:00
Floris van Doorn
b1ed69f621 feat(hott): small changes, mostly in pointed2 2016-04-11 09:45:59 -07:00
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