Soonho Kong
b78043ae24
feat(emacs/lean-mode): add 'clean-cache' to the menu
...
Related issue: #75
2014-10-03 10:11:21 -07:00
Soonho Kong
fffb4e6019
feat(emacs/lean-server): delete cache file (.clean) after visit/load
...
fix #75
2014-10-03 10:11:21 -07:00
Soonho Kong
e255b02fca
fix(emacs/lean-changes): visit file before process any changes
...
This solves many instances of the modified buffer problem.
2014-10-03 10:11:21 -07:00
Leonardo de Moura
c0725d1934
refactor(frontends/lean): remove 'including' expressions
2014-10-03 09:09:27 -07:00
Leonardo de Moura
01d4644026
fix(frontends/lean): bug in include/omit commands: in the end of section/context, the configuration must be restored
2014-10-03 08:52:35 -07:00
Leonardo de Moura
284f300440
feat(frontends/lean): add 'include' and 'omit' commands, closes #184
2014-10-03 07:23:24 -07:00
Leonardo de Moura
6950b4aa9b
fix(frontends/lean/decl_cmds): do not allow section parameters/variables to shadow existing parameters/variables
2014-10-02 18:29:41 -07:00
Leonardo de Moura
a52b21c92d
refactor(library): using section variables
2014-10-02 18:25:00 -07:00
Leonardo de Moura
d5cad765a0
feat(frontends/lean): enforce new semantics for section 'variables'
...
The library file logic/core/connectives uses the new feature.
2014-10-02 17:55:34 -07:00
Leonardo de Moura
f006d93794
feat(frontends/lean): section variables occur after section parameters
2014-10-02 17:55:34 -07:00
Leonardo de Moura
0a13e7863a
feat(frontends/lean): enforce rule section parameters cannot depend on section variables
2014-10-02 17:55:34 -07:00
Leonardo de Moura
bf081ed431
refactor(kernel): rename var_decl to constant_assumption
...
Motivation: it matches the notation used to declare it.
2014-10-02 17:55:34 -07:00
Leonardo de Moura
4946f55290
refactor(frontends/lean): constant/axiom are top-level commands, parameter/variable/hypothesis/conjecture are section/context-level commands
...
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2014-10-02 17:55:34 -07:00
Soonho Kong
91f789c3db
feat(emacs/lean-cmd): add SYNC command
2014-10-02 17:30:03 -07:00
Soonho Kong
a25f38cd6b
fix(bin/linja): avoid using realpath on msys2
2014-10-02 17:25:14 -07:00
Soonho Kong
229caec0a4
fix(bin/linja): fix typo
2014-10-02 17:25:13 -07:00
Soonho Kong
5e551db9be
chore(CMakeLists.txt): use $PYTHON_EXECUTABLE instead of "python"
2014-10-02 17:25:13 -07:00
Soonho Kong
fd11b28d15
doc(make/msys2): update instructions
2014-10-02 17:25:12 -07:00
Leonardo de Moura
f78d831de3
refactor(frontends/lean): remove hardcoded Type', and define it using notation
2014-10-02 14:29:51 -07:00
Leonardo de Moura
76d21900a2
feat(library): add aliases for some sorts
2014-10-02 14:29:51 -07:00
Leonardo de Moura
4cb54ac825
feat(frontends/lean/elaborator): more strict test for bad universe solution
2014-10-02 14:29:51 -07:00
Leonardo de Moura
98e66586e9
feat(frontends/lean/elaborator): elaborator rejects 'Type' if the universe is explicit
2014-10-02 14:29:51 -07:00
Soonho Kong
fc19fbf26d
chore(.travis.osx.yml): bump g++ version to 4.9.1
2014-10-02 10:44:37 -07:00
Leonardo de Moura
db9671d7c3
fix(frontends/lean/decl_cmds): remove assertion that does not hold anymore
2014-10-02 09:19:40 -07:00
Leonardo de Moura
d42fd657fe
refactor(library): is_inhabited "theorems" should be "definitions", they are "data"
2014-10-02 09:00:34 -07:00
Leonardo de Moura
9a75298892
feat(emacs): highlight Type'
2014-10-02 08:04:00 -07:00
Leonardo de Moura
5bd8e9d141
fix(frontends/lean/decl_cmds): allow private transparent definitions
...
Example:
section
universe l
private definition T := Type.{max 1 l}
...
end
2014-10-02 07:56:01 -07:00
Leonardo de Moura
153e3927ac
feat(frontends/lean/elaborator): modify '!' semantics: it stops consuming arguments as soon it finds an argument that does not occur in the rest of the type.
2014-10-01 18:50:17 -07:00
Leonardo de Moura
e64d5c4a4a
refactor(library/data/nat): use new operator '!'
2014-10-01 18:39:47 -07:00
Leonardo de Moura
a978e30c81
refactor(library/data/nat): rename to_nat to of_num
2014-10-01 17:52:33 -07:00
Leonardo de Moura
716cd4d651
refactor(library): rename namespace eq_ops to eq.ops
2014-10-01 17:51:17 -07:00
Leonardo de Moura
ead827d6b7
feat(frontends/lean): add !
operator the "dual" of @
, closes #220
2014-10-01 17:13:41 -07:00
Leonardo de Moura
bc6ebf34be
feat(library/data/bool): do not use !
as notation for bnot, rename band/bor -> and/or
2014-10-01 17:00:03 -07:00
Soonho Kong
72beb438e6
fix(emacs/lean-server): merge server-trace-mode to debug-mode
2014-10-01 14:38:23 -07:00
Leonardo de Moura
c46ec6a548
fix(frontends/lean): missing type information for INFO, fixes #218
2014-10-01 14:29:07 -07:00
Leonardo de Moura
f863d82e69
fix(frontends/lean/pp): pp was not taking into account new namespace name resolution rules, fixes #216
2014-10-01 11:24:45 -07:00
Leonardo de Moura
3657d4c3ab
feat(frontends/lean): coercion num -> int even when nat is not open, closes #219
...
I also had to mark the coercions as reducible.
Otherwise, given the constraint
?M (int.of_num 0) =?= (int.of_nat (nat.to_nat 0))
the unifier will not generate the solution
?M := fun x, x
2014-10-01 11:09:10 -07:00
Leonardo de Moura
966366e18e
feat(kernel/inductive): relaxed rules for defining datatypes with explicit universes, closes #217
2014-10-01 10:56:05 -07:00
Leonardo de Moura
263b081e69
fix(frontends/lean/inductive_cmd): temporary aliases must take explicit universes into account, fixes #215
2014-10-01 10:24:44 -07:00
Leonardo de Moura
71077f5c89
feat(frontends/lean/parser): allow _
at level expressions
2014-10-01 10:24:44 -07:00
Soonho Kong
3775d07d5f
fix(emacs/lean-company): use lean-grab-hname for findp auto-completion
...
fix #214
2014-10-01 09:53:48 -07:00
Leonardo de Moura
2730e5163e
feat(frontends/lean): allow 'sorry' implicit argument to access the whole context, and avoid cryptic error message
...
See new test for explanation.
2014-09-30 18:04:04 -07:00
Soonho Kong
efdf7420b5
fix(bin/linja): disable "\r" trick for messages with flycheck
2014-09-30 17:36:15 -07:00
Soonho Kong
89a929e9cd
feat(emacs/lean-syntax): add more word constituents to syntax table
2014-09-30 15:41:18 -07:00
Soonho Kong
9024cb23fd
fix(emacs/lean-util): fix lean-grab-id
2014-09-30 15:41:16 -07:00
Soonho Kong
f4e118de76
fix(bin/linja): replace '\' with '/' for flycheck output on windows
2014-09-30 15:41:12 -07:00
Soonho Kong
5deb6e10db
fix(bin/linja): use Popen.communicate instead of Popen.wait
...
Popen.wait() can cause deadlock.
Reference:
https://docs.python.org/2/library/subprocess.html#subprocess.Popen.wait
2014-09-30 15:41:08 -07:00
Soonho Kong
562cc2c8f3
feat(bin/linja): add --verbose option
2014-09-30 15:41:04 -07:00
Soonho Kong
d5e77c05cb
fix(emacs/lean-flycheck): fix error/warning pattern to work on windows
2014-09-30 15:40:57 -07:00
Leonardo de Moura
3ca1264f61
refactor(library): mark 'decidable' theorems as definitions
...
If we don't do that, then any 'if' term that uses one of these theorems
will get "stuck". That is, the kernel will not be able to reduce them
because theorems are always opaque
2014-09-30 09:02:37 -07:00