Commit graph

786 commits

Author SHA1 Message Date
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
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
fb7efa9337 feat(library/type_context): new tmp local_constant policy 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
Leonardo de Moura
a26ea2a249 feat(frontends/lean/builtin_cmds): add command for testing app_builder 2015-11-08 14:05:00 -08:00
Leonardo de Moura
3804281919 refactor(library/app_builder): remove app_builder Lua API 2015-11-08 14:05:00 -08:00
Leonardo de Moura
2f06a480fe test(tests/lean/run/partial_explicit): add test for '@@' operator 2015-11-08 14:05:00 -08:00
Jeremy Avigad
697df0e68c refactor(library/*): use type classes for div and mod 2015-11-08 14:04:59 -08:00