Commit graph

462 commits

Author SHA1 Message Date
Jakob von Raumer
d8d3b0c0b2 feat(hott): add wedge sum of pointed types, neutrality of wedging with the unit type 2016-01-24 16:30:21 -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
Jakob von Raumer
8d22e454e7 feat(hott): add theory about pointed pushouts 2016-01-24 16:30:12 -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
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
Ulrik Buchholtz
b09fdc8c61 feat(hott/hit): flattening lemmas for coeq and pushout 2015-12-28 09:06:13 -08:00
Ulrik Buchholtz
f3b2c7010f feat(hott): functoriality of quotients 2015-12-28 09:06:13 -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
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
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
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
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
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
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
Jakob von Raumer
cc8a5581d6 chore(hott/cubical): add lost space hints around square concatenations 2015-12-02 23:13:25 -08:00
Jakob von Raumer
68901c7788 feat(hott/homotopy): complete join associativity proof, helper lemmas for squares 2015-12-02 23:13:21 -08:00
Jakob von Raumer
bd064ef9c8 feat(hott/homotopy): prove missing helper lemmas up to cube massaging 2015-12-02 23:13:17 -08:00
Jakob von Raumer
811f3067ff feat(hott): join associativity proof done up to small auxiliary lemmas, add transposition, inversion of cubes 2015-12-02 23:13:12 -08:00
Jakob von Raumer
1d68d57bb9 chore(hott/cubical): adapt cubovers to new order of faces 2015-12-02 23:13:07 -08:00
Jakob von Raumer
e481e541a2 feat(hott/homotopy): more progress on join associativity 2015-12-02 23:13:03 -08:00
Jakob von Raumer
6c6dde7e48 feat(hott/homotopy): progress on join associativity, many coherence lemmas about square operations needed 2015-12-02 23:12:59 -08:00
Jakob von Raumer
1b52ae8858 feat(hott/cubical): add cube concatenations 2015-12-02 23:12:54 -08:00
Jakob von Raumer
3f1cf3835f chore(hott/cubical): change order of visible arguments in cube 2015-12-02 23:12:50 -08:00
Jakob von Raumer
54b1d1a9fe feat(hott/homotopy): more steps towards join associativity, cube composition 2015-12-02 23:12:46 -08:00
Jakob von Raumer
e1e8680474 feat(hott/homotopy): continue defining squares for join associativity 2015-12-02 23:12:41 -08:00
Jakob von Raumer
2bc45f4de1 feat(hott/cubical): add cubes which are degenerate in one dimension 2015-12-02 23:12:37 -08:00
Jakob von Raumer
bba6ab5a6d feat(hott/cubical): add fillers and other little lemmas for squares and cubes 2015-12-02 23:12:34 -08:00
Jakob von Raumer
12a498d411 feat(hott/homotopy): add join switch and derive associativity from switch 2015-12-02 23:12:29 -08:00
Jakob von Raumer
149e5fff9f feat(hott/homotopy): add commutativity proof for join 2015-12-02 23:12:24 -08:00
Jakob von Raumer
eea219e33f feat(hott/homotopy): start associativity proof for join 2015-12-02 23:12:19 -08:00
Floris van Doorn
c44ad80e4e feat(homotopy/torus): give recursion and induction principle for the torus
also change the surface of the torus to a square instead of an equality between paths
2015-11-22 18:29:37 -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
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
cc03ca9c6d fix(reserved_notation): make :: bind stronger than ++
this allows us to write l1 ++ a :: l2 without parentheses
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
5b8486a34f feat(set_quotient): add some properties for set_quotients 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
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
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
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
4d68e2a520 feat(library,hott): add eq.mpr and eq.mp lemmas 2015-11-14 15:40:47 -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
Ulrik Buchholtz
0eb070e183 fix(hott/book.md): align with previous commit 2015-11-08 14:21:27 -08:00
Ulrik Buchholtz
aebb88d42b feat(hott/homotopy): connectedness, including HoTT Thm 8.2.1 2015-11-08 14:21:16 -08:00
Leonardo de Moura
a07598a3ec feat(hott/init/logic): congr_fun was missing in the HoTT library, blast assumes it is part of the environment 2015-11-08 14:05:03 -08:00
Leonardo de Moura
01259a2d1c feat(library/app_builder): add helper functions for creating eq.rec applications 2015-11-08 14:05:01 -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
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
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
50186e2db3 feat(library/class_instance_resolution): add old type class resolution procedure back to be able to compile HoTT library 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
8ee214f133 checkpoint: new numeral encoding 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
Jakob von Raumer
d508ceccec feat(hott/homotpy) add join operator, and prove two basic lemmas 2015-10-13 09:59:24 -07:00
Floris van Doorn
115dedbd1c fix(hott): notation spacing and markdown files 2015-10-02 16:26:10 -07:00
Leonardo de Moura
ede23a3267 feat(hott,library): add additional spacing hints 2015-09-30 17:41:44 -07:00
Floris van Doorn
aac13a2ee7 fix(hott): minor changes to merge ulrik and my commits 2015-09-28 09:09:22 -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
Floris van Doorn
099bd95ebd feat(category.limits): prove that being complete is a mere proposition for categories 2015-09-28 09:09:22 -07:00
Floris van Doorn
51edd0ad1d feat(category.constructions.hset): prove that the category of sets is complete 2015-09-28 09:09:22 -07:00