proof K : A => B => A
proof S : (A => B => C) => (A => B) => A => C
proof orComm : A | B => B | A
proof distribOrImp : (A | B => C) => (A => C) & (B => C)
proof clue : (P => (C & K) | (D & L))
=> (~K => S)
=> (D | L)
=> (P => ~S) & (S => ~P)
=> (C => ~D) & (D => ~C)
=> (K => ~L) & (L => ~K)
=> ~P