Commit graph

9136 commits

Author SHA1 Message Date
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
34d23764fd feat(library/tactic/ac_tactics): expose flat_assoc in the C++ API 2016-07-03 21:31:02 +01:00
Leonardo de Moura
945faefd78 feat(library/tactic): add 'flat_assoc' tactic 2016-07-03 21:27:05 +01:00
Leonardo de Moura
9740515be1 chore(frontends/lean/builtin_exprs): remove '#tactic' 2016-07-02 11:15:46 +01:00
Leonardo de Moura
6cb63d5f9a feat(frontends/lean/builtin_exprs): simplify '@' and '@@' 2016-07-02 11:08:18 +01:00
Leonardo de Moura
90d920b7c9 chore(frontends/lean,library/explicit): remove dead code 2016-07-02 01:57:43 +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
58569b82d3 refactor(frontends/lean,library,library/tactic): move type_context_cache_helper to type_context module 2016-06-30 12:03:40 +01:00
Leonardo de Moura
5be11a5738 chore(library/init/meta/constructor_tactic): cleanup 2016-06-30 11:44:00 +01:00
Leonardo de Moura
1a5756661f refactor(frontends/lean,library): move scope_pos_info_provider to library 2016-06-30 10:19:35 +01:00
Leonardo de Moura
bb70fbbd48 refactor(frontends/lean): simplify elaborator_context 2016-06-29 16:56:19 +01:00
Leonardo de Moura
ccc65c6171 refactor(frontends/lean): add thread local parser_pos_provider 2016-06-29 16:09:06 +01:00
Leonardo de Moura
6234d0d830 fix(frontends/lean/decl_cmds): the function name does not need to be atomic 2016-06-29 07:55:11 +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
75eab6471d fix(library/init/meta/relation_tactics): typo 2016-06-29 07:25:58 +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
f64db53751 refactor(library/init/meta/tactic): simplify 'simp' tactic 2016-06-28 17:51:22 +01:00
Leonardo de Moura
1c2804256e fix(library/tactic/tactic_state): do not assume combinator.K is in the environment 2016-06-28 16:48:53 +01:00
Leonardo de Moura
9d7a75d0e2 refactor(library/init): move option (inhabited, decidable_eq and monad) instances to init 2016-06-28 16:37:10 +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
bd69aacfa8 chore(frontends/lean): remove old '#simplify' command
We can use the new tactic framework for testing the simplifier.
2016-06-28 11:55:02 +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
4d32a8a4f8 feat(library/init/meta): add helper functions 2016-06-27 17:19:22 +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
23565ff43c fix(library/tactic/match_tactic): check whether all meta-variables have been assigned 2016-06-27 14:53:42 +01:00
Leonardo de Moura
d487a59c23 chore(library/init/meta/match_tactic): document match_pattern tactic 2016-06-27 14:49:32 +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
669f8fc9df feat(library/init/meta/tactic): make sure to_format ==> to_tactic_format has higher priority 2016-06-27 14:34:55 +01:00
Leonardo de Moura
afffd31a7b feat(library/tactic): add match_pattern tactic 2016-06-27 14:26:31 +01:00
Leonardo de Moura
dea0374055 feat(library/init/meta/tactic): add has_to_tactic_format instance for list 2016-06-27 14:06:18 +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
f3803c6ee4 refactor(frontends/lean/elaborator_context): remove io_state from elaborator_context 2016-06-27 06:29:54 +01:00
Leonardo de Moura
2ea8b26c4f refactor(library/io_state): move get_global_ios to io_state module 2016-06-25 20:59:52 -07:00
Leonardo de Moura
7e759e6773 refactor(library/io_state_stream): avoid references in io_state_stream object 2016-06-25 20:16:58 -07:00
Leonardo de Moura
4f3ce09b57 fix(library/type_context,library/lazy_abstraction): bug in lazy_abstraction, and handle lazy_abstraction in type inference 2016-06-25 14:47:30 -07:00
Leonardo de Moura
6f032dc35f chore(src/emacs/lean-input): make sure '\l' default is the left arrow 2016-06-25 13:54:50 -07:00
Leonardo de Moura
2b35b0056a chore(library/metavar_closure): remove dead code 2016-06-25 13:29:59 -07:00
Leonardo de Moura
fb836d2d75 chore(library/old_tactic/tactic): remove old tactics that have already been ported to new tactic framework 2016-06-25 13:21:07 -07:00
Leonardo de Moura
1590807762 chore(src/runtime/cpp): remove cpp runtime, we are going to use library/vm instead 2016-06-25 13:15:40 -07:00
Leonardo de Moura
51a449e3c4 chore(library): remove dead code 2016-06-25 13:12:24 -07:00