Documentation

Linglib.Studies.AloniAnttilaYang2024

State-based Modal Logics for Free Choice — Aloni, Anttila & Yang 2024 #

[AAY24]

Formalisation of two extensions of BSML introduced in [AAY24] (Notre Dame J. Formal Logic 65(4), 2024):

Both extend BSML's BSMLModel (worlds + accessibility + valuation) and inherit the bilateral support/anti-support semantics. The new connectives are characterised by Fact 2.7 in the paper:

LogicHas NEHas Downward-closedUnion-closed
BSMLyesnowhen NE-freealways
BSMLOryesyeswhen NE-freewhen ⨼-free
BSMLEmptyyesnowhen NE-freealways

The "when NE-free" / "when ⨼-free" entries express Fact 2.7's universal statement uniformly across all three logics — NE is the only obstruction to downward closure; is the only obstruction to union closure.

The closure-property classification matches the audit's family-axis insight: each extension occupies a different cell of the (IsLowerSet, SupClosed, ⊥ ∈ ·) profile lattice.

Main declarations #

Implementation notes #

The paper's BSML includes (weak contradiction) as a primitive, whereas linglib's BSMLFormula (Aloni 2022) does not (the original defines ⊥ := p ∧ ¬p). The extension formula types here include to match [AAY24]; the embedding BSMLFormula → Formula therefore has no preimage for .

BSMLOr's global disjunction is the team-semantic inquisitive disjunction — the support clause is propositional disjunction at the team level, in contrast to disj's split-existential. Crucially, is the only BSML-family connective that breaks union closure (Fact 2.7, proof in [AAY24]).

BSMLEmpty's emptiness operator ⊘φ is supported when s ⊨ φ or s = ∅. It is essentially a restricted : ⊘φ ≡ φ ⨼ ⊥. But since BSMLEmpty omits , union closure is preserved.

Todo #

BSMLOr — BSML with global disjunction #

inductive AloniAnttilaYang2024.BSMLOr.Formula (Atom : Type u_4) :
Type u_4

BSMLOr syntax (Definition 2.1 of [AAY24]): BSML extended with the global disjunction gdisj (). The bot constructor is (weak contradiction), included as a primitive in the AAY-2024 presentation.

  • atom {Atom : Type u_4} (p : Atom) : Formula Atom

    Atomic proposition.

  • bot {Atom : Type u_4} : Formula Atom

    Weak contradiction : supported only by the empty team.

  • ne {Atom : Type u_4} : Formula Atom

    Non-emptiness atom: team is non-empty.

  • neg {Atom : Type u_4} (φ : Formula Atom) : Formula Atom

    Bilateral negation: swap support/anti-support.

  • conj {Atom : Type u_4} (φ ψ : Formula Atom) : Formula Atom

    Conjunction.

  • disj {Atom : Type u_4} (φ ψ : Formula Atom) : Formula Atom

    Tensor disjunction (split).

  • gdisj {Atom : Type u_4} (φ ψ : Formula Atom) : Formula Atom

    Global disjunction : propositional disjunction at the team level.

  • poss {Atom : Type u_4} (φ : Formula Atom) : Formula Atom

    Possibility modal .

Instances For
    @[implicit_reducible]
    instance AloniAnttilaYang2024.BSMLOr.instReprFormula {Atom✝ : Type u_4} [Repr Atom✝] :
    Repr (Formula Atom✝)
    Equations
    def AloniAnttilaYang2024.BSMLOr.instReprFormula.repr {Atom✝ : Type u_4} [Repr Atom✝] :
    Formula Atom✝Std.Format
    Equations
    • One or more equations did not get rendered due to their size.
    Instances For
      def AloniAnttilaYang2024.BSMLOr.eval {W : Type u_1} [DecidableEq W] [Fintype W] {Atom : Type u_3} (M : Core.Logic.Modal.BSML.BSMLModel W Atom) :
      BoolFormula AtomFinset WProp

      Bilateral evaluation for BSMLOr (Definition 2.3 of [AAY24]). eval M true φ t is support; eval M false φ t is anti-support. Negation flips polarity.

      Equations
      Instances For
        @[reducible, inline]
        abbrev AloniAnttilaYang2024.BSMLOr.support {W : Type u_1} [DecidableEq W] [Fintype W] {Atom : Type u_3} (M : Core.Logic.Modal.BSML.BSMLModel W Atom) (φ : Formula Atom) (t : Finset W) :

        Support: positive evaluation.

        Equations
        Instances For
          @[reducible, inline]
          abbrev AloniAnttilaYang2024.BSMLOr.antiSupport {W : Type u_1} [DecidableEq W] [Fintype W] {Atom : Type u_3} (M : Core.Logic.Modal.BSML.BSMLModel W Atom) (φ : Formula Atom) (t : Finset W) :

          Anti-support: negative evaluation.

          Equations
          Instances For
            @[simp]
            theorem AloniAnttilaYang2024.BSMLOr.support_neg {W : Type u_1} [DecidableEq W] [Fintype W] {Atom : Type u_3} (M : Core.Logic.Modal.BSML.BSMLModel W Atom) (φ : Formula Atom) (t : Finset W) :
            support M φ.neg t antiSupport M φ t
            @[simp]
            theorem AloniAnttilaYang2024.BSMLOr.antiSupport_neg {W : Type u_1} [DecidableEq W] [Fintype W] {Atom : Type u_3} (M : Core.Logic.Modal.BSML.BSMLModel W Atom) (φ : Formula Atom) (t : Finset W) :
            antiSupport M φ.neg t support M φ t
            @[simp]
            theorem AloniAnttilaYang2024.BSMLOr.support_bot {W : Type u_1} [DecidableEq W] [Fintype W] {Atom : Type u_3} (M : Core.Logic.Modal.BSML.BSMLModel W Atom) (t : Finset W) :
            support M Formula.bot t t =
            @[simp]
            theorem AloniAnttilaYang2024.BSMLOr.support_ne {W : Type u_1} [DecidableEq W] [Fintype W] {Atom : Type u_3} (M : Core.Logic.Modal.BSML.BSMLModel W Atom) (t : Finset W) :
            support M Formula.ne t t.Nonempty
            @[simp]
            theorem AloniAnttilaYang2024.BSMLOr.support_conj {W : Type u_1} [DecidableEq W] [Fintype W] {Atom : Type u_3} (M : Core.Logic.Modal.BSML.BSMLModel W Atom) (φ ψ : Formula Atom) (t : Finset W) :
            support M (φ.conj ψ) t support M φ t support M ψ t
            @[simp]
            theorem AloniAnttilaYang2024.BSMLOr.antiSupport_disj {W : Type u_1} [DecidableEq W] [Fintype W] {Atom : Type u_3} (M : Core.Logic.Modal.BSML.BSMLModel W Atom) (φ ψ : Formula Atom) (t : Finset W) :
            antiSupport M (φ.disj ψ) t antiSupport M φ t antiSupport M ψ t
            @[simp]
            theorem AloniAnttilaYang2024.BSMLOr.support_gdisj {W : Type u_1} [DecidableEq W] [Fintype W] {Atom : Type u_3} (M : Core.Logic.Modal.BSML.BSMLModel W Atom) (φ ψ : Formula Atom) (t : Finset W) :
            support M (φ.gdisj ψ) t support M φ t support M ψ t
            @[simp]
            theorem AloniAnttilaYang2024.BSMLOr.antiSupport_gdisj {W : Type u_1} [DecidableEq W] [Fintype W] {Atom : Type u_3} (M : Core.Logic.Modal.BSML.BSMLModel W Atom) (φ ψ : Formula Atom) (t : Finset W) :
            antiSupport M (φ.gdisj ψ) t antiSupport M φ t antiSupport M ψ t

            BSMLOr's support/antiSupport form a paraconsistent bilateral logic under Formula.neg.

            theorem AloniAnttilaYang2024.BSMLOr.bisim_invariant_eval {W : Type u_1} {W' : Type u_2} [DecidableEq W] [Fintype W] [DecidableEq W'] [Fintype W'] {Atom : Type u_3} (φ : Formula Atom) {k : } :
            φ.modalDepth k∀ {M : Core.Logic.Modal.BSML.BSMLModel W Atom} {M' : Core.Logic.Modal.BSML.BSMLModel W' Atom} {s : Finset W} {s' : Finset W'}, Core.Logic.Modal.StateBisim k M s M' s'∀ (b : Bool), eval M b φ s eval M' b φ s'

            Theorem 3.8 of [AAY24] for BSMLOr: if s ⇌_k s' and φ : Formula Atom has modal depth ≤ k, then eval M b φ s ↔ eval M' b φ s' for both polarities.

            BSMLEmpty — BSML with emptiness operator #

            BSMLEmpty syntax (Definition 2.1 of [AAY24]): BSML extended with the emptiness operator empt ().

            Instances For
              def AloniAnttilaYang2024.BSMLEmpty.instReprFormula.repr {Atom✝ : Type u_4} [Repr Atom✝] :
              Formula Atom✝Std.Format
              Equations
              • One or more equations did not get rendered due to their size.
              Instances For
                @[implicit_reducible]
                instance AloniAnttilaYang2024.BSMLEmpty.instReprFormula {Atom✝ : Type u_4} [Repr Atom✝] :
                Repr (Formula Atom✝)
                Equations
                def AloniAnttilaYang2024.BSMLEmpty.eval {W : Type u_1} [DecidableEq W] [Fintype W] {Atom : Type u_3} (M : Core.Logic.Modal.BSML.BSMLModel W Atom) :
                BoolFormula AtomFinset WProp

                Bilateral evaluation for BSMLEmpty. The empt clause is: support .empt φ s ↔ support φ s ∨ s = ∅ (Definition 2.3).

                Equations
                Instances For
                  @[reducible, inline]
                  abbrev AloniAnttilaYang2024.BSMLEmpty.support {W : Type u_1} [DecidableEq W] [Fintype W] {Atom : Type u_3} (M : Core.Logic.Modal.BSML.BSMLModel W Atom) (φ : Formula Atom) (t : Finset W) :
                  Equations
                  Instances For
                    @[reducible, inline]
                    abbrev AloniAnttilaYang2024.BSMLEmpty.antiSupport {W : Type u_1} [DecidableEq W] [Fintype W] {Atom : Type u_3} (M : Core.Logic.Modal.BSML.BSMLModel W Atom) (φ : Formula Atom) (t : Finset W) :
                    Equations
                    Instances For
                      @[simp]
                      theorem AloniAnttilaYang2024.BSMLEmpty.support_neg {W : Type u_1} [DecidableEq W] [Fintype W] {Atom : Type u_3} (M : Core.Logic.Modal.BSML.BSMLModel W Atom) (φ : Formula Atom) (t : Finset W) :
                      support M φ.neg t antiSupport M φ t
                      @[simp]
                      theorem AloniAnttilaYang2024.BSMLEmpty.antiSupport_neg {W : Type u_1} [DecidableEq W] [Fintype W] {Atom : Type u_3} (M : Core.Logic.Modal.BSML.BSMLModel W Atom) (φ : Formula Atom) (t : Finset W) :
                      antiSupport M φ.neg t support M φ t
                      @[simp]
                      theorem AloniAnttilaYang2024.BSMLEmpty.support_bot {W : Type u_1} [DecidableEq W] [Fintype W] {Atom : Type u_3} (M : Core.Logic.Modal.BSML.BSMLModel W Atom) (t : Finset W) :
                      support M Formula.bot t t =
                      @[simp]
                      theorem AloniAnttilaYang2024.BSMLEmpty.support_ne {W : Type u_1} [DecidableEq W] [Fintype W] {Atom : Type u_3} (M : Core.Logic.Modal.BSML.BSMLModel W Atom) (t : Finset W) :
                      support M Formula.ne t t.Nonempty
                      @[simp]
                      theorem AloniAnttilaYang2024.BSMLEmpty.support_conj {W : Type u_1} [DecidableEq W] [Fintype W] {Atom : Type u_3} (M : Core.Logic.Modal.BSML.BSMLModel W Atom) (φ ψ : Formula Atom) (t : Finset W) :
                      support M (φ.conj ψ) t support M φ t support M ψ t
                      @[simp]
                      theorem AloniAnttilaYang2024.BSMLEmpty.antiSupport_disj {W : Type u_1} [DecidableEq W] [Fintype W] {Atom : Type u_3} (M : Core.Logic.Modal.BSML.BSMLModel W Atom) (φ ψ : Formula Atom) (t : Finset W) :
                      antiSupport M (φ.disj ψ) t antiSupport M φ t antiSupport M ψ t
                      @[simp]
                      theorem AloniAnttilaYang2024.BSMLEmpty.support_empt {W : Type u_1} [DecidableEq W] [Fintype W] {Atom : Type u_3} (M : Core.Logic.Modal.BSML.BSMLModel W Atom) (φ : Formula Atom) (t : Finset W) :
                      support M φ.empt t support M φ t t =
                      @[simp]
                      theorem AloniAnttilaYang2024.BSMLEmpty.antiSupport_empt {W : Type u_1} [DecidableEq W] [Fintype W] {Atom : Type u_3} (M : Core.Logic.Modal.BSML.BSMLModel W Atom) (φ : Formula Atom) (t : Finset W) :
                      antiSupport M φ.empt t antiSupport M φ t

                      Fact 2.7: BSMLEmpty is union-closed #

                      theorem AloniAnttilaYang2024.BSMLEmpty.supClosed_support {W : Type u_1} [DecidableEq W] [Fintype W] {Atom : Type u_3} (M : Core.Logic.Modal.BSML.BSMLModel W Atom) (φ : Formula Atom) :
                      SupClosed {t : Finset W | support M φ t}

                      Fact 2.7 (BSMLEmpty portion): every BSMLEmpty formula has sup-closed support. Direct evidence that the team-semantics substrate generalises from BSML to BSML⊘ without changes — the substrate's payoff at a second logic.

                      Modal depth of a BSMLEmpty.Formula: bot, atoms, ne are 0; neg and empt preserve depth; conj, disj take the max; poss increments. (empt/ does not contain a modal operator.)

                      Equations
                      Instances For
                        theorem AloniAnttilaYang2024.BSMLEmpty.bisim_invariant_eval {W : Type u_1} {W' : Type u_2} [DecidableEq W] [Fintype W] [DecidableEq W'] [Fintype W'] {Atom : Type u_3} (φ : Formula Atom) {k : } :
                        φ.modalDepth k∀ {M : Core.Logic.Modal.BSML.BSMLModel W Atom} {M' : Core.Logic.Modal.BSML.BSMLModel W' Atom} {s : Finset W} {s' : Finset W'}, Core.Logic.Modal.StateBisim k M s M' s'∀ (b : Bool), eval M b φ s eval M' b φ s'

                        Theorem 3.8 of [AAY24] for BSMLEmpty: if s ⇌_k s' and φ : Formula Atom has modal depth ≤ k, then eval M b φ s ↔ eval M' b φ s' for both polarities.

                        Embeddings: BSMLFormula ↪ extension formulas #

                        theorem AloniAnttilaYang2024.BSMLOr.eval_ofBSML {W : Type u_1} [DecidableEq W] [Fintype W] {Atom : Type u_3} (M : Core.Logic.Modal.BSML.BSMLModel W Atom) (b : Bool) (φ : Core.Logic.Modal.BSML.BSMLFormula Atom) (t : Finset W) :
                        eval M b (ofBSML φ) t Core.Logic.Modal.BSML.eval M b φ t

                        The embedding BSMLFormula → BSMLOr.Formula preserves bilateral evaluation: BSMLOr is a faithful extension of BSML.

                        theorem AloniAnttilaYang2024.BSMLEmpty.eval_ofBSML {W : Type u_1} [DecidableEq W] [Fintype W] {Atom : Type u_3} (M : Core.Logic.Modal.BSML.BSMLModel W Atom) (b : Bool) (φ : Core.Logic.Modal.BSML.BSMLFormula Atom) (t : Finset W) :
                        eval M b (ofBSML φ) t Core.Logic.Modal.BSML.eval M b φ t

                        The embedding BSMLFormula → BSMLEmpty.Formula preserves bilateral evaluation.