Leonardo de Moura
f966634910
feat(frontends/lean): nested dependent pattern matching
2015-03-06 19:18:08 -08: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
bd8c4315f1
feat(frontends/lean): allow 'match-with' to be used in tactics without prefixing it with 'exact'
2015-03-06 15:49:31 -08:00
Leonardo de Moura
4edd7b9099
fix(library/definitional/equations): allow a function to be the result of a match-with term or recursive definition
2015-03-06 15:08:52 -08:00
Leonardo de Moura
f24d9e84fe
feat(frontends/lean): add option 'max_memory'
...
Default value is 512Mb
2015-03-06 13:56:20 -08:00
Leonardo de Moura
3b721fe675
feat(frontends/lean): add missing 'help' command
2015-03-06 13:56:20 -08:00
Leonardo de Moura
daf36803c4
fix(frontends/lean/builtin_exprs): bug in 'using' construct
2015-03-06 13:56:20 -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
28487ede3b
feat(frontends/lean/decl_cmds): allow 'empty' set of pattern matching equations
2015-03-05 14:37:29 -08:00
Leonardo de Moura
8e9ccf8b6f
chore(frontends/lean): remove 'dead' tokens
2015-03-05 14:37:29 -08:00
Leonardo de Moura
b73a931c70
fix(frontends/lean/elaborator): missing case 'no-equation' annotation
2015-03-05 14:37:29 -08:00
Leonardo de Moura
e4060a5614
feat(frontends/lean): do not force user to type the function name in the left-hand-side of recursive equations
2015-03-05 12:08:36 -08:00
Soonho Kong
87c236613a
feat(emacs/lean-mode.el): add configuration menu-item for flycheck
...
close #451
2015-03-05 14:42:59 -05:00
Soonho Kong
b7c852a5c8
feat(src/lean-mode.el): add 'configuration' menu and add toggle option for 'Show type at point'
...
close #456
2015-03-05 14:37:44 -05: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
bd0f209659
feat(library/tactic/exact_tactic): do not force 'exact' tactic expression to be fully elaborated (i.e., metavariable free)
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
Leonardo de Moura
abd238aef0
feat(*): add [quasireducible] attribute
2015-03-04 22:12:49 -08:00
Soonho Kong
8265729a82
fix(emacs/README.md): wrong quotation mark
...
[skip ci]
2015-03-04 17:04:39 -05: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
Leonardo de Moura
51504a1872
feat(library/tactic/class_instance_synth): restrict higher-order unification even more during type class resolution
2015-03-03 20:26:49 -08:00
Leonardo de Moura
7db6ed7c14
refactor(library/unifier): move m_pattern configuration option to unifier_config
2015-03-03 20:24:18 -08:00
Leonardo de Moura
341a9a2010
refactor(library/unifier): remove dead code
2015-03-03 20:14:17 -08:00
Leonardo de Moura
fa79b214b8
fix(frontends/lean): allow 'attribute <id> [priority ...]'
2015-03-03 16:17:32 -08:00
Leonardo de Moura
11aad4449b
feat(frontends/lean): add '[semireducible]' attribute
...
This commit also renames the elements of reducible_status.
The idea is to use in the C++ implementation the same names used in the
Lean front-end.
2015-03-03 10:48:36 -08:00
Leonardo de Moura
8240d7adcd
perf(frontends/lean/util): improve univ_metavars_to_params_fn
...
We moved to replace_visitor because it uses a more precise cache.
2015-03-02 18:25:00 -08:00
Leonardo de Moura
7e2f0f9a36
fix(library/unifier): in the context_check, we should not consider local constants that occur in the type of other constants
...
This was a performance bug.
We were missing higher-order pattern constraints due to this bug.
2015-03-02 17:28:56 -08:00
Leonardo de Moura
1042bbc06f
fix(kernel/metavar): improve error messages by propagating the tag when we execute instantiate_all
...
This is the real fix for commit ededf4fc6c
2015-03-02 13:01:50 -08:00
Leonardo de Moura
c81762970e
fix(frontends/lean/elaborator): revert commit ededf4fc6c
...
The instantiate_all are needed. See issue #457
2015-03-02 13:00:54 -08:00
Leonardo de Moura
fdb169b8f3
feat(library/tactic): improve error localization when compiling tactics
2015-03-02 12:21:02 -08:00
Leonardo de Moura
ededf4fc6c
feat(frontends/lean): remove unnecessary instantiate_all's that were messing with error localization
2015-03-01 14:51:44 -08:00
Leonardo de Moura
ca57b43698
feat(library/tactic): add 'change' tactic
2015-03-01 14:15:39 -08:00
Leonardo de Moura
c8ad5e9406
feat(frontends/lean/builtin_exprs): focus on have-tactic goal
2015-03-01 13:43:33 -08:00
Leonardo de Moura
e07c6675b3
feat(library/tactic/elaborate): better error message for tactics using elaborate_with_respect_to
2015-03-01 13:42:53 -08:00
Leonardo de Moura
c772d7bf84
fix(frontends/lean/elaborator): unassigned metavariable when using nested begin-end blocks
...
Closes #454
2015-02-28 09:03:56 -08:00
Floris van Doorn
23a248ab28
style(hott): let inverse notation have higher binding power than application
2015-02-28 01:16:23 -05:00
Soonho Kong
05cfb21c4c
fix(emacs/lean-server.el): split findp info only up-to 1
...
close #446
2015-02-27 20:04:13 -05:00
Leonardo de Moura
cf56935b01
feat(frontends/lean): improve support for user defined tactics
2015-02-27 16:58:25 -08:00
Soonho Kong
c9ffc2fec8
fix(emacs/lean-util): add hlean support in lean-path-list
...
close #450
2015-02-27 15:27:18 -05:00
Leonardo de Moura
7d827a14c9
feat(library/module): expand 'failed to import' error message
...
see issue #448
2015-02-27 08:00:30 -08:00
Leonardo de Moura
2b65f02f6f
feat(shell/lean): do not terminate if an error is detected when loading the cache
...
see issue #448
2015-02-27 07:54:59 -08:00
Leonardo de Moura
5b736a2268
feat(frontends/lean): add support for empty match-with expressions
2015-02-26 16:36:15 -08:00
Leonardo de Moura
d00c013ad8
fix(shell/lean): display HoTT library path for lean --hlean --path
...
See #450
2015-02-26 15:09:03 -08:00
Leonardo de Moura
72eed42ac8
feat(library/unifier): ignore irrelevant branches when solving flex-rigid constraints
2015-02-26 13:43:54 -08: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
Soonho Kong
88e287df5a
doc(emacs/README.md): add instructions for unicode-fonts package
...
related issue: #446
2015-02-26 05:09:40 -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
c04c610b7b
feat(frontends/lean): add 'assert H : A, ...' as notation for 'have H [visible] : A, ...'
2015-02-25 14:30:42 -08:00