Leonardo de Moura
|
ac0bd539b0
|
feat(frontends/lean/notation_cmd): allow 'abstract ... end' to be used in notation declarations
helps #825
|
2015-12-11 09:55:27 -08:00 |
|
Leonardo de Moura
|
13f9d8dd6c
|
fix(tests/lean): move hott tests
|
2015-12-10 10:55:27 -08:00 |
|
Leonardo de Moura
|
8b3cbb8fdd
|
fix(library/tactic/induction_tactic): apply substitution to hypothesis type (it may contain metavars)
closes #876
|
2015-12-10 10:11:55 -08:00 |
|
Leonardo de Moura
|
50323e5b14
|
fix(tests/lean/run/simplifier1): option name
|
2015-12-09 12:30:20 -08:00 |
|
Leonardo de Moura
|
bed03272f5
|
fix(tests/lean/run/blast_cc1): option name
|
2015-12-09 12:23:00 -08:00 |
|
Leonardo de Moura
|
3f9549485f
|
feat(frontends/lean/parser): restore config options in the end of sections/namespaces
|
2015-12-09 11:24:37 -08:00 |
|
Leonardo de Moura
|
273f6fc04c
|
fix(tests/lean/run): new option names
|
2015-12-08 20:06:43 -08:00 |
|
Leonardo de Moura
|
b145a7332a
|
feat(library/blast/congruence_closure): use new tracing infrastructure
|
2015-12-08 15:18:21 -08:00 |
|
Leonardo de Moura
|
7da64a768f
|
refactor(library/type_context): with the new tracing infrastructure, type_context doesn't need an io_state
|
2015-12-08 14:58:08 -08:00 |
|
Leonardo de Moura
|
50df6b5698
|
feat(frontends/lean): rename '[intro]' ==> '[intro!]' and '[backward]' ==> '[intro]'
|
2015-12-07 21:33:35 -08:00 |
|
Leonardo de Moura
|
041c1cbb17
|
feat(library/blast): add strategies "grind" and "core_grind"
|
2015-12-07 20:30:59 -08:00 |
|
Leonardo de Moura
|
af7ffcf575
|
chore(tests/lean/run/blast_meta_bug): use "ematch" strategy in the test
|
2015-12-07 12:23:01 -08:00 |
|
Leonardo de Moura
|
121648dda6
|
fix(library/congr_lemma_manager): issue with reducible annotation when generating congruence lemmas
|
2015-12-07 12:09:30 -08:00 |
|
Leonardo de Moura
|
f31553d916
|
feat(library/blast/strategies/portfolio): add more strategies for debugging purposes
|
2015-12-07 11:59:21 -08:00 |
|
Leonardo de Moura
|
54c0921bbb
|
feat(library/blast/forward/pattern): consider patterns with nested lambdas in the pattern inference procedure
|
2015-12-07 10:39:42 -08:00 |
|
Leonardo de Moura
|
85379b7706
|
feat(library/blast/actions/simple_actions): make sure contradiction action works even if classical logic support is not enabled
not (not (not a)) -> not a
|
2015-12-07 09:30:14 -08:00 |
|
Leonardo de Moura
|
c7390684ba
|
feat(library/blast/strategies/portfolio): add 'unit' strategy for testing unit propagation
|
2015-12-07 08:45:54 -08:00 |
|
Leonardo de Moura
|
bccf716fd5
|
chore(tests/lean/run/blast_unit): remove reducible-not tests
|
2015-12-07 08:44:09 -08:00 |
|
Leonardo de Moura
|
2d007c7c23
|
feat(library/blast/simplifier/simp_rule_set): rename metaclass to '[simps]'
The previous name [rrs] was too cryptic.
|
2015-12-06 20:49:27 -08:00 |
|
Leonardo de Moura
|
1eb28b842e
|
feat(library/blast/simplifier): add eta-reduction to simplifier
|
2015-12-06 20:41:25 -08:00 |
|
Leonardo de Moura
|
b044f9e8c1
|
feat(library/blast/strategies): add "ematch" strategy for testing ematching
|
2015-12-06 15:01:49 -08:00 |
|
Leonardo de Moura
|
5626431c7f
|
test(tests/lean/run): use 'simp' when testing the simplifier
|
2015-12-06 14:35:14 -08:00 |
|
Leonardo de Moura
|
67e291ac84
|
feat(library/blast/strategies): add strategy for testing congruence closure module
|
2015-12-06 14:33:21 -08:00 |
|
Leonardo de Moura
|
732a92de05
|
feat(frontends/lean): add 'simp' as shortcut for 'with_options [blast.strategy "simp"] blast'
|
2015-12-06 13:14:04 -08:00 |
|
Leonardo de Moura
|
b36ce49f2b
|
fix(tests,doc): adjust tests to changes in the standard library
|
2015-12-05 23:52:16 -08:00 |
|
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
|
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 |
|
Daniel Selsam
|
08e0fc796b
|
feat(library/blast/actions): by_contradiction action
|
2015-12-04 20:19:05 -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 |
|
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 |
|
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
|
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
|
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
|
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
|
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
|
60945e95b4
|
feat(library/blast): add 'discard' action for detecting irrelevant hypotheses
|
2015-11-16 11:43:51 -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
|
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 |
|
Leonardo de Moura
|
0f4e59a84f
|
feat(library/blast): add "no_confusion" action
|
2015-11-13 18:19:05 -08:00 |
|
Leonardo de Moura
|
29d472788f
|
feat(library/blast/subst): avoid unnecessary proof step
|
2015-11-13 16:31:07 -08:00 |
|
Leonardo de Moura
|
3849aff674
|
fix(library/blast/subst): bug in subst action, add hypothesis_idx_buffer_set (helper class), refine revert_action interface
|
2015-11-13 16:10:25 -08:00 |
|
Leonardo de Moura
|
65b962dabd
|
test(tests/lean/run): add basic tests for subst action
|
2015-11-13 15:27:54 -08:00 |
|
Leonardo de Moura
|
5ceac83b6a
|
feat(frontends/lean/elaborator): restrict the number of places where coercions are considered
We do not consider coercions around meta-variables anymore.
|
2015-11-11 12:37:19 -08:00 |
|
Leonardo de Moura
|
296a4ab940
|
test(tests/lean/run): add coercion test issue
|
2015-11-11 12:12:15 -08:00 |
|