Leonardo de Moura
d5aa92eaeb
feat(library/tactic/tactic_state): add vm_obj introspection
2016-11-14 21:58:34 -08:00
Leonardo de Moura
82aade5185
feat(library/tactic/vm_monitor): add vm_decl introspection
2016-11-14 18:04:53 -08:00
Leonardo de Moura
277ff818a1
feat(library/tactic/vm_monitor): add VM introspection API
2016-11-14 17:25:25 -08:00
Leonardo de Moura
fffe69fdf9
feat(library/vm,library/tactic/vm_monitor): use optionT to define vm monad
2016-11-14 16:13:56 -08:00
Leonardo de Moura
7232e3a076
feat(library/vm/vm): invoke debugger (aka vm_monitor)
2016-11-14 14:45:49 -08:00
Leonardo de Moura
6ce00a9b45
fix(library/compiler): move inliner to the beginning
...
Reason: the inliner may introduce recursors, non eta-expanded terms,
etc. Before this commit, it was "undoing" previous compilation steps.
2016-11-08 16:14:01 -08:00
Leonardo de Moura
c9da2f2542
chore(tests/lean): fix tests
2016-11-05 11:51:29 -07:00
Leonardo de Moura
b9afbf0aa8
test(tests/lean/run): add test for additive fragment
2016-11-05 11:47:43 -07:00
Daniel Selsam
f3dc41b631
fix(library/tactic/simplify): only use auto_eq_congr if number of args match
2016-11-04 10:13:02 -07:00
Gabriel Ebner
41643d6400
fix(library/compiler/vm_compiler): prevent segfault
2016-11-04 09:47:17 -07:00
Leonardo de Moura
6173d95d18
feat(library/module,frontends/lean): store line/column number information
2016-11-02 16:55:21 -07:00
Leonardo de Moura
3212d9c83a
fix(library/module): store .olean file where inductive datatype was defined
2016-11-02 16:07:36 -07:00
Leonardo de Moura
cea572a167
feat(library/module): store .olean file name for imported declarations
2016-11-02 15:37:33 -07:00
Leonardo de Moura
9d3aa5b627
fix(library/compiler/elim_recursors): bug in elim_recursors
...
We may fail to type check auxiliary definitions that use rec_fn_macro.
The problem is that this macro cannot be unfolded.
So, we fix the problem by not type checking them. We add them as
constants, and store the definition in an auxiliary vector.
2016-11-02 14:19:28 -07:00
Leonardo de Moura
e62810c9b8
fix(library/compiler/lambda_lifting): make sure constructors are eta-expanded
...
closes #1133
2016-11-02 13:26:15 -07:00
Leonardo de Moura
30ae8a29b6
fix(library/compiler/elim_recursors): some recursor applications were not being eliminated
2016-11-02 13:05:52 -07:00
Leonardo de Moura
b22192eee1
fix(library/equations_compiler/elim_match): fixes #1171
...
We should not use value-transition (based on if-then-else) when there
are dependencies.
2016-10-31 17:42:39 +08:00
Leonardo de Moura
a77e4b5abf
fix(library/compiler/erase_irrelevant): bug at is_comp_irrelevant
2016-10-27 11:51:37 +08:00
Leonardo de Moura
fa3475fa66
fix(library/type_context): allow assigned regular meta-variables to be "read" in tmp-mode
...
This commit also removes a "hack" that tried to fix this problem for
universe meta-variables only. Moreover, the hack was incomplete, since
it would not consider nested metavars.
2016-10-21 13:33:07 -07:00
Leonardo de Moura
99299d1915
feat(library/tactic/simplify): use propext in rewriting rules when simplify_config.use_axioms is tt
2016-10-19 17:59:01 -07:00
Leonardo de Moura
6edec4c4e9
feat(library/init/meta/converter): implement conversionals using ext_simplify_core
2016-10-19 17:23:32 -07:00
Leonardo de Moura
a4ef8f385d
feat(library/tactic/simplify): add basic support for lambda-expressions
2016-10-19 14:15:56 -07:00
Leonardo de Moura
205d524409
refactor(library/tactic/simplify): delete old simplifier
2016-10-19 14:03:14 -07:00
Joe Hendrix
8ceada5555
feat(frontends/lean): support binary, octal and hex literals
...
Scanner will interpret numeric literals prefixed with '0b', '0o', and
'0x' as binary, octal, and hex decimal values respectively. The prefix
character ('b', 'o', 'x') may be upper or lower case.
2016-10-19 10:13:24 -07:00
Leonardo de Moura
64c3927e0b
feat(library/equations_compiler/elim_match): report unused equations
...
closes #1162
2016-10-19 09:58:08 -07:00
Leonardo de Moura
e74cfa9db7
fix(library/equations_compiler/elim_match): bug at complete transition
...
It also updates the condition for triggering the inaccessible
transition. Before this commit, we would only perform this kind
of transition if *all* terms were marked inaccessible. Now,
we perform it if *some* are marked inaccessible. Reason:
when we perform the complete transition we don't have enought
information for deciding whether an argument should be marked as
inaccessible or not. If this decision creates confusion for users,
we may try to mark them with an "maybe-inaccessible" annotation, and
then enforce that the inaccessible transition is performed onlty if
*all* terms are marked as inaccessible or *maybe-inaccessible"
2016-10-19 09:10:19 -07:00
Leonardo de Moura
7b806755d9
chore(library/tactic/simplify): remove subsingleton support
...
It is left over from the blast tactic.
Moreover, it is incomplete.
2016-10-16 22:11:12 -07:00
Leonardo de Moura
9810a5f941
refactor(library/tactic/simplifier): simplify simplifier
2016-10-16 15:55:30 -07:00
Leonardo de Moura
0f72de217a
chore(library/tactic/simplifier): simplify simplifier
2016-10-15 18:14:59 -07:00
Leonardo de Moura
bf7bae6eaf
feat(library/init/meta/tactic): add beta/zeta tactics
2016-10-13 18:47:27 -07:00
Daniel Selsam
b4644acba4
fix(meta/mk_dec_eq_instance): handle indices and ginductives
2016-10-13 10:12:37 -07:00
Leonardo de Moura
ef23c591fc
feat(library/init/meta): implement unfold tactics in Lean using new building blocks
2016-10-12 17:25:56 -07:00
Leonardo de Moura
4f2db5702f
feat(library/tactic/unfold_tactic): allow user to set transparency_mode at dunfold_expr
2016-10-12 14:07:50 -07:00
Leonardo de Moura
46eb7decde
feat(library/tactic/unfold_tactic): add unfold_projection tactic
2016-10-12 13:43:32 -07:00
Leonardo de Moura
deb2bb92b2
feat(library/tactic/simp_lemmas_tactics): add dunfold_expr tactic based on equational lemmas
2016-10-12 13:18:10 -07:00
Leonardo de Moura
f66aec2309
feat(library/tactic/simp_lemmas_tactics): add simp_lemmas.drewrite
2016-10-12 09:01:47 -07:00
Leonardo de Moura
1a4ac3a102
fix(library/tactic/dsimplify): bugs and implement dsimp using new dsimplify
2016-10-12 08:33:40 -07:00
Leonardo de Moura
e37207e8a9
feat(library/tactic): expose new dsimplify in Lean
2016-10-12 07:25:09 -07:00
Leonardo de Moura
d655310ecf
feat(library/init/meta): rename rsimp* back to dsimp*
2016-10-11 16:37:08 -07:00
Leonardo de Moura
231c124be8
feat(library/init/meta): rename dsimp => rsimp, and add primitive tactic that takes an arbitrary simp_lemmas
2016-10-09 10:02:26 -07:00
Leonardo de Moura
a78e8fb11a
refactor(library/tactic/simp_lemmas_tactics): consistent naming
2016-10-09 09:37:20 -07:00
Daniel Selsam
1644e52c47
fix(frontends/lean/decl_cmds): allow noncomputable meta
2016-10-08 22:21:56 -07:00
Leonardo de Moura
476684a284
refactor(library,library/tactic/defeq_simplifier): use simp_lemmas in the defeq_simplifier
2016-10-08 22:15:27 -07:00
Leonardo de Moura
eaef8dae20
chore(library/init/core): remove unnecessary annotations
2016-10-07 16:09:14 -07:00
Leonardo de Moura
3fbdb71f3e
feat(library/tactic/simplifier): remove simp_extensions
2016-10-06 20:50:23 -07:00
Leonardo de Moura
d747fcb17c
refactor(library/tactic/simp_lemmas): new caching mechanism
2016-10-06 20:20:01 -07:00
Leonardo de Moura
91076b06ad
feat(library/init/meta/converter): add 'find_pattern' conversional
2016-10-05 19:22:17 -07:00
Leonardo de Moura
895a94d17e
feat(library/init/meta/converter): match based conversions
2016-10-05 18:54:11 -07:00
Leonardo de Moura
68df31df67
feat(library/init/meta/converter): add adapter for applying propext automatically
2016-10-05 17:13:28 -07:00
Leonardo de Moura
990c414b86
feat(library/init/meta/converter): add 'congr' and 'depthfirst' conversionals
2016-10-05 15:05:22 -07:00