Commit graph

1026 commits

Author SHA1 Message Date
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
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
f4695c4a1d chore(frontends/lean): remove #defeq_simplify command 2016-06-17 10:16:53 -07:00
Leonardo de Moura
b24795b2b1 feat(library/init/meta/expr): mark expr.app as a coercion 2016-06-17 08:50:06 -07:00
Leonardo de Moura
27085c3d16 feat(library/tactic/tactic_state): add tactic.mk_instance 2016-06-17 08:39:18 -07:00
Leonardo de Moura
687746a0f2 chore(tests/lean): fix tests 2016-06-16 18:47:23 -07:00
Leonardo de Moura
84e33f6ae2 feat(library/init/meta/contradiction_tactic): improve contradiction tactic 2016-06-16 18:32:08 -07:00
Leonardo de Moura
586baa4118 feat(library,frontends/lean): support for quoted expressions in the VM, compiler and frontend
TODO: invoke elaborator at tactic.to_expr
2016-06-15 16:06:39 -07:00
Leonardo de Moura
5b8ac6ba30 feat(library/tactic): add 'exact' tactic 2016-06-14 21:30:58 -07:00
Leonardo de Moura
c5ec35ac65 chore(library/init/meta/name): change notation for mk_str_name 2016-06-14 21:09:24 -07:00
Leonardo de Moura
cb9b5650b7 feat(library/tactic): add 'subst' tactic 2016-06-14 21:01:57 -07:00
Daniel Selsam
214e960574 fix(frontends/lean/elaborator): incorrect assertion
Conflicts:
	src/frontends/lean/elaborator.cpp
2016-06-14 18:05:39 -07:00
Leonardo de Moura
50b6f9517a feat(library/tactic/app_builder_tactics): add tactic.mk_mapp 2016-06-14 17:33:32 -07:00
Leonardo de Moura
9fad884dd8 feat(library/tactic): add tactic.mk_app for using app_builder 2016-06-14 17:13:10 -07:00
Leonardo de Moura
48fa99163a feat(init): add <$>, <*> and >>= notation 2016-06-14 16:07:37 -07:00
Daniel Selsam
a4692671e2 fix(src/library/defeq_simplifier): incorrect assertion 2016-06-14 11:31:46 -07:00
Leonardo de Moura
179f23b64c fix(library/lazy_abstraction): representation 2016-06-14 11:09:43 -07:00
Leonardo de Moura
a16e3343a0 chore(library,frontends/lean): disable modules that need to be refactored 2016-06-14 10:02:11 -07:00
Leonardo de Moura
a9cae34a75 fix(library/type_context): unification hints 2016-06-13 14:53:02 -07:00
Leonardo de Moura
6d78d0cc98 feat(frontends/lean/old_elaborator): interface old_elaborator with new tactic framework
The interface is not efficient, but it is sufficient for testing
purposes. We will replace the elaborator with a new one.
2016-06-13 13:59:01 -07:00
Leonardo de Moura
21bf883fa5 feat(library/tactic/tactic_state,library/init/meta): add helper tactics (context, num_goals, repeat, repeat_at_most, repeat_exactly), rename main_type ==> target 2016-06-11 21:15:00 -07:00
Leonardo de Moura
7058a2ccc8 test(tests/lean/run/meta_tac6): add test for 'clear' tactic 2016-06-11 20:31:35 -07:00
Leonardo de Moura
6829c81f18 feat(library/tactic): add 'rename' tactic 2016-06-11 19:18:25 -07:00
Leonardo de Moura
a732e8ec30 feat(library/tactic/tactic_state): add 'unify_core' where user can specify transparency mode 2016-06-11 19:14:23 -07:00
Leonardo de Moura
5245a25f89 feat(library/tactic/tactic_state): add basic tactics for inferring types, unifying terms, etc 2016-06-11 10:51:33 -07:00
Leonardo de Moura
94169fb8d6 test(tests/lean/run): missing tests 2016-06-11 10:25:16 -07:00
Leonardo de Moura
0ef4bea86b chore(tests/lean): disable tests 2016-06-10 18:29:41 -07:00
Leonardo de Moura
f51868240f chore(tests/lean/run): disable/fix tests 2016-06-10 18:29:41 -07:00
Leonardo de Moura
0a6cc0ab5a feat(library/tactic): assumption tactic 2016-06-10 18:29:41 -07:00
Leonardo de Moura
13bbac8771 feat(library/tactic): intro_tactic and variants 2016-06-10 18:29:41 -07:00
Leonardo de Moura
2df6fb35e6 feat(library/vm): avoid list<A> eager conversion to vm_obj (for A in {name, level, expr}) 2016-06-09 14:16:32 -07:00
Leonardo de Moura
d64a064d32 chore(library/tactic/tactic_state): improve pp_goal 2016-06-09 10:56:58 -07:00
Leonardo de Moura
181e48e3f3 feat(library/tactic/tactic_state): add tactic_state.to_format 2016-06-09 10:47:17 -07:00
Leonardo de Moura
9a63898c51 chore(tests/lean/run): unit.star ==> () 2016-06-09 09:26:36 -07:00