Set: pp::colors Set: pp::unicode Assumed: f Assumed: N Assumed: n1 Assumed: n2 Set: lean::pp::implicit @f N n1 n2 @f ((N → N) → N → N) (λ x : N → N, x) (λ y : N → N, y) Assumed: EqNice @EqNice N n1 n2 @f N n1 n2 : N @congr : ∀ (A B : (Type U)) (f g : A → B) (a b : A), @eq (A → B) f g → @eq A a b → @eq B (f a) (g b) @f N n1 n2 Assumed: a Assumed: b Assumed: c Assumed: g Assumed: H1 Proved: Pr axiom H1 : @eq N a b ∧ @eq N b c theorem Pr : @eq N (g a) (g c) := @congr N N g g a c (@refl (N → N) g) (@trans N a b c (@and_eliml (@eq N a b) (@eq N b c) H1) (@and_elimr (@eq N a b) (@eq N b c) H1))