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})
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)
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)