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)