23 lines
596 B
Text
23 lines
596 B
Text
|
import data.list
|
||
|
|
||
|
#congr @add
|
||
|
#congr @ite
|
||
|
#congr @perm
|
||
|
|
||
|
section
|
||
|
variables p : nat → Prop
|
||
|
variables q : nat → nat → Prop
|
||
|
variables f : Π (x y : nat), p x → q x y → nat
|
||
|
|
||
|
#congr f
|
||
|
end
|
||
|
|
||
|
constant p : Π {A : Type}, A → Prop
|
||
|
constant q : Π {A : Type} (n m : A), p n → p m → Prop
|
||
|
constant r : Π {A : Type} (n m : A) (H₁ : p n) (H₂ : p m), q n m H₁ H₂ → Prop
|
||
|
constant h : Π (A : Type) (n m : A)
|
||
|
(H₁ : p n) (H₂ : p m) (H₃ : q n n H₁ H₁) (H₄ : q n m H₁ H₂)
|
||
|
(H₅ : r n m H₁ H₂ H₄) (H₆ : r n n H₁ H₁ H₃), A
|
||
|
|
||
|
#congr h
|