Leonardo de Moura
31a0d7d520
feat(frontends/lean/elaborator): catch exception at is_def_eq
...
@semorrison this commit improves the bad error message you have
reported at lean-user. It is not perfect since the user has to
remember the position of the structure field in the constructor.
2017-01-06 08:16:51 -08:00
Gabriel Ebner
6f8ccb5873
fix(CMakeLists): emscripten: pass compiler flags to gmp and mpfr as well
2017-01-06 01:04:36 -08:00
Gabriel Ebner
70e41305e5
fix(module_mgr): produce olean files with correct mtimes
2017-01-06 01:04:18 -08:00
Leonardo de Moura
15eaf30192
feat(library/tactic/smt/smt_state): allow user to provide a function ("to be unfolded") in the ematch_using tactic
2017-01-06 00:33:58 -08:00
Leonardo de Moura
7e4b79b221
feat(library/tactic/smt/smt_state): add ematch_using tactic
2017-01-06 00:24:25 -08:00
Leonardo de Moura
6f328071ff
feat(library/tactic/smt/congruence_closure): basic support for beta-reduction
2017-01-05 23:36:14 -08:00
Leonardo de Moura
0a2f7555b7
feat(library/tactic/smt/congruence_closure): improve pp_eqc
2017-01-05 20:46:36 -08:00
Leonardo de Moura
4a76579cd0
feat(library/tactic/smt): add tactics for getting/setting ematching lemmas
2017-01-05 20:35:57 -08:00
Leonardo de Moura
738fb0a535
feat(util/rb_tree): improve merge
2017-01-05 20:35:45 -08:00
Leonardo de Moura
5723b63afe
feat(library/tactic/smt/smt_state): add new tracing for smt
2017-01-05 18:47:42 -08:00
Leonardo de Moura
7ba889b5cf
feat(frontends/lean/tactic_notation): try/repeat for smt_tactic in interactive mode
2017-01-05 18:31:57 -08:00
Gabriel Ebner
4d4e47921a
fix(library/init/core): mark all rfl-lemmas as lemmas
2017-01-05 18:09:28 -08:00
Gabriel Ebner
fb2ac90cf4
chore(tests/lean/fail): add tests that check for positive exit values
2017-01-05 18:09:28 -08:00
Gabriel Ebner
bc09a53f71
feat(library/task_queue): add flag to prevent priority inversion
2017-01-05 18:09:28 -08:00
Gabriel Ebner
063130ee18
feat(kernel/environment): add function that checks whether all proofs are correct
2017-01-05 18:09:28 -08:00
Gabriel Ebner
51de81dfd0
chore(CMakeLists): remove leftover line
2017-01-05 18:08:59 -08:00
Gabriel Ebner
e8d4af8723
chore(CMakeLists): remove unused HAVE_UNISTD check
2017-01-05 18:08:59 -08:00
Gabriel Ebner
56ef887b33
chore(CMakeLists): remove unused CONSERVE_MEMORY option
2017-01-05 18:08:59 -08:00
Gabriel Ebner
90ab29d7a3
chore(CMakeLists): rename misleading LEAN_SERVER option
2017-01-05 18:08:59 -08:00
Gabriel Ebner
db7c9f245d
chore(CMakeLists): remove unused modules
2017-01-05 18:08:59 -08:00
Leonardo de Moura
82f8eeb280
feat(frontends/lean/definition_cmds): generate equational lemmas for regular definitions that were elaborated without using the equation compiler
2017-01-05 18:02:14 -08:00
Leonardo de Moura
1395bebc44
feat(library/type_context): avoid typing errors due to reducibility when checking types at metavariable assignment
2017-01-05 18:01:23 -08:00
Leonardo de Moura
044fe965da
fix(library/tactic/unfold_tactic): failed to unfold prefix
2017-01-05 18:01:19 -08:00
Leonardo de Moura
b18b49dd6b
feat(library/tactic/smt/smt_state): add tactic for adding equational lemmas for a definition
2017-01-05 15:47:58 -08:00
Leonardo de Moura
3742d6573d
feat(library/tactic/smt/smt_state): add preprocess tactic
2017-01-05 13:43:50 -08:00
Leonardo de Moura
eeab242595
feat(frontends/lean/elaborator): catch error early
2017-01-05 13:37:55 -08:00
Leonardo de Moura
b0de6723ec
feat(frontends/lean/tactic_evaluator): better error message
2017-01-05 13:32:59 -08:00
Leonardo de Moura
f008e623e9
feat(library/tactic/smt/smt_state): improve pretty printer for smt state
2017-01-05 13:12:15 -08:00
Leonardo de Moura
8eadaf51d8
feat(library/init/meta/smt): add helper tactics: get_facts, proof_for, refutation_for, add_lemmas_from_facts, ...
2017-01-05 12:59:11 -08:00
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
858ce76e73
feat(library/init/meta/smt/ematch): add commands for creating attributes for hinst_lemmas
2017-01-04 20:31:38 -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
eeb8237b04
feat(frontends/lean): 'begin [smt] ... end' blocks nested inside regular 'begin ... end' blocks
2017-01-04 15:35:46 -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
59f3c9775a
feat(frontends/lean/tactic_notation): add support for begin [smt] ... end blocks
...
TODO: add support for inspecting intermediate states.
2017-01-04 11:13:00 -08:00
Leonardo de Moura
3a62ca0581
refactor(library/init/meta): move smt tactics to library/init/meta/smt, and add interactive definitions
2017-01-04 09:36:50 -08:00
Leonardo de Moura
8a74a76720
chore(library/scope_pos_info_provider): style
2017-01-04 08:45:01 -08:00