Lean 4 fork for HoTT-compatible kernel extensions (Path types, transport, HITs). Maintained against upstream leanprover/lean4.
Find a file
Leonardo de Moura 68629b2e5f feat(library/init/category/transformers): disable instance has_monad_lift_t ==> has_coe
It produces non-termination because it triggers sub-problems of the
form (has_monad_lift_t t ?M), and this kind of sub-problem is bad
for the transitive closure rule:

instance has_monad_lift_t_trans (m n o) [has_monad_lift n o] [has_monad_lift_t m n] : has_monad_lift_t m o

The trick above only behaves well for synthesis subproblems that do not
contain sub-variables.

Note that the sub-problem (has_monad_lift_t t ?M) is created by a
similar rule used at has_coe_t.

instance {a : Type u₁} {b : Type u₂} {c : Type u₃} [has_coe a b] [has_coe_t b c] : has_coe_t a c
AND
instance {m n} [has_monad_lift_t m n] {α} : has_coe (m α) (n α) :=

We workaround the issue by disabling

  instance {m n} [has_monad_lift_t m n] {α} : has_coe (m α) (n α)

and adding instances of it. Example:

  meta instance (α : Type) : has_coe (tactic α) (solver α) := ...
  meta instance (α : Type) : has_coe (tactic α) (prover α) := ...
  meta instance (α : Type) : has_coe (tactic α) (smt_tactic α) := ...
2017-01-01 09:15:25 -08:00
bin refactor(gitignore): remove old ignore entries 2016-12-10 08:42:39 -08:00
doc chore(doc/make/cygwin): we do not support cygwin anymore (only MSYS2) 2016-12-23 10:01:08 -08:00
extras feat(kernel/declaration,*): all theorems are delayed, and are revealed on delta-reduction 2016-11-29 11:12:43 -08:00
images chore(CMakeLists.txt): move Lean logo to make sure we can test leanemacs without installing Lean 2015-01-31 17:38:49 -08:00
library feat(library/init/category/transformers): disable instance has_monad_lift_t ==> has_coe 2017-01-01 09:15:25 -08:00
old_library refactor(gitignore): remove old ignore entries 2016-12-10 08:42:39 -08:00
script refactor(emacs/load-lean): install emacs dependencies directly from (M)ELPA 2016-12-02 16:50:50 -08:00
src feat(library/type_context,frontends/lean/elaborator): add class_exception (for max depth reached), ignore them during coercion resolution (just add a trace message) 2017-01-01 08:51:09 -08:00
tests feat(library/init/meta): smt_tactic skeleton 2016-12-31 18:22:23 -08:00
tmp refactor(library/debugger): move debugger to tools 2016-12-17 10:50:13 -08:00
.appveyor.yml feat(.appveyor.yml): windows ci using appveyor 2016-12-02 17:01:58 -08:00
.codecov.yml feat(.travis.yml): add codecov 2016-12-02 17:01:58 -08:00
.gitignore chore(.gitignore): ignore VSCode config file 2016-12-18 12:35:25 -08:00
.travis.yml chore(.travis.yml): use "(A)bort" option instead of "(C)ontinue" for assertion violations 2016-12-21 21:52:58 -08:00
LICENSE Add LICENSE file 2013-07-15 18:55:48 -07:00
README.md chore(README): remove link to short tutorial 2016-12-23 09:49:52 -08:00

logo

LicenseWindowsLinux / macOSTest Coverage
Codecov

Issue Stats

About

Requirements

Installing required packages at

Windows

Linux

OS X

Build Instructions

Miscellaneous