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 : TypeU) (B : A → TypeU) (f g : ∀ x : A, B x) (a b : A), f == g → a == 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
           (λ x : 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))