Commit graph

5709 commits

Author SHA1 Message Date
Leonardo de Moura
52c1a15313 feat(library/tactic/smt): add tactics for adding new lemmas to ematch state 2017-01-05 11:44:25 -08:00
Leonardo de Moura
b8e09bb86e refactor(library/tactic/smt): move ematch Lean bindings to ematch.cpp 2017-01-05 10:35:59 -08:00
Leonardo de Moura
aaffcc59a9 refactor(library/tactic/smt): move hinst_lemma(s) Lean bindings to hinst_lemmas.cpp 2017-01-05 10:30:34 -08:00
Leonardo de Moura
0969997c64 feat(library/tactic/smt): add ematch smt_tactic 2017-01-04 22:41:36 -08:00
Leonardo de Moura
df9ee8be69 chore(library/tactic/smt/hinst_lemmas): style 2017-01-04 20:38:15 -08:00
Leonardo de Moura
d784aba249 feat(library/tactic/smt/hinst_lemmas): change how transparency is used to process hinst_lemmas 2017-01-04 19:12:37 -08:00
Leonardo de Moura
7c6f449db0 chore(library/tactic/smt/hinst_lemmas): improve error message 2017-01-04 18:15:15 -08:00
Leonardo de Moura
8144eaa9bf feat(library/init/meta/smt/ematch): add hinst_lemmas API 2017-01-04 18:04:53 -08:00
Leonardo de Moura
384e8bc795 refactor(library/init/meta/smt): move ematch stuff to new file, and remove priority from hinst_lemma 2017-01-04 17:23:06 -08:00
Gabriel Ebner
9435762643 fix(compiler/vm_compiler): only compile computable non-builtin definitions 2017-01-04 16:30:22 -08:00
Gabriel Ebner
96398500b6 fix(library/module_mgr): do not cause waits for preimported modules 2017-01-04 16:30:22 -08:00
Gabriel Ebner
c9d2eeccf2 refactor(library/module): keep track of trust level in decl_modification 2017-01-04 16:30:22 -08:00
Gabriel Ebner
f6b8eb6821 feat(util/task_queue): lazy tasks 2017-01-04 16:30:22 -08:00
Leonardo de Moura
2e15304f05 feat(frontends/lean): add support for smt_state in the info_manager 2017-01-04 14:23:48 -08:00
Leonardo de Moura
5f2b247af9 feat(frontends/lean/tactic_evaluator): step-by-step evaluation for 'begin [smt] ... end' blocks 2017-01-04 14:06:44 -08:00
Leonardo de Moura
d53215a2fb feat(frontends/lean/tactic_notation, library/init/meta/smt): add by_cases and by_contradiction smt_tactics, support for classical reasoning, add support for 'begin [smt] with config, ... end' 2017-01-04 12:03:45 -08:00
Leonardo de Moura
8a74a76720 chore(library/scope_pos_info_provider): style 2017-01-04 08:45:01 -08:00
Leonardo de Moura
d6ab3739ff refactor(frontends/lean/elaborator): move tactic executation code to tactic_evaluator 2017-01-04 08:42:59 -08:00
Leonardo de Moura
0319fd5728 refactor(frontends/lean/elaborator): move pos_string_for 2017-01-04 07:32:44 -08:00
Leonardo de Moura
30d90533bc feat(library/tactic/destruct_tactic): support for non-dependent elimination 2017-01-03 18:33:57 -08:00
Leonardo de Moura
3adcf30d2f feat(library/init/meta/smt_tactic): add assert/assertv/define/definev/pose/note for smt_tactic 2017-01-03 17:12:00 -08:00
Leonardo de Moura
d546671849 chore(library/local_context): style 2017-01-03 15:00:46 -08:00
Leonardo de Moura
554cef1d36 feat(library/tactic/smt/congruence_closure): propagate disequalities 2017-01-03 14:53:27 -08:00
Leonardo de Moura
34073c6f32 feat(library/tactic/smt/smt_state): improve smt_goal formatting 2017-01-03 13:50:25 -08:00
Leonardo de Moura
51efc6c178 fix(library/tactic/smt/congruence_closure): missing propagation 2017-01-03 13:48:14 -08:00
Leonardo de Moura
d546dc57cd feat(library/tactic/smt/smt_state): use simplifier in the preprocessing step 2017-01-03 11:58:00 -08:00
Scott Morrison
a85e89f555 fix(app_builder.h): fixing a typo in an error message 2017-01-03 11:23:01 -08:00
Leonardo de Moura
78f4ab605e feat(library/tactic/smt): preprocessing configuration options 2017-01-03 11:06:33 -08:00
Leonardo de Moura
7f4693a26d chore(library/vm/vm_nat): add default value at force_to_unsigned 2017-01-03 10:26:36 -08:00
Leonardo de Moura
de8491474c feat(library/tactic/smt/congruence_closure): more propagation rules for implication, and cleanup 2017-01-02 19:35:12 -08:00
Leonardo de Moura
a7cd840c74 fix(library/tactic/smt/congruence_closure): incorrect condition 2017-01-02 19:33:55 -08:00
Leonardo de Moura
2239791eab fix(library/tactic/smt/congruence_closure): typo 2017-01-02 18:55:45 -08:00
Leonardo de Moura
cefccd0e47 feat(library/tactic/smt): perform "unit propagation" in the congruence closure module 2017-01-02 18:49:26 -08:00
Leonardo de Moura
ca6d3743c7 feat(library/tactic/smt): add mk_eq_true_intro mk_of_eq_true mk_eq_false_intro mk_not_of_eq_false 2017-01-02 13:39:16 -08:00
Leonardo de Moura
b200a86240 feat(library/tactic/smt): simplify congruence_closure internalization, visit lemmas at unit_propagation 2017-01-02 12:23:32 -08:00
Leonardo de Moura
316507081c feat(library/tactic/smt): unit propagation interface 2017-01-02 10:28:26 -08:00
Leonardo de Moura
6e53d73e61 feat(library/tactic/smt): add cc_propagation_handler 2017-01-02 09:58:57 -08:00
Leonardo de Moura
a516d384ae fix(library/compiler/erase_irrelevant): make sure io monad actions are not erased by dead code elimination optimization 2017-01-02 01:42:36 -08:00
Leonardo de Moura
32cc36214a feat(library/init/meta/smt_tactic): allow user to select simp attribute to be used during SMT preprocessing, use preprocessing at intros too 2017-01-01 22:26:26 -08:00
Leonardo de Moura
effe19d334 feat(library/tactic/smt/smt_state): add smt_tactic.intros, define smt_state in Lean as (list smt_goal) 2017-01-01 14:17:03 -08:00
Leonardo de Moura
90096a3ee8 feat(library/init/meta/smt_tactic): add smt_tactic.close 2017-01-01 11:56:36 -08:00
Leonardo de Moura
19154e1ff3 chore(library/tactic/smt/smt_state): typo 2017-01-01 10:41:09 -08:00
Leonardo de Moura
d2e935522c feat(library/tactic/smt/smt_state): unique names at intro_all 2017-01-01 09:44:39 -08:00
Leonardo de Moura
a44a975388 feat(library/type_context,frontends/lean/elaborator): add class_exception (for max depth reached), ignore them during coercion resolution (just add a trace message) 2017-01-01 08:51:09 -08:00
Leonardo de Moura
35cc334b10 feat(library/init/meta): smt_tactic skeleton 2016-12-31 18:22:23 -08:00
Gabriel Ebner
c90530193f fix(library/st_task_queue): handle null dependencies 2016-12-31 15:15:49 +01:00
Gabriel Ebner
6fa246032f fix(library/native_compiler): get_exe_location does not exist on emscripten 2016-12-31 15:15:20 +01:00
Leonardo de Moura
5f87ec3356 feat(library/tactic): allow user to write their own pretty printer for tactic states 2016-12-30 18:58:50 -08:00
Leonardo de Moura
5d825483c4 refactor(library/init/meta/interactive): tactic.interactive.types ==> interactive.types
Motivation: we will use auto-quotation for other tactic monads
2016-12-30 18:06:41 -08:00
Leonardo de Moura
b86494f0d4 feat(library/tactic): add destruct tactic that is similar to cases, but does not use revert/intro/clear
This tactic is useful for building more complex tactics using ematch and
cc because it does not invalidate cc_state nor ematch_state.
2016-12-30 17:05:24 -08:00