Sebastian Ullrich
d968b9a1c8
fix(frontends/lean/structure_cmd): remove evil Pi overload that accidentally abstracted constants in structure decls
2017-04-26 14:22:36 -07:00
Leonardo de Moura
cabb4350d9
feat(library): instances are not reducible by default anymore
...
Motivation: see "Other goodies" section at
https://github.com/leanprover/lean/wiki/Refactoring-structures
We had to add a new transparency mode: Instances at type_context.
In this mode, instances and reducible definitions are considered
transparent.
The new mode is used in the defeq_canonizer, code generator,
and sizeof lemma generation at inductive_compiler.
We also use the new mode in the unfold tactics.
2017-04-26 14:10:11 -07:00
Sebastian Ullrich
e9a6c544af
refactor(frontends/lean/{elaborator,structure_cmd}): compile structure inheritance to nested fields
2017-04-24 19:35:15 +02:00
Jared Roesch
4704b68035
chore(*): remove smt2 bindings from standard libary
2017-04-23 11:32:11 -07:00
Sebastian Ullrich
6ab0a008f9
feat(frontends/lean/{builtin_cmds,interactive}): complete namespace/section after end
2017-04-23 11:26:31 -07:00
Sebastian Ullrich
a54514fead
feat(frontends/lean/print_cmd): complete identifiers after #print
2017-04-23 11:26:31 -07:00
Sebastian Ullrich
5b17c3cbd9
fix(frontends/lean/interactive): fall back to elaborator info when not an interactive tactic
...
Fixes #1530
2017-04-23 11:26:31 -07:00
Gabriel Ebner
c2068dae46
fix(frontends/lean/tactic_notation): show error for unsolved focused goals at the end
...
Fixes #1531 .
2017-04-23 11:23:08 -07:00
Leonardo de Moura
0d97700c60
feat(library/compiler): add support for and.rec in the code generator
2017-04-16 13:31:37 -07:00
Sebastian Ullrich
26ac6d31f2
fix(library/metavar_util): do not compress mvar assignments in tmp mode
2017-04-16 09:35:49 -07:00
Leonardo de Moura
210b7c8fb7
fix(library/tactic): fixes #1513
...
Implement rename tactic in Lean using revert/intro
2017-04-15 11:34:24 -07:00
Sebastian Ullrich
70a2c402ac
feat(init/meta/interactive): Isabelle-like case tactic
2017-04-11 17:07:28 -07:00
Sebastian Ullrich
026c5ee509
fix(library/init/meta/expr,library/vm/vm_expr): fix macro args
2017-04-11 17:07:28 -07:00
Gabriel Ebner
cefc26d9cb
refactor(library/system/process): add exit status and working directory
2017-04-11 16:42:17 -07:00
Gabriel Ebner
e2fa363423
feat(library/system/io,shell/lean): add --run switch
2017-04-11 16:41:30 -07:00
Gabriel Ebner
01a7efc007
fix(library/module_mgr): do not crash on missing imports
...
Fixes #1506 .
2017-04-04 19:56:33 +02:00
Gabriel Ebner
c06bef0505
fix(library/aux_definition): also zeta expand the local context
...
@leodemoura The forced zeta-expansion in mk_aux_definition might
cause problems if we use tactic.abstract without zeta-reduction.
However, we never use the non-zeta mode, and it already fails right now
if you accidentally use zeta-expansion in the proof we want to abstract.
2017-04-04 09:04:37 +02:00
Leonardo de Moura
b42ae2cf54
fix(library/type_context): fixes #1500
2017-03-31 19:19:44 -07:00
Sebastian Ullrich
3f98eb84c5
fix(library/print): consider constant roots in is_used_name
2017-03-31 09:40:49 -07:00
Sebastian Ullrich
3f87755a2a
fix(frontends/lean/pp): qualify constant shadowed by local
2017-03-31 09:40:49 -07:00
Sebastian Ullrich
669c4130b1
fix(frontends/lean/builtin_expr): no field notation after @/@@
2017-03-31 09:40:49 -07:00
Sebastian Ullrich
cd013f22c0
chore(*): replace "'^.' notation" with "field notation", pretty print using "."
2017-03-31 09:40:49 -07:00
Sebastian Ullrich
93fdfdc4b6
feat(frontends/lean/elaborator): better error message on field notation that was probably supposed to be a single ident
2017-03-31 09:40:49 -07:00
Sebastian Ullrich
3c8e176fb0
fix(frontends/lean/interactive): fix info on new field notation
2017-03-31 09:40:49 -07:00
Gabriel Ebner
f9c1ceb717
fix(frontends/lean/scanner): correctly handle positions in empty files
2017-03-31 09:40:15 -07:00
Gabriel Ebner
3253a79e77
refactor(tests/lean/fail): use test suite runner
2017-03-30 06:04:00 +02:00
Sebastian Ullrich
ef5cf54a86
chore(tests/lean/test_single): use --test-suite
2017-03-30 06:04:00 +02:00
Sebastian Ullrich
b2dfae8a67
chore(tests/lean/caching_user_attribute): fix flaky test
2017-03-30 06:04:00 +02:00
Sebastian Ullrich
8e36d6304d
chore(tests/lean/test_all): fix on Windows
2017-03-30 06:04:00 +02:00
Sebastian Ullrich
4a33045b84
chore(tests/lean,shell/lean): run leantests and leanruntests in parallel
2017-03-30 06:04:00 +02:00
Leonardo de Moura
ad859817b1
feat(frontends/lean): allow local decls to shadow namespaces
2017-03-29 16:09:45 -07:00
Jared Roesch
dc4086d0ed
feat(library/vm/process): add basic process support
2017-03-28 18:08:06 -07:00
Leonardo de Moura
87932f1c56
feat(frontends/lean): change notation for inaccessible patterns
...
The following are accepted
.(t)
._
We don't accept .t anymore because it will conflict with the field
access notation.
2017-03-28 16:09:15 -07:00
Leonardo de Moura
8e2dcb8ad8
chore(frontends/lean): remove ^. variants (~> and ↣)
...
This modification was motivated by a discussion at slack.
2017-03-28 12:23:33 -07:00
Gabriel Ebner
480bc4ca2e
fix(tests/lean/.gitignore): ignore file created by io_fs test
2017-03-28 11:55:57 -07:00
Leonardo de Moura
092985f777
fix(frontends/lean/util): fixes #1495
...
We should freeze only constants
2017-03-28 11:55:11 -07:00
Leonardo de Moura
9a4e04b8ca
feat(frontends/lean/structure_cmd): add equational lemma for auxiliary default values
2017-03-27 21:37:31 -07:00
Leonardo de Moura
36c7d46c34
feat(library/tactic): add options trace.rewrite and trace.kabstract for debugging rewrite tactic
...
See #1480
@semorrison We can now use the following commands to trace the rewrite
tactic
```lean
set_option trace.rewrite true
set_option trace.kabstract true
```
When these options are used, Lean will pretty print the subterm selected
by the rewrite tactic. That is, the subterm that will be rewritten.
This option may help you diagnose what is going on.
2017-03-27 18:18:20 -07:00
Leonardo de Moura
71bf0bcc5d
fix(frontends/lean/builtin_exprs): fixes #1493
2017-03-27 17:57:13 -07:00
Leonardo de Moura
1cef8af1be
feat(library/tactic/simplify): add eta := tt to simp
2017-03-27 17:38:40 -07:00
Leonardo de Moura
eea46610ea
fix(library/tactic/simplify): missing projection reduction, add proj := tt to simp
2017-03-27 17:38:40 -07:00
Leonardo de Moura
161879b1bf
feat(library/init/meta): add helper tactic guard_target for generating tests
2017-03-27 17:38:40 -07:00
Leonardo de Moura
b09968a37b
feat(library/tactic/simplify): add beta := tt to simp
2017-03-27 17:38:31 -07:00
Sebastian Ullrich
68c1ff6219
feat(frontends/lean/builtin_exprs): use local field inference for info too
2017-03-27 14:01:38 -07:00
Gabriel Ebner
8c1136c1b6
fix(library/module_mgr): get_first_diff_pos: handle newlines correctly
2017-03-27 14:01:04 -07:00
Sebastian Ullrich
a50398f837
fix(library/tactic/eval,kernel/kernel_exception): hide internal definition name on eval_expr type error
2017-03-27 13:42:08 -07:00
Leonardo de Moura
494e5b65c5
feat(library/init/meta/tactic): add apply_auto_param and apply_opt_param tactics
...
see #1485
2017-03-27 13:42:08 -07:00
Leonardo de Moura
e98f69d1ac
fix(frontends/lean/elaborator): ignore auto/default params when @ is used
...
see #1485
@kha We need this commit to be able to execute commands such as:
```lean
#check @monad.mk
```
2017-03-27 13:42:08 -07:00
Sebastian Ullrich
c7b47c7b7f
fix(system/io): try to fix io monad
2017-03-27 13:42:08 -07:00
Sebastian Ullrich
83511bdae1
feat(library/tactic/elaborator_exception): show context of failed placeholders
2017-03-27 13:42:08 -07:00