Leonardo de Moura
9b35adfc8c
feat(library/tactic/congruence/congruence_closure): add support for constructor equalities
2016-12-25 12:47:17 -08:00
Leonardo de Moura
a30081a715
feat(library/tactic/congruence/congruence_closure): interpreted values in the same equivalence class
2016-12-25 11:09:55 -08:00
Leonardo de Moura
8f401c8752
chore(library/tactic/congruence/congruence_closure): remove unnecessary field
2016-12-24 09:14:25 -08:00
Leonardo de Moura
0906d84c92
fix(library/tactic/congruence/congruence_closure): proof generation for congruence with different arity
2016-12-24 09:12:10 -08:00
Leonardo de Moura
424a6acb68
fix(library/tactic/congruence/congruence_closure): missing proof construction step
2016-12-24 08:43:04 -08:00
Leonardo de Moura
a176bd324d
fix(library/tactic/congruence/congruence_closure): check_eq_true
2016-12-23 22:24:39 -08:00
Leonardo de Moura
a13d3c83c9
fix(library/tactic/congruence/congruence_closure): heq bug and add more tests
2016-12-23 21:57:49 -08:00
Leonardo de Moura
b1b694a532
fix(library/tactic/congruence/congruence_closure): bugs, and add basic cc tactic
2016-12-23 19:30:45 -08:00
Leonardo de Moura
ca261b7fa8
feat(library/init/meta/congruence_tactics): add option for retrieving only non-singleton equivalence classes, add auxiliary functions
2016-12-23 18:35:44 -08:00
Leonardo de Moura
a2850ac050
fix(library/tactic/congruence/congruence_closure): bugs in the fo-approx mode, and debug mode compilation errors
2016-12-23 17:31:20 -08:00
Leonardo de Moura
1aa92c7d7d
fix(library/tactic/congruence/congruence_closure): add entries for 'true' and 'false'
2016-12-23 15:54:09 -08:00
Leonardo de Moura
d431d7274a
feat(library/tactic/congruence/congruence_closure): hard code support for ne
2016-12-23 15:37:05 -08:00
Leonardo de Moura
6eb81d2472
feat(library/tactic/congruence/congruence_closure): add new configuration options for minimizing the number of entries and occurrences
2016-12-23 15:18:10 -08:00
Leonardo de Moura
17cc40b35e
feat(library/tactic/congruence/congruence_closure): do not recurse on values and instances when internalizing terms
2016-12-23 13:24:43 -08:00
Leonardo de Moura
104ee1b120
fix(library/tactic/congruence/congruence_tactics): stupid mistake
2016-12-22 20:54:20 -08:00
Leonardo de Moura
6329afc121
chore(library/tactic/congruence/congruence_closure): fix typo
2016-12-22 20:05:02 -08:00
Leonardo de Moura
77737a621d
fix(library/tactic/congruence/congruence_closure): name collision, we had congr_lemma_cache in two different modules
2016-12-22 19:35:38 -08:00
Leonardo de Moura
eefd4cd6ab
feat(library/tactic/congruence/congruence_tactics): add missing functions
2016-12-22 18:11:01 -08:00
Leonardo de Moura
f777aafa4e
feat(library/init/meta,library/tactic/congruence): add congruence closure lean API
2016-12-22 16:26:17 -08:00
Leonardo de Moura
d16a3df7a3
feat(library/tactic/congruence): initialization and pretty printing
2016-12-22 15:18:52 -08:00
Leonardo de Moura
6bc0952dbc
feat(library/tactic/congruence/congruence_closure): generate lazy eq_true proofs
2016-12-22 14:44:38 -08:00
Leonardo de Moura
f7dce940b6
feat(library/tactic/congruence/congruence_closure): proof generation
2016-12-22 14:23:33 -08:00
Daniel Selsam
49de5313fa
chore(library/tactic/change_tactic.cpp): better formatting for error message
2016-12-22 11:13:54 -08:00
Leonardo de Moura
60d3255577
fix(library/type_context): issue #1258 again
...
This is yet another fix.
2016-12-22 10:51:16 -08:00
Leonardo de Moura
49e296dee2
fix(library/type_context, library/tactic/induction_tactic): fix for issue #1258 was incorrect
...
The fix was incorrect because it could produce an invalid local context.
Actually, the regression tests/lean/run/1258.lean was producing an
assertion violation.
2016-12-21 21:13:29 -08:00
Leonardo de Moura
48cd421852
feat(library/tactic/congruence): add congruence closure basics
2016-12-21 20:46:25 -08:00
Leonardo de Moura
cc077554b5
fix(library/tactic/change_tactic): use id_locked in the change tactic to create checkpoint
...
closes #1260
2016-12-21 11:29:03 -08:00
Gabriel Ebner
a26e2c9108
feat(library/module): intermediary data structure for environment modifications
2016-12-20 10:15:19 -08:00
Leonardo de Moura
516f45428d
fix(library/tactic/simplify): missing clear cache operation
2016-12-19 21:32:46 -08:00
Leonardo de Moura
45efccd53e
fix(library/tactic/tactic_state): goal pp problem reported by Jared
2016-12-19 20:32:44 -08:00
Leonardo de Moura
0492436c42
chore(library/scoped_ext,tests/lean): fix issues raised by @kha
2016-12-19 10:03:16 -08:00
Leonardo de Moura
b65c774f5b
chore(library/init/meta): opened_namespaces ==> open_namespaces
2016-12-18 23:55:45 -08:00
Sebastian Ullrich
d3f57c6497
fix(library/tactic/tactic_state): include implicitly opened namespaces in opened_namespaces
2016-12-18 23:49:00 -08:00
Leonardo de Moura
060a554db1
feat(library/tactic): add norm_num_tactic
2016-12-17 16:48:40 -08:00
Leonardo de Moura
eda7870b38
fix(library/tactic/simp_lemmas): missing case
2016-12-17 12:53:39 -08:00
Leonardo de Moura
ac1af2dfda
feat(library/tactic/simplify): trace prove failures
2016-12-17 11:53:44 -08:00
Leonardo de Moura
8683ea4f60
feat(library/tactic/simp_lemmas): add simp_lemmas.pp
2016-12-17 11:53:02 -08:00
Leonardo de Moura
b0d27d6d92
feat(library/tactic/simplify): simplify_core calls itself to discharge hypothese
2016-12-16 10:26:44 -08:00
Leonardo de Moura
b0ce461fcd
feat(library/vm): native closures that do not depend on vm_state
...
Remark: native_closures are used in the C++ code generator.
2016-12-14 18:51:24 -08:00
Daniel Selsam
317989bf9e
feat(tactic/exact_tactic): exact_core that takes transparency
2016-12-13 08:27:21 -08:00
Leonardo de Moura
9f6e71b374
feat(library/tactic): add "approximate" parameter to apply_core and rewrite_core
...
If this parameter is set to true, then approximate unification is
used.
closes #1208
2016-12-10 10:24:05 -08:00
Daniel Selsam
aed6d8fea0
fix(tactic/dsimplify.cpp): must whnf in post to be idempotent
2016-12-08 13:34:32 -08:00
Daniel Selsam
6120f8cc9f
fix(src/library/tactic/simplify): relaxed_whnf when checking if fn is dependent
2016-12-08 07:41:42 -08:00
Gabriel Ebner
e070444bbf
fix(library/tactic/tactic_state): do not allocate tactic_state_cell using the VM allocator
2016-11-30 14:13:18 -05:00
Leonardo de Moura
4df0f82934
fix(library/tactic/simp_lemmas): memory leak
2016-11-30 09:58:20 -08:00
Daniel Selsam
7bfe0aedb0
feat(library/tactic/simplify): better debug.simplify.try_rewrite tracing
2016-11-29 14:46:35 -08:00
Gabriel Ebner
df635b56af
fix(frontends/lean/definition_cmds): correctly copy _refl_lemma attributes
2016-11-29 11:12:44 -08:00
Gabriel Ebner
3ecfddcbd5
fix(*): fix build
2016-11-29 11:12:43 -08:00
Gabriel Ebner
aa03dc03b4
refactor(library/tactic/simp_lemmas): mark rfl-lemmas with a _refl_lemma attribute
2016-11-29 11:12:43 -08:00
Gabriel Ebner
a8df381d20
feat(*): parallel compilation
2016-11-29 11:12:40 -08:00