Commit graph

279 commits

Author SHA1 Message Date
Jakob von Raumer
3e1ee4b714 feat(hott) add functor axioms for lemma 9.9.4 construction 2016-09-08 19:34:54 -07:00
Jakob von Raumer
d26d98531c feat(hott) add morphism part of construction for lemma 9.9.4 2016-09-08 19:34:54 -07:00
Jakob von Raumer
8718a649c4 feat(hott) add first bit of proof of 9.9.4: construction of some gadgets and prove that they are contractible 2016-09-08 19:34:54 -07:00
Jakob von Raumer
548671ce1b feat(hott) prove lemma 9.9.2: essentially surjective and full functors induce fully faithful functors in the functor category 2016-09-08 19:34:54 -07:00
Jakob von Raumer
0ff8a96be1 feat(hott) formalize book lemma 9.9.1: essentially surjective functors induce faithful functors in the functor category 2016-09-08 19:34:54 -07:00
Jakob von Raumer
cc70845332 chore(hott) update book.md and constructions.md to include rezk completion 2016-07-09 10:32:50 -07:00
Jakob von Raumer
18a27cf963 chore(hott) merge namespaces in rezk completion 2016-07-09 10:31:42 -07:00
Jakob von Raumer
82a8d137da feat(hott) prove that rezk functor is a weak equivalence 2016-07-09 10:31:42 -07:00
Jakob von Raumer
57bf0a09dd feat(hott) add rezk completion as univalent category 2016-07-09 10:31:42 -07:00
Jakob von Raumer
86d9a1c84d feat(hott) add id_of_iso of rezk completion 2016-07-09 10:31:42 -07:00
Jakob von Raumer
6d6ab3f36b feat(hott) instantiate rezk completion as precategory 2016-07-09 10:31:42 -07:00
Jakob von Raumer
64e1e5404c feat(hott) add composition for rezk completion 2016-07-09 10:31:41 -07:00
Jakob von Raumer
5c4aac6c8a feat(hott) add idenity for rezk completion 2016-07-09 10:31:41 -07:00
Jakob von Raumer
a5fe82f177 feat(hott) add carrier and hom set of rezk completion 2016-07-09 10:31:41 -07:00
Floris van Doorn
3213b1b3b0 feat(EM): Prove some corollaries of Whitehead's principle, and prove that K(G,1) is unique.
Also reorder the arguments of is_equiv_compose
2016-07-09 10:20:22 -07:00
Floris van Doorn
17ccc283a9 feat(hott): move basic theorems from colimit development to library.
Most notable changes:
rename apo011 -> apd011 and apd011 -> apdt011
make an argument of pathover_of_eq explicit
2016-07-09 10:20:22 -07:00
Floris van Doorn
fcf06ae2f5 feat(vankampen): prove the van Kampen theorem with basepoints 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
e96e4a677d feat(homotopy): prove the naive Seifert-Van Kampen theorem
Also define the pushout of categories and the pushout of groupoids
2016-07-09 10:20:21 -07:00
Floris van Doorn
61848c4a2e feat(hott): define pushout of groupoids 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
dd5dcb1dd1 feat(hott): prove something without using ua and update book.md 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
2afdaf6906 fix(groupoid): redefine groupoid given by a group
The composition was in the reverse order
2016-05-06 14:27:27 -07:00
Floris van Doorn
1135d80266 feat(hott): use group isomorphisms instead of equality between groups 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
4895726c54 feat(connectedness): show that if f is n-connected, then trunc_functor k f is so, too 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
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
Leonardo de Moura
5e14b4ebe8 fix(library,hott): avoid rewrite with patterns of the form (?M ...) 2016-03-09 15:39:17 -08: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
e2b31a9b33 feat(hott): remove multiple_instances attribute 2016-03-03 10:13:20 -08:00
Floris van Doorn
af4ba3d2fb feat(hott): prove that the (n+1)-sphere is n-connected 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
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
Jakob von Raumer
1104537d02 chore(hott) adjust to new naming for pointed types and truncated types 2016-03-01 13:52:53 -08:00
Jakob von Raumer
11458f64fe feat(hott/algebra) add order categories 2016-03-01 13:52:53 -08:00
Leonardo de Moura
faa0031d4e refactor(library,hott): remove 'by+' and 'begin+' 2016-02-29 13:15:48 -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
101cf1ec4c feat(frontends/lean): remove difference between 'have' and 'assert' 2016-02-29 11:28:20 -08:00
Leonardo de Moura
5a4dd3f237 feat(library/reducible): remove [quasireducible] annotation 2016-02-25 17:42:44 -08:00
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
Sebastian Ullrich
3de216d302 chore(*.md): fix/remove broken links 2016-02-23 10:11:24 -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
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
Floris van Doorn
3409deecdb chore(hott): update md files, move port.md 2016-01-24 16:34:45 -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
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
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
fe8a858d79 feat(hott): add recursor to refl_quotient 2015-11-22 18:29:37 -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
74aff044ef feat(group): port three more theorems from the standard library 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
5328486d49 feat(hit): add elimination rule to propositions 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
Leonardo de Moura
491c7c55e1 feat(library/simplifier/simp_rule_set): add priorities for simp and congr rules 2015-11-16 22:34:06 -08:00
Floris van Doorn
9e492a8771 feat(category): more about adjoint functors
This commit has multiple unfinished proofs (commented out)
2015-11-16 21:32:09 -08:00
Floris van Doorn
f866f71491 feat(algebra/e_closure): add some support for dependent elimination of two_quotients 2015-11-16 21:32:09 -08:00
Floris van Doorn
206bcd4b2a feat(algebra/homotopy_group): define homotopy groups 2015-11-16 21:32:09 -08:00
Floris van Doorn
5c1bf1e777 fix(hott): delete empty file 2015-11-16 21:32:09 -08:00
Floris van Doorn
e00ccff6de fix(hott): make sure the HoTT library compiles with --to_axiom 2015-11-16 21:32:09 -08:00
Leonardo de Moura
5ceac83b6a feat(frontends/lean/elaborator): restrict the number of places where coercions are considered
We do not consider coercions around meta-variables anymore.
2015-11-11 12:37:19 -08:00
Leonardo de Moura
9bedbbb739 refactor(library,hott): remove coercions between algebraic structures
They are classes, and mixing coercion with type class resolution is a
recipe for disaster (aka counterintuitive behavior).
2015-11-11 11:57:44 -08:00
Floris van Doorn
4828afa781 fix(hott): small fixes after rebasing 2015-11-08 14:04:59 -08:00
Floris van Doorn
5e4441cb43 fix(functor.equivalence): comment out sorry's 2015-11-08 14:04:59 -08:00
Floris van Doorn
49cb516c71 feat(category.limit): prove that the limit functor is right adjoint to the diagonal map 2015-11-08 14:04:59 -08:00
Floris van Doorn
36dfb61a3e feat(category.limits): prove that yoneda preserves limits 2015-11-08 14:04:59 -08:00
Floris van Doorn
46dba4ee5e refactor(category): move some files to subfolders, and create file with basic functors 2015-11-08 14:04:59 -08:00
Floris van Doorn
e14754a337 feat(category): start on proof of yoneda preserves limits and limit functor is left adjoint 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
Floris van Doorn
0e7b7af1da refactor(category): add new folder functor, split adjoint file into separate files 2015-11-08 14:04:59 -08:00
Floris van Doorn
3f0d8c0a8c feat(category.adjoint): prove more about functors 2015-11-08 14:04:58 -08:00
Floris van Doorn
18ec5f8b85 feat(categories): prove introduction rule for equivalences 2015-11-08 14:04:58 -08:00
Floris van Doorn
448178a045 feat(category.functor2): prove that the category of functors is complete and cocomplete if the codomain is 2015-11-08 14:04:58 -08:00
Floris van Doorn
3b7afad6ad feat(category.hset): prove that the category of sets is cocomplete 2015-11-08 14:04:58 -08:00
Floris van Doorn
c7fd29f854 feat(category): start with the introduction rule for equivalences 2015-11-08 14:04:58 -08:00
Leonardo de Moura
d1e111fd6c fix(hott,frontends/lean,library,library/tactic): make sure we can still compile the HoTT library 2015-11-08 14:04:55 -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
Floris van Doorn
2264759060 feat(category): define colimits as dual of limits 2015-09-28 09:09:22 -07:00
Floris van Doorn
df73931a6d feat(category.opposite): prove that the opposite of a univalent category is univalent 2015-09-28 09:09:22 -07:00