def substituteFalsehood(self, lambdaMap, assumptions=USE_DEFAULTS): ''' Given not(A), derive P(A) from P(False). ''' from proveit.logic.equality._theorems_ import substituteFalsehood from proveit.logic import Equals from proveit.common import P Plambda = Equals._lambdaExpr(lambdaMap, self.operand) return substituteFalsehood.specialize({x:self.operand, P:Plambda}, assumptions=assumptions)
def subRightSideInto(self, lambdaMap, assumptions=USE_DEFAULTS): ''' From A equiv B, and given P(A), derive P(B) assuming P(A). UNDER CONSTRUCTION, adapted from Equals class. P(x) is provided via lambdaMap as a Lambda expression or an object that returns a Lambda expression when calling lambdaMap() (see proveit.lambda_map, proveit.lambda_map.SubExprRepl in particular), or, if neither of those, an expression upon which to perform a global replacement of self.lhs. ''' from ._theorems_ import subRightSideInto from proveit.logic import Equals Plambda = Equals._lambdaExpr(lambdaMap, self.lhs) return subRightSideInto.specialize( { A: self.lhs, B: self.rhs, P: Plambda }, assumptions=assumptions)