Commit graph

52 commits

Author SHA1 Message Date
Leonardo de Moura
d18f9c7607 fix(library/tactic/constructor_tactic): use 1 (instead of 0) to reference the first constructor
see comment at issue #500
2015-04-30 20:08:00 -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
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
dce7177382 feat(library/tactic/change_tactic): improve 'change' tactic
- Better error messages
- Try to solve unification constraints produced during is_def_eq test

addresses comment on issue #531
2015-04-29 13:31:09 -07:00
Leonardo de Moura
d1cb0018c0 fix(tests): adjust tests to reflect changes in the HoTT library 2015-04-29 10:15:13 -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
Leonardo de Moura
9fb7aa9f1c chore(tests): remove most occurrences of 'context' command from the test suite 2015-04-21 19:33:21 -07:00
Leonardo de Moura
969d17fd12 fix(frontends/lean/elaborator): class inference in tactic mode with trunc
closes #477
2015-04-05 17:47:14 -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
8243ed6339 fix(test*.sh): allow spaces in filename
fix #515
2015-03-28 23:29:52 -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
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
0814e76298 fix(library/tactic/clear_tactic): unexpected failure
This commit also improves the error message produced by the 'clear' tactic.

fixes #488
2015-03-23 12:08:15 -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
6a78ae7b46 fix(library/tactic/class_instance_synth): enforce consistent behavior in type class resolution
Auxiliary procedure mk_class_instance was not discarding partial solutions.
This procedure is used by the apply and inversion (aka cases) tactics
2015-03-12 10:27:05 -07:00
Leonardo de Moura
7de3d5771d feat(library/tactic/rewrite_tactic): add eta-reduction support at esimp
closes #469
2015-03-12 00:32:31 -07:00
Leonardo de Moura
fde83cd376 fix(tests/lean/hott): adjust tests to reflect changes in the libraries 2015-03-04 09:28:16 -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
dc62bc498f fix(tests/lean/hott/443_b): adjust test to reflect changes in the HoTT library 2015-02-28 08:46:00 -08:00
Leonardo de Moura
0b48f406f9 fix(tests/lean/hott): adjust tests to reflect changes in the HoTT library 2015-02-26 10:51:19 -08: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
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
787fed95aa fix(library/tactic/inversion_tactic): bug in simpler case (hypotheses were being lost) 2015-02-23 16:10:49 -08:00
Leonardo de Moura
923fed8612 fix(frontends/lean/structure_cmd): bug in alias generation in the structure command
This commit (and 75acb3bc66) closes #443
2015-02-23 15:17:05 -08:00
Leonardo de Moura
75acb3bc66 fix(frontends/lean/structure_cmd): internal name of parameter/variable was being erased 2015-02-23 15:01:27 -08:00
Leonardo de Moura
753b9dcd75 fix(tests/lean/hott): adjust tests to reflect changes in standard library 2015-02-22 09:39:27 -08:00
Leonardo de Moura
421a30d75c feat(library): export [reducible] annotations from function namespace to top-level
see issue #433
2015-02-16 18:52:41 -08:00
Leonardo de Moura
461c02d790 fix(tests/lean/hott/433): remove bogus comment, and use rewrite tactic
Fix an issue raised by Floris.
See discussion at
https://github.com/leanprover/lean/issues/433
2015-02-16 15:45:31 -08:00
Leonardo de Moura
5cbdd77ad0 feat(library/tactic/rewrite_tactic): improve matcher in rewrite_tactic
closes #433
2015-02-13 12:40:55 -08:00
Leonardo de Moura
a35cce38b3 feat(frontends/lean): new semantics for "protected" declarations
closes #426
2015-02-11 14:09:25 -08:00
Leonardo de Moura
2126b8ec9a feat(library/tactic/apply_tactic): perform class-instance resolution in the apply tactic
closes #360
2015-02-06 16:14:03 -08:00
Leonardo de Moura
56a46ae61e feat(frontends/lean/parse_tactic_location): make rewrite notation more uniform 2015-02-06 10:31:50 -08:00
Leonardo de Moura
15efadfbdc feat(frontends/lean/parse_rewrite_tactic): cleanup rewrite tactic notation
Make a rewrite command sequence explicit.
2015-02-04 20:16:24 -08:00
Leonardo de Moura
90eb5c8ca5 test(tests/lean/hott): add test for rewriter in the HoTT version 2015-02-04 19:33:08 -08:00
Leonardo de Moura
4f2e0c6d7f refactor(frontends/lean): add 'attribute' command
The new command provides a uniform way to set declaration attributes.
It replaces the commands: class, instance, coercion, multiple_instances,
reducible, irreducible
2015-01-24 20:23:21 -08:00
Leonardo de Moura
260795f981 fix(frontends/lean/structure_cmd): collect universe levels that only occur in structure parameters
fixes #395
2015-01-19 22:18:09 -08:00
Leonardo de Moura
559ee3e3e1 fix(util/buffer): bug in expand method
fixes #385
2015-01-06 11:42:40 -08:00
Leonardo de Moura
5bf8141af2 test(tests/lean/hott): add test to demonstrate limitations of the current compilation procedure 2015-01-02 23:18:35 -08:00
Leonardo de Moura
264c88d332 test(tests/lean/hott): add tele_eq example using HoTT library 2014-12-22 09:43:16 -08:00
Leonardo de Moura
1d79cb9c07 fix(library/tactic/inversion_tactic): fix bug in 'cases' tactic for HoTT library 2014-12-22 09:40:15 -08:00
Leonardo de Moura
5efadb09cc feat(library/tactic/inversion_tactic): improve 'cases' tactic for HoTT library
This commit adds support for hypotheses (h : C As idxs) where the indices idxs
are just local constants. Before this commit the indices idxs had to be hsets.
Now, they can be hsets or local constants.

The new tests demonstrate new examples that can be handled by the
improved tactic in the HoTT library
2014-12-21 15:19:25 -08:00
Leonardo de Moura
70f7ec3cf2 test(tests/lean/hott): add test for 'cases' tactic 2014-12-20 11:36:32 -08:00
Leonardo de Moura
677ec2a2fe feat(library/tactic/inversion_tactic): adjust inversion tactic to HoTT lib 2014-12-20 11:32:27 -08:00
Leonardo de Moura
2521dbb39e refactor(hott): use same name convention for sigma in the HoTT and standard libraries 2014-12-19 18:46:06 -08:00
Leonardo de Moura
43633085b9 fix(tests/lean): adjust tests to recent changes in the lean libraries 2014-12-16 13:28:43 -08:00
Leonardo de Moura
4342454339 test(tests/lean/hott): add test for no_confusion construction for HoTT 2014-12-09 15:41:54 -08:00
Leonardo de Moura
58432d0968 feat(library/definitional): add no_confusion construction that is compatible with the HoTT library 2014-12-08 22:11:48 -08:00
Leonardo de Moura
2bb51554d5 feat(library/definitional/util): add telescope equality for HoTT library
This is needed for implementing no_confusion for HoTT.
We can't use heterogeneous equality in HoTT.
2014-12-07 18:35:55 -08:00