Leonardo de Moura
fbc1bb4d89
perf(library/compiler): add common subexpression elimination
...
It addresses a performance problem reported by Brian (huffman@galois.com ).
2016-12-11 14:43:51 -08:00
Leonardo de Moura
62d6b88570
fix(library/compiler/preprocess): make sure let-expressions are not expanded in the compiler preprocessor
2016-11-22 10:24:13 -08:00
Leonardo de Moura
d6000416f8
feat(library/compiler,frontends/lean/elaborator): (try to) preserve position information
...
We will use this information in the debugger.
2016-11-09 16:51:48 -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
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
7465529445
feat(library/tactic): 'eval_expr' tactic skeleton
2016-10-03 16:26:28 -07:00
Leonardo de Moura
2ac2badd58
fix(library/compiler/preprocess): do not unfold proofs
2016-09-13 08:47:39 -07:00
Leonardo de Moura
567d6824f4
chore(library/compiler/preprocess): mark assertions as conditional
...
is_def_eq may take a very long time after the transformations are applied.
2016-09-03 16:15:22 -07:00
Leonardo de Moura
713c97a3be
fix(library/compiler/preprocess): make sure no_confusion is not expanded by expand_aux
2016-05-25 17:57:17 -07:00
Leonardo de Moura
abd2bbab78
feat(library/compiler/preprocess): expand auxiliary declarations automatically created by Lean (e.g., transitivite instances)
...
These declarations do not have VM bytecode associated with them.
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2016-05-25 17:09:16 -07:00
Leonardo de Moura
752c81a166
fix(library/compiler/nat_value): add expand method, otherwise we may fail to type check terms using nat_value_macro
2016-05-13 12:50:28 -07:00
Leonardo de Moura
df9352ea6e
feat(library/compiler): better support for numeric constants
2016-05-12 16:33:37 -07:00
Leonardo de Moura
f2af5828ba
refactor(library/compiler): preprocess_rec ==> preprocess
2016-05-12 16:03:39 -07:00