Leonardo de Moura
4e625b35ad
fix(library/vm/vm): memory leak at operator=
2017-01-26 13:32:44 -08:00
Leonardo de Moura
35224685a9
chore(kernel/quotient/quotient): remove leftover
2017-01-26 13:05:09 -08:00
Sebastian Ullrich
2c3f6d0e1c
fix(frontends/lean/structure_cmd): default field values of Pi type
...
There were two separate issues:
* An explicit Pi as the type of a field with a default value would be considered a field reference
* An implicit Pi would be instantiated by the elaborator during `visit_structure_instance`
2017-01-26 18:53:55 +01:00
Sebastian Ullrich
5c5c998813
fix(frontends/lean/structure_cmd): fix default field values referencing universe variables
2017-01-26 18:52:20 +01:00
Sebastian Ullrich
92ebaaa0f8
fix(frontends/lean/builtin_exprs): ite/dite prec should be lowest
2017-01-26 18:52:20 +01:00
Leonardo de Moura
08a0924fe3
fix(library/data/bitvec): typo
2017-01-25 18:41:32 -08:00
Joe Hendrix
641ccbc846
chore(library/data): remove (list/tuple).firstn in favor of taken
2017-01-25 18:39:54 -08:00
Sebastian Ullrich
e8a387b724
fix(emacs/lean-info): do not update info windows during text selection
...
Fixes #1332
2017-01-25 18:33:19 -08:00
Leonardo de Moura
89daecb568
fix(library/type_context): assertion violation
...
fixes #1335
2017-01-25 16:05:23 -08:00
Leonardo de Moura
552ca66e9e
feat(library/init/meta/pexpr): expose low level function mk_placeholder
2017-01-25 15:32:50 -08:00
Leonardo de Moura
258fb522d3
feat(library/tactic/smt): add generation heuristic to control matching loops
2017-01-24 22:46:45 -08:00
Leonardo de Moura
c60024d0c5
test(tests/lean/run): add "array" test
2017-01-24 22:00:33 -08:00
Leonardo de Moura
477ffd1bc7
fix(library/tactic/smt): make sure a partially applied terms can be used to ematch terms with "more arguments"
2017-01-24 19:25:00 -08:00
Leonardo de Moura
750d02c3ac
feat(frontends/lean/definition_cmds): remove equations_result macro from elaborated theorems
2017-01-24 16:51:33 -08:00
Leonardo de Moura
434ada7dcc
chore(library/vm,library/tactic): add missing override
2017-01-24 16:19:36 -08:00
Leonardo de Moura
0ba60e62d7
feat(kernel/quotient/quotient): make quotient module robust against users that define their own prelude's
...
Before this commit, an user could define their own prelude and change
the types of quot, quot.mk, quot.lift or quot.ind.
By doing that, they could prove false.
This commit prevents this kind of abuse.
It also modifies the definition of `quot` and avoids the `setoid`
dependency.
The previous `quot` type is now called `quotient`, and it is defined
using the new `quot` type provided by the kernel.
See discussion at #1330
2017-01-24 15:59:38 -08:00
Leonardo de Moura
ac6bfce01c
feat(library/tactic/smt/congruence_closure): improve propagation for beta reduction in the congruence closure module
2017-01-24 12:09:37 -08:00
Leonardo de Moura
28ce1e6d2b
fix(library/tactic/simplify): make sure a partially applied lhs can be used to rewrite terms with "more arguments" in simp
...
See discussion at issue #1331
2017-01-23 19:53:49 -08:00
Leonardo de Moura
f60bbb5fcb
fix(library/tactic/simp_lemmas): refl_lemma_rewrite, make sure a partially applied lhs can be used rewrite terms with "more arguments"
2017-01-23 19:37:35 -08:00
Leonardo de Moura
e7d27be7b7
chore(tests/lean/1277): remove trace
2017-01-23 18:40:22 -08:00
Leonardo de Moura
418d62ff48
fix(library/tactic/rewrite_tactic): fixes #1277
2017-01-23 16:34:07 -08:00
Leonardo de Moura
6d12de6339
refactor(library/init/meta/smt): use default value for config structures
2017-01-23 14:18:06 -08:00
Leonardo de Moura
1d98192071
fix(util/rb_tree): bug at equal_elems
...
This commit also adds an iterator class to rb_tree and rb_map.
2017-01-23 14:04:26 -08:00
Leonardo de Moura
977c8ed7dd
chore(CMakeLists): do not use TCMALLOC by default
...
@kha @gebner @jroesch
I changed the default to TCMALLOC=OFF.
We have been having problems on OSX, and this morning I had a nasty bug on
Ubuntu 12.04 when using TCMALLOC
2017-01-23 11:03:14 -08:00
Leonardo de Moura
0048d0490b
fix(frontends/lean/parser): structure followed by doc string
2017-01-23 10:35:07 -08:00
Leonardo de Moura
778d5382f6
refactor(library/init/meta/simp_tactic): use default field values at simplify_config
2017-01-23 10:22:48 -08:00
Leonardo de Moura
2ca2920284
fix(library/tactic/simplify): relax test
...
We only need to check whether the resulting expression does not contain
temporary metavariables introduced by the simplifier.
It is ok if it contains regular metavariables that were already in the goal.
This fixes the issue reported at
https://groups.google.com/forum/#!topic/lean-user/3qzchWkut0g
2017-01-23 09:59:06 -08:00
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
3c65c64e0e
fix(tests/lean/interactive/complete_field): fix test
2017-01-22 14:19:31 -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
3617440d30
chore(tests/lean/interactive/info_goal): fix expected output
2017-01-22 13:03:39 -08:00
Leonardo de Moura
75525a1120
fix(frontends/lean/definition_cmds): allow '.' after equations
2017-01-22 12:51:23 -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
a6f120b5e7
fix(frontends/lean/parser): uninitialized variable
2017-01-21 22:38:33 -08:00
Leonardo de Moura
37bc2133ec
fix(library/tactic/dsimplify): make sure dsimp only unfold reducible constants when matching
...
fixes #1327
2017-01-21 22:38:17 -08:00
Leonardo de Moura
0913a7e719
feat(library/tactic/dsimplify): add trace msgs for dsimp
2017-01-21 03:12:28 -08:00
Leonardo de Moura
d9528ffad8
chore(library/init/data/nat/lemmas): add comment
2017-01-21 03:11:59 -08:00
Gabriel Ebner
d4879b74cd
chore(tests/lean/run/destruct): fix test
2017-01-21 10:28:46 +01:00
Gabriel Ebner
03e09db70e
refactor(library/data/bitvec,library/data/tuple): use automation
2017-01-21 09:48:35 +01:00
Leonardo de Moura
9c9cad6ae8
test(tests/lean/interactive): add regression test for #1313
2017-01-20 21:48:19 -08:00