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 |
|
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
|
0316412992
|
test(tests/lean/simplifier_norm_num): disable test that is taking a long time
|
2015-11-13 09:25:39 -08:00 |
|
Daniel Selsam
|
00a5cd519e
|
feat(algebra/simplifier): simp rule set for units
|
2015-11-12 21:23:28 -08:00 |
|
Daniel Selsam
|
e7890fb456
|
feat(algebra/simplifier): useful simp rule sets
|
2015-11-12 21:23:28 -08:00 |
|
Daniel Selsam
|
f17320eccf
|
fix(library/abstract_expr_manager): remove weight and lt
|
2015-11-12 21:21:52 -08:00 |
|
Daniel Selsam
|
3703938e55
|
feat(library/abstract_expr_manager): compare exprs ignoring subsingletons
|
2015-11-12 21:21:51 -08:00 |
|
Leonardo de Moura
|
182085b366
|
fix(tests/lean/simplifier_norm_num): adjust tests to recent changes
|
2015-11-12 20:59:26 -08:00 |
|
Rob Lewis
|
44a099f6f1
|
feat(norm_num): performance and style fixes
|
2015-11-12 20:53:37 -08:00 |
|
Rob Lewis
|
4bf0519843
|
feat(norm_num): numeral normalizer works for +, -, *, /
|
2015-11-12 20:53:37 -08:00 |
|
Rob Lewis
|
616450be64
|
feat(library/norm_num): extend norm_num to handle subtraction
|
2015-11-12 20:53:37 -08:00 |
|
Leonardo de Moura
|
e1f81cfdcd
|
feat(library/type_context): add normalizer for type_context
|
2015-11-12 20:31:36 -08:00 |
|
Leonardo de Moura
|
9aaa2d0991
|
feat(frontends/lean): add new command for testing new congruence lemmas
Remark: #congr_simp is the old command, and #congr is the new one.
|
2015-11-12 18:55:25 -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 |
|
Leonardo de Moura
|
fa3baed701
|
feat(frontends/lean): add new option (elaborator.coercions) for disabling coercions
|
2015-11-11 11:57:44 -08:00 |
|
Leonardo de Moura
|
9bedbbb739
|
refactor(library,hott): remove coercions between algebraic structures
They are classes, and mixing coercion with type class resolution is a
recipe for disaster (aka counterintuitive behavior).
|
2015-11-11 11:57:44 -08:00 |
|
Leonardo de Moura
|
fee0cff295
|
feat(library/blast): add simple indexing data-structure for active hypotheses
|
2015-11-11 00:02:47 -08:00 |
|
Leonardo de Moura
|
f8f3f9402e
|
feat(library/blast): major reorg and basic backward chaining action
|
2015-11-10 17:00:16 -08:00 |
|
Leonardo de Moura
|
fb7a47cf2b
|
refactor(library/blast): avoid auxiliary local when creating hypothesis for intros
|
2015-11-09 14:40:39 -08:00 |
|
Leonardo de Moura
|
623d677215
|
test(tests/lean/run): add missing test
|
2015-11-08 19:23:33 -08:00 |
|
Leonardo de Moura
|
78f1679b03
|
feat(library/blast): add basic assumption action
|
2015-11-08 18:16:34 -08:00 |
|
Leonardo de Moura
|
1027d052cb
|
test(tests/lean/simplifier1): add HoTT test for simplifier
|
2015-11-08 14:05:03 -08:00 |
|
Daniel Selsam
|
0061d595d0
|
feat(library/blast/simplifier): use generated congruence lemmas
|
2015-11-08 14:05:03 -08:00 |
|
Daniel Selsam
|
30b2bcbea6
|
test(library/blast/simplifier): simplify zeros and ones
|
2015-11-08 14:05:03 -08:00 |
|
Leonardo de Moura
|
2dd092069f
|
test(tests/lean/congr1): add test for congruence lemma generator
|
2015-11-08 14:05:03 -08:00 |
|
Daniel Selsam
|
049f52bfe9
|
test(library/simplifier): fix name in test
|
2015-11-08 14:05:03 -08:00 |
|
Daniel Selsam
|
bacb9f99aa
|
fix(logic/quantifiers): restore original
|
2015-11-08 14:05:03 -08:00 |
|
Daniel Selsam
|
6c2c82f47c
|
feat(library/blast/simplifier): conditional rewriting
|
2015-11-08 14:05:03 -08:00 |
|
Daniel Selsam
|
b727d5810a
|
feat(library/blast/simplifier): rewrite with tmp locals
|
2015-11-08 14:05:02 -08:00 |
|
Daniel Selsam
|
25f507e46f
|
test(library/simplifier): add compute intensive test case
|
2015-11-08 14:05:02 -08:00 |
|
Daniel Selsam
|
cbddd81a9e
|
test(library/simplifier): add tests for numeral normalization
|
2015-11-08 14:05:02 -08:00 |
|
Daniel Selsam
|
8e5e8e6540
|
feat(library/blast/simplifier): basic infrastructure
|
2015-11-08 14:05:02 -08:00 |
|
Leonardo de Moura
|
ba477a0e98
|
feat(library/congr_lemma_manager): handle simple congruence lemmas
|
2015-11-08 14:05:02 -08:00 |
|
Leonardo de Moura
|
809168c05b
|
test(tests/lean/extra): add temp test for congruence manager
|
2015-11-08 14:05:02 -08:00 |
|
Leonardo de Moura
|
2482c49729
|
test(frontends/lean): add #replace command for debugging purposes
|
2015-11-08 14:05:01 -08:00 |
|
Leonardo de Moura
|
fb7efa9337
|
feat(library/type_context): new tmp local_constant policy
|
2015-11-08 14:05:01 -08:00 |
|
Leonardo de Moura
|
333ba83087
|
feat(library/type_context): add mk_tmp_local that allows us to specify the pretty printing name
We also modify the type inference procedure to preserve the binder names.
|
2015-11-08 14:05:01 -08:00 |
|
Leonardo de Moura
|
dc203b28db
|
test(tests/lean/run): add more tests
|
2015-11-08 14:05:01 -08:00 |
|
Leonardo de Moura
|
d1fa547335
|
feat(frontends/lean/builtin_cmds): change mask notation at #app_builder command
|
2015-11-08 14:05:01 -08:00 |
|
Leonardo de Moura
|
f21102a725
|
feat(frontends/lean): add test commands for new app_builder features
|
2015-11-08 14:05:01 -08:00 |
|
Leonardo de Moura
|
ee0974650a
|
feat(library/app_builder): new app_builder on top of type_context
The new version is more robust, and invokes type class resolution if needed.
|
2015-11-08 14:05:00 -08:00 |
|