lean2/tests/lua/tc4.lua
Leonardo de Moura 5eaf04518b refactor(*): rename Bool to Prop
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2014-07-22 09:43:18 -07:00

17 lines
602 B
Lua

local env = bare_environment()
env = add_decl(env, mk_var_decl("or", mk_arrow(Prop, Prop, Prop)))
env = add_decl(env, mk_var_decl("A", Prop))
local Or = Const("or")
local A = Const("A")
local B = Const("B")
local tc = type_checker(env)
local F = Or(A, B)
assert(tc:infer(F) == Prop)
assert(not pcall(function()
-- The following test must fail since B is not
-- declared in env.
-- This test make sure that infer and check are
-- not sharing the same cache.
print(tc:check(F))
end
))