Constructive Dilemma Step Validator
Validate constructive dilemma by matching two conditionals, the disjunction of antecedents, and the disjunction of consequents.
Description
Constructive dilemma combines two conditionals with a disjunction of their antecedents to infer a disjunction of their consequents.
Constructive dilemma combines two conditionals with a disjunction of their antecedents to infer a disjunction of their consequents. Each disjunction may list its operands in either order.1
The tool returns matchesRule. Interpret the result under the rule and assumptions below; an encoded premise’s truth is not independently established.
When to use Constructive Dilemma Step Validator
Use this for the following task: Validate constructive dilemma by matching two conditionals, the disjunction of antecedents, and the disjunction of consequents. Prepare the specified logical encoding before running the check or transformation.
How to use Constructive Dilemma Step Validator and understand its results
- Prepare the requested Boolean values, complete truth-table rows, or identifier atoms. An atom is a name such as p or premise_1, not a natural-language sentence.
- Enter firstAntecedent, firstConsequent, secondAntecedent, secondConsequent, premiseLeft, premiseRight, conclusionLeft, conclusionRight according to the field table, then run the tool.
- Read matchesRule. Use the matching rule, assignment order or nonempty-class assumptions below to interpret the result.
- For a false check, inspect the supplied encoding and matching rule. A well-formed false result is different from an input error.
| Input field | Meaning | Value type and bounds | Requirement |
|---|---|---|---|
| firstAntecedent | First Antecedent | string; maximum text length 100; pattern ^(?!(?:true|false)$)[A-Za-z_][A-Za-z0-9_]*$(?![\s\S]) | Required |
| firstConsequent | First Consequent | string; maximum text length 100; pattern ^(?!(?:true|false)$)[A-Za-z_][A-Za-z0-9_]*$(?![\s\S]) | Required |
| secondAntecedent | Second Antecedent | string; maximum text length 100; pattern ^(?!(?:true|false)$)[A-Za-z_][A-Za-z0-9_]*$(?![\s\S]) | Required |
| secondConsequent | Second Consequent | string; maximum text length 100; pattern ^(?!(?:true|false)$)[A-Za-z_][A-Za-z0-9_]*$(?![\s\S]) | Required |
| premiseLeft | Premise Left | string; maximum text length 100; pattern ^(?!(?:true|false)$)[A-Za-z_][A-Za-z0-9_]*$(?![\s\S]) | Required |
| premiseRight | Premise Right | string; maximum text length 100; pattern ^(?!(?:true|false)$)[A-Za-z_][A-Za-z0-9_]*$(?![\s\S]) | Required |
| conclusionLeft | Conclusion Left | string; maximum text length 100; pattern ^(?!(?:true|false)$)[A-Za-z_][A-Za-z0-9_]*$(?![\s\S]) | Required |
| conclusionRight | Conclusion Right | string; maximum text length 100; pattern ^(?!(?:true|false)$)[A-Za-z_][A-Za-z0-9_]*$(?![\s\S]) | Required |
Supply each conditional’s identifiers and both disjunction operand pairs. Match the antecedent pair in either order and independently match the consequent pair in either order.
P→Q, R→S, P OR R ⊢ Q OR S The symbols and boundary conditions refer to the supplied fields and the implementation described above.
| Output field | Meaning | Value type |
|---|---|---|
| matchesRule | Matches Rule | boolean |
{
"input": {
"firstAntecedent": "p",
"firstConsequent": "q",
"secondAntecedent": "r",
"secondConsequent": "s",
"premiseLeft": "p",
"premiseRight": "r",
"conclusionLeft": "q",
"conclusionRight": "s"
},
"output": {
"matchesRule": true
}
} Limitations and assumptions
Operands are case-sensitive identifier atoms, not complete expressions. The tool does not parse a proof or determine whether the premises are true.
The supplied encodings must represent the intended propositions or classes. No natural-language parsing or assessment of empirical premise truth is performed. Malformed input gives a tool error rather than a logical false result.
Alternative or Complementary methods
Choose Hypothetical Syllogism Chain Validator (P→Q, Q→R ⊢ P→R) when you need its operation: Validate a hypothetical syllogism by matching two conditional links and the claimed endpoint conditional. Choose Disjunctive Syllogism Validator (P∨Q, ¬P ⊢ Q) for the complementary operation: Validate disjunctive syllogism by matching a disjunction, a negated operand, and the remaining conclusion atom.
Background reference: Additional rules for TFL.
References
-
Additional rules for TFL — forallx Calgary, Open Logic Project
Similar or alternative tools
- Hypothetical Syllogism Chain Validator (P→Q, Q→R ⊢ P→R)
Validate a hypothetical syllogism by matching two conditional links and the claimed endpoint conditional.
- Disjunctive Syllogism Validator (P∨Q, ¬P ⊢ Q)
Validate disjunctive syllogism by matching a disjunction, a negated operand, and the remaining conclusion atom.