Mirror of https://github.com/leanprover/lean2 in case it ever disappears
Find a file
Leonardo de Moura 812c1a2960 feat(library/elaborator): only expand definitions that are not marked as hidden
The elaborator produces better proof terms. This is particularly important when we have to prove the remaining holes using tactics.
For example, in one of the tests, the elaborator was producing the sub-expression

 (λ x : N, if ((λ x::1 : N, if (P a x x::1) ⊥ ⊤) == (λ x : N, ⊤)) ⊥ ⊤)

After, this commit it produces

 (λ x : N, ¬ ∀ x::1 : N, ¬ P a x x::1)

The expressions above are definitionally equal, but the second is easier to work with.

Question: do we really need hidden definitions?
Perhaps, we can use only the opaque flag.

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2013-12-20 02:16:49 -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 feat(library/elaborator): only expand definitions that are not marked as hidden 2013-12-20 02:16:49 -08:00
tests feat(library/elaborator): only expand definitions that are not marked as hidden 2013-12-20 02:16:49 -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