lean2/tests/lua/expr2.lua

26 lines
1.1 KiB
Lua
Raw Normal View History

local f = Const("f")
local a = Const("a")
local b = Const("b")
local x = Var(0)
assert(f(a, a):is_lt(f(a, b)))
assert(Const("a"):is_lt(Const("b")))
assert(Var(0):is_lt(Const("b")))
assert(name("a") < name("b"))
assert(not (Bool:is_lt(Bool)))
assert(not (Bool < Bool))
assert(mk_metavar("a", Bool):is_lt(mk_metavar("b", Bool)))
assert(not mk_metavar("a", Bool):is_lt(mk_metavar("a", Bool)))
assert(mk_metavar("a", Bool):is_lt(mk_metavar("a", Type)))
assert(mk_local("a", Bool):is_lt(mk_local("b", Bool)))
assert(not mk_local("a", Bool):is_lt(mk_local("a", Bool)))
assert(Bool:is_lt(Const("a")))
assert(Fun(a, Bool, a):is_lt(Fun(a, Type, a)))
assert(Fun(a, Bool, a):is_lt(Fun(a, Bool, Var(2))))
assert(Pi(a, Bool, a):is_lt(Pi(a, Type, a)))
assert(Pi(a, Bool, a):is_lt(Pi(a, Bool, Var(2))))
assert(Var(0) < Var(1))
print(Const("a", {mk_level_one(), mk_level_zero()}))
assert(Const("a", {mk_level_one()}):is_lt(Const("a", {mk_level_one(), mk_level_zero()})))
assert(Const("a", {mk_level_zero(), mk_level_one()}):is_lt(Const("a", {mk_level_one()})))
assert(not Const("a", {mk_level_zero(), mk_level_one()}):is_lt(Const("a", {mk_level_zero(), mk_level_one()})))