Leonardo de Moura
4b97b00536
refactor(library/tools/super): move examples to test folder
2016-12-16 19:05:32 -08:00
Leonardo de Moura
f9ad1dbfc0
fix(frontends/lean/definition_cmds): bug at inline_new_defs
...
closes #1253
2016-12-15 20:32:06 -08:00
Leonardo de Moura
b2c1ea6fdb
fix(library/type_context): failure cache
...
The new regression test exposes the problem being fixed.
2016-12-13 07:50:03 -08:00
Leonardo de Moura
3de3532a3e
chore(tests/lean/run/even): remove duplicate
2016-12-12 10:48:10 -08:00
Leonardo de Moura
7794ecfb69
test(tests/lean/run): add test for performance issue reported in the lean group
2016-12-12 10:38:23 -08:00
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
aba6f8b8a8
feat(frontends/lean/parser): add support for anonymous parameters
...
Example:
check λ _, 0
2016-12-10 11:07:58 -08:00
Leonardo de Moura
9f6e71b374
feat(library/tactic): add "approximate" parameter to apply_core and rewrite_core
...
If this parameter is set to true, then approximate unification is
used.
closes #1208
2016-12-10 10:24:05 -08:00
Leonardo de Moura
55401a95ec
fix(frontends/lean/parser): scope in tactic mode
2016-12-10 09:39:13 -08:00
Leonardo de Moura
b5dc88ee37
fix(library/equations_compiler/elim_match): see #1216
...
Fixes the problem described at #1216 .
This is an alternative fix that prevents the m_var_stack from being in
an inconsistent state.
2016-12-08 15:38:14 -08:00
Leonardo de Moura
692701c5ef
feat(library/init/meta): use cheap "reflexivity" after simp and rewrite
...
The idea is to make sure lean doesn't timeout (at reflexivity) when we apply simp or
rewrite in goals such as
(x y : nat) |- x + y + 10000000000 = x + y + 200000000000000
This commit also addresses an issue raised at #1218
2016-12-08 14:41:26 -08:00
Leonardo de Moura
0818b02eb3
test(tests/lean/run): add test for @1218
2016-12-08 14:10:47 -08:00
Jeremy Avigad
6f64244f2a
refactor(library/init/meta/tactic): switch 'pose' and 'note'
2016-12-08 13:17:42 -08:00
Leonardo de Moura
be3cff0c46
feat(library/type_context): move offset constraint resolution to lazy delta loop
2016-12-08 11:00:15 -08:00
Leonardo de Moura
278e960a6b
feat(library/type_context): add support for offset constraints in the unifier
...
see discussion at #1226
2016-12-06 16:51:00 -08:00
Leonardo de Moura
ecd6f8cad6
chore(tests/lean/run/1089): fix test
2016-12-02 16:47:24 -08:00
Leonardo de Moura
78608a37e9
fix(frontends/lean/definition_cmds): implicit universe theorem parameters bug
...
See discussion at #1178
2016-11-29 11:12:43 -08:00
Gabriel Ebner
385ea13688
feat(kernel/declaration,*): all theorems are delayed, and are revealed on delta-reduction
2016-11-29 11:12:43 -08:00
Leonardo de Moura
398af80584
feat(shell/leandoc): add support for "brief" description
...
This feature is similar to the one available in doxygen.
2016-11-27 21:42:05 -08:00
Leonardo de Moura
002c62b49c
feat(frontends/lean): basic leandoc tool
2016-11-27 14:31:31 -08:00
Leonardo de Moura
94c882f4d5
feat(library/documentation, frontends/lean): add /-! -/ doc string module block
2016-11-27 12:23:53 -08:00
Leonardo de Moura
6978906a78
chore(frontends/lean): remove namespace documentation
...
We will add module level doc strings /-! -/
2016-11-27 11:57:03 -08:00
Leonardo de Moura
338a46c225
fix(library/documentation): do not store doc strings for namespaces and declarations in the same name_map
2016-11-26 09:41:07 -08:00
Leonardo de Moura
b38810ffc3
feat(library/documentation): postprocess doc strings
2016-11-26 09:18:38 -08:00
Leonardo de Moura
97dd2f34d5
feat(library,frontends/lean): add basic doc string support
2016-11-25 18:52:56 -08:00
Leonardo de Moura
a009541b6e
test(tests/lean/run): add test for issue #1089
...
See #1089
2016-11-24 14:51:45 -08:00
Leonardo de Moura
0554fd5997
fix(frontends/lean): name resolution at tactic execution time
...
This commit also adds a new tactic: tactic.resolve_name
closes #1201
2016-11-24 10:55:39 -08:00
Leonardo de Moura
b3c725c142
perf(library/equations_compiler/util): lemma generation performance when ite is used to compile equations
2016-11-23 15:48:12 -08:00
Leonardo de Moura
b75e8b99f5
fix(library/equations_compiler/structural_rec): missing case: reflexive inductive type eliminating into Prop
...
see #1199
2016-11-23 13:56:01 -08:00
Leonardo de Moura
21bad7cb97
feat(library/init/meta/comp_value_tactics): add support for char/string/fin at comp_val tactic
2016-11-23 13:19:54 -08:00
Leonardo de Moura
01bc4dfcd2
feat(library/init/meta/tactic): add dec_trivial notation
2016-11-23 11:42:57 -08:00
Leonardo de Moura
242ad1bd65
feat(library/init/meta/comp_value_tactics): add comp_val tactic for testing
2016-11-22 17:03:21 -08:00
Daniel Selsam
19596eae77
fix(library/init/logic.lean): if_true and if_false take instance as implicit instead of inst_implicit
2016-11-21 12:27:40 -08:00
Leonardo de Moura
1c484e8926
chore(tests/lean/run): adjust tests
2016-11-21 12:23:36 -08:00
Leonardo de Moura
f02de7e380
feat(frontends/lean/builtin_exprs): curly braces after show/have enter interactive mode
2016-11-18 17:00:08 -08:00
Leonardo de Moura
88d2f07567
feat(frontends/lean/tactic_notation): switch to proof-term mode when calc/suppose/assume/have/show occurs in a tactic block
2016-11-18 16:57:31 -08:00
Leonardo de Moura
6b466114a4
fix(library/init/meta/interactive): resolve name at interactive unfold tactics
2016-11-18 16:14:03 -08:00
Leonardo de Moura
c816b80855
chore(*): don't use upper case letter for type variables, and camelCase for declarations
2016-11-17 14:54:08 -08:00
Leonardo de Moura
d59bf05f20
feat(frontends/lean/scanner): allow ' in the beginning of identifiers
2016-11-17 11:53:21 -08:00
Leonardo de Moura
e16e9880f7
chore(library/system): enforce Lean naming conventions IO ==> io
2016-11-17 11:27:37 -08:00
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