Categorical Logic · Relationships

The Modern Square
of Opposition

The modern (Boolean) interpretation assumes classes may be empty — so universal propositions make no existential claims. This drops subalternation and weakens contraries and subcontraries to undetermined relationships.

Key difference from the Traditional Square: The modern square rejects the assumption that S must refer to something that actually exists. As a result, subalternation is invalid, and the contrary and subcontrary relationships no longer hold — only contradictories remain fully intact.
A
All S are P
E
No S are P
I
Some S are P
O
Some S are not P
Contraries?
Relationship is undetermined — both can be true if S is empty
No longer reliable
Subcontraries?
Relationship is undetermined — both can be false if S is empty
No longer reliable
Subalternation
Dropped — truth no longer flows from A to I
Subalternation
Dropped — truth no longer flows from E to O
Contradictories ✓
Still fully intact — always opposite truth values
A↔O  ·  E↔I
Contradictories ✓
A ↔ O  ·  E ↔ I
The only relationship that fully survives in the modern square. Contradictory pairs always have opposite truth values, even when S is an empty class.
"All unicorns are horned" (A) is vacuously true, so "Some unicorns are not horned" (O) must be false.
Contraries — Undetermined
A ↔ E  (top)
In the modern square, A and E can both be vacuously true when S is empty — so they no longer cannot both be true. The contrary relationship does not hold.
"All unicorns are mortal" and "No unicorns are mortal" are both vacuously true — S is empty.
Subcontraries — Undetermined
I ↔ O  (bottom)
I and O can both be false when S is empty — so they no longer cannot both be false. The subcontrary relationship does not hold in the modern interpretation.
"Some unicorns are mortal" and "Some unicorns are not mortal" are both false — there are no unicorns.
Subalternation
A → I  ·  E → O  (sides)
Dropped entirely. In the modern square, a true universal does not guarantee a true particular, because the subject class may be empty — with no members, nothing can be said to exist in it.
"All unicorns are horned" (A) is true — but "Some unicorns are horned" (I) is false, because there are no unicorns.