Exercise logic.propositional.consequence

Description
Prove that formula is a logical consequence of a set of formulas

Derivation

p -> q, q -> r => p -> r
conj-intro, initial=TList [TCon logic1.implies [TVar "p",TVar "q"],TCon logic1.implies [TVar "q",TVar "r"]]
(p -> q) /\ (q -> r) => p -> r
logic.propositional.defimpl
(~p || q) /\ (q -> r) => p -> r
logic.propositional.defimpl
(~p || q) /\ (~q || r) => p -> r
logic.propositional.defimpl
(~p || q) /\ (~q || r) => ~p || r
introfalseleft
(F || ~p || q) /\ (~q || r) => ~p || r
introcompl
((r /\ ~r) || ~p || q) /\ (~q || r) => ~p || r
logic.propositional.oroverand
(r || ~p || q) /\ (~r || ~p || q) /\ (~q || r) => ~p || r
commor.sort
(~p || q || r) /\ (~r || ~p || q) /\ (~q || r) => ~p || r
commor.sort
(~p || q || r) /\ (~p || q || ~r) /\ (~q || r) => ~p || r
introfalseleft
(~p || q || r) /\ (~p || q || ~r) /\ (F || ~q || r) => ~p || r
introcompl
(~p || q || r) /\ (~p || q || ~r) /\ ((p /\ ~p) || ~q || r) => ~p || r
logic.propositional.oroverand
(~p || q || r) /\ (~p || q || ~r) /\ (p || ~q || r) /\ (~p || ~q || r) => ~p || r
command.sort
(p || ~q || r) /\ (~p || q || r) /\ (~p || q || ~r) /\ (~p || ~q || r) => ~p || r
introfalseleft
(p || ~q || r) /\ (~p || q || r) /\ (~p || q || ~r) /\ (~p || ~q || r) => F || ~p || r
introcompl
(p || ~q || r) /\ (~p || q || r) /\ (~p || q || ~r) /\ (~p || ~q || r) => (q /\ ~q) || ~p || r
logic.propositional.oroverand
(p || ~q || r) /\ (~p || q || r) /\ (~p || q || ~r) /\ (~p || ~q || r) => (q || ~p || r) /\ (~q || ~p || r)
commor.sort
(p || ~q || r) /\ (~p || q || r) /\ (~p || q || ~r) /\ (~p || ~q || r) => (~p || q || r) /\ (~q || ~p || r)
commor.sort
(p || ~q || r) /\ (~p || q || r) /\ (~p || q || ~r) /\ (~p || ~q || r) => (~p || q || r) /\ (~p || ~q || r)
command-subset
(~p || q || r) /\ (~p || ~q || r) /\ (p || ~q || r) /\ (~p || q || ~r) => (~p || q || r) /\ (~p || ~q || r)
conj-elim
(~p || q || r) /\ (~p || ~q || r) => (~p || q || r) /\ (~p || ~q || r)