Commit graph

1337 commits

Author SHA1 Message Date
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