Mirror of https://github.com/leanprover/lean2 in case it ever disappears
Find a file
Leonardo de Moura 691893258d feat(kernel/expr): add hash code based on allocation time
The new hash code has the property that given expr_cell * c1 and expr_cell * c2,
if c1 != c2 then there is a high propbability that c1->hash_alloc() != c2->hash_alloc().

The structural hash code hash() does not have this property because we may have
c1 != c2, but c1 and c2 are structurally equal.

The new hash code is only compatible with pointer equality.
By compatible we mean, if c1 == c2, then c1->hash_alloc() == c2->hash_alloc().
This property is obvious because hash_alloc() does not have side-effects.

The test tests/lua/big.lua exposes the problem fixed by this commit.

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2013-11-14 02:43:11 -08:00
doc doc(coding_style.md): add section about git pre-push hook 2013-11-11 20:18:38 -05:00
examples/lean Fix typo 2013-09-05 19:18:55 -07: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(kernel/expr): add hash code based on allocation time 2013-11-14 02:43:11 -08:00
tests feat(kernel/expr): add hash code based on allocation time 2013-11-14 02:43:11 -08:00
.gitignore Add more tests 2013-08-31 18:46:18 -07:00
.travis.osx.yml chore(travis): fix .travis.osx.yml 2013-11-12 23:15:03 -05:00
.travis.windows.yml chore(travis): use cmake-2.8.7 for windows build 2013-11-06 13:49:14 -05:00
.travis.yml chore(travis): update coveralls.io repo token 2013-11-10 02:04:27 -05:00
LICENSE Add LICENSE file 2013-07-15 18:55:48 -07:00
README.md doc(README.md): "Code coverage" => "Coverage" to fit in one line 2013-11-11 20:42:15 -05:00

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

About

Requirements

Installing required packages at

Build Instructions

Miscellaneous