Commit graph

11817 commits

Author SHA1 Message Date
Leonardo de Moura
c262bd3e7f feat(library/type_context): add temporary workaround for solving unification problems coming from bitvector theory 2017-02-06 19:19:38 -08:00
Leonardo de Moura
2684a77093 fix(library/type_context): fix problem with offset constraints, then adjust simplify 2017-02-06 18:21:14 -08:00
Leonardo de Moura
a28d6a94fd feat(library/init/meta): add any_goals tactic 2017-02-06 16:23:29 -08:00
Leonardo de Moura
28cd022486 feat(library/data/vector): add to_list lemmas 2017-02-06 14:57:04 -08:00
diakopter
55b9f3e690 chore(library): clang warnings - missing override 2017-02-06 13:44:20 -08:00
Gabriel Ebner
d4541ce2cc chore(frontends/lean/elaborator): fix clang-3.4 build error 2017-02-06 20:44:28 +01:00
Gabriel Ebner
572c9a0de0 chore(tests/lean): fix tests after error-recovery 2017-02-06 15:15:47 +01:00
Gabriel Ebner
7946b15511 feat(frontends/lean/elaborator): recover from most errors using sorry 2017-02-06 15:15:44 +01:00
Gabriel Ebner
98f41d9b15 feat(interactive/test_single): colorized diff 2017-02-06 15:08:45 +01:00
Leonardo de Moura
ae06844f57 chore(library/init/meta): remove unnecessarily '| failed' annotations
tactic and smt_tactic are instaces of monad_fail
2017-02-05 20:12:42 -08:00
Leonardo de Moura
55aa2023f4 feat(frontends/lean): add support for monad_fail type class in 'do' blocks 2017-02-05 20:09:08 -08:00
Leonardo de Moura
e8f2f2ed3c feat(library/equations_compiler): add flag for marking equations that we should not report an error if they are not used 2017-02-05 19:26:45 -08:00
Leonardo de Moura
3ef463ccc9 chore(frontends/lean/builtin_exprs): update error messages for do-blocks 2017-02-05 19:07:23 -08:00
Leonardo de Moura
4283fe9bb7 fix(frontends/lean/builtin_exprs): missing pattern when lhs is a constant constructor 2017-02-05 19:03:00 -08:00
Leonardo de Moura
8b662d19ac feat(library/init/category/monad_fail): add monad_fail type class 2017-02-05 18:46:29 -08:00
Leonardo de Moura
797b26f402 fix(frontends/lean/tactic_notation): trace messages in nested blocks were not being displayed in the correct place 2017-02-05 18:20:10 -08:00
Leonardo de Moura
30a1876fc8 feat(library/init/meta): add add_aux_decl and abstract tactics 2017-02-05 16:00:47 -08:00
Leonardo de Moura
1eb771f5a1 chore(library/init/meta/async_tactic): missing copyright 2017-02-05 14:47:43 -08:00
Leonardo de Moura
1fc9cc37f7 chore(frontends/lean): remove dead field 2017-02-05 14:25:49 -08:00
diakopter
91b526fdd1 chore(frontends/lean): clang warnings 2017-02-05 14:03:15 -08:00
Leonardo de Moura
323db5a530 feat(frontends/lean/pp): pretty print structure instances and field projections 2017-02-05 14:01:53 -08:00
Gabriel Ebner
cbc0bb1f7c feat(library/module): store whether we used sorry in olean 2017-02-05 16:35:32 +01:00
Gabriel Ebner
c2d95c4cb6 fix(library/mt_task_queue): handle lazy depdendencies of tasks without priority inversion 2017-02-05 16:34:46 +01:00
Gabriel Ebner
6910f3f2b9 feat(frontends/lean/print_cmd): show sorry macro as axiom 2017-02-05 14:01:08 +01:00
Gabriel Ebner
95068e4e79 feat(library/sorry): make sorry a macro 2017-02-05 14:01:03 +01:00
Gabriel Ebner
252931a470 feat(tests/lean/test_single): show unified diffs with color 2017-02-05 13:44:21 +01:00
Gabriel Ebner
98c2998a7b feat(frontends/lean/definition_cmds): make noncomputability check non-fatal 2017-02-05 13:42:52 +01:00
Leonardo de Moura
84188c5aa1 feat(frontends/lean/elaborator): add pattern validator in the elaborator
@johoelzl We now produce a better message for your example:

   inductive R : ℕ → Prop
   | pos : ∀p n, R (p + n)

   lemma R_id : ∀n, R n → R n
   | (.p + .n) (R.pos p n) := R.pos p n

The new error is:

file.lean:5:2: error: invalid function application in pattern, it cannot be reduced to a constructor (possible solution, mark term as inaccessible using '.( )')
  .p + .n
2017-02-04 19:00:20 -08:00
Leonardo de Moura
6f95f4668f fix(library/inductive_compiler/ginductive): constructors of mutually inductive datatypes were not being registered
Actually, the constructors of the first inductive datatype in a mutually
recursive definitions were being registered.
2017-02-04 18:51:17 -08:00
Leonardo de Moura
9869ed1026 feat(library/equations_compiler/util): make sure "inaccessible annotations" do not leak into the type of automatically generated equational lemmas 2017-02-04 17:19:42 -08:00
Leonardo de Moura
dbb36f5412 feat(library/type_context): improve offset trick in the unifier 2017-02-04 17:15:05 -08:00
Leonardo de Moura
5ed49982a2 refactor(library/tactic/unfold_tactic): add dunfold C++ function 2017-02-04 16:33:12 -08:00
Leonardo de Moura
6d9c9b3f9a feat(library/type_context): avoid auxiliary definitions introduced by the equation compiler from being used in the type class resolution procedure
This can only happen in meta definitions, but the user may be confused
by this behavior.
2017-02-04 15:56:54 -08:00
Leonardo de Moura
e4a27a2328 chore(tests/lean/interactive): fix test output 2017-02-04 15:53:01 -08:00
Rob Lewis
d18a47b588 feat(tactic): add tactic_format instances 2017-02-04 15:30:55 -08:00
Leonardo de Moura
45eb64add0 chore(tests/lean/run/listex3): we don't need the unit trick anymore 2017-02-04 13:55:51 -08:00
Leonardo de Moura
9e42f7ea30 test(tests/lean/run): add test for meta recursive definition wo recursive equation 2017-02-04 13:53:12 -08:00
Sebastian Ullrich
523a576bbe fix(emacs/lean-flycheck): typo 2017-02-04 13:50:22 -08:00
Gabriel Ebner
44a4b55c26 fix(emacs): keep transient marks in command hooks 2017-02-04 13:50:14 -08:00
Gabriel Ebner
d74a916c95 chore(.travis.yml): reduce ctest verbosity 2017-02-04 13:49:30 -08:00
Gabriel Ebner
69465d7b78 feat(.travis.yml): test library in trust level zero 2017-02-04 13:49:20 -08:00
Leonardo de Moura
dbf65e4c6b chore(frontends/lean/parser_state): style 2017-02-04 13:48:24 -08:00
Leonardo de Moura
b28ed2453e feat(frontends/lean/definition_cmds): allow meta recursive definitions without recursive equations 2017-02-04 13:44:05 -08:00
Leonardo de Moura
160011b80e feat(frontends/lean/parser_state): parser_state API 2017-02-04 13:38:53 -08:00
Leonardo de Moura
36dc796f6c refactor(frontends/lean): add more parser_state methods 2017-02-04 11:37:26 -08:00
Leonardo de Moura
d7ab2bb196 feat(frontends/lean): add basic parser_state methods 2017-02-04 10:57:51 -08:00
Leonardo de Moura
abe0f1f386 feat(frontends/lean): new parser_state skeleton 2017-02-03 21:01:49 -08:00
Leonardo de Moura
91b68b6b90 chore(frontends/lean/parser): remove dead variable 2017-02-03 19:55:19 -08:00
Leonardo de Moura
01414cf21c feat(frontends/lean): add token class, and procedure for consuming the tokens 2017-02-03 18:11:06 -08:00
Leonardo de Moura
aff5a2dd37 fix(library/init/meta): bug introduced 9bee8ce36d 2017-02-03 17:01:46 -08:00