Gabriel Ebner
ade83128f0
fix(frontends/lean/interactive): go-to-definition for relative imports
...
Fixes leanprover/vscode-lean#58 .
2017-06-30 09:20:33 +02:00
Gabriel Ebner
89c828d630
fix(library/library_task_builder): prevent uninitialized task results when cancelled
2017-06-30 08:32:34 +02:00
Corey Richardson
eda6660b2d
doc(msys2): add notes about installation
2017-06-30 08:04:14 +02:00
Leonardo de Moura
e1c76578c1
chore(tests/lean/run, doc/changes): more tests and document new feature
2017-06-29 17:12:04 -07:00
Leonardo de Moura
fe51bebab3
refactor(library/init/meta/converter): new conv monad implementation
2017-06-29 16:37:22 -07:00
Leonardo de Moura
5dee3415a4
feat(library/init/meta/simp_tactic): add flag for controlling whether simp-tactics fail when input input expression is not modified
2017-06-29 16:03:20 -07:00
Leonardo de Moura
99d55811e4
feat(library/tactic/match_tactic): automatically convert metavariables occurring in patterns into temporary metavariables (i.e., which are considered during matching)
2017-06-29 11:39:18 -07:00
Gabriel Ebner
08eceb6d85
fix(shell/server): fix sequence number in async responses
2017-06-29 16:43:12 +02:00
Gabriel Ebner
a93528df24
fix(leanpkg): read carriage-return as whitespace
2017-06-29 14:25:59 +02:00
Gabriel Ebner
ee94f7688c
fix(shell/lean): do not repeat progress messages
...
This should fix the problem with the 4MB log limit on Travis.
2017-06-29 13:04:27 +02:00
Gabriel Ebner
bfed11a6f7
fix(util/memory): fix jemalloc support
2017-06-29 11:26:41 +02:00
Leonardo de Moura
eb838c78bf
doc(changes): simp improvement
2017-06-28 18:29:44 -07:00
Leonardo de Moura
a7b895525b
feat(library/tactic/simp_lemmas): simp lemmas may contain metavariables
...
@dselsam `simp` now supports lemmas containing metavariables.
The metavariables are automatically converted into tmp metavars.
The new test contains a few examples.
2017-06-28 18:17:21 -07:00
Leonardo de Moura
1dc3f85e26
feat(library/idx_metavar): add helper function for converting metavariables occurring in an expression into temporary metavariables
2017-06-28 18:06:33 -07:00
Leonardo de Moura
103b5d09b3
feat(library/init/meta/tactic): add option for not creating new subgoals at to_expr
2017-06-28 16:46:29 -07:00
Leonardo de Moura
6669ff2132
feat(library/init/meta): add conv interactive mode
...
Remark: this is just the first step, we still need to populate the
`conv.interactive` namespace with tactics such as rewrite, simp, etc.
2017-06-28 16:09:49 -07:00
Leonardo de Moura
adcb95626e
feat(frontends/lean/tactic_notation): allow interactive tactics to take itactic arguments from a different tac_class
2017-06-28 14:51:42 -07:00
Leonardo de Moura
73b6facd1e
refactor(library/init/meta): move replace_hyp to tactic.lean
2017-06-28 14:27:32 -07:00
Leonardo de Moura
0b19ef82e1
feat(frontends/lean/structure_cmd): default parameter for structure/class declarations
...
Remark: we support them at inductive declarations.
2017-06-28 12:20:56 -07:00
Sebastian Ullrich
08495eef27
refactor(init/meta,frontends/lean/tactic_notation): assume_tac -> «assume» etc.
...
Fixes the eldoc display.
Also allow arbitrary keywords as tactics
2017-06-28 10:43:19 -07:00
Sebastian Ullrich
426f1afb4e
feat(util/name): accept more subscripts in identifiers
2017-06-28 10:43:19 -07:00
Sebastian Ullrich
a04a402f54
feat(emacs): highlight escaped identifiers
2017-06-28 10:43:19 -07:00
Sebastian Ullrich
f53fa97c4a
feat(frontends/lean): escape identifiers when pretty-printing
2017-06-28 10:43:19 -07:00
Sebastian Ullrich
16fe494736
feat(frontends/lean/scanner): accept arbitrary escaped identifiers
2017-06-28 10:43:19 -07:00
Gabriel Ebner
d6041e3228
fix(library/library_task_builder): fix segfault in cancellation
2017-06-28 17:26:47 +02:00
Daniel Selsam
64bd9fd909
feat(leanpkg/main.lean): allow passing extra arguments to Lean
...
Closes #1684 .
2017-06-28 17:24:25 +02:00
Mario Carneiro
c06c62c03e
refactor(init/data/nat/gcd): define gcd using eqn compiler
2017-06-27 18:55:52 -07:00
Mario Carneiro
bae50f8ce6
fix(tests/lean): fix tests
2017-06-27 18:55:52 -07:00
Mario Carneiro
9f2980a524
feat(init/data/int): int lemmas, more bitwise theorems
2017-06-27 18:55:52 -07:00
Mario Carneiro
9f4f93e931
feat(init/data/int): prove int bitwise ops
2017-06-27 18:55:52 -07:00
Mario Carneiro
e705d89490
feat(init/data/int): bitwise ops for integers
2017-06-27 18:55:52 -07:00
Mario Carneiro
ebf15e34cb
feat(library/vm/vm_nat): implementation of new bitwise ops
2017-06-27 18:55:52 -07:00
Mario Carneiro
a63bafcc5c
refactor(init/data/nat/bitwise): change definitions to avoid WF
...
The type-correctness of binary_rec_eq (the statement, not the proof) depends on unfolding the embedded well-founded definition of mod. This definition avoids it by using two simpler functions bodd and div2 that reduce well in the kernel.
2017-06-27 18:55:52 -07:00
Sebastian Ullrich
9033cba7d3
feat(frontends/lean,init/meta/interactive): assume and suppose tactics
2017-06-27 18:50:10 -07:00
Leonardo de Moura
98ba6666dc
doc(changes): apply tactic
...
closes #1342
2017-06-27 18:44:54 -07:00
Leonardo de Moura
6ba425da6a
feat(library/init/meta/interactive): add apply_with interactive tactic
...
The new tactic allows us to set apply_cfg in interactive mode.
2017-06-27 18:37:13 -07:00
Leonardo de Moura
e971acabb0
feat(library/init/meta): handle auto_params and opt_params at apply tactic
2017-06-27 18:17:48 -07:00
Leonardo de Moura
cdec07fc81
feat(library/init/meta/interactive): address issue raised in comment at #1374
...
The example at
https://github.com/leanprover/lean/issues/1342#issuecomment-307912291
2017-06-27 16:45:21 -07:00
Leonardo de Moura
ac19b15169
fix(library/tactic/apply_tactic): remove unnecessary code from apply_tactic, and add tests for #1342
...
See issue #1342
2017-06-27 16:07:59 -07:00
Leonardo de Moura
9b03309d83
fix(library/equations_compiler): performance problem reported by @dselsam
2017-06-27 15:24:12 -07:00
Leonardo de Moura
070a888f80
chore(library/constants): remove unnecessary constant
2017-06-27 14:56:28 -07:00
Leonardo de Moura
9fdb1c4a4d
chore(library/init/meta/tactic): mark id_locked as [inline]
2017-06-27 13:43:24 -07:00
Leonardo de Moura
3300eafd39
fix(frontends/lean/parser): fixes #1705
...
This is a temporary fix.
We will be able to implement a better solution after #1674 .
2017-06-27 13:20:37 -07:00
Sebastian Ullrich
46873d32ae
chore(doc/changes): update changelog
2017-06-27 22:08:45 +02:00
Leonardo de Moura
5a2b7348f9
feat(library/tactic/apply_tactic): make apply tactic more robust
...
See issue #1342
Support for auto_param and opt_param have not been implemented yet.
2017-06-27 10:42:26 -07:00
Leonardo de Moura
8f4e3f911d
fix(src/emacs/lean-syntax): instances is not a keyword anymore
2017-06-27 10:38:59 -07:00
Gabriel Ebner
33679a11b9
feat(shell/lean,util/log_tree): show currently executing task in lean --make
...
@dselsam @johoelzl This should make it easier to diagnose which proofs
time out or take a very long time.
2017-06-27 18:48:25 +02:00
Gabriel Ebner
11be4e5faf
fix(CMakeLists): increase node stack size for emscripten
2017-06-27 08:44:01 +02:00
Leonardo de Moura
68afd4194b
fix(library/tactic/simplify): fixes #1659
...
@dselsam The method `try_user_congr` was leaking a temporary
meta-variable into the formula. The problem in the congruence lemma
```
dif_ctx_simp_congr :
∀ {α : Sort u_1} {b c : Prop} [dec_b : decidable b] {x : b → α} {u : c → α} {y : ¬b → α} {v : ¬c → α}
(h_c : b ↔ c),
(∀ (h : c), x (h_c.mpr h) = u h) →
(∀ (h : ¬c), y ((not_iff_not_of_iff h_c).mpr h) = v h) → dite b x y = dite c u v
```
when the hypothesis `(∀ (h : c), x (h_c.mpr h) = u h)` is processed,
`h_c` is still unassigned. `h_c` was being assigned in a second
loop (the one that I deleted). Do you see any reason for having this
second pass? I think it is an optimization, we can skip the potentially
expensive
```
expr hyp = finalize(m_ctx, rel, r_congr_hyp).get_proof();
expr pf = local_factory.mk_lambda(hyp);
```
if the expression has not been simplified.
Anyway, I removed this code and merged both loops.
I don't think it should impact performance since we barely use custom
congruence lemmas.
2017-06-26 15:25:58 -07:00
Leonardo de Moura
f339f97975
fix(frontends/lean/brackets): fixes #1703
2017-06-26 12:52:52 -07:00