from proveit.basiclogic import FALSE, Equals, Implies from proveit.common import A # FALSE = A FeqA = Equals(FALSE, A) # FALSE assumen FALSE=A and A FeqA.deriveReversed().deriveContradiction().proven({FeqA, A}) # forall_{A} (FALSE=A) => [A => FALSE] Implies(FeqA, Implies(A, FALSE)).generalize([A]).qed(__file__)
from proveit.basiclogic import Implies, Equals, TRUE from proveit.common import A hypothesis = Equals(TRUE, A) Implies(hypothesis, hypothesis.deriveReversed().deriveViaBooleanEquality()).generalize( A).qed(__file__)
from proveit.basiclogic import Implies, Equals, FALSE from proveit.common import A # FeqA := (F=A) FeqA = Equals(FALSE, A) # Not(A) assuming FeqA notA = FeqA.deriveReversed().deriveViaBooleanEquality().proven({FeqA}) Implies(FeqA, notA).generalize(A).qed(__file__)