Lean 4 fork for HoTT-compatible kernel extensions (Path types, transport, HITs). Maintained against upstream leanprover/lean4.
Find a file
Leonardo de Moura 368e2bce80 feat(library/compiler/preprocessor): ignore propositions in the preprocessor
Suppose we have

    def foo : some_proposition :=
    by non_trivial_automation

Moreover, assume non_trivial_automation generates a huge proof.
Since this definition is marked with `def`, it is sent to the VM
compiler. In this kind of scenario, the compiler preprocessor was
spending a long time applying "useless" preprocessing steps.
We say they are useless because in the end everything is erased.

I think we should make sure every definition has some bytecode
associated with it in the VM even if the type of the definition
is a proposition. In this way, we have a simple invariant:

      every definition has a vm_decl associated with it.

So, we workaround the performance problem above by short-circuiting
the preprocessor for propositions.
2017-02-15 22:11:53 -08:00
bin refactor(gitignore): remove old ignore entries 2016-12-10 08:42:39 -08:00
doc feat(kernel,library,frontends/lean,api): remove global universe levels from kernel and APIs 2017-02-08 17:41:44 -08:00
extras chore(extra/latex/*): update to changes in syntax 2017-01-03 11:22:04 -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 fix(library/equations_compiler): performance issues at structural_rec module and equational lemma generator 2017-02-15 21:31:28 -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/compiler/preprocessor): ignore propositions in the preprocessor 2017-02-15 22:11:53 -08:00
tests fix(library/equations_compiler): performance issues at structural_rec module and equational lemma generator 2017-02-15 21:31:28 -08:00
tmp refactor(library/debugger): move debugger to tools 2016-12-17 10:50:13 -08:00
.appveyor.yml chore(CMakeLists): make sure we change the version number in a single place 2017-01-19 18:28:51 -08:00
.appveyor.yml.in chore(CMakeLists): make sure we change the version number in a single place 2017-01-19 18:28:51 -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): reduce ctest verbosity 2017-02-04 13:49:30 -08:00
.travis.yml.in chore(.travis.yml): reduce ctest verbosity 2017-02-04 13:49:30 -08:00
LICENSE Add LICENSE file 2013-07-15 18:55:48 -07:00
README.md workaround instruction for gperftools on macOS Sierra 2017-01-17 16:37:06 -08:00

logo

LicenseWindowsLinux / macOSTest Coverage
Codecov

Issue Stats

About

Requirements

Installing required packages at

Windows

Linux

OS X

Build Instructions

Miscellaneous