atom : type. prop : type. %% Atoms, including some sample ones for examples atom : type. %name atom P. a : atom. b : atom. c : atom. d : atom. e : atom. f : atom. %% Propositions, omitting true (tt) and false (ff) prop : type. %name prop A. => : prop -> prop -> prop. %infix right 10 =>. % \/ : prop -> prop -> prop. %infix right 11 \/. /\ : prop -> prop -> prop. %infix right 12 /\. ? : atom -> prop. %prefix 14 ?. left : prop -> type. right : prop -> type. init : left (? P) -> right (? P). /\L1 : (left A -> right C) -> (left (A /\ B) -> right C). /\L2 : (left B -> right C) -> (left (A /\ B) -> right C). /\R : right A -> right B -> right (A /\ B). =>R : (left A -> right B) -> right (A => B). =>L : right A -> (left B -> right C) -> (left (A => B) -> right C).