Leonardo de Moura
8ef21040d6
chore(library/init/algebra/order): remove leftover
2017-01-22 21:31:04 -08:00
Leonardo de Moura
71a7a7f466
feat(frontends/lean): add default field values
2017-01-22 21:25:49 -08:00
Leonardo de Moura
f7edf601c8
fix(library/init/data/nat/lemmas): avoid bad patterns in nat sub ematch lemmas
...
The attribute [ematch_lhs] instructs Lean to use the left-hand-side of
the conclusion as a pattern.
2017-01-22 19:48:01 -08:00
Leonardo de Moura
4b11afcb46
feat(library/init/meta/interactive): add doc strings
2017-01-22 16:41:27 -08:00
Leonardo de Moura
3516773644
chore(library/init): minor fixes
2017-01-22 14:20:48 -08:00
Jeremy Avigad
7496522830
fix(library/tools/super/clausifier): add rule for new iff
2017-01-22 14:19:11 -08:00
Jeremy Avigad
2b6487065c
feat(library/init/logic): make iff a structure
2017-01-22 14:19:00 -08:00
Gabriel Ebner
b0c67abb2f
feat(library/vm/vm_aux): add vm code for sorry
2017-01-22 14:18:38 -08:00
Leonardo de Moura
ac1db6a199
feat(library/init/meta/interactive): add some doc strings
2017-01-22 12:45:39 -08:00
Leonardo de Moura
b913ba3336
feat(library/init/meta): add type information for the arguments of the smt tactics: ematch_using and add_lemmas
2017-01-22 12:12:31 -08:00
Leonardo de Moura
a61cf4d08b
feat(library/init/meta/interactive): show type information for simp, dsimp arguments
2017-01-22 12:05:51 -08:00
Leonardo de Moura
cce88c6190
refactor(frontends/lean): interactive tactic support
...
After this commit, new interactice tactic classes can be added without
writing C++ code (see example: tests/lean/run/my_tac_class.lean).
The tactic_evaluator was simplified, and all the complexity has been
moved to tactic_notation, and lean code.
We can now inspect the intermediate states produced by the rewrite
tactic.
The function (@scope_trace _ line col thunk) can be used to position trace
messages produced by thunk. If line/col are not provided (i.e., we
just write (scope_trace thunk)), then line/col are filled with the
position of this term by the elaborator.
We can visualize the intermediate tactic states inside nested blocks
such as (try { ... })
The new infrastructure can be used to implement custom tactic_state
pretty printers.
2017-01-21 22:38:47 -08:00
Leonardo de Moura
7a6b9e193c
feat(library/vm, frontends/lean/info_manager): add thread safe vm_obj wrapper, and use it to store arbitrary vm thunks in the info_manager
2017-01-21 22:38:33 -08:00
Leonardo de Moura
d9528ffad8
chore(library/init/data/nat/lemmas): add comment
2017-01-21 03:11:59 -08:00
Gabriel Ebner
03e09db70e
refactor(library/data/bitvec,library/data/tuple): use automation
2017-01-21 09:48:35 +01:00
Leonardo de Moura
4de71cadfa
feat(library/init/meta): expose additional app_builder tactics
2017-01-20 20:27:07 -08:00
Leonardo de Moura
4e6ad1d34d
fix(library/init/meta/contradiction_tactic): make sure contradiction uses whnf for constructor-eq-constructor case
2017-01-20 18:42:27 -08:00
Leonardo de Moura
bbc99d4aa5
feat(library/data/tuple): make sure tuple.nil and tuple.cons can be used in patterns
2017-01-20 18:38:34 -08:00
Leonardo de Moura
e8e483534b
chore(library/init/meta/decl_cmds): remove unused parameter
2017-01-18 19:44:16 -08:00
Leonardo de Moura
0795acaf6a
refactor(library/init/algebra): new transport from multiplicative to additive
...
The motivation is to avoid the problems produced by the "declare as
structure and then tag as class idiom" described in the file ring.lean.
2017-01-18 19:39:53 -08:00
Leonardo de Moura
d0a578c3db
feat(library/init/meta/environment): add is_projection
2017-01-18 18:12:08 -08:00
Leonardo de Moura
0ad053f0f1
feat(library/init/meta/decl_cmds): add command for copying type and value using replacement
2017-01-18 17:52:11 -08:00
Leonardo de Moura
694e6f47dc
fix(library/init/meta/smt/ematch,library/tactic/simp_lemmas): trick for adding equations of a definition to a simp/hinst lemma set
...
Before this commit, if we declared an equational lemma using 'def',
then it would not be correctly added to the simp/hinst lemma set.
The new test exposes the problem.
2017-01-18 02:05:04 -08:00
Leonardo de Moura
97b98c58d0
refactor(library): move nat lemmas to library/init/data/nat/lemmas.lean
2017-01-17 17:42:13 -08:00
Joe Hendrix
767ac42dfe
chore(library/data): remove redundent decidable_eq instances
2017-01-17 17:34:10 -08:00
Joe Hendrix
5bc5013f16
chore(library/data/bitvec): remove leftover code
2017-01-17 17:34:05 -08:00
Joe Hendrix
985c3697b9
chore(library/data/list): add back copyright notice
2017-01-17 17:33:59 -08:00
Joe Hendrix
24fc68cef4
feat(library/init/category/combinators.lean): add foldl and when
2017-01-17 17:33:50 -08:00
Joe Hendrix
8e2cf491e5
refactor(library/data/list): move theorems to separate modules per lean2
2017-01-17 17:33:45 -08:00
Joe Hendrix
3de9e722e1
feat(library/data/bitvec): additional definitions
2017-01-17 17:33:37 -08:00
Joe Hendrix
d52c3327ba
feat(library/data/nat/sub): additional theorems
2017-01-17 17:33:32 -08:00
Joe Hendrix
f244c0e70a
feat(library/data/bitvec): add bitvec version of tuple.append
2017-01-17 17:33:24 -08:00
Joe Hendrix
de92ea658a
feat(library/data/tuple): add decidable_eq to tuple
2017-01-17 17:33:17 -08:00
Joe Hendrix
9781a0414c
feat(library/data/list): add has_decidable_eq to list.
2017-01-17 17:33:09 -08:00
Joe Hendrix
18cbc22791
refactor(library/data/nat): migrate data.nat to lean2 structure
2017-01-17 17:24:37 -08:00
Leonardo de Moura
8e76d079d3
chore(tests/lean/run): fix tests
2017-01-17 15:50:54 -08:00
Leonardo de Moura
6ebc23eca4
feat(library/init/meta/smt/smt_tactic): add smt_tactic.induction
...
Non-interactive version.
2017-01-13 16:49:54 -08:00
Leonardo de Moura
05d86e49ca
feat(library/init/meta/smt): add intros variants for smt_tactic
2017-01-13 16:13:37 -08:00
François G. Dorais
b305130ec3
fix(library/init/wf): typo
...
Same typo as #1091 , different location.
2017-01-13 11:35:52 -08:00
Leonardo de Moura
69fd35f068
feat(library/init/meta/smt): add helper tactics and doc-strings
2017-01-13 11:21:20 -08:00
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