예제 #1
0
 def substitute_falsehood(self, lambda_map, **defaults_config):
     '''
     Given not(A), derive P(A) from P(FALSE).
     '''
     from proveit.logic.equality import substitute_falsehood
     from proveit.logic import Equals
     from proveit.common import P
     Plambda = Equals._lambda_expr(lambda_map, self.operand)
     return substitute_falsehood.instantiate({x: self.operand, P: Plambda})
예제 #2
0
 def substitute_falsehood(self, lambda_map, assumptions=USE_DEFAULTS):
     '''
     Given not(A), derive P(A) from P(False).
     '''
     from proveit.logic.equality import substitute_falsehood
     from proveit.logic import Equals
     from proveit.common import P
     Plambda = Equals._lambda_expr(lambda_map, self.operand)
     return substitute_falsehood.instantiate(
         {x: self.operand, P: Plambda}, assumptions=assumptions)
예제 #3
0
 def sub_right_side_into(self, lambda_map, 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 lambda_map as a Lambda expression or an
     object that returns a Lambda expression when calling lambda_map()
     (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 . import sub_right_side_into
     from proveit.logic import Equals
     Plambda = Equals._lambda_expr(lambda_map, self.lhs)
     return sub_right_side_into.instantiate(
         {
             A: self.lhs,
             B: self.rhs,
             P: Plambda
         }, assumptions=assumptions)