Commit graph

2370 commits

Author SHA1 Message Date
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
Leonardo de Moura
7e5681c9db feat(tests/lean/run/match_pattern2): add another match_pattern test 2016-06-27 17:21:28 +01:00
Leonardo de Moura
9d8d62a983 test(tests/lean/run/do_match_else): improve test 2016-06-27 16:17:31 +01:00
Leonardo de Moura
fbec9053dc feat(frontends/lean/builtin_exprs): add 'else case' for do-match notation 2016-06-27 15:28:17 +01:00
Leonardo de Moura
6893ddc11c chore(tests/lean/interactive/alias): fix test expected output 2016-06-27 14:37:18 +01:00
Leonardo de Moura
afffd31a7b feat(library/tactic): add match_pattern tactic 2016-06-27 14:26:31 +01:00
Leonardo de Moura
ea51e77b4b refactor(library): format concatentation as instance of has_append instead of has_add 2016-06-27 08:12:26 +01:00
Leonardo de Moura
9aa6ac62ec refactor(library): add has_append type class, string concatenation is now an instance of has_append instead of has_add 2016-06-27 08:04:47 +01:00
Leonardo de Moura
583a55c7c3 refactor(library): move 'none', 'some', 'tt', 'ff' to top-level 2016-06-25 12:39:19 -07:00
Leonardo de Moura
c624c2d932 feat(frontends/lean): allow patterns in 'do' notation 2016-06-24 19:28:48 -07:00
Leonardo de Moura
51b3ddb274 chore(frontends/lean/decl_cmds): use 'pattern' instead of recursive equation 2016-06-24 16:31:06 -07:00
Daniel Selsam
e1bc0a68e6 refactor(simplifier): port skeleton to new tactic framework
Conflicts:
	library/init/meta/tactic.lean
	src/library/tactic/tactic_state.cpp
2016-06-24 15:20:40 -07:00
Leonardo de Moura
490a116baa refactor(library): remove abstract_expr and abstract_expr_manager modules 2016-06-24 15:16:57 -07:00
Leonardo de Moura
3912da372a feat(library/tactic/defeq_simplifier): invoke defeq_canonize from defeq_simp 2016-06-24 14:46:43 -07:00
Leonardo de Moura
480c6f1584 feat(tests/lean/run/assoc_flat): add flattening tactic example 2016-06-23 17:05:29 -07:00
Leonardo de Moura
c8c23adb4d feat(library/abstract_expr): add abstract_eq 2016-06-23 15:17:25 -07:00
Leonardo de Moura
3974a72a73 feat(library/abstract_expr): add abstract_weight 2016-06-23 14:50:23 -07:00
Leonardo de Moura
facdf99e86 feat(library): add abstract_hash 2016-06-23 14:25:29 -07:00
Leonardo de Moura
8e68b1b34f refactor(library/init/meta/tactic): merge trace, trace_fmt and trace_expr 2016-06-23 09:29:42 -07:00