Commit graph

12008 commits

Author SHA1 Message Date
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
678044d1d6 refactor(shell/lean): use log tree node from module_info 2017-03-30 06:04:00 +02:00
Sebastian Ullrich
e7f01b7490 fix(frontends/lean/decl_util): bad reset in scope destructor 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
Leonardo de Moura
35eba0107e chore(library/init/algebra/ring): use . notation 2017-03-28 18:49:35 -07:00
Johannes Hölzl
c4c2d703f6 feat(library/init/data): simplify int.transfer; add int and nat to zero_ne_one_class 2017-03-28 18:44:56 -07:00
Johannes Hölzl
2c85bb5a4d feat(library/init/logic): generalize implies_true_iff
this generalizes the domain of implies_true_iff from `Prop` to all `Sort`.
With this there is no need for `intros; trivial` after `simp`.
2017-03-28 18:44:56 -07:00
Johannes Hölzl
bc0dbf0809 feat(library/init/algebra): add zero_ne_one and one_ne_zero to default simp-set 2017-03-28 18:44:56 -07:00
Leonardo de Moura
0fe3e3e88f chore(library): use . notation 2017-03-28 18:42:32 -07:00
Jared Roesch
dc4086d0ed feat(library/vm/process): add basic process support 2017-03-28 18:08:06 -07:00
Leonardo de Moura
1ffc01f1d5 chore(tests/frontends/lean/lean_scanner): fix test 2017-03-28 18:00:19 -07:00
Leonardo de Moura
cb049f42b7 fix(frontends/lean/elaborator): resolve_local_name 2017-03-28 17:57:13 -07:00
Leonardo de Moura
71685e4dd6 feat(frontends/lean): add support for t.<id> and t.<idx> when t is a composite term
Replace `^.` with `.` in the stdlib
2017-03-28 17:47:49 -07:00
Leonardo de Moura
4fa3d31c95 fix(frontends/lean/elaborator): as_atomic at resolve_local_name 2017-03-28 16:21:14 -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
6183c7676e feat(frontends/lean): use . for field access 2017-03-28 15:29:54 -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
Leonardo de Moura
cefe1dd294 chore(frontends/lean/parser): update comments 2017-03-28 12:10:11 -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
07c29c0779 chore(library/abstract_parser,frontends/lean/parser): remove dead code 2017-03-28 11:51:50 -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
09867fcfe0 fix(library/tactic/simplify): assertion violation 2017-03-27 18:04:57 -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
Leonardo de Moura
34f6a92e24 fix(library/tactic/simplify): simp default behavior should eliminate annotations 2017-03-27 15:10:47 -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
Sebastian Ullrich
00cb784bd8 fix(frontends/lean/builtin_exprs): do not hide elaborated field info when local inference fails 2017-03-27 14:01:29 -07:00
Sebastian Ullrich
e63c1d3347 refactor(frontends/lean/info_manager): use pos_info 2017-03-27 14:01:19 -07:00
Gabriel Ebner
8c1136c1b6 fix(library/module_mgr): get_first_diff_pos: handle newlines correctly 2017-03-27 14:01:04 -07:00
Gabriel Ebner
318910f99b refactor(frontends/lean/parser): store snapshots in a lazy async list 2017-03-27 14:00:53 -07:00
Sebastian Ullrich
ecd208af0b fix(library/module): unfold untrusted macros in imported intro rules 2017-03-27 13:42:08 -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
Sebastian Ullrich
8fb1a28604 chore(.appveyor.yml,.travis.yml): invoke ctest with --output-on-failure 2017-03-27 13:42:08 -07:00
Sebastian Ullrich
55425e7b1f fix(frontends/lean/structure_cmd): unfold untrusted macros in intro rules 2017-03-27 13:42:08 -07:00
Sebastian Ullrich
186fe1b792 fix(library/unfold_macros): recursively unfold macros 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
Leonardo de Moura
70e6c380ed fix(library/vm/vm_io): fix io_monad
see #1485
2017-03-27 13:42:08 -07:00
Sebastian Ullrich
9e8ef54402 refactor(init/data/list/instances): simplify proofs 2017-03-27 13:42:08 -07:00
Sebastian Ullrich
b3a0eb9bfc fix(init/meta/interactive): mk_simp_set: also remove equational lemmas 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
Sebastian Ullrich
dfd84666e2 feat(library): add functor, applicative, and monad laws, and prove them correct for non-meta instances 2017-03-27 13:42:08 -07:00