Documentation

Linglib.Semantics.Quantification.Syllogistic.Forms

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).

FormA (universal +)I (particular +)E (universal −)O (particular −)
LeansyllAllsyllSomesyllNonesyllSomeNot
GQevery_semsome_semno_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.

Syllogistic forms (modern reading, no existential import) #

def Quantification.Syllogistic.syllAll (s : VennState) (X Y : RegionBool) :
Bool

"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
Instances For
    def Quantification.Syllogistic.syllSome (s : VennState) (X Y : RegionBool) :
    Bool

    "Some Xs are Ys": some populated X-region also has Y.

    Equations
    Instances For

      "Some Xs are not Ys": some populated X-region lacks Y.

      Equations
      Instances For
        def Quantification.Syllogistic.syllNone (s : VennState) (X Y : RegionBool) :
        Bool

        "No Xs are Ys" (modern reading): no populated X-region has Y. Vacuously true when no populated X-region exists.

        Equations
        Instances For

          Grounding in every_sem / some_sem / no_sem #

          theorem Quantification.Syllogistic.syllAll_eq_true_iff (s : VennState) (X Y : RegionBool) :
          syllAll s X Y = true every_sem (fun (r : Region) => s r = true X r = true) fun (r : Region) => Y r = true

          syllAll is exactly every_sem over the state-restricted restrictor.

          theorem Quantification.Syllogistic.syllSome_eq_true_iff (s : VennState) (X Y : RegionBool) :
          syllSome s X Y = true some_sem (fun (r : Region) => s r = true X r = true) fun (r : Region) => Y r = true

          syllSome is exactly some_sem over the state-restricted restrictor.

          theorem Quantification.Syllogistic.syllNone_eq_true_iff (s : VennState) (X Y : RegionBool) :
          syllNone s X Y = true no_sem (fun (r : Region) => s r = true X r = true) fun (r : Region) => Y r = true

          syllNone is exactly no_sem over the state-restricted restrictor.

          Quantifier and premise evaluation #

          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
              Instances For
                @[simp]

                "Nothing follows" is always true.

                Subalternation A → I (conditional on non-empty restrictor) #

                theorem Quantification.Syllogistic.syllAll_imp_syllSome (s : VennState) (X Y : RegionBool) (hExists : ∃ (r : Region), s r = true X r = true) (h : syllAll s X Y = true) :
                syllSome s X Y = 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.

                Named syllogisms #

                Barbara: All A-B, All B-C. Figure 1 — paradigmatic valid syllogism.

                Equations
                Instances For

                  All A-B, All C-B. Figure 3 — paradigmatic invalid syllogism.

                  Equations
                  Instances For

                    Some A-B, Some B-C. Figure 1 (also invalid).

                    Equations
                    Instances For

                      Validity: Barbara #

                      theorem Quantification.Syllogistic.barbara_valid (s : VennState) (h1 : syllAll s hasA hasB = true) (h2 : syllAll s hasB hasC = true) :
                      syllAll s hasA hasC = true

                      Barbara (All A-B, All B-C ⊢ All A-C). State-restricted transitivity of every_sem. Modern reading; existential import not required for the All conclusion.

                      theorem Quantification.Syllogistic.barbara_some_valid (s : VennState) (h1 : syllAll s hasA hasB = true) (h2 : syllAll s hasB hasC = true) (hExists : ∃ (r : Region), s r = true hasA r = true) :
                      syllSome s hasA hasC = true

                      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".

                      Witness states and invalidity #

                      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.