Documentation

Linglib.Logic.Team.BSML.Scenarios

Typed atoms and small world models for free-choice scenarios #

Shared scenario substrate for BSML- and QBSML-based free-choice studies ([Alo22], [AvO23], [Yan23]). Replaces ad-hoc string atoms ("coffee", "tea", ...) in scenario constructions, where a typo silently compiles to false under the match p with | "coffee" => ... | _ => false fallthrough pattern.

Main declarations #

Studies instantiate KripkeModel's String-keyed val field by pattern-matching on the canonical names via FCAtom.toName. Eliminating the String layer entirely (making KripkeModel.val : FCAtom → α → Bool) would require parameterizing Formula and KripkeModel over the atom type — a substrate-wide refactor deferred to a separate effort.

inductive BSML.FCAtom :

Typed atom enum for free-choice scenarios.

  • a : FCAtom

    First disjunct (e.g. coffee, Paris, boat).

  • b : FCAtom

    Second disjunct (e.g. tea, Rome, bus).

  • c : FCAtom

    Third atom for embedded scenarios (negative free choice).

Instances For
    @[instance_reducible]
    instance BSML.instDecidableEqFCAtom :
    DecidableEq FCAtom
    Equations
    def BSML.instReprFCAtom.repr :
    FCAtomStd.Format
    Equations
    Instances For
      @[instance_reducible]
      Equations
      @[instance_reducible]
      instance BSML.instInhabitedFCAtom :
      Inhabited FCAtom
      Equations
      @[instance_reducible]
      instance BSML.instFintypeFCAtom :
      Fintype FCAtom
      Equations
      def BSML.FCAtom.toName :
      FCAtomString

      Canonical String name of an atom. Used at KripkeModel.val boundaries where the substrate's val : String → α → Bool field forces String.

      Equations
      Instances For
        inductive BSML.QVar :

        Single variable x — the shared toy variable type for quantified FC scenarios (QBSML studies); the first-order counterpart of FCAtom.

        Instances For
          @[instance_reducible]
          instance BSML.instDecidableEqQVar :
          DecidableEq QVar
          Equations
          def BSML.instReprQVar.repr :
          QVarStd.Format
          Equations
          Instances For
            @[instance_reducible]
            instance BSML.instReprQVar :
            Repr QVar
            Equations
            @[instance_reducible]
            instance BSML.instFintypeQVar :
            Fintype QVar
            Equations

            Power-set-of-{a,b}: the 4 truth assignments to two propositional atoms.

            Names follow [Alo22] Figure 1 (w_∅, w_a, w_b, w_ab):

            Instances For
              @[instance_reducible]
              Equations
              def BSML.instReprTwoAtomWorld.repr :
              TwoAtomWorldStd.Format
              Equations
              Instances For
                @[instance_reducible]
                Equations
                @[instance_reducible]
                Equations
                • One or more equations did not get rendered due to their size.

                Truth-table for the two-atom power set. The third atom (c) is unsatisfiable in this baseline 4-world model — embedded scenarios needing c should use a larger world type.

                Equations
                Instances For
                  @[reducible, inline]

                  Synonym used by Studies that prefer the predicate spelling.

                  Equations
                  Instances For