lean4-htt/tests/lean/run/arity1.lean

18 lines
405 B
Text

open tactic decidable
definition foo (A B : Type) := A → B
definition boo (c : bool) :=
cond c nat bool
definition bla (a : nat) : boo (to_bool (a > 0)) → foo nat nat :=
λ v x, a + x
example : true :=
by do
bla ← mk_const `bla,
infer_type bla >>= trace,
n ← get_arity bla,
trace ("n arity: " ++ to_string n),
when (n ≠ 3) (fail "bla is expected to have arity 3"),
constructor