Mirror of https://github.com/leanprover/lean2 in case it ever disappears
Find a file
Leonardo de Moura 7772c16033 refactor(kernel): add unfold_opaque flag to normalizer, modify how type checker uses the opaque flag, remove hidden_defs, and mark most builtin definitions as opaque
After this commit, in the type checker, when checking convertability, we first compute a normal form without expanding opaque terms.
If the terms are convertible, then we are done, and saved a lot of time by not expanding unnecessary definitions.
If they are not, instead of throwing an error, we try again expanding the opaque terms.
This seems to be the best of both worlds.
The opaque flag is a hint for the type checker, but it would never prevent us from type checking  a valid term.

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2013-12-20 12:47:47 -08:00
doc fix(doc/make/split-stack): typo 2013-12-09 22:45:13 -08:00
examples/lean fix(frontends/lean/parser): fix deadlock in macro parser 2013-12-19 21:40:00 -08:00
script fix(script/demangle_cpptype): process line-by-line, instead of waiting for EOF 2013-09-29 18:36:01 -07:00
src refactor(kernel): add unfold_opaque flag to normalizer, modify how type checker uses the opaque flag, remove hidden_defs, and mark most builtin definitions as opaque 2013-12-20 12:47:47 -08:00
tests refactor(kernel): add unfold_opaque flag to normalizer, modify how type checker uses the opaque flag, remove hidden_defs, and mark most builtin definitions as opaque 2013-12-20 12:47:47 -08:00
.gitignore chore(.gitignore): update .gitignore 2013-12-01 00:48:44 -05:00
.travis.osx.yml chore(travis): fix Lua packages (OSX) 2013-12-13 17:55:54 -05:00
.travis.windows.yml chore(travis): use gcc-4.8.3 (20131205) version for windows build 2013-12-12 16:29:14 -05:00
.travis.yml chore(travis): fix Lua packages (Linux) 2013-12-13 17:55:54 -05:00
LICENSE Add LICENSE file 2013-07-15 18:55:48 -07:00
README.md doc(README.md): Boost support 2013-12-09 17:45:31 -08:00

UbuntuOS XWindowsCoverageBuilds / UnitTests / Dynamic Analyses
http://build.leanprover.net

About

Requirements

Installing required packages at

Build Instructions

Miscellaneous