Tags: absorption python declaration class

AbsorptionDeclaration (python class)

This section presents the AbsorptionDeclaration python class.

This class models the declaration of the absorption inference-rule in the target universe-of-discourse.

Punctilious users do not need to instanciate objects from this class. In effect, the UniverseOfDiscourse class exposes the absorption property, and instanciation is automatic when the property is accessed for the first time.

class punctilious.AbsorptionDeclaration(u, echo=None)

This python class models the declaration of the absorption inference-rule in a universe-of-discourse .

TODO: AbsorptionDeclaration: Add a data validation step to assure that terms p and q are propositional.

class Premises(p_implies_q)
p_implies_q: Union[punctilious.core.Formula, punctilious.core.FormulaStatement, punctilious.core.CompoundFormula, tuple, list]

Alias for field number 0

construct_formula(p_implies_q)

This python method verify the syntactic correctness of the premises, but does not verify the validity of the premises, it then applies the inference-rule algorithm, and returns a formula.

Note

Note the critical distinction between the construct_formula and the infer_formula_statement methods. The former only verifies the syntactic correctness but does not verify the validity of the premises, it then applies the inference-rule algorithm, and produces a formula that may be invalid . The later verifies the validity of the premises, applies the inference-rule algorithm, and produces a formula-statement that is valid by definition.

Taking the modus-ponens inference-rule as an example, the construct_formula method requires two premise arguments: p_implies_q and p. One may pass a formula as the p_implies_q argument that is not valid in the theory-derivation under consideration, but that is syntactically correct. On the other hand, the infer_formula_statement method requires that both premise arguments be valid.

This distinction makes it possible to use the algorithms of inference-rules in “what if” scenarii, i.e. building invalid formulae. And at the same time, it assures that all formula_statements are valid.

Return type

CompoundFormula