lean2/tests/lua/ac.lua

18 lines
573 B
Lua
Raw Normal View History

local env = environment()
local l = param_univ("l")
local U_l = mk_sort(l)
local A = Local("A", U_l)
local R = Local("R", mk_arrow(A, A, Bool))
local Acc = Const("Acc", {l})
local x = Local("x", A)
local y = Local("y", A)
env = add_inductive(env,
"Acc", {l}, 2, Pi({A, R, x}, Bool),
"Acc_intro", Pi({A, R, x}, mk_arrow(Pi(y, mk_arrow(R(y, x), Acc(A, R, y))), Acc(A, R, x))))
function display_type(env, t)
print(tostring(t) .. " : " .. tostring(type_checker(env):infer(t)))
end
display_type(env, Const("Acc_rec", {1}))