namespace foo definition tst1 : nat → nat → nat := a + b -- ERROR check tst1 definition tst2 : nat → nat → nat := begin intro a, intro b, cases add wth (a, b), -- ERROR exact a, exact b, end section parameter A : Type definition tst3 : A → A → A := begin intro a, apply b, -- ERROR exact a end check tst3 end end foo open nat definition bla : nat := foo.tst1 0 0 + foo.tst2 0 0 + foo.tst3 nat 1 1 check foo.tst1 check foo.tst2 check foo.tst3