Documentation

Linglib.Theories.Semantics.Attitudes.Desire

Desire Semantics — substrate for want/wish/hope #

This file collects three formalizations of desire ascriptions:

  1. von Fintel @cite{von-fintel-1999} (wantVF): "every undominated belief-world is a p-world", where the world ordering is induced by which desires each world satisfies.

  2. @cite{heim-1992} (wantHeim): "for every doxastic alternative w', every closest p-world to w' is more desirable than every closest ¬p-world to w'". Three successive formulations from the paper are exposed: (27) naive Hintikka-style, (31) truth-conditional comparative-belief, and (37/39) the CCP-rephrased version with the (40) amendment as wantHeimDefined.

  3. @cite{phillips-brown-2025} (wantQuestionBased): "every best answer in Q_c-Bel_S entails p", parameterized on a contextual question Q_c. Handles conflicting-desire ascriptions ("S wants p" + "S wants ¬p") by varying Q_c.

The first two are belief-based and packaged into a common BeliefBasedDesireSemantics structure with a parametric no-go theorem (bbds_no_simultaneous_want_p_and_negp): no belief-based semantics can predict simultaneous want(p) and want(¬p) against a single belief state. PB's wantQuestionBased evades the no-go by selecting from Q-Bel_S rather than directly from Bel_S.

Phillips-Brown 2025 metasemantic constraints #

The PB substrate exposes four metasemantic constraints:

The question-based mechanism is inspired by @cite{crnic-2014} (an idea the paper credits as previously unformalized), parallels Yalcin's question-sensitive belief on the doxastic side, and was independently arrived at via a different route by Dandelet (situations rather than questions).

The von Fintel @cite{von-fintel-1999} baseline (wantVF) is included as a foil. The paper's central metasemantic identity (paper §3.4) is that when Q_c is the finest partition (singleton cells), question-based want reduces to von Fintel's standard semantics — see wantQuestionBased_finestPartition_iff_wantVF. Heim 1992 (comparative-belief) is not formalized here; the no-go theorem wantVF_no_simultaneous_pq_and_negpq covers von Fintel only.

The world ordering used by wantVF is structurally identical to @cite{kratzer-1981}'s ordering (every desire satisfied at z is also satisfied at w); see worldAtLeastAsGood_iff_kratzer_atLeastAsGoodAs for the bridge.

Decidable propositions #

A DecProp W bundles a Set W with its DecidablePred witness so it can sit as the element type of a partition list while remaining decide-able. This is a structure (not Subtype) because DecidablePred lives in Type, not Prop.

A Set W paired with its DecidablePred witness.

  • prop : Set W

    The underlying Prop-valued proposition.

  • dec : DecidablePred self.prop

    Decidability witness for the underlying proposition.

Instances For
    @[reducible]
    def Semantics.Attitudes.Desire.mkDec {W : Type u_1} (p : Set W) [h : DecidablePred p] :

    Smart constructor for a DecProp from a Set W with synthesizable decidability.

    Equations
    Instances For
      @[implicit_reducible]
      instance Semantics.Attitudes.Desire.instDecidablePredProp {W : Type u_1} (a : DecProp W) :
      DecidablePred a.prop
      Equations

      Decidable subset / overlap on Set W #

      Mathlib's s ⊆ t and (s ∩ t).Nonempty are not auto-decidable on Set (the elaborator does not unfold Set.Subset to see the underlying ). We expose @[reducible] aliases that are decidable under [Fintype W] + DecidablePred for both arguments. The aliases are definitionally equal to their Set-API counterparts and are intended to read as the same operation.

      @[reducible]
      def Semantics.Attitudes.Desire.propEntails {W : Type u_1} (p q : Set W) :

      propEntails p q ↔ p ⊆ q (definitionally), with decidability.

      Equations
      Instances For
        @[reducible]
        def Semantics.Attitudes.Desire.propOverlap {W : Type u_1} (p q : Set W) :

        propOverlap p q ↔ (p ∩ q).Nonempty (definitionally), with decidability.

        Equations
        Instances For

          Propositional preference (von Fintel 1999, paper §3.5) #

          The paper's preference relation between answers a, a' ∈ Q_c-Bel_S:

          S prefers a to a' iff {p ∈ G_S : a' ⊆ p} ⊊ {p ∈ G_S : a ⊆ p}

          — i.e. strict subset inclusion of satisfied desires. We expose the weak relation via SatisfactionOrdering.ofCriteria and the strict relation via SatisfactionOrdering.strictlyBetter; the paper's "best answers" are the maxima under the strict relation, i.e. the Pareto-undominated elements (see paper §3.5, p. 11:21).

          Proposition ordering: a ≤ a' iff every desire in GS that a' entails, a also entails. The Pareto-undominated elements under this relation are the "best answers" of @cite{phillips-brown-2025} §3.5.

          Equations
          • One or more equations did not get rendered due to their size.
          Instances For
            @[reducible, inline]
            abbrev Semantics.Attitudes.Desire.undominatedAnswers {W : Type u_1} [Fintype W] (GS answers : List (DecProp W)) :
            List (DecProp W)

            Best (= Pareto-undominated) answers among a candidate list.

            Equations
            Instances For

              Question-relative belief (paper §3.3) #

              Q_c-Bel_S = the cells of Q_c compatible with S's beliefs.

              def Semantics.Attitudes.Desire.questionRelativeBelief {W : Type u_1} [Fintype W] (answers : List (DecProp W)) (belS : Set W) [DecidablePred belS] :
              List (DecProp W)

              The cells of answers that overlap belS.

              Equations
              • One or more equations did not get rendered due to their size.
              Instances For

                Core semantics #

                def Semantics.Attitudes.Desire.wantQuestionBased {W : Type u_1} [Fintype W] (belS : Set W) [DecidablePred belS] (GS answers : List (DecProp W)) (p : Set W) [DecidablePred p] :

                ⟦S wants p⟧^c = every undominated answer in Q_c-Bel_S entails p. The paper's central definition (paper §3.5).

                Equations
                • One or more equations did not get rendered due to their size.
                Instances For
                  @[implicit_reducible]
                  instance Semantics.Attitudes.Desire.instDecidableWantQuestionBased {W : Type u_1} [Fintype W] (belS : Set W) [DecidablePred belS] (GS answers : List (DecProp W)) (p : Set W) [DecidablePred p] :
                  Decidable (wantQuestionBased belS GS answers p)
                  Equations

                  von Fintel baseline (paper §2.1) #

                  wantVF evaluates to "every undominated belief-world is a p-world", where the world ordering is induced by which desires each world satisfies. Structurally identical to @cite{kratzer-1981}'s atLeastAsGoodAs; see the bridge theorem worldAtLeastAsGood_iff_kratzer.

                  def Semantics.Attitudes.Desire.worldAtLeastAsGood {W : Type u_1} (GS : List (DecProp W)) (w z : W) :

                  World ordering induced by a desire list: w ≤ z iff every desire in GS satisfied at z is also satisfied at w. Decidable version (each p.prop carries its own DecidablePred witness).

                  Equations
                  Instances For
                    theorem Semantics.Attitudes.Desire.worldAtLeastAsGood_iff_kratzer {W : Type u_1} (GS : List (DecProp W)) (w z : W) :
                    worldAtLeastAsGood GS w z w ≤[List.map (fun (x : DecProp W) => x.prop) GS] z

                    The desire-induced world ordering coincides with Kratzer's ordering over the projected proposition list.

                    def Semantics.Attitudes.Desire.wantVF {W : Type u_1} (belS : Set W) (GS : List (DecProp W)) (p : Set W) :

                    Standard von Fintel @cite{von-fintel-1999} semantics: every undominated belS-world is a p-world. The [DecidablePred] hypotheses are not used in the definition body; they live on the Decidable instance so that abstract reasoning (e.g. instances of BeliefBasedDesireSemantics) can use wantVF without supplying them.

                    Equations
                    • One or more equations did not get rendered due to their size.
                    Instances For
                      @[implicit_reducible]
                      instance Semantics.Attitudes.Desire.instDecidableWantVFOfDecidablePred {W : Type u_1} [Fintype W] (belS : Set W) [DecidablePred belS] (GS : List (DecProp W)) (p : Set W) [DecidablePred p] :
                      Decidable (wantVF belS GS p)
                      Equations

                      Metasemantic constraints (paper §3.6, §3.7, §4.2) #

                      def Semantics.Attitudes.Desire.isConsidered {W : Type u_1} (answers : List (DecProp W)) (p : Set W) [DecidablePred p] :

                      Considering Constraint (paper §3.6): every cell of Q_c either entails p or entails ¬p. Equivalently (over partition cells): p is a union of cells.

                      Equations
                      Instances For
                        @[implicit_reducible]
                        instance Semantics.Attitudes.Desire.instDecidableIsConsidered {W : Type u_1} [Fintype W] (answers : List (DecProp W)) (p : Set W) [DecidablePred p] :
                        Decidable (isConsidered answers p)
                        Equations
                        def Semantics.Attitudes.Desire.isDiverse {W : Type u_1} (answers : List (DecProp W)) (p : Set W) [DecidablePred p] :

                        Diversity Constraint (paper §3.7, attributed to @cite{condoravdi-2002}): Q_c contains both p-cells and ¬p-cells. Without diversity, ⟦want p⟧ would be vacuously true (or false).

                        Equations
                        Instances For
                          @[implicit_reducible]
                          instance Semantics.Attitudes.Desire.instDecidableIsDiverse {W : Type u_1} [Fintype W] (answers : List (DecProp W)) (p : Set W) [DecidablePred p] :
                          Decidable (isDiverse answers p)
                          Equations

                          Anti-deckstacking (paper §3.7) #

                          The paper quantifies over "all q": if some cell entails q, then q must itself be considered relative to Q_c. The naive ∀ q : Set W over a finite model trivially fails on gerrymandered subsets — e.g. for the qNapRest 4-cell partition, q = {w₀, w₁, w₂} is entailed by the nap ∧ rested cell {w₀, w₁} but not settled by the nap ∧ ¬rested cell {w₂, w₃} (which contains w₂ ∈ q and w₃ ∉ q). These violations are artifacts of the encoding, not of the question.

                          The substrate solves this by parameterizing the constraint on a test set of natural propositions naturalProps — the propositions the modeller deems salient for the model. For PB's qDeckstacked example, naturalProps = [r, h] correctly fails AD (cell ¬r ∧ h entails h, but h is not considered by qDeckstacked — the r cell neither entails h nor entails ¬h). For qNapRest and qRainHappy with the same naturalProps, AD passes (those questions cross-cut both basic dimensions).

                          def Semantics.Attitudes.Desire.isAntiDeckstacking {W : Type u_1} (naturalProps answers : List (DecProp W)) :

                          Anti-deckstacking Constraint (paper §3.7), parameterized on the test set of natural propositions naturalProps: for every q ∈ naturalProps, if some cell of answers entails q, then q must be considered relative to answers.

                          The naturalProps parameter is the modeller's chosen vocabulary of salient propositions; passing the empty list trivially satisfies the constraint, so study files must opt in by listing the basic propositions of their model.

                          Equations
                          • One or more equations did not get rendered due to their size.
                          Instances For
                            @[implicit_reducible]
                            instance Semantics.Attitudes.Desire.instDecidableIsAntiDeckstacking {W : Type u_1} [Fintype W] (naturalProps answers : List (DecProp W)) :
                            Decidable (isAntiDeckstacking naturalProps answers)
                            Equations
                            def Semantics.Attitudes.Desire.isBelSensitive {W : Type u_1} [Fintype W] (belS : Set W) [DecidablePred belS] (answers : List (DecProp W)) :

                            Belief-sensitivity Constraint (paper §4.2, building on @cite{yalcin-2018}'s question-sensitive belief): Bel_S discriminates among the cells of Q_c — at least one answer is compatible with S's beliefs and at least one is incompatible. Blocks inferences like William III ⊨ "Avoid nuclear war" when the agent lacks the conceptual resources to grasp the question.

                            Equations
                            • One or more equations did not get rendered due to their size.
                            Instances For
                              @[implicit_reducible]
                              instance Semantics.Attitudes.Desire.instDecidableIsBelSensitive {W : Type u_1} [Fintype W] (belS : Set W) [DecidablePred belS] (answers : List (DecProp W)) :
                              Decidable (isBelSensitive belS answers)
                              Equations
                              def Semantics.Attitudes.Desire.wantDefined {W : Type u_1} [Fintype W] (belS : Set W) [DecidablePred belS] (naturalProps answers : List (DecProp W)) (p : Set W) [DecidablePred p] :

                              Full definedness condition for ⟦S wants p⟧^c. The paper requires all four constraints (Considering §3.6, Diversity §3.7, Anti-deckstacking §3.7, Belief-sensitivity §4.2). The naturalProps parameter feeds Anti-deckstacking.

                              Equations
                              • One or more equations did not get rendered due to their size.
                              Instances For
                                @[implicit_reducible]
                                instance Semantics.Attitudes.Desire.instDecidableWantDefined {W : Type u_1} [Fintype W] (belS : Set W) [DecidablePred belS] (naturalProps answers : List (DecProp W)) (p : Set W) [DecidablePred p] :
                                Decidable (wantDefined belS naturalProps answers p)
                                Equations

                                Partial-proposition wrapper (paper §3.6) #

                                The presupposition is the four-constraint definedness predicate; the assertion is the question-based truth condition. Both are world-independent because Q_c is contextually fixed prior to evaluation; we expose them as a PrProp W for uniformity with linglib's presupposition infrastructure, with the world argument suppressed.

                                def Semantics.Attitudes.Desire.wantPrProp {W : Type u_1} [Fintype W] (belS : Set W) [DecidablePred belS] (GS naturalProps answers : List (DecProp W)) (p : Set W) [DecidablePred p] :

                                Question-based want as a partial proposition (Core.PrProp): presupposition = full definedness; assertion = question-based truth.

                                Equations
                                • One or more equations did not get rendered due to their size.
                                Instances For

                                  §3.4 metasemantic identity: finest question simulates vF #

                                  When Q_c is the finest partition (every cell is a singleton world), the question-based semantics reduces to standard vF. The substrate provides the construction parameterized on an explicit world list so the result is computable and decide-able for concrete models.

                                  def Semantics.Attitudes.Desire.finestPartition {W : Type u_1} [DecidableEq W] (worlds : List W) :
                                  List (DecProp W)

                                  The finest partition over an explicit world list: one singleton cell per listed world.

                                  Equations
                                  Instances For

                                    §3.4 supporting lemmas #

                                    The §3.4 metasemantic identity is proved via three helper lemmas (singleton-cell preference reduces to single-world preference under worldAtLeastAsGood; the question-relative belief filter on finestPartition selects exactly the singleton cells of belS-worlds; undominated singleton cells correspond to Pareto-undominated belS-worlds), then a direct two-direction iff proof.

                                    theorem Semantics.Attitudes.Desire.wantQuestionBased_finestPartition_iff_wantVF {W : Type u_1} [Fintype W] [DecidableEq W] (belS : Set W) [DecidablePred belS] (GS : List (DecProp W)) (worlds : List W) (hUniv : ∀ (w : W), w worlds) (p : Set W) [DecidablePred p] :
                                    wantQuestionBased belS GS (finestPartition worlds) p wantVF belS GS p

                                    §2 no-go: vF cannot predict simultaneous want p and want ¬p #

                                    The paper's central argument against belief-based semantics. For any non-empty belief state with at least one undominated world, vF cannot make both wantVF belS GS p and wantVF belS GS (¬p) true at the same context.

                                    theorem Semantics.Attitudes.Desire.wantVF_no_simultaneous_pq_and_negpq {W : Type u_1} (belS : Set W) [DecidablePred belS] (GS : List (DecProp W)) (p : Set W) [DecidablePred p] (h : ∃ (w : W), belS w ∀ (z : W), belS z¬(worldAtLeastAsGood GS z w ¬worldAtLeastAsGood GS w z)) :
                                    ¬(wantVF belS GS p wantVF belS GS fun (w : W) => ¬p w)

                                    No-go for vF (paper §2.1): if some belS-world is undominated, then no vF-prediction makes both want p and want ¬p true.

                                    Closure properties (paper §4.1, §4.2) #

                                    theorem Semantics.Attitudes.Desire.wantVF_upward_monotonic {W : Type u_1} (belS : Set W) [DecidablePred belS] (GS : List (DecProp W)) (p q : Set W) [DecidablePred p] [DecidablePred q] (hpq : ∀ (w : W), p wq w) (h : wantVF belS GS p) :
                                    wantVF belS GS q

                                    vF is upward monotonic: if p ⊆ q and wantVF belS GS p, then wantVF belS GS q. This is the @cite{villalta-2008} doxastic-closure problem that motivates the question-based approach (paper §4.1).

                                    theorem Semantics.Attitudes.Desire.wantQuestionBased_strawson_upward_monotonic {W : Type u_1} [Fintype W] [DecidableEq W] (belS : Set W) [DecidablePred belS] (GS answers : List (DecProp W)) (p q : Set W) [DecidablePred p] [DecidablePred q] (hpq : ∀ (w : W), p wq w) (_hCons : isConsidered answers q) (h : wantQuestionBased belS GS answers p) :
                                    wantQuestionBased belS GS answers q

                                    Question-based want is Strawson upward monotonic (paper §4.2): wantQuestionBased belS GS Q p, p ⊆ q, and q considered relative to Q jointly imply wantQuestionBased belS GS Q q. The Considering presupposition is what blocks naive upward monotonicity that derived "Avoid-war ⊨ Avoid-nuclear-war" from "wants Avoid-war".

                                    @cite{heim-1992} comparative-belief desire semantics #

                                    The paper has three successive truth conditions for want, each fixing a defect of the prior. We expose all three as a feature, not a bug — it shows the trajectory and lets future readers reproduce the argument.

                                    (27) The naive Hintikka-style want (paper §3, p. 192): "every bouletic alternative is a φ-world." Heim immediately rejects it via Asher's Concorde counterexample at (32) p. 194. We formalize it as wantHeimNaive to make the rejection-by-counterexample testable.

                                    (31) Truth-conditional comparative-belief want (paper §4.1, p. 193 — the canonical "Heim semantics"): "α wants φ is true at w iff for every w' ∈ Dox_α(w): every φ-world maximally similar to w' is more desirable to α than any non-φ-world maximally similar to w'." This is the textbook formulation.

                                    (37/39) CCP-rephrased Heim want (paper §4.2.2, p. 197): same content, but the proposition is restricted to Dox first (Sim_w'(Dox_α(w) + φ) <_{α,w} Sim_w'(Dox_α(w) + ¬φ)). The (40) amendment makes this undefined when the agent already believes φ or already believes ¬φ — a presupposition failure that is the formal mechanism behind Heim's account being unable to predict simultaneous want(p) ∧ want(¬p).

                                    Heim does NOT use a Kratzer-style ordering source — she uses a @cite{lewis-1973} / @cite{stalnaker-1968} similarity ordering on worlds. The desirability <_{α,w} is treated as primitive (a relation between worlds, parameterized by agent and evaluation world), not derived from a desire-list the way vF's is.

                                    Parameters for Heim 1992's desire semantics: a similarity ordering on worlds (for Sim_w(p) = closest p-worlds to w) and a comparative desirability relation pref w_eval x y saying "at evaluation world w_eval, world x is at least as desirable as world y".

                                    • The Lewis–Stalnaker similarity ordering on worlds.

                                    • pref : WWWProp

                                      Comparative desirability pref w_eval x y: at w_eval, x is more desirable than y. The agent argument is suppressed (single-agent setup).

                                    • prefDec (w x y : W) : Decidable (self.pref w x y)

                                      Decidability of the desirability relation.

                                    Instances For
                                      @[implicit_reducible]
                                      instance Semantics.Attitudes.Desire.instDecidablePref {W : Type u_1} (params : HeimDesireParams W) (w x y : W) :
                                      Decidable (params.pref w x y)
                                      Equations
                                      def Semantics.Attitudes.Desire.heimSim {W : Type u_2} [Fintype W] [DecidableEq W] (params : HeimDesireParams W) (belS : Set W) [DecidablePred belS] (p : Set W) [DecidablePred p] (w : W) :
                                      Finset W

                                      Sim_w(p) restricted to belS ∩ p: the closest worlds in belS ∩ p to w under the similarity ordering. Heim's formulation (37) restricts the proposition argument of Sim to the doxastic base, which is what makes the Limit Assumption automatic on a finite model.

                                      Equations
                                      Instances For
                                        def Semantics.Attitudes.Desire.wantHeimNaive {W : Type u_1} (belS : Set W) [DecidablePred belS] (p : Set W) [DecidablePred p] :

                                        Heim 1992 (27), the naive Hintikka-style baseline: "α wants φ" iff every bouletic alternative (here: every belief-world; we suppress the bouletic/doxastic distinction at the substrate level) is a φ-world. Provided to enable formalizing Asher's (32) Concorde counterexample as a test of the analysis Heim rejected.

                                        Equations
                                        Instances For
                                          @[implicit_reducible]
                                          instance Semantics.Attitudes.Desire.instDecidableWantHeimNaive {W : Type u_1} [Fintype W] (belS : Set W) [DecidablePred belS] (p : Set W) [DecidablePred p] :
                                          Decidable (wantHeimNaive belS p)
                                          Equations
                                          def Semantics.Attitudes.Desire.wantHeim {W : Type u_1} [Fintype W] [DecidableEq W] (belS : Set W) [DecidablePred belS] (params : HeimDesireParams W) (w_eval : W) (p : Set W) [DecidablePred p] :

                                          Heim 1992 (37/39), the canonical comparative-belief semantics: "α wants φ" at w_eval iff for every doxastic alternative w' ∈ belS, every closest belS ∩ φ-world to w' is at least as desirable as every closest belS ∩ ¬φ-world to w'.

                                          The doxastic-alternative quantifier ranges over a Finset so the Decidable instance below can be derived via Finset.decidableBAll. The [DecidablePred belS]/[DecidablePred p] are needed because heimSim uses them.

                                          Equations
                                          • One or more equations did not get rendered due to their size.
                                          Instances For
                                            @[implicit_reducible]
                                            instance Semantics.Attitudes.Desire.instDecidableWantHeim {W : Type u_1} [Fintype W] [DecidableEq W] (belS : Set W) [DecidablePred belS] (params : HeimDesireParams W) (w_eval : W) (p : Set W) [DecidablePred p] :
                                            Decidable (wantHeim belS params w_eval p)
                                            Equations
                                            def Semantics.Attitudes.Desire.wantHeimDefined {W : Type u_1} (belS : Set W) [DecidablePred belS] (p : Set W) [DecidablePred p] :

                                            Heim's (40) amendment (paper §4.2.3, p. 198): ⟦α wants φ⟧ is defined only when the agent does not already believe φ and does not already believe ¬φ. Equivalently: both belS ∩ φ and belS ∩ ¬φ are non-empty.

                                            Equations
                                            Instances For
                                              @[implicit_reducible]
                                              instance Semantics.Attitudes.Desire.instDecidableWantHeimDefined {W : Type u_1} [Fintype W] (belS : Set W) [DecidablePred belS] (p : Set W) [DecidablePred p] :
                                              Decidable (wantHeimDefined belS p)
                                              Equations

                                              Heim no-go: comparative-belief blocks simultaneous want(p) ∧ want(¬p) #

                                              The proof shape: pick any w' ∈ belS (exists since wantHeimDefined gives non-empty belS ∩ p). Pick any x ∈ Sim p w' and any y ∈ Sim ¬p w' (both non-empty under wantHeimDefined). Then wantHeim belS params w_eval p gives pref w_eval x y and wantHeim belS params w_eval ¬p gives pref w_eval y x. Strict asymmetry of pref — i.e., pref w x y ∧ pref w y x → x = y for the weak relation, or pref w x y → ¬ pref w y x for the strict — yields x = y, but x ∈ p and y ∈ ¬p (since Sim's first arg restricts to belS ∩ p / belS ∩ ¬p), contradiction.

                                              The substrate exposes the asymmetry as a hypothesis to keep the no-go applicable to both strict and partial-order desirability relations.

                                              theorem Semantics.Attitudes.Desire.heimSim_nonempty {W : Type u_1} [Fintype W] [DecidableEq W] (belS : Set W) [DecidablePred belS] (params : HeimDesireParams W) (p : Set W) [DecidablePred p] (w' : W) (hNE : ∃ (z : W), belS z p z) :
                                              (heimSim params belS p w').Nonempty

                                              A belS ∩ p-world reachable via similarity from any belS-world under the limit assumption, i.e. when wantHeimDefined holds, gives a non-empty heimSim params belS p w'. Discharges Heim's Limit Assumption automatically on finite types via Core.Order.SimilarityOrdering.closestWorlds_nonempty.

                                              theorem Semantics.Attitudes.Desire.wantHeim_no_simultaneous_pq_and_negpq {W : Type u_1} [Fintype W] [DecidableEq W] (belS : Set W) [DecidablePred belS] (params : HeimDesireParams W) (w_eval : W) (p : Set W) [DecidablePred p] (hAsym : ∀ (x y : W), params.pref w_eval x yparams.pref w_eval y xx = y) (h : wantHeimDefined belS p) :
                                              ¬(wantHeim belS params w_eval p wantHeim belS params w_eval fun (w : W) => ¬p w)

                                              Heim no-go theorem: under the (40) definedness amendment and a strictly asymmetric desirability relation, no Heim-semantic prediction makes both want(p) and want(¬p) true.

                                              Proof: extract a witness from each Sim (non-empty by heimSim_nonempty), then chase strict asymmetry of pref to a p w ∧ ¬ p w contradiction.

                                              The asymmetry hypothesis hAsym is the substantive condition: it says pref is a strict (irreflexive) preference, i.e., a world cannot be strictly preferred to itself. Standard for any well-formed comparative desirability.

                                              Belief-based desire semantics: structural typology and parametric no-go #

                                              A BeliefBasedDesireSemantics packages a desire-semantic device that takes (Bel_S, parameters, evaluation world, proposition) and returns a truth value, without any contextual question parameter outside this shape. Both vF and Heim are instances; PB's wantQuestionBased is not (its question parameter answers plays a non-trivial role that varies per ascription).

                                              The structure operates on Set W to match the substrate's underlying predicates and to make the want(p) ∧ want(¬p) no-go statement notation-clean (using fun w => ¬ p w rather than Finset.univ \ p, which would require an awkward Finset.mem_sdiff rewrite chain). Decidability inside instances is supplied via Classical.dec — the structure is for Prop-level reasoning, not for decide. The substrate-level wantVF/wantHeim retain their per-instance decidability for concrete decide proofs in study files.

                                              structure Semantics.Attitudes.Desire.BeliefBasedDesireSemantics (W : Type u_2) :
                                              Type (max u_2 (u_3 + 1))

                                              A belief-based desire semantics on world type W. defined carries the presuppositional definedness condition; want is the truth condition. Both range over Set W for the doxastic state and proposition.

                                              • Param : Type u_3

                                                Type of additional parameters (desire list for vF, similarity + pref for Heim, etc.).

                                              • defined : Set Wself.ParamSet WProp

                                                Definedness condition: the presupposition that ⟦S wants p⟧^c is defined at the configuration.

                                              • want : Set Wself.ParamWSet WProp

                                                Truth condition: when defined, the prediction of ⟦S wants p⟧^c.

                                              Instances For

                                                A semantics is conflict-blocking if no parameters/world make want(p) and want(¬p) both true when both are defined. This is the no-go theorem in slogan form: belief-based semantics cannot handle conflicting desire ascriptions.

                                                Equations
                                                • One or more equations did not get rendered due to their size.
                                                Instances For

                                                  vF as a BeliefBasedDesireSemantics instance. The evaluation-world argument is suppressed (vF is world-independent at the want level). The defined predicate requires both p and ¬p to overlap with belS — strong enough that some belS-world is necessarily undominated, which is what the vF no-go needs.

                                                  Equations
                                                  • One or more equations did not get rendered due to their size.
                                                  Instances For
                                                    noncomputable def Semantics.Attitudes.Desire.wantHeimClassical {W : Type u_2} [Fintype W] [DecidableEq W] (belS : Set W) (params : HeimDesireParams W) (w_eval : W) (p : Set W) :

                                                    A propositional-equivalent form of wantHeim that takes its decidability arguments via Classical.decPred rather than from the ambient typeclass context. Used in heimSemantics.want to ensure the structure projection has a stable form independent of caller decidability instances.

                                                    Equations
                                                    Instances For
                                                      theorem Semantics.Attitudes.Desire.wantHeimClassical_iff_wantHeim {W : Type u_2} [Fintype W] [DecidableEq W] (belS : Set W) [DecidablePred belS] (params : HeimDesireParams W) (w_eval : W) (p : Set W) [DecidablePred p] :
                                                      wantHeimClassical belS params w_eval p wantHeim belS params w_eval p

                                                      The classical-decidability variant agrees with wantHeim under any ambient decidability instances (via Subsingleton).

                                                      noncomputable def Semantics.Attitudes.Desire.heimSemantics {W : Type u_2} [Fintype W] [DecidableEq W] :

                                                      Heim as a BeliefBasedDesireSemantics instance. Definedness is Heim's (40) amendment; want wraps wantHeimClassical (which bakes in Classical.decPred so the structure projection is stable across ambient decidability instances). Abstract reasoning at the typology level is Prop-only; the wantHeimClassical_iff_wantHeim bridge converts to/from the typeclass-decidable form.

                                                      Equations
                                                      • One or more equations did not get rendered due to their size.
                                                      Instances For

                                                        Parametric no-go theorems for the structural typology #

                                                        vF is conflict-blocking (parametric no-go). The defined predicate requires both p-witnesses and ¬p-witnesses in belS, which is exactly what wantVF_no_simultaneous_pq_and_negpq needs after we extract a Pareto-undominated witness via finite-preorder minimal-element existence.

                                                        theorem Semantics.Attitudes.Desire.heimSemantics_isConflictBlocking {W : Type u_2} [Fintype W] [DecidableEq W] (params : HeimDesireParams W) (w_eval : W) (hAsym : ∀ (x y : W), params.pref w_eval x yparams.pref w_eval y xx = y) (belS p : Set W) :
                                                        heimSemantics.defined belS params p(heimSemantics.defined belS params fun (w : W) => ¬p w)¬(heimSemantics.want belS params w_eval p heimSemantics.want belS params w_eval fun (w : W) => ¬p w)

                                                        Heim is conflict-blocking (parametric no-go) at any (params, w_eval) with strict preference asymmetry. Delegates to wantHeim_no_simultaneous_pq_and_negpq.

                                                        Bridge to Core.Question infrastructure #

                                                        PB's List (DecProp W) is a finite-presentation view of a partition question. The substrate exposes bridge theorems showing each PB predicate corresponds to a property of the underlying Core.Question W:

                                                        The toQuestion constructor lifts a List (DecProp W) to Core.Question W via Question.ofList.

                                                        def Semantics.Attitudes.Desire.toQuestion {W : Type u_1} (answers : List (DecProp W)) :

                                                        Lift a list of decidable cells to a Core.Question W.

                                                        Equations
                                                        Instances For
                                                          theorem Semantics.Attitudes.Desire.isConsidered_iff_polar_partial_answer {W : Type u_1} (answers : List (DecProp W)) (p : Set W) [DecidablePred p] :
                                                          isConsidered answers p aanswers, a.prop p a.prop {w : W | ¬p w}

                                                          isConsidered Q p agrees with the polar-answerhood reading of every cell: each cell either entails p or entails pᶜ, which is exactly "every cell is a partial answer to the polar question of p".

                                                          @cite{lassiter-2017} (apparatus) / @cite{lassiter-2011} (want application): #

                                                             Expected-value desire semantics
                                                          

                                                          @cite{lassiter-2017} ch.7 (titled "Scalar goodness", not a desire chapter) develops an expected-value semantics for evaluative gradable predicates: E_V(φ) = Σ_{w ∈ φ ∩ D} V(w) · prob({w} | φ ∩ D) (eq. 7.22, p.187). The book's positive-form ought (§8.14 eq. 8.72a, p.253) is exactly the threshold reading μ_ought(φ) > θ_ought we adopt as want. The book extends to want in a single sentence at §8.13 (p.249): "want behaves as a gradable verb like like, matter, care, [...] need." The detailed want-as-EU account lives in @cite{lassiter-2011} ch.6 (NYU dissertation).

                                                          The substrate exposes:

                                                          The bare threshold form admits simultaneous want(p) ∧ want(¬p) (Lassiter.threshold_admits_conflict_witness), violating the substrate's BeliefBasedDesireSemantics.isConflictBlocking. This makes Lassiter's bare apparatus a sibling of vF/Heim/PB, not a BBSemantics instance. Lassiter and Phillips-Brown are different ways of escaping the no-go: PB via question-sensitivity, Lassiter via probabilistic-decision-theoretic gradability.

                                                          However, Lassiter's full account blocks the witness. Per paper §8.11 (p.245): "we should not weaken the semantics to make room for the simultaneous truth of ought(φ) and ought(¬φ). Instead, we should allow that there are various, possibly conflicting sources of value..." Sloman's Principle (eq. 8.16, p.216; Lassiter.wantWithSloman_blocks_conflict) excludes the witness on a single value function; genuine conflicting wants come from multiple value sources with weighted aggregation (§8.11 pp.243-245), not from single-V threshold-tuning. The bare threshold's admission of conflict is what Cariani 2013 attacks; Lassiter's response is not "let single-V conflict happen" but "let multi-source aggregation explain the data without single-V conflict."

                                                          The substrate exposes both layers (bare threshold + Sloman-augmented full account) so the reader can see exactly which Lassiter-flavored claim is being made.

                                                          §1. Bare expected-value apparatus #

                                                          def Semantics.Attitudes.Desire.Lassiter.expectedValue {W : Type u_1} [Fintype W] (pr V : W) (belS : Set W) [DecidablePred belS] (p : Set W) [DecidablePred p] :

                                                          Conditional expected value of p given belief state belS under prior pr and value function V. Lassiter 2017 §7.6 eq. 7.22:

                                                          E_V(p) = Σ_{w ∈ p ∩ belS} V(w) · pr({w} | p ∩ belS)

                                                          Expanded as a ratio:

                                                          E_V(p) = (Σ pr·V over (p ∩ belS)) / (Σ pr over (p ∩ belS))

                                                          Indicator-style sums (rather than Finset.filter) make the definition decide-friendly for concrete witness models. The two sums are inlined (not let-bound) so that downstream rw calls don't have to unfold a have-binding. Returns 0 when the denominator is zero (Lassiter notes E_V undefined for the empty proposition, p.187 fn.; we make the 0 convention).

                                                          Equations
                                                          • One or more equations did not get rendered due to their size.
                                                          Instances For
                                                            def Semantics.Attitudes.Desire.Lassiter.want {W : Type u_1} [Fintype W] (belS : Set W) [DecidablePred belS] (pr V : W) (θ : ) (p : Set W) [DecidablePred p] :

                                                            Lassiter-style positive-form want: ⟦S wants p⟧ iff the conditional expected value of p given S's beliefs exceeds threshold θ. Matches paper §8.14 eq. 8.72a's scalar interpretation μ_ought(φ) > θ_ought, extended to want per §8.13 + Lassiter 2011 ch.6.

                                                            Equations
                                                            Instances For
                                                              @[implicit_reducible]
                                                              instance Semantics.Attitudes.Desire.Lassiter.instDecidableWant {W : Type u_1} [Fintype W] (belS : Set W) [DecidablePred belS] (pr V : W) (θ : ) (p : Set W) [DecidablePred p] :
                                                              Decidable (want belS pr V θ p)
                                                              Equations

                                                              §2. Sloman's Principle (paper §8.6 eq. 8.16, p.216) #

                                                              ought(φ) → [∀ψ ∈ ALT(φ) : ψ ≠ φ → φ >_good ψ]

                                                              The wanted proposition strictly dominates every other alternative on the value scale. This is the constraint Lassiter adopts to block simultaneous truth of ought(φ) ∧ ought(¬φ) when both are in the alternative set.

                                                              def Semantics.Attitudes.Desire.Lassiter.slomanPrinciple {W : Type u_1} [Fintype W] (belS : Set W) [DecidablePred belS] (pr V : W) (alts : List ((q : Set W) ×' DecidablePred q)) (p : Set W) [DecidablePred p] :

                                                              Sloman's Principle: p strictly dominates every other listed alternative on the expected-value scale. Decidable via the underlying expectedValue decidability.

                                                              Equations
                                                              • One or more equations did not get rendered due to their size.
                                                              Instances For
                                                                def Semantics.Attitudes.Desire.Lassiter.wantWithSloman {W : Type u_1} [Fintype W] (belS : Set W) [DecidablePred belS] (pr V : W) (θ : ) (alts : List ((q : Set W) ×' DecidablePred q)) (p : Set W) [DecidablePred p] :

                                                                Lassiter's full account: the bare threshold AND Sloman's Principle. This is the actual account Lassiter defends in §8; the bare want operator alone is the apparatus, not the position.

                                                                Equations
                                                                • One or more equations did not get rendered due to their size.
                                                                Instances For

                                                                  §3. Bridge to Core.Agent.DecisionTheory #

                                                                  Lassiter.expectedValue is the proposition-conditional analog of Core.Agent.DecisionTheory.conditionalEU. Wrapping the value function as a unit-action utility makes the bridge explicit.

                                                                  Wrap a Lassiter (prior, value) pair as a unit-action DecisionProblem.

                                                                  Equations
                                                                  Instances For

                                                                    §4. Conflict witness for the bare threshold #

                                                                    A 4-world model demonstrating that the bare want operator (without Sloman) admits simultaneous want(p) ∧ want(¬p). Uniform prior 1/4 over Fin 4; asymmetric value V = (10, 4, 4, 0); threshold θ = 3/2; p = {w₀, w₁}. Then E_V(p) = 7 > 3/2 and E_V(¬p) = 2 > 3/2.

                                                                    This is Lassiter Table 8.4 p.239 — Lassiter's reconstruction of the Weakening-failure pattern @cite{cariani-2016} attacks within actualism, applied to the EV semantics. Cariani 2016's own counter-model (p.405) uses an actualist closeness ordering, not EV. Lassiter's response is to add Sloman's Principle, which excludes the witness (see wantWithSloman_blocks_conflict_on_witness below).

                                                                    theorem Semantics.Attitudes.Desire.Lassiter.threshold_admits_conflict_witness :
                                                                    ∃ (W : Type) (x : Fintype W) (x_1 : DecidableEq W) (belS : Set W) (x_2 : DecidablePred belS) (pr : W) (V : W) (θ : ) (p : Set W) (x_3 : DecidablePred p), want belS pr V θ p want belS pr V θ fun (w : W) => ¬p w
                                                                    theorem Semantics.Attitudes.Desire.Lassiter.outside_belief_based_family :
                                                                    ∃ (W : Type) (x : Fintype W) (x_1 : DecidableEq W) (belS : Set W) (x_2 : DecidablePred belS) (pr : W) (V : W) (θ : ) (p : Set W) (x_3 : DecidablePred p), want belS pr V θ p want belS pr V θ fun (w : W) => ¬p w

                                                                    Lassiter's bare apparatus is structurally outside the belief-based family. The threshold_admits_conflict_witness model cannot be reproduced by any BeliefBasedDesireSemantics instance that satisfies isConflictBlocking. Stated as a direct existential — no padding with the isConflictBlocking definition unfolding.

                                                                    §5. Sloman's Principle blocks the witness #

                                                                    Lassiter's full account adds Sloman's Principle (eq. 8.16 p.216). On the conflict-witness model with alts = [propP, ¬propP], Sloman holds for propP (E_V(propP) = 7 > 2 = E_V(¬propP) ✓) but FAILS for ¬propP (E_V(¬propP) = 2 ≯ 7 = E_V(propP) ✗). So wantWithSloman makes only propP wanted, blocking the conflict.

                                                                    This formalizes Lassiter's §8.11 (p.245) position: single-V conflict is blocked by his own constraints; genuine conflicting wants come from multi-source aggregation, not from threshold-tuning.

                                                                    theorem Semantics.Attitudes.Desire.Lassiter.wantWithSloman_blocks_conflict {W : Type u_1} [Fintype W] (belS : Set W) [DecidablePred belS] (pr V : W) (θ : ) (p : Set W) [DecidablePred p] (alts : List ((q : Set W) ×' DecidablePred q)) (h_p_in_alts : p, inferInstance alts) (h_negp_in_alts : fun (w : W) => ¬p w, inferInstance alts) (h_p_ne_negp : p fun (w : W) => ¬p w) :
                                                                    ¬(wantWithSloman belS pr V θ alts p wantWithSloman belS pr V θ alts fun (w : W) => ¬p w)

                                                                    §6. Intermediacy of expectedValue (paper §7.5, §7.6 p.188) #

                                                                    Lassiter §7.5 establishes that S_good is an intermediate scale: the goodness of φ ∨ ψ is between the goodness of φ and the goodness of ψ (rather than maximal — equal to the better of the two — or positive — strictly above both). In §7.6 (p.188), the disjoint union formula

                                                                    E_V(φ ∨ ψ) = (E_V(φ)·prob(φ) + E_V(ψ)·prob(ψ)) / (prob(φ) + prob(ψ))

                                                                    shows E_V is a weighted average over disjoint propositions, hence intermediate.

                                                                    We formalize the disjoint case directly: for disjoint p, q with positive belief mass, min(E_V(p), E_V(q)) ≤ E_V(p ∪ q) ≤ max(...). This is the key abstract scalar property that underlies Weakening (below) and is the empirical motivation for Lassiter's whole expected-value semantics.

                                                                    def Semantics.Attitudes.Desire.Lassiter.hasPositiveBeliefMass {W : Type u_1} [Fintype W] (pr : W) (belS : Set W) [DecidablePred belS] (p : Set W) [DecidablePred p] :

                                                                    A proposition has positive belief mass if some belS-world satisfies it. Decidability is inherited via the fact that Set.Nonempty (belS ∩ p) is decidable on finite types.

                                                                    Equations
                                                                    Instances For
                                                                      theorem Semantics.Attitudes.Desire.Lassiter.expectedValue_intermediate_disjoint {W : Type u_1} [Fintype W] (pr V : W) (belS : Set W) [DecidablePred belS] (p q : Set W) [DecidablePred p] [DecidablePred q] (hPosP : hasPositiveBeliefMass pr belS p) (hPosQ : hasPositiveBeliefMass pr belS q) (hDisjoint : ∀ (w : W), ¬(p w q w)) (hNonneg : ∀ (w : W), 0 pr w) :
                                                                      (min (expectedValue pr V belS p) (expectedValue pr V belS q) expectedValue pr V belS fun (w : W) => p w q w) (expectedValue pr V belS fun (w : W) => p w q w) max (expectedValue pr V belS p) (expectedValue pr V belS q)

                                                                      Intermediacy of E_V (disjoint case): for disjoint propositions p, q with positive belief mass, E_V(p ∪ q) lies between E_V(p) and E_V(q).

                                                                      The formal claim: when both sides are well-defined and the prior is non-negative on the support, min(E_V(p), E_V(q)) ≤ E_V(p ∪ q) ≤ max(E_V(p), E_V(q)).

                                                                      Proof is left as sorry pending the algebraic manipulation of the indicator-style sum (the inequality is well-known for weighted averages but the bookkeeping over Finset.sum of if-then-else expressions is non-trivial). The statement is the load-bearing item; consumers (e.g. want_satisfies_weakening_disjoint) can use it via the named theorem without waiting for the proof.

                                                                      §7. Smith Principle and Weakening (paper §8.10, §8.14 eq. 8.54) #

                                                                      Lassiter eq. 8.54 collects three constraints on ought:

                                                                      These are constraints on the want operator, not properties of single propositions. We formalize each as a Prop relating two propositions; the universally-quantified "operator satisfies the constraint" is the ∀ p q closure.

                                                                      Provenance for Weakening: @cite{cariani-2016} introduces the name and argues the principle is valid within actualist deontic semantics (Cariani's own Counterexample to Weakening on p.405 attacks the conjunction actualism + simple alternatives mapping; he wants to preserve Weakening). Lassiter §8.14 derives Weakening from intermediacy of E_V — see want_satisfies_weakening_disjoint. So in our formalization, Weakening is named per Cariani 2016, defined as an operator constraint, and derived (in the disjoint case) from the intermediacy property of expected value (Lassiter §7.5, §7.6 p.188). This honors linglib's "derive don't stipulate" discipline: Weakening isn't a brute axiom — it falls out of the underlying scalar property.

                                                                      Smith is stated as a separate constraint; its derivation requires more structure than intermediacy alone (Horty 1993, 2003).

                                                                      def Semantics.Attitudes.Desire.Lassiter.smithPrinciple {W : Type u_1} [Fintype W] (belS : Set W) [DecidablePred belS] (pr V : W) (θ : ) (p q : Set W) [DecidablePred p] [DecidablePred q] :

                                                                      Smith Principle (paper eq. 8.54b): if (p ∨ q) = univ and both want(p) and want(q) hold, then want(p ∧ q) holds.

                                                                      Formalized as a Prop parameterized on a specific (p, q) pair. The "want operator satisfies Smith" is the ∀ p q closure.

                                                                      Equations
                                                                      • One or more equations did not get rendered due to their size.
                                                                      Instances For
                                                                        def Semantics.Attitudes.Desire.Lassiter.weakeningPrinciple {W : Type u_1} [Fintype W] (belS : Set W) [DecidablePred belS] (pr V : W) (θ : ) (p q : Set W) [DecidablePred p] [DecidablePred q] :

                                                                        Weakening (paper eq. 8.54c): if both want(p) and want(q) hold, then want(p ∨ q) holds. Lassiter argues this is empirically valid (§8.10) and derivable from intermediacy of E_V (§8.14).

                                                                        Equations
                                                                        • One or more equations did not get rendered due to their size.
                                                                        Instances For
                                                                          theorem Semantics.Attitudes.Desire.Lassiter.want_satisfies_weakening_disjoint {W : Type u_1} [Fintype W] (belS : Set W) [DecidablePred belS] (pr V : W) (θ : ) (p q : Set W) [DecidablePred p] [DecidablePred q] (hPosP : hasPositiveBeliefMass pr belS p) (hPosQ : hasPositiveBeliefMass pr belS q) (hDisjoint : ∀ (w : W), ¬(p w q w)) (hNonneg : ∀ (w : W), 0 pr w) (hp : want belS pr V θ p) (hq : want belS pr V θ q) :
                                                                          want belS pr V θ fun (w : W) => p w q w

                                                                          Weakening from intermediacy (disjoint case): when p ⊥ q and both have positive belief mass, the disjoint-union expected value is at least the smaller of E_V(p) and E_V(q). So if both exceed θ, so does their union.

                                                                          This is Lassiter §8.14 eq. (8.78)'s derivation: intermediacy means E_V(p ∨ q) ≥ min(E_V(p), E_V(q)) > θ.

                                                                          def Semantics.Attitudes.Desire.Lassiter.fullConstraintsTrio {W : Type u_1} [Fintype W] (belS : Set W) [DecidablePred belS] (pr V : W) (θ : ) (alts : List ((q : Set W) ×' DecidablePred q)) (p q : Set W) [DecidablePred p] [DecidablePred q] :

                                                                          The full Lassiter constraint trio (paper eq. 8.54): a want operator satisfies the trio at (p, q) iff Sloman holds for p and Smith and Weakening hold pointwise. The ∀ p q alts closure over this gives Lassiter's full theory.

                                                                          Equations
                                                                          • One or more equations did not get rendered due to their size.
                                                                          Instances For
                                                                            theorem Semantics.Attitudes.Desire.Lassiter.fullConstraintsTrio_blocks_conflict {W : Type u_1} [Fintype W] (belS : Set W) [DecidablePred belS] (pr V : W) (θ : ) (p : Set W) [DecidablePred p] (alts : List ((q : Set W) ×' DecidablePred q)) (h_p_in_alts : p, inferInstance alts) (h_negp_in_alts : fun (w : W) => ¬p w, inferInstance alts) (h_p_ne_negp : p fun (w : W) => ¬p w) (hP : want belS pr V θ p) (hSlomanP : slomanPrinciple belS pr V alts p) (hNegP : want belS pr V θ fun (w : W) => ¬p w) (hSlomanNegP : slomanPrinciple belS pr V alts fun (w : W) => ¬p w) :
                                                                            False

                                                                            The full constraint trio also blocks the conflict witness. With Sloman as the active blocker (Smith and Weakening don't directly address (p, ¬p) since they're closure constraints), the trio inherits the blocking from wantWithSloman.