Lean 4 fork for HoTT-compatible kernel extensions (Path types, transport, HITs). Maintained against upstream leanprover/lean4.
Find a file
Leonardo de Moura cd8c154bcd feat(library/compiler/vm_compiler): clear runtime cost model
The equation compiler uses different strategies for processing
recursive equations. Some of them may produce unclear runtime cost
model. For example, the following fibonacci functions was running in
linear time instead of exponential time because the equation compiler
used the brec_on recursor.

def fib : nat → nat
| 0     := 1
| 1     := 1
| (n+2) := fib (n+1) + fib n

@dselsam and @jroesch have reported examples were the equation compiler
produces a negative performance impact. The new test (`eval` function)
captures the problem reported by @jroesch. In this example, the runtime
should not depend on the "amount of fuel".

This commit addresses this issue.
2017-11-01 14:11:09 -07:00
.github chore(.github/CONTRIBUTING): fix typos and URLs 2017-10-30 16:23:22 +01:00
bin chore(src/emacs): move lean-mode to https://github.com/leanprover/lean-mode 2017-10-06 10:46:43 -07:00
doc feat(frontends/lean): add support for unicode char literals and escape sequences 2017-10-23 13:46:57 -07:00
extras/latex chore(extras/depgraph): remove leandeps 2017-07-15 02:27:17 -07: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
leanpkg fix(leanpkg): fix error message 2017-09-14 18:48:18 +02:00
library feat(library/equations_compiler/compiler): generate meta auxiliary definitions for regular (recursive) definitions 2017-11-01 11:58:45 -07:00
script chore(script/package_registry): remove library_dev from test suite 2017-08-17 07:41:35 -07:00
src feat(library/compiler/vm_compiler): clear runtime cost model 2017-11-01 14:11:09 -07:00
tests feat(library/compiler/vm_compiler): clear runtime cost model 2017-11-01 14:11:09 -07:00
tmp feat(frontends/lean,library/equations_compiler): store tactics for generating well founded relation and decreasing proofs 2017-05-23 15:00:29 -07:00
.appveyor.yml chore(.appveyor.yml,.travis.yml): simplify using glob patterns 2017-07-26 17:13:34 +02:00
.clang-format feat(library/vm/process): add basic process support 2017-03-28 18:08:06 -07:00
.codecov.yml fix(.codecov.yml): do not fail github ci if coverage drops by 0.01% 2017-06-25 10:35:02 +02:00
.gitignore chore(gitignore): ignore nix files 2017-06-19 13:16:04 +02:00
.travis.yml chore(.travis.yml): undo Travis update 2017-09-15 12:33:46 -07:00
LICENSE
README.md chore(src/emacs): move lean-mode to https://github.com/leanprover/lean-mode 2017-10-06 10:46:43 -07:00