Commit graph

11817 commits

Author SHA1 Message Date
Leonardo de Moura
5d3b889684 fix(util/lean_path): fixes #1339 2017-02-03 15:19:48 -08:00
Leonardo de Moura
2640d3085b fix(library/init/meta/interactive): name resolution problems in parametric sections 2017-02-03 14:04:59 -08:00
Leonardo de Moura
ab94e71e37 feat(library/type_context): do not fail on universe constraints of the form ?u =?= max ?u v
We solve them by creating a fresh metavariable ?w

         ?u := max ?w v

Remark: this is a precise solution.
2017-02-02 22:30:30 -08:00
Leonardo de Moura
b2968f450c fix(frontends/lean/elaborator): use expected type when elaborating application for the form (c^.fn a)
For example, the following definition did not work before this commit:

  protected meta def map {α β} (f : α → β) : lazy_tactic α → lazy_tactic β
  | t s := (t s)^.for (λ ⟨a, new_s⟩, (f a, new_s))
2017-02-02 19:56:50 -08:00
Leonardo de Moura
9bee8ce36d fix(frontends/lean/elaborator): thunk gadget should not be considered in patterns
The new test demonstrates the problem.
2017-02-02 17:28:03 -08:00
Sebastian Ullrich
1bcdbf38bd feat(emacs/lean-flycheck): Next Error: show all errors at current or next position 2017-02-01 18:48:45 -08:00
Sebastian Ullrich
c3a655fdae fix(emacs/lean-server): check if current buffer is still there when handling response 2017-02-01 18:48:45 -08:00
Sebastian Ullrich
6eded75702 fix(emacs/lean-flycheck): show running tasks when highlighting disabled or not in current file 2017-02-01 18:48:45 -08:00
Johannes Hölzl
36f8d0f0a0 chore(library/tactic/generalize_tactic): fix spelling in error message 2017-02-01 18:48:10 -08:00
Johannes Hölzl
3be8deb2d2 fix(library/tactic/generalize_tactic): instantiate mvars before calling kabstract 2017-02-01 18:48:10 -08:00
Leonardo de Moura
bb9a0c79f4 feat(frontends/lean/builtin_exprs): better syntax for quoted terms with type ascription 2017-02-01 12:49:38 -08:00
Leonardo de Moura
a9821f6437 fix(library/type_context): bug in revert method
We should not assume that the arguments at to_revert are sorted by idx.
This commit fixes the bug reported at:
https://groups.google.com/forum/#!topic/lean-user/x4Zwpou3le0
2017-02-01 10:51:24 -08:00
Leonardo de Moura
6e7929252f feat(frontends/lean, library/init): add 'thunk' gadget
We can now write
   trace "hello" t
instead of
   trace "hello" (fun _, t)
2017-01-31 18:41:59 -08:00
Leonardo de Moura
7cc31835e4 refactor(library/init/meta/fun_info): cleanup fun_info API 2017-01-31 18:01:54 -08:00
Leonardo de Moura
49a0d13c50 feat(library/init/coe): add coercion from A to (option A)
A little hack is used to make sure type class resolution will not enter
in an infinite loop.
2017-01-31 17:45:41 -08:00
Leonardo de Moura
920e845b84 refactor(library/init/meta/congr_lemma): cleanup congr_lemma API 2017-01-31 16:46:13 -08:00
Leonardo de Moura
2874a783e0 test(tests/lean/run/defaul_param3): more tests for default param values 2017-01-31 15:28:06 -08:00
Leonardo de Moura
be6ca7c244 feat(frontends/lean): allow default parameter values in constant decls 2017-01-31 15:19:47 -08:00
Leonardo de Moura
3a4ef00f66 feat(frontends/lean): allow constructor parameters to be declared before ':' 2017-01-31 15:11:39 -08:00
Leonardo de Moura
73c16f95b9 fix(CMakeLists): config 2017-01-31 11:14:12 -08:00
Gabriel Ebner
0f96809f7a fix(frontends/lean/parser): save noncomputable theory flag in snapshots 2017-01-31 11:05:11 -08:00
Leonardo de Moura
941ba6d96c chore(*): style 2017-01-31 11:04:21 -08:00
Gabriel Ebner
fb9b719a22 chore(checker/simple_pp): pretty-print changed Sort/Prop/Type 2017-01-31 10:20:56 +01:00
Gabriel Ebner
bc75c2423f feat(checker): only print axioms that are referenced by the specified theorems 2017-01-31 10:20:56 +01:00
Gabriel Ebner
7d14cb640c feat(checker/text_import): import definitions whose type is in Prop as theorems 2017-01-31 10:20:56 +01:00
Gabriel Ebner
f404e8a2be feat(library/export,checker): add basic support for mixfix notation 2017-01-31 10:20:56 +01:00
Gabriel Ebner
63a8070bb3 feat(checker/simple_pp): display binder info 2017-01-31 10:20:56 +01:00
Gabriel Ebner
22d6d6c843 chore(kernel/quotient/quotient): fix style 2017-01-31 10:20:55 +01:00
Gabriel Ebner
54820506e4 feat(library/export): export quotient initialization 2017-01-31 10:20:55 +01:00
Gabriel Ebner
32c97df697 chore(checker): do not set LEAN_PATH unnecessarily 2017-01-31 10:20:55 +01:00
Gabriel Ebner
661dd9c8a3 feat(checker): add simple pretty-printing 2017-01-31 10:20:55 +01:00
Gabriel Ebner
0cd7d6ba7f fix(checker): fail on file not found 2017-01-31 09:39:31 +01:00
Gabriel Ebner
ba23228903 fix(checker): fix emscripten build 2017-01-31 09:39:31 +01:00
Gabriel Ebner
5769c2ad0f fix(checker): fix windows build 2017-01-31 09:39:31 +01:00
Gabriel Ebner
fb3d68d172 chore(checker): install leanchecker 2017-01-31 09:39:31 +01:00
Gabriel Ebner
94565113a6 chore(checker): remove gmp, mpfr, and dl library dependencies 2017-01-31 09:39:31 +01:00
Gabriel Ebner
61804eb8e9 chore(util/sexpr): remove mpz and mpq cases 2017-01-31 09:39:31 +01:00
Gabriel Ebner
4f3e603556 chore(doc/export_format): update export format description 2017-01-31 09:39:31 +01:00
Gabriel Ebner
9e7ca0a969 feat(checker): add leanchecker executable 2017-01-31 09:39:31 +01:00
Gabriel Ebner
2f07bf352c refactor(library/standard_kernel): move standard kernel into kernel 2017-01-31 09:39:31 +01:00
Gabriel Ebner
f3b9439029 feat(library/module_mgr): add function to get combined environment 2017-01-31 09:39:31 +01:00
Gabriel Ebner
50cfbc1fd5 fix(kernel/quotient/quotient): add missing import 2017-01-31 09:39:30 +01:00
Gabriel Ebner
81ff87e2fd fix(library/unfold_macros): actually unfold all macros 2017-01-31 09:39:30 +01:00
Gabriel Ebner
94438b515e fix(kernel/kernel_serializer): do not disable validation of external input in release builds 2017-01-31 09:39:30 +01:00
Gabriel Ebner
41787232f6 refactor(library/kernel_serializer): implement maximal sharing directly 2017-01-31 09:39:30 +01:00
Leonardo de Moura
d315e424ff feat(library/congr_lemma, library/fun_info): make sure opt_param gadget do not confuse the simplifier, fun_info, congr_lemma, etc
A definition such as

  def f (a : nat) (b : nat := a) (c : nat := a) :=
  a + b + c

should *not* be treated as a dependent function.
2017-01-30 20:23:45 -08:00
Leonardo de Moura
2b56040499 fix(library/init/propext): Type => Sort 2017-01-30 19:17:57 -08:00
Leonardo de Moura
4a2ffefdaf fix(library/init/wf): wf eliminators should be able to eliminate into Prop and Type 2017-01-30 19:14:43 -08:00
Leonardo de Moura
d3db3661af refactor(library/init/core): simpler has_sep type class with out_param 2017-01-30 18:54:56 -08:00
Leonardo de Moura
04a8518104 refactor(library/init/core): simpler has_insert type class with out_param 2017-01-30 18:50:21 -08:00