Not¶
-
class
proveit.logic.
Not
(A, *, styles=None)[source]¶ Bases:
proveit.Operation
Methods Summary
affirm_via_contradiction
(self, conclusion, …)From not(A), derive the conclusion provided that the negated conclusion implies both not(A) as well as A, and the conclusion is a Boolean.
conclude
(self, \*\*defaults_config)Try to automatically conclude this negation via evaluation reductions or double negation.
conclude_negation
(self, \*\*defaults_config)Try to conclude the negation of this negation via double negation.
conclude_via_double_negation
(self, …)Prove and return self of the form not(not(A)) assuming A.
conclude_via_falsified_negation
(self, …)Prove and return self of the form not(A) assuming A=FALSE.
deduce_double_negation_equiv
(self, …)For some not(not(A)), derive and return A = not(not(A)) assuming A in Boolean.
deduce_in_bool
(self, \*\*defaults_config)Attempt to deduce, then return, that this ‘not’ expression is in the set of BOOLEANS.
deduce_operand_in_bool
(self, \*\*defaults_config)Attempt to deduce, then return, that the negated operand is in the set of BOOLEANS.
deny_via_contradiction
(self, conclusion, …)From not(A), derive the negated conclusion provided that the conclusion implies both not(A) as well as A, and the conclusion is a Boolean.
derive_contradiction
(self, \*\*defaults_config)From not(A), and assuming A, derive and return FALSE.
derive_in_bool
(self, \*\*defaults_config)From Not(A) derive [Not(A) in Boolean].
derive_untrue
(self, \*\*defaults_config)From not(A), derive and return A != TRUE.
derive_via_double_negation
(self, …)From not(not(A)), derive and return A.
double_negation_equivalence
(self, …)Given not(not(A)), deduce and return not(not(A)) = A.
equate_negated_to_false
(self, …)From not(A), derive and return A = FALSE.
evaluation
(self, \*\*defaults_config)If possible, return a Judgment of this expression equal to an irreducible value.
in_bool_side_effects
(self, judgment)From not(A) in Boolean deduce A in Boolean, where self is not(A).
latex
(self[, fence])Return a latex-formatted representation of the Expression.
side_effects
(self, judgment)Side-effect derivations to attempt automatically.
substitute_falsehood
(self, lambda_map, …)Given not(A), derive P(A) from P(FALSE).
substitute_in_false
(self, lambda_map, …)Given not(A), derive P(FALSE) from P(A).
Methods Documentation
-
affirm_via_contradiction
(self, conclusion, \*\*defaults_config)[source]¶ From not(A), derive the conclusion provided that the negated conclusion implies both not(A) as well as A, and the conclusion is a Boolean.
Keyword arguments are accepted for temporarily changing any of the attributes of proveit.defaults.
-
conclude
(self, \*\*defaults_config)[source]¶ Try to automatically conclude this negation via evaluation reductions or double negation.
Keyword arguments are accepted for temporarily changing any of the attributes of proveit.defaults.
-
conclude_negation
(self, \*\*defaults_config)[source]¶ Try to conclude the negation of this negation via double negation. That is, conclude not(not(A)), where self=not(A), via proving A. If that fails (e.g., an unusable theorem), call conclude on not(not(A)) directly.
Keyword arguments are accepted for temporarily changing any of the attributes of proveit.defaults.
-
conclude_via_double_negation
(self, \*\*defaults_config)[source]¶ Prove and return self of the form not(not(A)) assuming A. Also see version in NotEquals for A != FALSE.
Keyword arguments are accepted for temporarily changing any of the attributes of proveit.defaults.
-
conclude_via_falsified_negation
(self, \*\*defaults_config)[source]¶ Prove and return self of the form not(A) assuming A=FALSE.
Keyword arguments are accepted for temporarily changing any of the attributes of proveit.defaults.
-
deduce_double_negation_equiv
(self, \*\*defaults_config)[source]¶ For some not(not(A)), derive and return A = not(not(A)) assuming A in Boolean.
Keyword arguments are accepted for temporarily changing any of the attributes of proveit.defaults.
-
deduce_in_bool
(self, \*\*defaults_config)[source]¶ Attempt to deduce, then return, that this ‘not’ expression is in the set of BOOLEANS.
Keyword arguments are accepted for temporarily changing any of the attributes of proveit.defaults.
-
deduce_operand_in_bool
(self, \*\*defaults_config)[source]¶ Attempt to deduce, then return, that the negated operand is in the set of BOOLEANS.
Keyword arguments are accepted for temporarily changing any of the attributes of proveit.defaults.
-
deny_via_contradiction
(self, conclusion, \*\*defaults_config)[source]¶ From not(A), derive the negated conclusion provided that the conclusion implies both not(A) as well as A, and the conclusion is a Boolean.
Keyword arguments are accepted for temporarily changing any of the attributes of proveit.defaults.
-
derive_contradiction
(self, \*\*defaults_config)[source]¶ From not(A), and assuming A, derive and return FALSE.
Keyword arguments are accepted for temporarily changing any of the attributes of proveit.defaults.
-
derive_in_bool
(self, \*\*defaults_config)[source]¶ From Not(A) derive [Not(A) in Boolean].
Keyword arguments are accepted for temporarily changing any of the attributes of proveit.defaults.
-
derive_untrue
(self, \*\*defaults_config)[source]¶ From not(A), derive and return A != TRUE.
Keyword arguments are accepted for temporarily changing any of the attributes of proveit.defaults.
-
derive_via_double_negation
(self, \*\*defaults_config)[source]¶ From not(not(A)), derive and return A. Note, see Equals.derive_via_boolean_equality for the reverse process.
Keyword arguments are accepted for temporarily changing any of the attributes of proveit.defaults.
-
double_negation_equivalence
(self, \*\*defaults_config)[source]¶ Given not(not(A)), deduce and return not(not(A)) = A.
Keyword arguments are accepted for temporarily changing any of the attributes of proveit.defaults.
-
equate_negated_to_false
(self, \*\*defaults_config)[source]¶ From not(A), derive and return A = FALSE. Note, see Equals.derive_via_boolean_equality for the reverse process.
Keyword arguments are accepted for temporarily changing any of the attributes of proveit.defaults.
-
evaluation
(self, \*\*defaults_config)¶ If possible, return a Judgment of this expression equal to an irreducible value. This Operation.evaluation version simplifies the operands and then calls shallow_simplification with must_evaluat=True.
Keyword arguments are accepted for temporarily changing any of the attributes of proveit.defaults.
‘evaluated’ returns the right-hand side of ‘evaluation’. ‘evaluate’, called on an InnerExpr of a Judgment, substitutes the right-hand side of ‘evaluation’ for the inner expression.
-
in_bool_side_effects
(self, judgment)[source]¶ From not(A) in Boolean deduce A in Boolean, where self is not(A).
-
latex
(self, fence=False, \*\*kwargs)[source]¶ Return a latex-formatted representation of the Expression. The kwargs can contain formatting directives (such as ‘fence’ used to indicate when a sub-expression should be wrapped in parentheses if there can be ambiguity in the order of operations).
-