Commit graph

3288 commits

Author SHA1 Message Date
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
Leonardo de Moura
120c48b1b2 feat(library/tactic): expose congr_lemmas
This commit also adds several helper code, and fixes bugs in congr_lemma.cpp
2016-06-22 19:17:08 -07:00
Leonardo de Moura
a29e1b76d3 refactor(library/tactic/revert_tactic): revert take a local instead of a name 2016-06-22 15:20:02 -07:00
Leonardo de Moura
38810ad4c1 refactor(library/tactic/subst_tactic): subst take a local instead of a name 2016-06-22 15:13:49 -07:00
Leonardo de Moura
6bda901093 refactor(library/tactic/clear_tactic): clear take a local instead of a name 2016-06-22 15:00:00 -07:00
Leonardo de Moura
f0ec88c1d3 refactor(library/init/meta): free_var ==> local_const
Use the same names used in the C++ version
2016-06-22 14:48:09 -07:00
Leonardo de Moura
1e005e185a feat(library/init/meta/tactic): more general trace_fmt 2016-06-22 14:14:33 -07:00
Leonardo de Moura
61de427699 feat(library/init/meta/fun_info): expose fun_info 2016-06-22 14:00:00 -07:00
Leonardo de Moura
09bd948045 feat(library/init/function): move '$' notation to the top-level 2016-06-21 18:02:45 -07:00
Leonardo de Moura
677b40f4b7 feat(tactic/init/meta/tactic): normalize assert, define tactic names 2016-06-21 17:50:30 -07:00
Leonardo de Moura
4f7f59e47f chore(tests/lean): fix tests output 2016-06-20 11:18:16 -07:00
Leonardo de Moura
32f382991a feat(library/init/meta/tactic): intro returns new free_var 2016-06-20 09:37:06 -07:00
Leonardo de Moura
02904c5b87 feat(library/init/meta): add 'reflexivity', 'symmetry' and 'transitivity' tactics 2016-06-18 20:01:53 -07:00
Leonardo de Moura
991a461932 feat(library/init/meta): add 'injection' tactic 2016-06-18 14:47:48 -07:00
Leonardo de Moura
8065318c40 feat(library/init/meta/constructor_tactic): add 'existsi' tactic 2016-06-18 13:15:43 -07:00
Leonardo de Moura
724d356c42 feat(library/init/meta/tactic): add 'get_arity' 2016-06-18 13:03:21 -07:00
Leonardo de Moura
bf5cf18d8d feat(library/init/meta): add 'constructor', 'split', 'left', 'right', 'constructor_idx' tactics 2016-06-18 12:40:21 -07:00
Leonardo de Moura
5021b02043 feat(library/init/meta/tactic,library/tactic/tactic_state): add tactics for setting options 2016-06-18 12:05:58 -07:00
Leonardo de Moura
5846dc1812 feat(library/tactic/tactic_state): add get_assignment and get_univ_assignment 2016-06-18 11:34:00 -07:00
Leonardo de Moura
6a0f11f705 feat(library/tactic/tactic_state,library/init/meta/tactic): add mk_meta_univ, mk_meta_var, mk_const
This commit also changes the semantics of the unify tactic.
It fails if the arguments are not unifiable.
2016-06-18 11:12:51 -07:00
Leonardo de Moura
00717318f0 feat(library/tactic/apply_tactic): add option to disable type class resolution to apply_core 2016-06-18 10:03:38 -07:00
Leonardo de Moura
735aa4ebfa feat(library/tactic/tactic_state): add 'is_class' and 'apply_instance' tactics 2016-06-18 09:51:02 -07:00
Leonardo de Moura
66c6d3b87a feat(library/tactic/apply_tactic): add remove_redundant_goals 2016-06-17 20:21:17 -07:00
Leonardo de Moura
61a845c005 feat(library/tactic): add 'apply' tactic 2016-06-17 20:11:52 -07:00
Leonardo de Moura
154f02ca32 feat(library/init/meta/contradiction_tactic): add 'exfalso' tactic 2016-06-17 17:35:53 -07:00
Leonardo de Moura
b21a3376e0 feat(library/init/meta/tactic): add 'focus' and 'all_goals' tacticals 2016-06-17 16:11:40 -07:00
Leonardo de Moura
6371a8db38 fix(library/tactic/tactic_state): consume solved goals 2016-06-17 15:19:50 -07:00
Leonardo de Moura
0b2ed21561 feat(library/init/meta/tactic): add rotate_left and rotate_right tactics 2016-06-17 15:11:08 -07:00
Leonardo de Moura
eef3debcf5 fix(library/type_context): bug in revert with let-decls 2016-06-17 14:50:01 -07:00
Leonardo de Moura
c5f92f08b8 feat(library/tactic): add 'assert' tactic
Remark: the new assert tactic does have the problem described in issue #621
2016-06-17 14:42:28 -07:00
Leonardo de Moura
46cf91c969 chore(frontends/lean): remove 'assert' keyword
In Lean3, `assert` was just an alias for `have`.
2016-06-17 14:20:26 -07:00
Leonardo de Moura
1f49d126ed feat(library/init/meta/tactic): add dsimp 2016-06-17 14:04:11 -07:00
Leonardo de Moura
d0afe0aa99 feat(library/tactic): add 'change' tactic 2016-06-17 13:21:52 -07:00