Commit graph

1789 commits

Author SHA1 Message Date
Leonardo de Moura
648f6c5f82 fix(library/blast/strategies): constructor action was being applied too soon 2015-12-05 19:44:07 -08:00
Leonardo de Moura
20d7727a9c fix(library/blast/forward/pattern): pattern inference bug 2015-12-05 19:38:24 -08:00
Leonardo de Moura
ae8efb684e fix(tests/lean/run/blast9): missing option 2015-12-05 19:26:37 -08:00
Leonardo de Moura
aa998bfad3 fix(library/fun_info_manager): reducibility issue 2015-12-05 19:26:06 -08:00
Leonardo de Moura
6193816f6a fix(library/tmp_type_context): bug at pop() 2015-12-05 19:14:33 -08:00
Leonardo de Moura
df567717f8 feat(library/blast/strategies): add 'blast.strategy "preprocess"' 2015-12-05 18:17:15 -08:00
Leonardo de Moura
9736b8d79c test(tests/lean/attr_at3): add test for 'attribute ... at ...' 2015-12-05 11:17:42 -08:00
Leonardo de Moura
e5aab3fd63 feat(library/scoped_ext,frontends/lean): add support for setting attributes into different namespaces 2015-12-05 11:15:02 -08:00
Daniel Selsam
934b502c6f refactor(algebra/numeral): prove lemmas incrementally 2015-12-05 08:56:56 -08:00
Daniel Selsam
08e0fc796b feat(library/blast/actions): by_contradiction action 2015-12-04 20:19:05 -08:00
Daniel Selsam
a04c28d4c9 refactor(library/algebra): construct simplifier sets incrementally 2015-12-04 18:28:56 -08:00
Leonardo de Moura
2682fe9525 feat(library/blast/blast): force 'ne' to be always transparent 2015-12-04 18:24:36 -08:00
Leonardo de Moura
5da1b52e47 feat(library/blast/unit/unit_propagate): make sure unif_propagate works even if 'not' is marked as '[reducible]' 2015-12-04 16:49:21 -08:00
Leonardo de Moura
5d38a5a5cd test(tests/lean/run/blast_ematch10): make sure the test is for the cc module 2015-12-04 14:03:51 -08:00
Leonardo de Moura
a8b6a286dd fix(library/app_builder): make sure app_builder works even if iff is marked as reducible 2015-12-04 13:51:56 -08:00
Leonardo de Moura
07cb35fd3c fix(library/abstract_expr_manager): incorrect handling of de-Bruijn variables 2015-12-04 09:27:21 -08:00
Leonardo de Moura
2edf91ce42 fix(tests/lean/interactive/findp): broken test output 2015-12-04 08:40:21 -08:00
Daniel Selsam
6e478696d2 feat(library/blast/unit): preprocessor placeholder 2015-12-04 08:30:04 -08:00
Daniel Selsam
0df4556eb5 feat(library/blast/unit): quantified and non-Prop facts 2015-12-04 08:30:03 -08:00
Daniel Selsam
2bf9989bd9 refactor(library/blast/unit): simplify module 2015-12-04 08:30:03 -08:00
Leonardo de Moura
6bbe72190d fix(library/congr_lemma_manager): bug in congruence lemma generator 2015-12-03 14:21:30 -08:00
Leonardo de Moura
038369533e fix(library/blast/recursor_action): indexed families 2015-12-02 23:43:15 -08:00
Leonardo de Moura
1c1cfdd010 test(tests/lean/run): add Dan's reducible+ematch test 2015-12-02 23:32:43 -08:00
Leonardo de Moura
87995b96e3 fix(library/blast/congruence_closure): is_relation_app ==> is_equivalence_relation_app 2015-12-02 23:28:57 -08:00
Daniel Selsam
139536896c feat(library/light_lt_manager): light wrappers for ordered rewriting 2015-12-02 22:56:54 -08:00
Leonardo de Moura
028ef47c84 feat(frontends/lean,library/blast/forward/pattern): check whether patterns can be inferred at declaration time 2015-12-02 22:52:55 -08:00
Leonardo de Moura
f84c6a6cfa fix(library/blast,frontends/lean): handling pattern hints after unfolding 2015-12-02 22:52:55 -08:00
Leonardo de Moura
950f356d9a refactor(library/blast,frontends/lean): forward pattern index 2015-12-02 22:52:55 -08:00
Leonardo de Moura
a83a7f8356 feat(library/blast/forward/pattern): remove redundant multi-patterns 2015-12-02 22:52:55 -08:00
Leonardo de Moura
ec7c38d847 feat(library/blast/forward/pattern): add minimal pattern validation 2015-12-02 22:52:55 -08:00
Leonardo de Moura
2090e9124c test(tests/lean/run): add more tests from algebra 2015-12-02 22:52:55 -08:00
Leonardo de Moura
48de943678 test(tests/lean/run): add Daniel's example 2015-12-02 22:52:55 -08:00
Leonardo de Moura
4f06e91ce5 test(tests/lean/run): add new test 2015-12-02 22:52:55 -08:00
Leonardo de Moura
1ab39a518f chore(tests/lean/run/blast_ematch5): disable unnecessary options 2015-12-02 22:52:54 -08:00
Leonardo de Moura
32ad59adc1 feat(library/blast/forward/ematch): add support for multi-patterns 2015-12-02 22:52:54 -08:00
Leonardo de Moura
a8bb4ba109 fix(library/blast/congruence_closure): bug in congruence closure proof extraction 2015-12-02 22:52:54 -08:00
Leonardo de Moura
5844e96734 test(tests/lean/run): add basic ematching tests 2015-12-02 22:52:54 -08:00
Leonardo de Moura
08bb966581 feat(library/blast/forward/ematch): generate new instances 2015-12-02 22:52:54 -08:00
Leonardo de Moura
e4e9c30e66 fix(frontends/lean/builtin_cmds): print patterns 2015-12-02 22:52:54 -08:00
Leonardo de Moura
fdd442bd38 feat(frontends/lean/decl_attributes): turn on [forward] if pattern hints have been provided 2015-12-02 22:52:54 -08:00
Leonardo de Moura
41ff4bc193 feat(library/blast/forward/pattern): pattern inference and heuristic instantiation index 2015-11-25 23:45:08 -08:00
Leonardo de Moura
84b54ad027 test(tests/lean/run): disable recursor tactic and add tests for unit+cc 2015-11-25 06:43:48 -08:00
Daniel Selsam
ca71a2eb12 feat(library/blast/unit): conjunctive conclusions 2015-11-24 22:45:39 -08:00
Daniel Selsam
eac1ebbf72 feat(library/blast/unit): propagate clauses 2015-11-24 21:16:01 -08:00
Leonardo de Moura
67a4cd3972 feat(frontends/lean): add print [no_pattern] command 2015-11-24 18:48:22 -08:00
Leonardo de Moura
f4a7268bd7 fix(library/blast/congruence_closure): bug in add_eqv_step 2015-11-23 14:26:33 -08:00
Leonardo de Moura
0bd417bc2a test(tests/lean/run/blast23): missing test 2015-11-22 18:23:01 -08:00
Leonardo de Moura
1bd827dffc feat(library/blast/simplifier/simplifier_actions): add simplify_hypothesis_action 2015-11-22 17:49:00 -08:00
Leonardo de Moura
989a2e077b fix(tests/lean): adjust tests 2015-11-22 17:15:28 -08:00
Leonardo de Moura
a0284b0e82 fix(tests/lean/simplifier11): contextual ite lemma has been renamed 2015-11-22 17:08:15 -08:00
Leonardo de Moura
fc461ce832 feat(library/app_builder): avoid redundant proof terms at mk_of_iff_true and mk_not_of_iff_false 2015-11-22 15:49:17 -08:00
Leonardo de Moura
94f7b7f95d feat(library/blast/congruence_closure): add support for propagating units in the congruence closure module
See blast_cc12.lean for example.
2015-11-22 15:39:44 -08:00
Leonardo de Moura
6fc0e41439 fix(library/blast/congruence_closure): proof generation for congruences such as (a = b) <-> (b = a)
The congruence closure module treats these two terms as the same thing.
So, we should take this into account when building proofs
2015-11-21 19:50:59 -08:00
Leonardo de Moura
5e9914ef45 feat(library/blast/congruence_closure): avoid eq.rec if major premise is eq.refl 2015-11-21 19:00:16 -08:00
Leonardo de Moura
091b0f0cc7 feat(library/blast): add option for disabling congruence closure 2015-11-21 17:45:25 -08:00
Leonardo de Moura
c4328aad3a feat(library/blast/congruence_closure): missing case 2015-11-21 17:40:15 -08:00
Leonardo de Moura
962a61801e test(tests/lean/run/blast_cc8): add card based on finite_set test for congruence closure module 2015-11-21 15:04:16 -08:00
Leonardo de Moura
c49caf3740 feat(library/blast/congruence_closure): add support for user-defined congruence lemmas in the congruence closure module 2015-11-21 14:43:51 -08:00
Leonardo de Moura
c280ddb2b0 fix(tests,doc): adjust tests and documentation 2015-11-20 17:03:17 -08:00
Leonardo de Moura
1a4068878e fix(tests/lean/run): adjust tests 2015-11-20 16:46:10 -08:00
Leonardo de Moura
eb3d73873a test(tests/lean/run/blast_cc4): congruence_closure and type classes 2015-11-20 14:01:15 -08:00
Leonardo de Moura
2627eade8b test(tests/lean/run/blast_cc3): add test for congruence_closure with dependent types 2015-11-20 13:55:22 -08:00
Leonardo de Moura
8f368cebbf feat(library/blast/congruence_closure): lift equalities 2015-11-20 13:48:22 -08:00
Leonardo de Moura
28970ef717 feat(library/blast/congruence_closure): proof extraction 2015-11-20 12:23:32 -08:00
Leonardo de Moura
6bd92e144a test(tests/lean/run/blast20): uncomment example that can now be solved 2015-11-19 11:46:22 -08:00
Daniel Selsam
5ada4312d7 feat(library/blast/forward): propositional forward chaining 2015-11-19 11:44:53 -08:00
Leonardo de Moura
f78e57fd52 feat(shell,frontends/lean): add command line option --dir
See #821
See #788
2015-11-19 08:34:23 -08:00
Leonardo de Moura
093a212ed4 test(tests/lean/run/blast21): another blast test 2015-11-18 19:20:32 -08:00
Leonardo de Moura
3bd83b8e41 feat(library/blast/backward/backward_strategy): don't try constructor action by default 2015-11-18 19:14:37 -08:00
Leonardo de Moura
3f6ec66b36 test(tests/lean/run/blast20): more tests 2015-11-18 19:12:58 -08:00
Daniel Selsam
413989afd6 feat(library/blast/backward): backward chaining strategy 2015-11-18 17:48:39 -08:00
Leonardo de Moura
e580e6cdb1 fix(tests/lean/interactive/findp): adjust test 2015-11-18 10:10:46 -08:00
Leonardo de Moura
de67288305 fix(library/app_builder): mk_rel supports relations where the lhs and rhs are not necessarily the last two arguments (e.g., heq) 2015-11-17 18:45:22 -08:00
Leonardo de Moura
f363975856 feat(frontends/lean): add command #congr_rel for testing new congruence lemma for equivalence relations 2015-11-17 18:45:22 -08:00
Leonardo de Moura
a96aed6dfe test(tests/lean): add tests for simp priorities 2015-11-16 22:41:04 -08:00
Leonardo de Moura
491c7c55e1 feat(library/simplifier/simp_rule_set): add priorities for simp and congr rules 2015-11-16 22:34:06 -08:00
Leonardo de Moura
5095f05303 fix(tests/lean/interactive/findp): adjust test to recent changes in the standard lib 2015-11-16 21:30:28 -08:00
Daniel Selsam
835e8995b4 test(simplifier19): nested fusion 2015-11-16 20:39:16 -08:00
Daniel Selsam
a689c66b1e fix(library/blast/simplifier): handle scalar in fusion 2015-11-16 20:39:15 -08:00
Daniel Selsam
49ff8640d9 fix(library/blast/simplifier): use ac rules for numerals 2015-11-16 20:39:15 -08:00
Daniel Selsam
8ca5d87f0b feat(library/blast/simplifier): rely on norm_num for recursion 2015-11-16 20:33:22 -08:00
Daniel Selsam
7cd15aaecd test(simplifier11): add necessary simp rule 2015-11-16 20:33:22 -08:00
Daniel Selsam
6ba42bb7bc test(simplifier11.lean): add rule for (not P) 2015-11-16 20:33:22 -08:00
Daniel Selsam
a02459fe5e test(simplifier9.lean): fix order of congr rules 2015-11-16 20:33:22 -08:00
Daniel Selsam
b9a516783c fix(library/blast/simplifier): remove unnecessary casts 2015-11-16 20:33:22 -08:00
Leonardo de Moura
60945e95b4 feat(library/blast): add 'discard' action for detecting irrelevant hypotheses 2015-11-16 11:43:51 -08:00
Leonardo de Moura
b3ca5faa49 fix(tests/lean): some of the simplifier tests 2015-11-16 11:01:53 -08:00
Daniel Selsam
5e8068b2b2 feat(library/blast/simplifier): draft of fusion 2015-11-16 09:13:07 -08:00
Daniel Selsam
6290919170 test(tests/lean/simplifier_norm_num): add moderate sized test 2015-11-16 09:13:07 -08:00
Daniel Selsam
30b1b79c4e fix(algebra/simplifier): update numeral simp rules 2015-11-16 09:12:29 -08:00
Leonardo de Moura
db59c6829c feat(library/blast): add basic support for non-recursive recursors/eliminators in the simple_strategy, fix bug at recursor_action 2015-11-15 18:39:12 -08:00
Leonardo de Moura
a545860aa1 feat(library/blast/intros_action): apply head_beta_reduce at intros 2015-11-15 18:14:12 -08:00
Leonardo de Moura
24ed427c2f feat(library/blast): add "recursor" (aka elimination/induction) action 2015-11-15 18:00:32 -08:00
Leonardo de Moura
0dc31227f8 feat(library/init/logic): mark ne reducible 2015-11-15 15:09:02 -08:00
Leonardo de Moura
60434b3487 fix(tests/lean/urec): adjust test to recent changes 2015-11-15 15:06:05 -08:00
Leonardo de Moura
1308c7c4e2 feat(library/blast): add action for not(a ~ a) when ~ is a reflexive relation 2015-11-15 15:00:25 -08:00
Leonardo de Moura
ff73fb22fb feat(library/user_recursors): store whether recursor is recursive or not 2015-11-15 12:37:35 -08:00
Leonardo de Moura
676ffb77f9 test(tests/lean/run): test for simp action 2015-11-15 11:36:24 -08:00
Leonardo de Moura
fd41a4f76d feat(library/blast): add simplify_target action 2015-11-14 16:18:12 -08:00
Leonardo de Moura
b5db77961d feat(library/blast): add "trivial" action 2015-11-14 15:02:14 -08:00