Complement Law Contradiction Tautology Pair Checker
Check for complementary signed identifier literals and apply their conjunction or disjunction law.
Description
Complementary literals name the same atom with opposite signs.
Complementary literals name the same atom with opposite signs. Their conjunction is always false and their disjunction always true.1
The tool returns complementary, simplified. Interpret the result under the rule and assumptions below; an encoded premise’s truth is not independently established.
When to use Complement Law Contradiction Tautology Pair Checker
Use this for the following task: Check for complementary signed identifier literals and apply their conjunction or disjunction law. Prepare the specified logical encoding before running the check or transformation.
How to use Complement Law Contradiction Tautology Pair Checker 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 operator, left, right, leftNegated, rightNegated according to the field table, then run the tool.
- Read complementary, simplified. 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 |
|---|---|---|---|
| operator | Boolean operator | string; choices "and", "or" | Required |
| left | Left | string; maximum text length 100; pattern ^(?!(?:true|false)$)[A-Za-z_][A-Za-z0-9_]*$(?![\s\S]) | Required |
| right | Right | string; maximum text length 100; pattern ^(?!(?:true|false)$)[A-Za-z_][A-Za-z0-9_]*$(?![\s\S]) | Required |
| leftNegated | Left literal negated | boolean | Required |
| rightNegated | Right literal negated | boolean | Required |
Supply an operation, two atom identifiers and separate negation flags. Recognize a complement pair when identifiers agree and flags differ; otherwise return the rendered unsimplified expression.
P AND NOT P = false; P OR NOT P = true The symbols and boundary conditions refer to the supplied fields and the implementation described above.
| Output field | Meaning | Value type |
|---|---|---|
| complementary | Complementary literals | boolean |
| simplified | Resulting propositional formula | string (propositional-formula) |
{
"input": {
"operator": "and",
"left": "p",
"right": "p",
"leftNegated": false,
"rightNegated": true
},
"output": {
"complementary": true,
"simplified": "false"
}
} 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 Idempotence Duplicate Term Collapser Checker (P∧P=P) when you need its operation: Collapse equal identifier operands under conjunction or disjunction using idempotence. Choose Domination Law Annihilator Checker (P∨T=T, P∧F=F) for the complementary operation: Check whether a Boolean constant is the annihilator of conjunction or disjunction.
Background reference: Additional rules for TFL.
References
-
Additional rules for TFL — forallx Calgary, Open Logic Project
Similar or alternative tools
- Idempotence Duplicate Term Collapser Checker (P∧P=P)
Collapse equal identifier operands under conjunction or disjunction using idempotence.
- Domination Law Annihilator Checker (P∨T=T, P∧F=F)
Check whether a Boolean constant is the annihilator of conjunction or disjunction.