propositions.soundness module¶
Programmatic proof of the soundness of Propositional Logic.
-
propositions.soundness.
rule_nonsoundness_from_specialization_nonsoundness
(general, specialization, model)¶ Demonstrates the non-soundness of the given general inference rule given an example of the non-soundness of the given specialization of this rule.
- Parameters
general (
InferenceRule
) – inference rule to the soundness of which to find a counterexample.specialization (
InferenceRule
) – non-sound specialization ofgeneral
.model (
Mapping
[str
,bool
]) – model in whichspecialization
does not hold.
- Return type
- Returns
A model in which
general
does not hold.
-
propositions.soundness.
nonsound_rule_of_nonsound_proof
(proof, model)¶ Finds a non-sound inference rule used by the given valid proof of a non-sound inference rule, and demonstrates the non-soundness of the former rule.
- Parameters
- Return type
Tuple
[InferenceRule
,Mapping
[str
,bool
]]- Returns
A pair of a non-sound inference rule used in the given proof and a model in which this rule does not hold.