Commit graph

10983 commits

Author SHA1 Message Date
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
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
d24577c57c fix(frontends/lean/tactic_notation): remove problematic code for get_begin_end_block_elements 2017-01-03 22:38:03 -08:00
Leonardo de Moura
e6f6c6bb3a fix(frontends/lean/tactic_notation): typo 2017-01-03 22:15:22 -08:00
Leonardo de Moura
493be76afe feat(frontends/lean/tactic_notation): add support for other tactic types
TODO: we still need to add support in the elaborator.
2017-01-03 22:11:45 -08:00
Leonardo de Moura
46a3aacc17 fix(frontends/lean): begin...end block scope 2017-01-03 21:01:14 -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
b636f03bb9 test(tests/lean/run/using_smt1): missing test 2017-01-03 15:13:15 -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
Leonardo de Moura
2262f70545 test(tests/lean/run/using_smt3): add zeta/nozeta test 2017-01-03 11:28:41 -08:00
Leonardo de Moura
27aa8ae4ed chore(emacs/README): remove fill-column-indicator 2017-01-03 11:26:57 -08:00
Scott Morrison
54ee157fa9 fix(emacs): bug in suggested Emacs init
The original code set the variable `lean-required-packages`, but then expected `lean-mode-required-packages`.

I've also added a hint about where to find your emacs init file; this was something I had to learn to follow these instructions.

A question for follow-up: the requirements sections states that `fill-column-indicator` is a dependency, but the suggested init file does not attempt to install this. Should this be fixed?
2017-01-03 11:25:58 -08:00
Scott Morrison
a85e89f555 fix(app_builder.h): fixing a typo in an error message 2017-01-03 11:23:01 -08:00
Jeremy Avigad
d9eab0cb19 chore(extra/latex/*): update to changes in syntax 2017-01-03 11:22:04 -08:00
Leonardo de Moura
78f4ab605e feat(library/tactic/smt): preprocessing configuration options 2017-01-03 11:06:33 -08:00
Leonardo de Moura
c904437d57 fix(frontends/lean/elaborator): crash when elaborating invalid structure instance 2017-01-03 11:04:14 -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
abb63cbfa6 fix(frontends/lean/elaborator): cactch app_exception when trying to create coercion
closes #1279
2017-01-03 09:03:00 -08:00
Leonardo de Moura
61bf8d5902 test(tests/lean/run/blast_unit): add old blast unit propagation tests 2017-01-02 19:38:31 -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
50b25ad45f feat(library/init/meta/smt_tactic): add smt_tactic.destruct, and a few combinators 2017-01-01 14:50:34 -08:00
Leonardo de Moura
4db7c05fb8 feat(frontends/lean/elaborator): generalize try_monad_coercion 2017-01-01 14:50:01 -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
d7e894d197 fix(util/rb_tree): typo 2017-01-01 10:38:41 -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