Leonardo de Moura
04fb7b88e7
feat(library/init/algebra): mark basic facts as [ematch] until we have support for arithmetic
2017-01-13 10:36:08 -08:00
Leonardo de Moura
6f4bcbab20
feat(library/init/meta/smt/ematch): convenient way of marking all equational lemmas of a giving definition as ematch lemmas
2017-01-13 10:35:09 -08:00
Leonardo de Moura
6588b04fd5
feat(library/init/meta/declaration): add helper definition for demos
2017-01-12 21:12:44 -08:00
Leonardo de Moura
d2e393c779
feat(library/init/logic): allow exists.intro to be used in pattern matching
2017-01-12 16:03:01 -08:00
Gabriel Ebner
51924eb726
refactor(tools/super/lpo): add mk_lpo function
2017-01-12 21:47:46 +01:00
Gabriel Ebner
f8caacfcb3
fix(tools/super/superposition): use none transparency to remove beta-redex
2017-01-12 21:47:46 +01:00
Gabriel Ebner
b6a25f8074
feat(tools/super/defs): unfold definitions using dunfold_expr_core
2017-01-12 21:47:46 +01:00
Gabriel Ebner
17bc32e41b
chore(tools/super/prover_state): clean up prover monad definition
2017-01-12 21:47:46 +01:00
Gabriel Ebner
020cb5b271
fix(tools/super/clause): fix universal closure of clauses with dependent types
2017-01-12 21:47:46 +01:00
Gabriel Ebner
8319a4c927
perf(tools/super/trim): make trim much cheaper
2017-01-12 21:47:46 +01:00
Gabriel Ebner
f2b3c7ae30
fix(tools/super/misc_preprocessing): normalize clauses during preprocessing
2017-01-12 21:47:46 +01:00
Gabriel Ebner
fcc559a7f0
feat(library/init/util): add trace_call_stack function
2017-01-12 21:47:46 +01:00
Gabriel Ebner
42eb3ef497
feat(tools/super/inhabited): look in the local context as well
2017-01-12 21:47:46 +01:00
Leonardo de Moura
3967cd28fa
fix(library/vm/vm): curr_fn() may not be available
2017-01-12 11:47:45 -08:00
Leonardo de Moura
df91ae3738
fix(library/string,library/init/data/to_string): handle ASCII control characters
2017-01-11 23:44:33 -08:00
Leonardo de Moura
d0c86f13bb
chore(library/init/data/nat): rename nat.less_than to nat.less_than_or_equal as suggested by Rob
2017-01-11 17:47:49 -08:00
Leonardo de Moura
d5c3736609
feat(library/init/meta/tactic): add helper tactic
2017-01-11 17:08:03 -08:00
Leonardo de Moura
5d3ac31f25
feat(library/init/data/list/lemmas): add lemmas for POPL demo
2017-01-11 17:07:37 -08:00
Leonardo de Moura
dc7e39887b
refactor(library/tools/super/simp): reorganize simplify lemmas API
2017-01-11 13:47:49 -08:00
Leonardo de Moura
178be8d8ea
fix(library/init/coe): coe should be reducible
2017-01-10 20:14:28 -08:00
Leonardo de Moura
e256022746
chore(library/init/meta/tactic): avoid the weird 'command' type when auto completing tactics
2017-01-10 14:59:10 -08:00
Leonardo de Moura
e96bbaee3f
fix(library/type_context): fix #1295
2017-01-10 11:54:38 -08:00
Jeremy Avigad
20edc93b17
fix(library/init/data/list/lemmas): fix theorem names, now nil_append and cons_append
2017-01-10 09:10:33 -08:00
Gabriel Ebner
d6a70b4aa3
chore(library/tools/super/clause_ops): remove unnecessary type annotations
2017-01-10 09:07:37 -08:00
Gabriel Ebner
890ba702e6
feat(tools/super/demod): demodulation
2017-01-10 09:07:37 -08:00
Gabriel Ebner
b8f1b16cfe
chore(init/meta/smt/congruence_closure): remove unnecessary line
2017-01-10 09:07:37 -08:00
Gabriel Ebner
e0dd8326c8
feat(tools/super/clause): more compact formatting
2017-01-10 09:07:37 -08:00
Gabriel Ebner
beb355f798
feat(tools/super): clausify during preprocessing
...
Some inference produce terms with large useless redexes such as
(prod.fst (prod.mk _ _)). Since we do normalization during
preprocessing, we can avoid ever even looking at these terms.
2017-01-10 09:07:37 -08:00
Gabriel Ebner
38c311c47a
feat(tools/super/clausifier): fully normalize terms
2017-01-10 09:07:37 -08:00
Gabriel Ebner
244e061f76
refactor(tools/super/simp): do not enable simp by default
...
simp interacts badly with super's term ordering. I believe a better
approach is to pick the term ordering according to the available simp
rules, as in "More SPASS with Isabelle".
2017-01-10 09:07:37 -08:00
Gabriel Ebner
4e1106ffb5
feat(tools/super): use congruence closure
2017-01-10 09:07:37 -08:00
Leonardo de Moura
a43b856086
feat(library/init/meta/smt): add simp tactics to smt_tactic
...
We can simplify the target without affecting the smt state
2017-01-09 19:19:48 -08:00
Leonardo de Moura
5050e40aec
feat(library/init/meta/smt): add slift smt tactic
2017-01-09 19:07:54 -08:00
Leonardo de Moura
b1c1d2dfa4
feat(library/init/meta): improve dsimp tactic notation
2017-01-09 17:31:35 -08:00
Leonardo de Moura
fa4d47edd8
chore(library/init/algebra/ring): document messy problem in the algebraic hierarchy
2017-01-08 23:35:39 -08:00
Leonardo de Moura
f56250d41e
chore(library/init/data/nat/lemmas): mark nat.add_zero as protected
2017-01-07 14:17:56 -08:00
Leonardo de Moura
0c4c41ae54
feat(library/init/meta): produce nicer error message for overloaded simp/ematch lemma
2017-01-07 14:13:46 -08:00
Leonardo de Moura
c29a2bdac9
feat(library/init/meta/tactic): add eta reduction tactic
2017-01-06 19:56:10 -08:00
Leonardo de Moura
d333c444cd
test(tests/lean/run): add tactic examples
2017-01-06 18:48:03 -08:00
Leonardo de Moura
5e3f26ec95
feat(library/tactic/smt/congruence_closure): propagate not_exists
2017-01-06 14:00:36 -08:00
Leonardo de Moura
13a11b4374
feat(library/init/meta/interactive): add get_eqn_lemmas_for tactic, allow user to provide definition name as an argument to simp
2017-01-06 11:45:09 -08:00
Leonardo de Moura
db70c78704
feat(library/equations_compiler): make sure automatically generated equational lemmas use internal names
2017-01-06 11:40:34 -08:00
Leonardo de Moura
15eaf30192
feat(library/tactic/smt/smt_state): allow user to provide a function ("to be unfolded") in the ematch_using tactic
2017-01-06 00:33:58 -08:00
Leonardo de Moura
7e4b79b221
feat(library/tactic/smt/smt_state): add ematch_using tactic
2017-01-06 00:24:25 -08:00
Leonardo de Moura
4a76579cd0
feat(library/tactic/smt): add tactics for getting/setting ematching lemmas
2017-01-05 20:35:57 -08:00
Leonardo de Moura
7ba889b5cf
feat(frontends/lean/tactic_notation): try/repeat for smt_tactic in interactive mode
2017-01-05 18:31:57 -08:00
Gabriel Ebner
4d4e47921a
fix(library/init/core): mark all rfl-lemmas as lemmas
2017-01-05 18:09:28 -08:00
Leonardo de Moura
82f8eeb280
feat(frontends/lean/definition_cmds): generate equational lemmas for regular definitions that were elaborated without using the equation compiler
2017-01-05 18:02:14 -08:00
Leonardo de Moura
b18b49dd6b
feat(library/tactic/smt/smt_state): add tactic for adding equational lemmas for a definition
2017-01-05 15:47:58 -08:00
Leonardo de Moura
3742d6573d
feat(library/tactic/smt/smt_state): add preprocess tactic
2017-01-05 13:43:50 -08:00