theorem ex1 (x : Nat) : x = x → x = x := by intro aexact (rfl) #print "---" theorem ex2 (x : Nat) : x = x → x = x := have : x = x := by foo fun h => h #print "---" theorem ex3 (x : Nat) : x = x → x = x := have : x = x := by foo (aaa bbb) fun h => h