local env = environment() local m = mk_metavar("m", mk_arrow(Prop, Prop)) local a = Local("a", Prop) print(env:normalize(Fun(a, m))) print(env:normalize(Fun(a, m(a)))) local m2 = mk_metavar("m2", mk_arrow(Prop, Prop, Prop)) print(env:normalize(Fun(a, (m2(a))(a)))) print("step1") env:type_check(m) print("step2") env:type_check(Fun(a, m(a))) print("step3") env:type_check(Fun(a, (m2(a))(a))) local m3 = mk_metavar("m3", mk_metavar("m4", mk_sort(mk_meta_univ("l")))) print("step4") env:type_check(m3) print("step5") print(env:type_check(m3(a))) print("before end")