lean4-htt/tests/lean
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
..
interactive 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
slow
stackoverflow
abst.lean
abst.lean.expected.out
apply_tac1.lean
apply_tac1.lean.expected.out
arith1.lean
arith1.lean.expected.out
arith2.lean
arith2.lean.expected.out
arith3.lean
arith3.lean.expected.out
arith4.lean
arith4.lean.expected.out
arith5.lean
arith5.lean.expected.out
arith6.lean
arith6.lean.expected.out
arith7.lean
arith7.lean.expected.out
arith8.lean
arith8.lean.expected.out
arrow.lean
arrow.lean.expected.out
bad1.lean
bad1.lean.expected.out
bad2.lean
bad2.lean.expected.out
bad3.lean
bad3.lean.expected.out
bad4.lean
bad4.lean.expected.out
bad5.lean
bad5.lean.expected.out
bad6.lean
bad6.lean.expected.out
bad7.lean
bad7.lean.expected.out
bad8.lean
bad8.lean.expected.out
cast1.lean
cast1.lean.expected.out
cast2.lean
cast2.lean.expected.out
cast3.lean
cast3.lean.expected.out
coercion1.lean
coercion1.lean.expected.out
coercion2.lean
coercion2.lean.expected.out
config.lean
config.lean.expected.out
conv.lean
conv.lean.expected.out
disj1.lean
disj1.lean.expected.out
elab1.lean
elab1.lean.expected.out feat(library/elaborator): only expand definitions that are not marked as hidden 2013-12-20 02:16:49 -08:00
elab2.lean
elab2.lean.expected.out
elab3.lean
elab3.lean.expected.out
elab4.lean
elab4.lean.expected.out
elab5.lean
elab5.lean.expected.out
elab7.lean
elab7.lean.expected.out
eq1.lean
eq1.lean.expected.out
eq2.lean
eq2.lean.expected.out
eq3.lean
eq3.lean.expected.out
ex1.lean
ex1.lean.expected.out
ex2.lean
ex2.lean.expected.out
ex3.lean
ex3.lean.expected.out
exists1.lean
exists1.lean.expected.out
exists2.lean
exists2.lean.expected.out
exists3.lean
exists3.lean.expected.out
exists4.lean
exists4.lean.expected.out feat(library/elaborator): only expand definitions that are not marked as hidden 2013-12-20 02:16:49 -08:00
exists5.lean
exists5.lean.expected.out
exit.lean
exit.lean.expected.out
forall1.lean
forall1.lean.expected.out
ho.lean
ho.lean.expected.out
implicit1.lean
implicit1.lean.expected.out
implicit2.lean
implicit2.lean.expected.out
implicit3.lean
implicit3.lean.expected.out
implicit4.lean
implicit4.lean.expected.out
implicit5.lean
implicit5.lean.expected.out
implicit6.lean
implicit6.lean.expected.out
implicit7.lean
implicit7.lean.expected.out
let1.lean
let1.lean.expected.out
let2.lean
let2.lean.expected.out
let3.lean
let3.lean.expected.out
let4.lean
let4.lean.expected.out
loop1.lean
loop1.lean.expected.out
loop2.lean
loop2.lean.expected.out
lua1.lean
lua1.lean.expected.out
lua2.lean
lua2.lean.expected.out
lua3.lean
lua3.lean.expected.out
lua4.lean
lua4.lean.expected.out
lua5.lean
lua5.lean.expected.out
lua6.lean
lua6.lean.expected.out
lua7.lean
lua7.lean.expected.out
lua8.lean
lua8.lean.expected.out
lua9.lean
lua9.lean.expected.out
lua10.lean
lua10.lean.expected.out
lua11.lean
lua11.lean.expected.out
lua12.lean
lua12.lean.expected.out
lua13.lean
lua13.lean.expected.out
lua14.lean
lua14.lean.expected.out
lua15.lean
lua15.lean.expected.out
lua16.lean
lua16.lean.expected.out
lua17.lean fix(library/io_state): bug in the io_state Lua bindings 2013-12-19 16:39:42 -08:00
lua17.lean.expected.out fix(library/io_state): bug in the io_state Lua bindings 2013-12-19 16:39:42 -08:00
lua18.lean feat(frontends/lean): macro definition using Lua 2013-12-19 19:08:10 -08:00
lua18.lean.expected.out feat(frontends/lean): macro definition using Lua 2013-12-19 19:08:10 -08:00
mod1.lean
mod1.lean.expected.out
nbug1.lean
nbug1.lean.expected.out
norm1.lean
norm1.lean.expected.out
overload1.lean
overload1.lean.expected.out
overload2.lean
overload2.lean.expected.out
push.lean
push.lean.expected.out
refute1.lean
refute1.lean.expected.out
revapp.lean
revapp.lean.expected.out
scope.lean
scope.lean.expected.out
script.lua
showenv.l
simple.lean
simple.lean.expected.out
single.lean
single.lean.expected.out
subst.lean
subst.lean.expected.out
tactic1.lean
tactic1.lean.expected.out
tactic2.lean
tactic2.lean.expected.out
tactic3.lean
tactic3.lean.expected.out
tactic4.lean
tactic4.lean.expected.out
tactic5.lean
tactic5.lean.expected.out
tactic6.lean
tactic6.lean.expected.out
tactic7.lean
tactic7.lean.expected.out
tactic8.lean
tactic8.lean.expected.out
tactic9.lean
tactic9.lean.expected.out
tactic10.lean
tactic10.lean.expected.out
tactic11.lean
tactic11.lean.expected.out
tactic12.lean
tactic12.lean.expected.out
tactic13.lean
tactic13.lean.expected.out
tactic14.lean
tactic14.lean.expected.out
test.sh
test_single.sh
test_single_pp.sh
tst1.lean
tst1.lean.expected.out
tst2.lean
tst2.lean.expected.out
tst3.lean
tst3.lean.expected.out
tst4.lean
tst4.lean.expected.out
tst5.lean
tst5.lean.expected.out
tst6.lean
tst6.lean.expected.out feat(library/elaborator): only expand definitions that are not marked as hidden 2013-12-20 02:16:49 -08:00
tst7.lean
tst7.lean.expected.out
tst8.lean
tst8.lean.expected.out
tst9.lean
tst9.lean.expected.out
tst10.lean
tst10.lean.expected.out
tst11.lean
tst11.lean.expected.out
tst12.lean
tst12.lean.expected.out
tst13.lean
tst13.lean.expected.out
tst14.lean
tst14.lean.expected.out
tst15.lean
tst15.lean.expected.out
tst16.lean
tst16.lean.expected.out
tst17.lean
tst17.lean.expected.out
ty1.lean
ty1.lean.expected.out
ty2.lean
ty2.lean.expected.out
unicode.lean
unicode.lean.expected.out
vars1.lean
vars1.lean.expected.out