Commit graph

3327 commits

Author SHA1 Message Date
Leonardo de Moura
0890ae5c01 fix(library/type_context): When synthesizing subsingleton instances, we should not assign universe metavariables
fixes #1487
2017-03-25 10:54:12 -07:00
Leonardo de Moura
7543d9e050 chore(tests/lean/io_fs_error): fix test 2017-03-23 18:52:37 -07:00
Leonardo de Moura
8cf43e1b30 feat(library/tactic/tactic_state): add tactic.run_io 2017-03-23 18:17:53 -07:00
Leonardo de Moura
fe3875a103 feat(library/system/io): add stdin, stdout and stderr 2017-03-23 16:49:39 -07:00
Leonardo de Moura
82748a61b7 feat(library/system/io): basic file system API 2017-03-23 16:30:16 -07:00
Leonardo de Moura
527c8851a8 refactor(library/system/io): use type classes 2017-03-23 14:29:07 -07:00
Gabriel Ebner
8814fe8276 chore(tests/lean): add test for error position clamping 2017-03-23 09:23:57 +01:00
Gabriel Ebner
2da9d72491 chore(tests/lean/interactive): fix test 2017-03-23 09:14:32 +01:00
Gabriel Ebner
a8ba78e20a refactor(frontends/lean/tactic_notation): remove irtactic in favor of itactic 2017-03-23 09:07:08 +01:00
Gabriel Ebner
d90dda01b0 chore(*): fix tests 2017-03-23 09:03:43 +01:00
Gabriel Ebner
9dfd8e1018 fix(shell/server): fix field completion 2017-03-23 09:03:43 +01:00
Gabriel Ebner
ef0e113b4b chore(tests): fix tests 2017-03-23 09:03:43 +01:00
Gabriel Ebner
098d6f8f2a refactor(init/meta/tactic): remove report_errors argument from to_expr 2017-03-23 09:03:42 +01:00
Gabriel Ebner
c8fff9f4ff refactor(init/meta/interaction_monad): replace rstep by istep 2017-03-23 09:03:41 +01:00
Gabriel Ebner
c5c0a74d77 fix(frontends/lean/definition_cmds): reinstate fallback to sorry 2017-03-23 09:01:00 +01:00
Gabriel Ebner
a591e35544 chore(*): fix tests 2017-03-23 09:00:59 +01:00
Gabriel Ebner
d26e870aa5 chore(*): fix tests 2017-03-23 09:00:59 +01:00
Gabriel Ebner
176fb9c81f chore(tests): changed sorry warnings 2017-03-23 08:57:56 +01:00
Leonardo de Moura
6887a99f08 feat(library/init/category/state): make state and state_t universe polymorphic
The new definitions are not fully general since they force data and
state to be in the same universe.
2017-03-22 23:45:29 -07:00
Leonardo de Moura
60dd85719c feat(library/system/io): system.io without axioms 2017-03-22 23:36:05 -07:00
Leonardo de Moura
875493a1ee chore(tests/lean/inject): fix test 2017-03-22 08:04:11 -07:00
Sebastian Ullrich
a5db5ae4de refactor(init/meta/interactive): rw: parse - separately to remove hack 2017-03-22 07:54:12 -07:00
Sebastian Ullrich
9cf80a6c94 feat(init/meta/interactive): rw goal info on ] 2017-03-22 07:54:12 -07:00
Sebastian Ullrich
da7e21696e feat(init/meta/interactive): rw goal info on , 2017-03-22 07:54:12 -07:00
Sebastian Ullrich
f9854be13f feat(frontends/lean/parser): save id info for non-overloaded constants 2017-03-22 07:35:14 -07:00
Sebastian Ullrich
897b4f9db1 fix(frontends/lean/builtin_exprs): override scope behavior for strict quoted names 2017-03-22 07:34:50 -07:00
Sebastian Ullrich
793f0baee8 feat(library/tactic/vm_monitor): use attribute for registering VM monitors 2017-03-22 07:34:27 -07:00
Leonardo de Moura
40f69b976e test(tests/lean/inject): add more tests 2017-03-21 13:38:46 -07:00
Leonardo de Moura
a31de3b7bc feat(library/unification_hint): improve unification_hint matcher
Improvements:
- Use heuristic match explicit arguments first and then match implicit.
- Skip annotations.
- Follow metavariable assigments.
- Use is_def_eq when pattern doest not contain matching variables.
2017-03-21 10:19:34 -07:00
Leonardo de Moura
aa68d72fa5 fix(library/equations_compiler/elim_match): skip nonvar + inaccessible 2017-03-21 08:08:36 -07:00
Leonardo de Moura
fdadada3a9 fix(frontends/lean): fixes #1468
@kha I had to add yet another hack to fix this issue.

In notation declarations, names are resolved at notation declaration time.
So, users do not expect them to be resolved again at tactic execution time.

I addressed this problem by wrapping constants occurring in notation
declarations with a "frozen_name" annotation. This transformation is
only performed if m_in_quote is true.
Then resolve_names_fn at elaborator.cpp will not try to resolve the
names again.

This change broke two other modules. `-` notation for inverting
equations at `rw`, and `calc` expressions inside quotes.
The broke for the same reason. They were not expecting the constants
to be wrapped with an annotation.
2017-03-18 13:48:21 -07:00
Leonardo de Moura
3322adde1b fix(library/tactic/subst_tactic): fixes #1467 2017-03-17 19:54:35 -07:00
Sebastian Ullrich
5e0e19c4ad fix(frontends/lean/{interactive,tactic_notation}): fix tests 2017-03-17 18:20:44 -07:00
Sebastian Ullrich
e0856284b0 feat(frontends/lean,emacs): tactic info before elaboration, fix many edge cases 2017-03-17 18:20:44 -07:00
Sebastian Ullrich
421a6d6f01 feat(frontends/lean/interactive,emacs): highlight current tactic parameter 2017-03-17 18:20:44 -07:00
Sebastian Ullrich
c46936d180 fix(frontends/lean/interactive): hard-code tactic pretty printing 2017-03-17 18:20:44 -07:00
Sebastian Ullrich
ae3e685c1f chore(tests/lean): forgot to add test case 2017-03-17 18:20:44 -07:00
Sebastian Ullrich
c387c34365 fix(test/lean/interactive/run_single): include stderr 2017-03-17 18:05:19 -07:00
Leonardo de Moura
ed9e6fb940 chore(tests/lean/type_error_at_eval_expr): fix test 2017-03-17 14:46:41 -07:00
Leonardo de Moura
11dcab1b31 fix(frontends/lean/elaborator): fixes #1458 2017-03-16 10:31:21 -07:00
Leonardo de Moura
a897fd3f17 fix(frontends/lean): pattern matching in the declaration header 2017-03-16 01:09:12 -07:00
Leonardo de Moura
16392fda7d chore(tests/lean/inductive_sorry): remove test 2017-03-15 20:37:53 -07:00
Daniel Selsam
cddf5f081d fix(library/tactic/kabstract.cpp): only use replace_fn cache if replacing all occs 2017-03-15 19:40:52 -07:00
Daniel Selsam
9135e231f0 fix(tests/lean/inductive_sorry.lean): fix broken test 2017-03-15 19:40:52 -07:00
Leonardo de Moura
83fbb605f4 chore(tests/lean): fix tests 2017-03-15 19:40:52 -07:00
Sebastian Ullrich
e3b9190fe2 refactor(library/tactic/user_attribute): use attribute for registering attributes. naturally. 2017-03-15 14:06:34 -07:00
Sebastian Ullrich
647d7a8501 fix(frontends/lean/elaborator): expr patterns should ignore binding names 2017-03-15 14:06:00 -07:00
Leonardo de Moura
11a5f81197 test(tests/lean): add test for unification hints 2017-03-12 17:02:05 -07:00
Leonardo de Moura
abbc483246 chore(tests/lean/type_error_at_eval_expr): fix test
We should suppress the internal numerical ids when displaying this kind
of error message as suggested by @kha
2017-03-12 16:48:14 -07:00
Leonardo de Moura
8d409d7c63 feat(library/unification_hint): unification hint validation 2017-03-12 16:42:16 -07:00