Floris van Doorn
c64d73aae4
feat(types.nat): prove that inequalities on nat are mere propositions
...
Also some small changes in various other locations
2015-05-26 21:37:01 -07:00
Floris van Doorn
95e0fbb71a
feat(hott): add interval and (start of) squareovers
2015-05-26 21:37:01 -07:00
Floris van Doorn
d7c1a8f2e0
feat(hott): small fixes in hit and cubical.square
2015-05-26 21:37:01 -07:00
Floris van Doorn
4a29f4bdd4
feat(types): incorporate pathovers in the files of the types folder
...
Conflicts:
hott/cubical/pathover.hlean
2015-05-26 21:37:01 -07:00
Floris van Doorn
0b12d51b25
feat(hott): use pathovers in all the recursors of hits
...
move pathover file to the init folder
2015-05-26 21:37:01 -07:00
Floris van Doorn
54ed8a8e76
feat(hott): small changes in init and category
2015-05-26 21:37:01 -07:00
Floris van Doorn
40d5f83851
feat(hit): start using induction tactic
2015-05-26 21:37:01 -07:00
Floris van Doorn
50290fb81c
feat(hott): add recursor attribute to hits
...
recursor attribute is added to both the dependent and nondependent elimination, is such a way that the dependent elimination is used by default
2015-05-26 21:37:01 -07:00
Floris van Doorn
8056f326d7
feat(reserved_notation): make is_typeof parsing-only, add ^ to HoTT
2015-05-26 21:37:01 -07:00
Jeremy Avigad
716da2488b
fix(hott/*.md,library/*.md): use the word 'file' instead of 'module'
2015-05-25 16:50:42 -07:00
Leonardo de Moura
d0987eb3ac
feat(library/tactic): add 'subtvars' tactic
2015-05-25 16:36:44 -07:00
Jeremy Avigad
33214f0895
refactor(hott/*): remove 'Module:' lines
2015-05-23 20:52:58 +10:00
Jeremy Avigad
d33c91d7b9
fix({hott,library}/algebra/*): fix names
2015-05-23 14:05:06 +10:00
Leonardo de Moura
c133d26505
feat(frontends/lean/builtin_exprs): change how 'show' is processed in tactics
...
Unresolved placeholders were not being reported
2015-05-19 16:23:50 -07:00
Leonardo de Moura
78ee055de8
feat(library/tactic): add induction tactic with support for user defined recursors
...
closes #483
closes #492
2015-05-19 13:27:17 -07:00
Leonardo de Moura
e1c2340db2
fix(frontends/lean): consistent behavior for protected declarations
...
see https://github.com/leanprover/lean/issues/604#issuecomment-103265608
closes #609
2015-05-18 22:35:18 -07:00
Floris van Doorn
c430d1d5ba
feat(category.constructions): define comma category
2015-05-18 15:59:55 -07:00
Floris van Doorn
eedf1992bf
feat(functor): prove sorry's, and shorten some proofs
2015-05-18 15:59:55 -07:00
Floris van Doorn
6ca9635d53
feat(hit.trunc): replace sorry by proof
2015-05-18 15:59:55 -07:00
Floris van Doorn
de6294a4ce
feat(hott.core): add more files to core.hlean
2015-05-18 15:59:55 -07:00
Floris van Doorn
2144036cdb
feat(hott.circle): prove that the fundamental group of the circle is equal to the integers, as groups
...
Also many minor fixes at various places
2015-05-18 15:59:55 -07:00
Floris van Doorn
1597337c72
feat(path): add unfold-c attribute to definitions
2015-05-18 15:59:55 -07:00
Floris van Doorn
17a9bb4bc2
fix(types.W): clean-up W file, remove 'exit'
2015-05-18 15:59:54 -07:00
Leonardo de Moura
19361f0196
feat(library/unifier): do not fire type class resolution as last resort when type contains metavariables
...
see discussion at #604
2015-05-18 15:45:23 -07:00
Leonardo de Moura
b1ece388a6
feat(frontends/lean,library/tactic/induction_tactic): improve induction tactic notation, expand induction tactic implementation
2015-05-18 09:25:07 -07:00
Leonardo de Moura
065a1f7501
feat(library/tactic): add 'induction' tactic skeleton
2015-05-12 20:21:25 -07:00
Leonardo de Moura
396f77aa68
fix(library,hott): comment 'exit' commands to avoid warnings during compilation
2015-05-11 11:49:23 -07:00
Leonardo de Moura
379af8a04e
feat(library): avoid 'definition' hack for theorems
2015-05-09 12:15:30 -07:00
Leonardo de Moura
6c958a25e7
refactor(library/tactic/expr_to_tactic): make sure builtin tactics don't need to be marked opaque
...
This modification is needed since we will remove opaque definitions from
the kernel.
see issue #576
2015-05-08 16:06:16 -07:00
Leonardo de Moura
0b57f7d00a
refactor(library/tactic): refine interface between tactic and proof-term modes
...
Some constraints were being lost with the previous interface.
This is why we had a workaround in fintype.lean.
We can also remove some hacks we have used in the past.
2015-05-07 18:02:51 -07:00
Floris van Doorn
c2c7c4f79f
feat(hit.circle): finish proof that (base = base) is equivalent to int
2015-05-07 16:39:04 -07:00
Floris van Doorn
111c8e1529
feat(hott): add [unfold-c] and [constructor] attributes for HITs
2015-05-07 16:39:04 -07:00
Floris van Doorn
9893de6194
feat(hit/circle): prove partly that the fundamental group of the circle is int
...
Also add markdown files for nat and int
2015-05-07 16:39:04 -07:00
Floris van Doorn
0a8f4f6dab
feat(function): add unfold hints to function.[h]lean
2015-05-07 16:39:03 -07:00
Floris van Doorn
7cfac38eda
feat(hott): port parts of natural numbers and integers from standard library to HoTT
...
This also involves:
- adding definitions about logic and natural numbers existing in the standard library to init
- porting the current algebraic hierarchy
2015-05-07 16:39:03 -07:00
Floris van Doorn
e9ff925e2f
feat(pi): prove that forall x, a = x is a mere proposition
2015-05-07 16:39:03 -07:00
Floris van Doorn
e5241f84ec
fix(init.datatypes): make empty live in Type.{0}
2015-05-07 16:39:03 -07:00
Floris van Doorn
90f1a691fd
feat(hott): change notation of transport to correspond with standard library
2015-05-07 16:39:03 -07:00
Floris van Doorn
8b4756f9c8
feat(hott): port nat from standard library to HoTT library; make script to port files
2015-05-07 16:39:03 -07:00
Floris van Doorn
61c1cd6840
feat(hott.init): define core namespace
2015-05-07 16:39:03 -07:00
Floris van Doorn
6dfd7af0ec
feat(hott.types): add theorems about booleans
2015-05-07 16:39:03 -07:00
Floris van Doorn
dce672a815
fix(hott.md): mention arity.hlean
2015-05-07 16:39:03 -07:00
Floris van Doorn
ce5f60d009
feat(hott.init.function): add more notions from the standard library
2015-05-07 16:39:03 -07:00
Floris van Doorn
43fb334914
feat(circle): prove loop != base
2015-05-07 16:39:03 -07:00
Floris van Doorn
e8e41ed745
fix(types.md): add all files, add some explanation
2015-05-07 16:39:03 -07:00
Leonardo de Moura
21ee0a5ff9
refactor(hott/algebra/category/constructions/functor): cleanup proof
2015-05-07 15:29:02 -07:00
Leonardo de Moura
b03266be70
feat(library/normalize,frontends/lean): rename '[unfold-m]' hint to '[constructor]', and allow it to be attached to constants
...
closes #587
2015-05-07 12:00:34 -07:00
Leonardo de Moura
741fca1e7b
feat(hott/init/path): mark 'idp' and 'idpath' with '[unfold-m]' hint
...
closes #496
2015-05-04 14:29:22 -07:00
Leonardo de Moura
4e1146a2d5
refactor(hott,library): test new tactics in the HoTT and standard libraries
2015-05-02 22:22:31 -07:00
Leonardo de Moura
657ad3327f
chore(hott): remove unnecessary '[trans]' attributes
2015-05-02 21:35:59 -07:00
Leonardo de Moura
b39fe17dee
feat(library/tactic): add 'transitiviy', 'reflexivity' and 'symmetry' tactics
...
closes #500
2015-05-02 15:48:25 -07:00
Leonardo de Moura
cd17618f4a
refactor(library): replace 'calc_trans', 'calc_symm', 'calc_refl' and 'calc_subst' commands with attributes '[symm]', '[refl]', '[trans]' and '[subst]'
...
These attributes are used by the calc command.
They will also be used by tactics such as 'reflexivity', 'symmetry' and
'transitivity'.
See issue #500
2015-05-02 15:15:35 -07:00
Leonardo de Moura
415ca2b93f
feat(library/tactic): add 'congruence' tactic
...
It is the f_equal described at issue #500 .
2015-05-02 12:58:46 -07:00
Leonardo de Moura
458d13025f
refactor(library,hott): define 'congr' in the initialization files
2015-05-02 11:29:31 -07:00
Leonardo de Moura
ac8ba6a3cf
feat(library/tactic): add 'subst' tactic
...
see issue #500
2015-05-01 19:31:24 -07:00
Leonardo de Moura
9ba8b284a1
fix(library/tactic/apply_tactic): add eapply, and fix issue #361
2015-05-01 15:08:00 -07:00
Leonardo de Moura
63eb155c7e
feat(library/tactic): add 'injection' tactic
...
see issue #500
2015-05-01 12:45:21 -07:00
Leonardo de Moura
2d9c950144
feat(library/tactic/constructor_tactic): allow 'constructor' tactic without index
...
see issue #500
2015-04-30 21:15:07 -07:00
Leonardo de Moura
d152f38518
feat(library/tactic): add 'constructor', 'split', 'left', 'right' and 'existsi' tactics
...
see issue #500
2015-04-30 17:52:29 -07:00
Leonardo de Moura
1c6067bac2
feat(library/tactic): add 'exfalso' tactic
...
see issue #500
2015-04-30 15:43:07 -07:00
Leonardo de Moura
9760968b45
refactor(library,hott): use/test new 'contradiction' tactic in the standard and hott libraries
2015-04-30 13:56:12 -07:00
Leonardo de Moura
9c8a63caec
feat(library/tactic): add 'contradiction' tactic
...
see issue #500
Remark: this tactic also applies no_confusion to take care of a contradiction
2015-04-30 13:47:40 -07:00
Leonardo de Moura
3233008039
feat(library/tactic): allow user to name generalized term in the 'generalize' tactic
...
closes #421
2015-04-30 11:57:40 -07:00
Leonardo de Moura
3912bc24c8
feat(frontends/lean): nicer syntax for 'intros' 'reverts' and 'clears'
2015-04-30 11:00:39 -07:00
Leonardo de Moura
e384894f7a
chore(hott/cubical/square): remove unnecessary annotations added in previous commit
2015-04-29 12:25:31 -07:00
Leonardo de Moura
b790ca9806
fix(library/tactic/rewrite_tactic): type check rewriting steps
...
closes #550
2015-04-29 12:16:37 -07:00
Floris van Doorn
297d50378d
feat(hott): add definitions using truncations and theorems about them
...
define embedding, (split) surjection, retraction, existential quantifier, 'or' connective
also add a whole bunch of theorems about these definitions
still has two sorry's which can be solved after #564 is closed
2015-04-29 10:04:07 -07:00
Floris van Doorn
15c2ee289f
feat(hott): make some fibrations in path.hlean implicit, and a bit of renaming in init
2015-04-29 10:04:07 -07:00
Floris van Doorn
5349839fa9
feat(hott): define pathovers and squares
2015-04-29 10:04:07 -07:00
Floris van Doorn
dbdb8e6050
feat(circle): prove the path computation rule for the circle
2015-04-29 10:04:07 -07:00
Floris van Doorn
c23e707874
feat(circle): define circle as sphere 1, remove all but 1 sorry
2015-04-29 10:04:07 -07:00
Floris van Doorn
6c061991cc
feat(hit): prove path computation rules for all hits except the circle
2015-04-29 10:04:07 -07:00
Floris van Doorn
70a2f6534c
feat(hit): derive path computation rule for elim and elim_type for every hit
...
also make argument of eq_of_rel implicit
also remove most sorry's for hits
path computation rule for rec still needs to be done for all hits
2015-04-29 10:04:07 -07:00
Floris van Doorn
4173c958f7
feat(init.ua): add some useful consequences of ua
2015-04-29 10:04:07 -07:00
Floris van Doorn
40086d0084
feat(hott): standardize the naming of definitions proving equality of elements of a structure
...
examples:
foo_eq : Pi {A B : foo}, _ -> A = B
foo_mk_eq : Pi _, foo.mk _ = foo.mk _ (if constructor is called "bar", then this becomes "bar_eq")
foo_eq_equiv : Pi {A B : foo}, (A = B) ≃ _
also changed priority of some instances of is_trunc
2015-04-29 10:04:06 -07:00
Floris van Doorn
b70841171a
fix(hott): rename retr and sect to right_inv and left_inv
2015-04-29 10:04:06 -07:00
Floris van Doorn
797a2d2047
refactor(category): merge precategory/ and category/, organize construction files differently.
2015-04-29 10:04:06 -07:00
Floris van Doorn
23e6a3131d
feat(precategory): add two redundant fields to precategory. Also some cleanup.
...
In particular, all instances of "set_option apply.class_instance false" are removed
2015-04-29 10:04:06 -07:00
Floris van Doorn
48f1aff848
feat(hott): add hit-markdown file
2015-04-29 10:04:06 -07:00
Floris van Doorn
052fbe0228
refactor(hott.init): remove subdirectories, merge some files
2015-04-29 10:04:06 -07:00
Floris van Doorn
86012d841b
fix(hott): make f explicit in is_equiv.mk and a bit of renaming in init
2015-04-29 10:04:06 -07:00
Floris van Doorn
e769fdd9dc
feat(hott): make some arguments in init.path implicit and rename apD to apd
2015-04-29 10:04:06 -07:00
Leonardo de Moura
d2c7b5c319
feat(library/tactic): add 'let' tactic
...
closes #555
2015-04-28 17:24:43 -07:00
Leonardo de Moura
a23118d357
feat(frontends/lean): add tactic_notation command
...
This addresses the first part of issue #461
We still need support for tactic definitions
2015-04-27 17:46:13 -07:00
Leonardo de Moura
ca8943f45b
feat(library,hott): remove rapply tactic
2015-04-27 15:06:16 -07:00
Leonardo de Moura
dcc94dde82
refactor(kernel): rename may_reduce_later to is_stuck, and make is_stuck more precise
...
It now reflects the definition used in the elaboration paper.
2015-04-27 11:20:15 -07:00
Leonardo de Moura
9d01868361
feat(frontends/lean): use rewrite tactic to implement unfold (it has a unfold step)
...
closes #502
2015-04-24 17:23:12 -07:00
Leonardo de Moura
8241863abe
feat(kernel/hits): add two builtin HITs: type_quotient and trunc
2015-04-23 15:32:31 -07:00
Floris van Doorn
591a563be3
feat(hit): For all hits, add the elimination to the universe (using ua)
2015-04-23 14:29:04 -07:00
Floris van Doorn
f41d92199a
feat(hit): make type quotient primitive instead of colimit
2015-04-23 14:29:04 -07:00
Floris van Doorn
1d9c17342a
feat(hit): define mapping cylinder, coequalizer and quotient in terms of colimit
2015-04-23 14:29:04 -07:00
Floris van Doorn
51e87213d0
feat(hit): define nondependent recursors for all hits, sequential colimit, and elaborate on spheres
...
squash
2015-04-23 14:29:04 -07:00
Floris van Doorn
ffe158f785
feat(hit.suspension): add definition of spheres and the circle
2015-04-23 14:29:04 -07:00
Floris van Doorn
2469b8a2f8
feat(hott): add primitive hits
2015-04-23 14:29:04 -07:00
Floris van Doorn
cb5b07093f
fix(arity): remove unnecessary implicit arguments
2015-04-23 14:29:04 -07:00
Leonardo de Moura
2613e7c444
fix(frontends/lean): bug when handling identifiers in tactics
...
This bug was reported by Jeremy in the Lean Google group:
https://groups.google.com/forum/?utm_medium=email&utm_source=footer#!msg/lean-discuss/ZKJ8WPPEVJA/n05x6rPRzvMJ
2015-04-22 16:03:22 -07:00
Floris van Doorn
9d805437f0
fix(reserved_notation): lower binding power of 'iff'
2015-04-22 13:06:11 -07:00
Floris van Doorn
b86ee9dfa6
feat(precategory): add composition of nat. trans. with functor
2015-04-22 13:06:11 -07:00
Floris van Doorn
a79a3043ed
feat(hott/types): a bit of cleanup
2015-04-22 13:06:11 -07:00
Floris van Doorn
ee4cba4e0b
style(hott): a bit of cleanup
2015-04-22 13:06:11 -07:00
Floris van Doorn
17f3ac6ec2
fix(hott): fix binding power of 2 notations
2015-04-22 13:06:11 -07:00
Leonardo de Moura
22f6a95cc4
feat(frontends/lean): local notation override global one
2015-04-21 19:55:59 -07:00
Leonardo de Moura
3df99e514b
fix(frontends/lean): problems with sections
2015-04-21 19:46:57 -07:00
Leonardo de Moura
76bf8de91a
refactor(hott): remove most 'context' commands from the HoTT library
2015-04-21 19:17:59 -07:00
Leonardo de Moura
bf8a7eb9b4
fix(library/scoped_ext): bug in local metadata in sections
...
The problem is described in issue #554
2015-04-21 18:56:28 -07:00
Leonardo de Moura
6f6d106a10
feat(library/tactic): add "check_expr" tactic
...
closes #486
2015-04-19 19:00:05 -07:00
Floris van Doorn
60ae9f627c
feat(hott): add core.hlean and types/default.hlean
2015-04-10 06:35:24 -07:00
Floris van Doorn
d1b98b6919
fix(reserved_notation): make is_typeof an abbreviation
2015-04-10 06:35:15 -07:00
Leonardo de Moura
2bc13f6bfd
feat(library/tactic/exact): enforce goal type during elaboration when executing 'exact' tactic
...
Remark: this was the behavior of the 'sexact' tactic.
This commit also adds the 'rexact' (relaxed exact) tactic which does not
enforce the goal type.
closes #495
2015-04-06 13:23:38 -07:00
Leonardo de Moura
754276a660
feat(frontends/lean): round parenthesis for [tactic1 | tactic2]
...
This commit also replaces the notation for divides
`(` a `|` b `)`
with
a `∣` b
The character `∣` is entered by typing \|
closes #516
2015-04-06 09:24:09 -07:00
Leonardo de Moura
4ec0e1b07c
feat(frontends/lean): improve calc mode
...
Now, it automatically supports transitivity of the form
(R a b) -> (b = c) -> R a c
(a = b) -> (R b c) -> R a c
closes #507
2015-04-04 08:58:35 -07:00
Soonho Kong
0d1da89cf1
chore(.gitignore): update
2015-03-28 23:29:41 -04:00
Leonardo de Moura
75621df52b
feat(frontends/lean): uniform notation for lists in tactics
...
closes #504
2015-03-27 17:54:48 -07:00
Leonardo de Moura
b9e3c474c9
feat(library/tactic): add all_goals tactic
...
closes #501
2015-03-25 17:42:34 -07:00
Leonardo de Moura
74b28f6ad9
feat(library,hott): new notation for typeof
2015-03-24 18:35:21 -07:00
Leonardo de Moura
c0b4a47f63
refactor(hott/algebra/precategory/functor): remove unnecessary annotation
2015-03-24 12:06:16 -07:00
Leonardo de Moura
4817f2a18b
refactor(hott/algebra/precategory/basic): improve basic.hlean compilation time
2015-03-24 12:06:16 -07:00
Leonardo de Moura
30e3049c56
feat(hott/algebra/precategory/nat_trans): reduce compilation time using rewrite tactic
2015-03-23 19:55:01 -07:00
Leonardo de Moura
5bf46d1226
fix(library/tactic/inversion_tactic): improve 'cases' tactic for HoTT mode
...
closes #481
2015-03-23 18:06:11 -07:00
Leonardo de Moura
227de07758
fix(hott/algebra/category/constructions): avoid type class resolution loop
2015-03-23 11:32:20 -07:00
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