Commit graph

3288 commits

Author SHA1 Message Date
Leonardo de Moura
0d8213cf92 feat(library/tactic): add unfold tactic 2016-07-18 15:46:56 -04:00
Leonardo de Moura
3218f91e35 feat(frontends/lean): add support for character literals 2016-07-18 14:07:10 -04:00
Leonardo de Moura
a20abd61e8 feat(library/tactic): implement rewrite and kabstract using occurrences object 2016-07-18 10:10:37 -04:00
Leonardo de Moura
7ffcee0cb8 fix(library/type_context): bug at complete_instance 2016-07-17 18:31:04 -04:00
Leonardo de Moura
1ae6ec2ce2 fix(tests/lean/rewrite1): add repeat 2016-07-17 18:19:42 -04:00
Leonardo de Moura
7f0276f592 feat(library/tactic): add 'rewrite' tactic and variants 2016-07-17 16:08:11 -04:00
Leonardo de Moura
f5b99b33ae fix(tests/lean/perf): fix tests, simp now invokes 'try triv' 2016-07-17 15:34:20 -04:00
Leonardo de Moura
26177995c2 feat(library/tactic): add 'generalize' tactic 2016-07-16 15:41:32 -04:00
Leonardo de Moura
fbefda9b1c feat(frontends/lean): add commands 'add_key_equivalence' and 'print key_equivalences' 2016-07-16 15:41:32 -04:00
Leonardo de Moura
031dbcd380 feat(library/tactic/cases_tactic): add missing case 2016-07-15 13:56:16 -04:00
Leonardo de Moura
5f2591b3a3 feat(library/init/meta/backward): expose back_lemmas (index)
Motivation: the user can create the index once and use it many times.
2016-07-10 17:11:24 -07:00
Leonardo de Moura
e48fa15b71 feat(library/tactic/backward/backward_chaining): add 'pre_tactic' to backward_chaining_core 2016-07-10 16:11:13 -07:00
Leonardo de Moura
7c8d0f444f feat(library/tactic/backward): finish backward chaining tactic 2016-07-10 13:49:28 -07:00
Leonardo de Moura
aacd812cc8 feat(library/init/meta/tactic): add 'by_contradiction' tactic 2016-07-09 19:14:36 -07:00
Leonardo de Moura
f81daab596 feat(library/init): add 'has_andthen' type class, and ';' notation 2016-07-09 18:39:27 -07:00
Leonardo de Moura
6b30b89c89 feat(library/init/meta/tactic): add 'simp_at' tactics 2016-07-09 17:23:45 -07:00
Leonardo de Moura
d5a648a12a feat(library/init/meta/tactic): add 'simp_using' and 'simp_using_hs', add 'try triv' after 'simp' 2016-07-09 16:37:55 -07:00
Leonardo de Moura
021347b757 chore(library/init/reserved_notation): add <= and >= 2016-07-09 14:03:05 -07:00
Daniel Selsam
ea19bb40dd feat(simplifier): detect refl proofs from simp extensions 2016-07-09 10:11:58 -07:00
Daniel Selsam
c3d44249bc feat(simplifier): take list of lemmas and tactic as args to simplify 2016-07-09 10:10:59 -07:00
Leonardo de Moura
519f47c9a7 fix(library/type_context): ignore assigned variables 2016-07-08 16:50:25 -07:00
Leonardo de Moura
f34e84dacb feat(frontends/lean/parser): cute binders 2016-07-08 07:50:58 -07:00
Leonardo de Moura
9565a464ea chore(tests/lean): fix tests 2016-07-07 07:39:26 -07:00
Leonardo de Moura
dce8776cfd refactor(library/fun_info): separate subsingleton information from general param_info 2016-07-07 07:39:26 -07:00
Leonardo de Moura
b390521b30 feat(library/tactic/induction_tactic): clear major premise 2016-07-07 07:39:25 -07:00
Leonardo de Moura
02fb2c9c8a feat(library/init): add 'guard' and helper typeclasses 2016-07-07 00:52:52 -07:00
Daniel Selsam
e8a0abe45e test(tests/lean/run): add three perf tests 2016-07-05 19:48:20 -07:00
Sebastian Ullrich
c5a8fe02ac feat(frontends/lean): add parent classes to local context in struct definitions
Fixes #1066
2016-07-05 19:22:08 -07:00
Leonardo de Moura
dbbe070060 feat(library/tactic): add 'induction' tactic 2016-07-05 19:13:23 -07:00
Leonardo de Moura
0e06942d49 chore(tests/lean/run/simp_ext1): cleanup 2016-07-04 17:34:47 -07:00
Leonardo de Moura
7bbd43ba5e chore(library/init/meta/tactic): cleanup mk_eq_simp_ext 2016-07-04 17:32:16 -07:00
Leonardo de Moura
f47bd06630 feat(library/tactic/simplifier): canonize instances
This is a cleanup of
10d23f0075
2016-07-04 17:23:16 -07:00
Daniel Selsam
ac57795871 feat(init/meta/tactic): mk_eq_simp_ext helper 2016-07-04 17:13:41 -07:00
Daniel Selsam
f8816e3ccb feat(library/tactic/simplifier): basic simplifier extensions 2016-07-04 17:13:30 -07:00
Daniel Selsam
9c3b7ad979 feat(simplifier/simp_extensions): basic bookkeeping 2016-07-04 17:13:19 -07:00
Leonardo de Moura
e4b028c596 feat(library/app_builder): add efficient mk_congr_arg
mk_congr_arg was a bottleneck at perm_ac tactic.
New tests are 10x faster after this commit.
2016-07-04 16:16:58 -07:00
Leonardo de Moura
6526a48c50 feat(library/tactic/ac_tactics): add 'perm_ac' tactic
TODO: add macro to postpone proof generation
2016-07-03 23:09:25 +01:00
Leonardo de Moura
945faefd78 feat(library/tactic): add 'flat_assoc' tactic 2016-07-03 21:27:05 +01:00
Leonardo de Moura
6cb63d5f9a feat(frontends/lean/builtin_exprs): simplify '@' and '@@' 2016-07-02 11:08:18 +01:00
Leonardo de Moura
97719a4c5f refactor(frontends/lean): disable '!' operator, and adjust standard library 2016-07-02 01:41:46 +01:00
Leonardo de Moura
e433417e49 feat(frontends/lean/decl_cmds): pattern variables must be atomic 2016-06-29 07:34:36 +01:00
Leonardo de Moura
3963fa7cad feat(library/init/meta/base_tactic): rename repeat ==> foreach, add new repeat 2016-06-29 07:20:05 +01:00
Leonardo de Moura
3b6b487e43 feat(library/init/meta/tactic): add 'focus', 'first', 'solve' and LCF-style AND_THEN tactical 2016-06-29 01:07:41 +01:00
Daniel Selsam
f273ccb077 feat(meta/lean/tactic): dsimp_at 2016-06-28 23:52:45 +01:00
Leonardo de Moura
f1986b57e9 feat(library/init/meta/tactic): 'revert' tactic returns the number of actually reverted hypothesis 2016-06-28 15:36:50 +01:00
Leonardo de Moura
e16dbac0db feat(frontends/lean): add declare_trace command
It allows users to define their own tracing classes.
2016-06-28 11:45:56 +01:00
Leonardo de Moura
48d6319c1c feat(library/init/meta/tactic): add 'when_tracing' tactical 2016-06-28 11:29:39 +01:00
Leonardo de Moura
dbeb0fec16 feat(library/init/meta): export reducible and semireducible to tactic namespace 2016-06-28 10:31:01 +01:00
Leonardo de Moura
d524ab013f refactor(library/init/meta): make sure 'transparency' is the first argument 2016-06-28 10:25:38 +01:00
Leonardo de Moura
5d225b7056 feat(frontends/lean): 'example's don't need to be trusted 2016-06-28 10:06:15 +01:00