Esempio n. 1
0
 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)            
Esempio n. 2
0
 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)