proposition: Lemma quiz : forall a b : nat, a = b -> b = 42 -> (forall (X : Type) (n m o : X), n = m -> m = o -> n = o) -> True.
proof: Proof. intros a b H1 H2 trans_eq. Check trans_eq nat a b 42 H1 H2 : a = 42. Check trans_eq nat b 42 a H2 : 42 = a -> b = a. Check trans_eq _ 42 a b : 42 = a -> a = b -> 42 = b. Fail Check trans_eq _ _ _ _ H2 H1. Abort. Example function_equality_ex1 : (fun x => 3 + x) = (fun x => (pred 4) + x). Proof. reflexivity. Qed.