Syllogistic forms: modern (FOL) reading #
The four syll* predicates correspond to the A/I/E/O corners of the
Aristotelian square, evaluated over a Venn state with given term predicates
X, Y : Region → Bool. This file uses the modern (first-order)
reading: no existential import on the universal forms (syllAll, syllNone).
| Form | A (universal +) | I (particular +) | E (universal −) | O (particular −) |
|---|---|---|---|---|
| Lean | syllAll | syllSome | syllNone | syllSomeNot |
| GQ | every_sem | some_sem | no_sem | ¬every_sem |
| FOL | ∀ X→Y | ∃ X∧Y | ∀ X→¬Y | ∃ X∧¬Y |
The grounding theorems syll*_eq_true_iff connect each syll* to the
corresponding GQ denotation from Quantifier.lean, making the relationship
true by construction.
Existential import lives in study files #
Aristotelian readings (existential import on universal forms — e.g.
"All A is B" presupposes ∃A) are paper-specific stances and live as
study-file wrappers, e.g.
def tesslerAll s X Y := syllAll s X Y && decide (∃ r, s r ∧ X r)
This matches the codebase convention: substrate stays modern/FOL/mathlib-style; paper-specific commitments wrap the substrate at the point of use.
The Aristotelian Square (with full SquareRelations) lives in Square.lean
as a sortal restriction to states with non-empty restrictor — see that file
for the full opposition diagram in the Demey–Smessaert sense.
Regions as a Montague model, enabling reuse of every_sem/some_sem/no_sem
from the GQ theory layer. Index = Unit (extensional). abbrev so that
regionModel.Entity reduces transparently to Region for unification.
Equations
- Semantics.Quantification.Syllogistic.regionModel = { Entity := Semantics.Quantification.Syllogistic.Region, Index := Unit }
Instances For
"All Xs are Ys" in state s (modern reading): every populated X-region also has Y. Vacuously true when no populated X-region exists.
Equations
- Semantics.Quantification.Syllogistic.syllAll s X Y = decide (∀ (r : Semantics.Quantification.Syllogistic.Region), s r = true ∧ X r = true → Y r = true)
Instances For
"Some Xs are Ys": some populated X-region also has Y.
Equations
- Semantics.Quantification.Syllogistic.syllSome s X Y = decide (∃ (r : Semantics.Quantification.Syllogistic.Region), (s r = true ∧ X r = true) ∧ Y r = true)
Instances For
"Some Xs are not Ys": some populated X-region lacks Y.
Equations
- Semantics.Quantification.Syllogistic.syllSomeNot s X Y = decide (∃ (r : Semantics.Quantification.Syllogistic.Region), (s r = true ∧ X r = true) ∧ ¬Y r = true)
Instances For
"No Xs are Ys" (modern reading): no populated X-region has Y. Vacuously true when no populated X-region exists.
Equations
- Semantics.Quantification.Syllogistic.syllNone s X Y = decide (∀ (r : Semantics.Quantification.Syllogistic.Region), s r = true ∧ X r = true → ¬Y r = true)
Instances For
syllAll is exactly every_sem over the state-restricted restrictor.
syllSome is exactly some_sem over the state-restricted restrictor.
syllNone is exactly no_sem over the state-restricted restrictor.
Evaluate a syllogistic quantifier on given terms in a Venn state.
Equations
- Semantics.Quantification.Syllogistic.syllQuantEval Semantics.Quantification.Syllogistic.AristQuant.all s X Y = Semantics.Quantification.Syllogistic.syllAll s X Y
- Semantics.Quantification.Syllogistic.syllQuantEval Semantics.Quantification.Syllogistic.AristQuant.some s X Y = Semantics.Quantification.Syllogistic.syllSome s X Y
- Semantics.Quantification.Syllogistic.syllQuantEval Semantics.Quantification.Syllogistic.AristQuant.someNot s X Y = Semantics.Quantification.Syllogistic.syllSomeNot s X Y
- Semantics.Quantification.Syllogistic.syllQuantEval Semantics.Quantification.Syllogistic.AristQuant.no s X Y = Semantics.Quantification.Syllogistic.syllNone s X Y
Instances For
Truth value of premise 1 in state s.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Truth value of premise 2 in state s.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Literal meaning of each conclusion in a Venn state (modern reading). NVC ("nothing follows") is true in every state — the vacuous utterance.
Equations
- One or more equations did not get rendered due to their size.
- Semantics.Quantification.Syllogistic.concMeaning Semantics.Quantification.Syllogistic.Conclusion.nvc x✝ = true
Instances For
"Nothing follows" is always true.
Subalternation in the modern reading: "All Xs are Ys" entails "Some Xs
are Ys" only when at least one X-region is populated. Derived from
subalternation_a_i in Quantifier.lean.
Barbara: All A-B, All B-C. Figure 1 — paradigmatic valid syllogism.
Equations
- One or more equations did not get rendered due to their size.
Instances For
All A-B, All C-B. Figure 3 — paradigmatic invalid syllogism.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Some A-B, Some B-C. Figure 1 (also invalid).
Equations
- One or more equations did not get rendered due to their size.
Instances For
Barbara also validates "Some A are C" provided some A exists.
Composes barbara_valid with syllAll_imp_syllSome. The Aristotelian
reading takes existential import on the premises as built-in; the
modern reading exposes it as an explicit hypothesis.
For Barbara, every state where both premises are literally true also satisfies "All A-C".
Only AB and BC populated. Witnesses invalidity of certain syllogism patterns by falsifying A/I A-C and A/I C-A.
Equations
Instances For
Only ABC populated. Witnesses invalidity by falsifying E/O A-C and E/O C-A.
Equations
Instances For
Strict informativity: "All A-C" is compatible with strictly fewer states
than "Some A-C" (witnessed by state_A_AC).
"All A-B, All C-B" is logically invalid: no Aristotelian conclusion holds in all compatible states. Two counterexample states cover the eight quantified conclusions.
For the invalid syllogism (All A-B, All C-B), some consistent states satisfy "All A-C" while others falsify it.