Jakob von Raumer
024ce8012f
fix(hott/algebra) make previously added lemma more applicable to groupoids
2015-03-23 11:17:57 -07:00
Jakob von Raumer
97a1cc8edb
feat(hott/algebra) show that functors preserve inverses and isos
2015-03-23 11:17:56 -07:00
Jakob von Raumer
74824078a8
fix(hott/algebra) fix previous commit by importing 'arity'
2015-03-23 11:17:56 -07:00
Jakob von Raumer
36a102bad2
feat(hott/algebra) add another equality lemma for precategories
2015-03-23 11:17:56 -07:00
Jakob von Raumer
4e790057b3
feat(hott/algebra) add structure for strict precategories
2015-03-23 11:17:56 -07:00
Jakob von Raumer
10c0b3a3ca
feat(hott/algebra) add characterization of paths between precategories
2015-03-23 11:17:56 -07:00
Jakob von Raumer
f480d67881
chore(hott/algebra) make carrier hset witness an instance
2015-03-23 11:17:56 -07:00
Floris van Doorn
8948926a07
style(hott/algebra/precategory): some cleanup
2015-03-16 17:15:51 -07:00
Floris van Doorn
57514244b1
feat(hott/algebra/precategory): add todo-file for adjoint functors, equivalences and isomorphisms
2015-03-16 17:15:51 -07:00
Floris van Doorn
c914b79341
feat(hott/algebra/category): show that functor category is univalent if codomain is
2015-03-16 17:15:51 -07:00
Floris van Doorn
ebba33057c
feat(hott): add arity.hlean, about multivariate functions
2015-03-16 17:15:51 -07:00
Floris van Doorn
71f9a5d1d2
feat(hott/algebra/precategory): do lots of stuff with categories
2015-03-16 17:15:51 -07:00
Jakob von Raumer
7083f2fccd
fix(hott/algebra) correct the name of a groupoid constructor
2015-03-13 15:45:46 -07:00
Jakob von Raumer
25abecaa26
chore(hott/algebra) cmall changes in category files
2015-03-13 15:45:02 -07:00
Leonardo de Moura
a24f8dce67
refactor(hott/algebra/precategory): minor cleanup
2015-03-12 20:52:00 -07:00
Leonardo de Moura
14aeac180a
refactor(library/algebra/category/constructions): more rewrite tactic tests
2015-03-12 20:27:11 -07:00
Leonardo de Moura
adae95cf68
refactor(hott/algebra/precategory/functor): remove unnecessary annotations
2015-03-12 20:13:40 -07:00
Leonardo de Moura
265316a9f5
refactor(hott/algebra/precategory/basic): remove unnecessary set_option commands
2015-03-12 20:10:47 -07:00
Leonardo de Moura
0118ecf3cd
refactor(hott/algebra/precategory/yoneda): remove unnecessary annotations
2015-03-12 20:06:25 -07:00
Leonardo de Moura
7accd0f1e6
feat(library/tactic/rewrite_tactic): allow rewrite with terms that contains binders
...
see discussion at #470
2015-03-12 18:07:55 -07:00
Leonardo de Moura
d7c6028a3e
refactor(hott,library): use/test the rewrite tactic in more places
...
The performance also improved.
2015-03-12 17:25:31 -07:00
Leonardo de Moura
55586dcb2d
refactor(hott/algebra/precategory/yoneda): reduce compilation time to 1sec using rewrite tactic
...
After the latest improvements, the rewrite tactic "works" more often
at yoneda.hlean
2015-03-12 17:07:27 -07:00
Leonardo de Moura
1490bdad49
feat(frontends/lean): add version of 'exact' tactic (sexact) that enforces goal type during term elaboration
2015-03-06 17:34:45 -08:00
Leonardo de Moura
368f9d347e
refactor(frontends/lean): approach used to parse tactics
...
The previous approach was too fragile
TODO: we should add separate parsing tables for tactics
2015-03-05 18:11:21 -08:00
Leonardo de Moura
039afb4578
feat(frontends/lean): treat "proof t qed" as alias for "by exact t"
2015-03-05 11:12:39 -08:00
Leonardo de Moura
8295ef4e57
fix(library/tactic/class_instance_synth): constraint execution order at type class resolution
...
We could not fix this problem before because we did not have the
[quasireducible] annotation.
Without this annotation, the fixed TC would loop in some HoTT files.
2015-03-04 22:20:20 -08:00
Jeremy Avigad
c09f1c4eaf
feat(*.md): create markdown files for HoTT library, update ones in standard library
2015-03-04 18:33:18 -08:00
Floris van Doorn
3d7656078d
feat(hott/types): prove that 'is_equiv f' is an hprop
2015-03-04 00:22:51 -05:00
Floris van Doorn
704f2b2697
feat(hott/algebra/category): prove that set is a univalent category assuming is_equiv is an hprop
2015-03-04 00:22:41 -05:00
Floris van Doorn
5b922aad5c
feat(init): add 'do' tactic
2015-03-04 00:17:41 -05:00
Floris van Doorn
da9b134dd8
feat(hott/types): start with proof that is_equiv is an hprop
2015-03-04 00:14:18 -05:00
Leonardo de Moura
e40e2f0677
feat(hott/init): define num.sub in the HoTT library
2015-03-03 16:22:59 -08:00
Leonardo de Moura
ca57b43698
feat(library/tactic): add 'change' tactic
2015-03-01 14:15:39 -08:00
Floris van Doorn
1559e0e58c
feat(hott): some more renaming in category library
2015-02-28 01:16:23 -05:00
Floris van Doorn
326eaffafb
style(hott/algebra): rename theorems in the HoTT category libraries
2015-02-28 01:16:23 -05:00
Floris van Doorn
23a248ab28
style(hott): let inverse notation have higher binding power than application
2015-02-28 01:16:23 -05:00
Floris van Doorn
219f7ae11a
feat(hott/algebra/precategory): general cleanup in precategories, define uncurrying functor
2015-02-28 01:16:23 -05:00
Floris van Doorn
f513538631
feat(hott): more cleanup of HoTT library
...
remove funext class,
remove a couple of sorry's,
add characterization of equality in trunctypes,
use Jeremy's format for headers everywhere in the HoTT library,
continue working on Yoneda embedding
2015-02-26 13:19:54 -05:00
Floris van Doorn
c091acc55b
feat(hott): remove funext as type class, add theorems to prove equalities between functors and natural transformations
2015-02-26 12:52:33 -05:00
Floris van Doorn
9201bd7ca6
feat (hott/init): move nat.of_num to init.num and make it reducible outside namespace nat
...
This is so that init.trunc can already use nat.of_num.
Also make nat.of_num reducible in the standard library
Also make gt and ge abbreviations
2015-02-26 12:28:57 -05:00
Leonardo de Moura
68110faa4d
feat(frontends/lean/inductive_cmd): allow '|' in inductive datatype declarations
2015-02-25 17:00:10 -08:00
Leonardo de Moura
5ca52d81ec
feat(frontends/lean): ML-like notation for match and recursive equations
2015-02-25 16:20:44 -08:00
Leonardo de Moura
3c24461e51
refactor(*): modify '|' binding power, use 'abs a' instead of '|a|', and '(a | b)' instead of 'a | b'
2015-02-25 15:18:21 -08:00
Leonardo de Moura
c04c610b7b
feat(frontends/lean): add 'assert H : A, ...' as notation for 'have H [visible] : A, ...'
2015-02-25 14:30:42 -08:00
Jeremy Avigad
e513b0ead4
refactor(library,hott): rename theorems for decidable and inhabited
...
The convention is this: we use e.g. nat.is_inhabited and nat.has_decidable_eq
for these two purposes only, to avoid clashing with "inhabited" and "decidable_eq"
in a namespace. Otherwise, we use "decidable_foo" and "inhabited_foo".
2015-02-25 14:05:07 -08:00
Leonardo de Moura
d5538ddf19
refactor(hott/algebra/precategory/morphism): reduce compilation time using rewrite tactic
2015-02-25 14:04:17 -08:00
Leonardo de Moura
3ede8e9150
refactor(library): use []
binder annotation when declaring instances
2015-02-24 16:12:39 -08:00
Leonardo de Moura
1cd44e894b
feat(library/tactic/class_instance_synth): conservative class-instance resolution: expand only definitions marked as reducible
...
closes #442
2015-02-24 16:12:35 -08:00
Leonardo de Moura
3846f5a4e7
refactor(hott): use nested begin-end blocks, use cases tactic
2015-02-24 13:27:57 -08:00
Leonardo de Moura
d1ba9ba1dd
feat(hott/types/sigma): simplify file using 'cases' tactic, definitional package and rewrite tactic
...
Simpler version is also faster.
On my notebook, the runtime was 2.8 secs before, and 1.1 secs after changes
2015-02-23 23:28:28 -08:00