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
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
Floris van Doorn
f82d1bd566
feat(category): add limits in a category
2015-09-28 09:09:22 -07:00
Floris van Doorn
6e23305c5d
feat(category): define terminal, initial, indiscrete and sum category
2015-09-28 09:09:21 -07:00
Floris van Doorn
e84b22864f
feat(hott): various changes in the HoTT library
2015-09-11 23:35:21 -07:00
Floris van Doorn
bd3aa9cf54
feat(category): prove Theorem 9.5.9 from the HoTT book
2015-09-11 23:35:21 -07:00
Floris van Doorn
1a3b363467
feat(category): prove that the yoneda embedding is an embedding
2015-09-11 23:35:21 -07:00
Floris van Doorn
fd89aa77a3
feat(hott): prove Yoneda lemma
2015-09-11 23:35:21 -07:00
Leonardo de Moura
cae2271818
refactor(hott/algebra/category/adjoint): rewrite expensive proof
...
see #815
2015-09-01 16:59:14 -07:00
Floris van Doorn
a8964adb9c
fix(hott): make sure there are no sorry's visible
2015-09-01 15:17:46 -07:00
Floris van Doorn
7e52c49dce
feat(hott): many changes is the HoTT library
...
Prove that 'is_left_adjoint F' is a mere proposition, although this proof is commented out because it takes ~10 seconds
2015-09-01 15:17:46 -07:00
Floris van Doorn
ad5cda48a8
refactor(hott): move cubical folder and files eq2, function and hprop_trunc from types/ to the root HoTT directory
2015-08-07 13:34:41 -07:00
Floris van Doorn
189293b5d4
fix(init.path): rename transport_compose to tr_compose
2015-08-07 13:34:41 -07:00
Floris van Doorn
0ec525a8ee
feat(two_quotient): finish proof of elim_incl2
2015-08-07 13:34:40 -07:00
Floris van Doorn
7a780b1b60
feat(hott): various minor changes in the HoTT library
2015-08-04 13:01:11 +02:00
Leonardo de Moura
b3cd3efbb4
refactor(hott): fix "sorry"s at int/basic.hlean, and comment the remaining "sorry"s
2015-07-27 08:34:11 -07:00
Leonardo de Moura
584f9e3f49
fix(library/tactic/unfold_rec): support indexed families at unfold_rec
...
This commit also removes many (now unnecessary) folds from the HoTT
library.
See issue #692
We still have to implement support for recursive definitions based on
brec_on that recurse over inductive families.
2015-07-12 12:32:58 -04:00
Leonardo de Moura
4b1b3e277f
feat(frontends/lean): rename '[unfold-c]' to '[unfold]' and '[unfold-f]' to '[unfold-full]'
...
see issue #693
2015-07-07 16:37:06 -07:00
Leonardo de Moura
de90926eed
refactor(hott): adjust HoTT library to new support for projections
2015-06-26 17:18:30 -07:00
Floris van Doorn
c8eee66c5b
feat(hott/relation): add equivalence closure of a relation
2015-06-25 22:31:41 -04:00
Floris van Doorn
124c9d3d8a
feat(hott): various cleanup and fixes, rename \~ to ~, expand types.pointed
2015-06-25 22:31:40 -04:00
Floris van Doorn
fa1979c128
feat(datatypes): let the type of unit be the lowest non-Prop universe
...
The definitional package (brec_on and cases_on) now use poly_unit instead of unit
closes #698
2015-06-25 17:33:46 -07:00
Leonardo de Moura
cfafc90cc0
refactor(hott,library): make sure files compile even without using "projection macros"
2015-06-22 12:22:11 -07:00
Leonardo de Moura
e382f7c2f9
refactor(hott/algebra/field): cleanup
...
use same definition used in the standard library.
2015-06-21 15:58:54 -07:00
Leonardo de Moura
5830d7d037
refactor(hott/algebra/category/yoneda): reduce compilation time using 'rewrite' tactic
2015-06-18 15:52:08 -07:00
Jeremy Avigad
3b010b8c92
feat({library,hott}/algebra/group): add abbreviations e.g. for mul.cancel_left
2015-06-15 22:53:11 +10:00
Leonardo de Moura
62e1be897c
test(hott/algebra/category): test new 'abstract ... end' expression in the HoTT library
2015-06-12 17:53:01 -07:00