Documentation

Studies.VanRooy2003

van Rooy (2003): Questioning to Resolve Decision Problems #

Van Rooy grounds the meaning of questions in the questioner's decision problem, a prior over worlds and a utility for each action in each world. Information resolves the problem when some action is optimal in every world it leaves open. A question, a partition of the worlds, is worth the average gain in decision value from learning its answer; that theory of question value, consumed beyond this paper, is Semantics/Questions/Value.lean. A wh-question denotes the propositions that some value is among the optimal true values of its predicate, those with no more relevant true value, and this one rule yields both mention-all and mention-some readings.

Main statements #

Implementation notes #

A decision problem is a real utility on worlds and actions together with a prior measure, the actions forming a type, and questions over a finite set of worlds are Finpartitions. The relevance of a value in a world is a utility into a preorder; the paper's relation > orders answers, which for the newspaper example of section 5.2 is world-relative, the best place differing between worlds. Section 5.3 assumes the questioner most wants to resolve her problem, so for Who killed spiderman? a concept is more relevant when it resolves the problem, and for Where do you live? an answer is more relevant when it resolves the problem and, among answers alike in that, when it is less informative, the ordering of answers of section 3.1 with effort taken into account. The examples are rows of Data.Examples.VanRooy2003.

TODO #

References #

Resolving a decision problem #

def VanRooy2003.IsResolved {W : Type u} {A : Type u_1} (U : W → A → ℝ) (C : Set W) :

Information C resolves the decision problem with utility U when some action is at least as good as every other in every world of C.

Equations
Instances For
    def VanRooy2003.optimalityRegion {W : Type u} {A : Type u_1} (U : W → A → ℝ) (a : A) :
    Set W

    The proposition an action induces is the set of worlds where no action is strictly better.

    Equations
    Instances For
      theorem VanRooy2003.isResolved_iff_exists_subset_optimalityRegion {W : Type u} {A : Type u_1} (U : W → A → ℝ) (C : Set W) :
      IsResolved U C ↔ ∃ (a : A), C ⊆ optimalityRegion U a

      Information resolves the decision problem exactly when it lies within the optimality region of some action.

      theorem VanRooy2003.iUnion_optimalityRegion {W : Type u} {A : Type u_1} [Finite A] [Nonempty A] (U : W → A → ℝ) :
      ⋃ (a : A), optimalityRegion U a = Set.univ

      Over finitely many actions every world has an optimal one, so the regions cover the worlds.

      theorem VanRooy2003.pairwise_disjoint_optimalityRegion {W : Type u} {A : Type u_1} (U : W → A → ℝ) (hstrict : ∀ (w : W), ∃ (a : A), ∀ (b : A), b ≠ a → U w b < U w a) :
      Pairwise (Function.onFun Disjoint (optimalityRegion U))

      When every world has a strictly best action the regions are pairwise disjoint, and the actions induce a partition.

      The Italian newspaper #

      The worlds of the newspaper examples are named by where to go, only the station, only the palace, or either (the paper's u, v and w).

      Instances For
        @[instance_reducible]
        Equations
        @[instance_reducible]
        Equations

        The actions of the newspaper example are walking to the station and walking to the palace.

        Instances For
          @[instance_reducible]
          Equations
          @[instance_reducible]
          Equations
          @[instance_reducible]
          Equations
          @[reducible, inline]
          noncomputable abbrev VanRooy2003.newsPrior :
          MeasureTheory.Measure NewsW

          The worlds of the newspaper example are equiprobable.

          Equations
          Instances For

            The mention-some answer at least at the station resolves the problem although it is only a partial answer to the partition question.

            Taking effort into account, the mention-some answer at least at the station is a better answer than the complete answer only at the station, since both resolve the problem and the first says less.

            Mention-some and mention-all from one rule #

            def VanRooy2003.optimalValues {W : Type u} {G : Type u_2} {R : Type u_3} [Preorder R] (P : W → Set G) (u : W → G → R) (w : W) :
            Set G

            The optimal values of P in w are its true values for which no true value is more relevant.

            Equations
            Instances For
              theorem VanRooy2003.mem_optimalValues {W : Type u} {G : Type u_2} {R : Type u_3} [LinearOrder R] {P : W → Set G} {u : W → G → R} {w : W} {g : G} :
              g ∈ optimalValues P u w ↔ g ∈ P w ∧ ∀ g' ∈ P w, u w g' ≤ u w g
              theorem VanRooy2003.optimalValues_eq_singleton {W : Type u} {G : Type u_2} {R : Type u_3} [Preorder R] {P : W → Set G} {u : W → G → R} {w : W} {x y : G} (hP : P w = {x, y}) (h : u w x < u w y) :
              optimalValues P u w = {y}

              Of two true values, a strictly more relevant one is the only optimal one.

              theorem VanRooy2003.optimalValues_eq_pair {W : Type u} {G : Type u_2} {R : Type u_3} [Preorder R] {P : W → Set G} {u : W → G → R} {w : W} {x y : G} (hP : P w = {x, y}) (hxy : ¬u w x < u w y) (hyx : ¬u w y < u w x) :
              optimalValues P u w = {x, y}

              Two true values neither of which is more relevant are both optimal.

              def VanRooy2003.whAnswers {W : Type u} {G : Type u_2} (P : W → Set G) :
              Set (Set W)

              Hamblin's rule makes the answers the propositions that a value satisfies the predicate, one for each value satisfying it somewhere.

              Equations
              Instances For
                def VanRooy2003.questionR {W : Type u} {G : Type u_2} {R : Type u_3} [Preorder R] (P : W → Set G) (u : W → G → R) :
                Set (Set W)

                The paper's rule is Hamblin's rule applied to the optimal values, whose answers are the propositions that a value is among the optimal ones.

                Equations
                Instances For
                  def VanRooy2003.overlapCells {W : Type u} {G : Type u_2} (op : W → Set G) :
                  Set (Set W)

                  The rule of footnote 28 puts two worlds together whenever their optimal values overlap.

                  Equations
                  Instances For
                    theorem VanRooy2003.whAnswers_eq_image {W : Type u} {G : Type u_2} (P : W → Set G) :
                    whAnswers P = (fun (g : G) => {v : W | g ∈ P v}) '' ⋃ (w : W), P w

                    Hamblin's rule collects, for each value true somewhere, the worlds where it is true.

                    theorem VanRooy2003.whAnswers_singleton {W : Type u} {G : Type u_2} (f : W → G) :
                    (whAnswers fun (w : W) => {f w}) = (Setoid.ker f).classes

                    When the optimal value is unique in every world the rule gives the partition by that value.

                    theorem VanRooy2003.questionR_const {W : Type u} {G : Type u_2} {R : Type u_3} [Preorder R] (P : W → Set G) (r : R) :
                    (questionR P fun (x : W) (x_1 : G) => r) = whAnswers P

                    When every value is equally relevant, the rule is Hamblin's.

                    theorem VanRooy2003.questionR_actions {W : Type u} {A : Type u_1} (U : W → A → ℝ) :
                    questionR (fun (x : W) => Set.univ) U = {r : Set W | r ∈ Set.range (optimalityRegion U) ∧ r.Nonempty}

                    Asking which action is optimal, the rule yields the nonempty propositions the actions induce.

                    theorem VanRooy2003.questionR_entailment {W : Type u} {D : Type u_4} (ext : W → Set D) :
                    (questionR (fun (w : W) => {g : Set D | g ⊆ ext w}) fun (x : W) (g : Set D) => OrderDual.toDual {v : W | g ⊆ ext v}) = (Setoid.ker ext).classes

                    When an answer is more relevant the more informative it is, the rule asks for the most informative true answer, and for a distributive predicate it gives the partition by the predicate's extension, the mention-all reading of [GS84].

                    The best place to buy the newspaper #

                    theorem VanRooy2003.bestPlace_optimalValues :
                    optimalValues (fun (x : NewsW) => Set.univ) bestPlace NewsW.station = {Walk.station} ∧ optimalValues (fun (x : NewsW) => Set.univ) bestPlace NewsW.palace = {Walk.palace} ∧ optimalValues (fun (x : NewsW) => Set.univ) bestPlace NewsW.both = Set.univ

                    The optimal places are the best place of each world.

                    The rule yields the overlapping mention-some answers.

                    The rule of footnote 28 adds the trivial answer, which is why the paper rejects it.

                    theorem VanRooy2003.bestPlace_hamblin :
                    (whAnswers fun (x : NewsW) => Set.univ) = {Set.univ}

                    Hamblin's rule, which ignores which places are best, yields only the trivial answer.

                    Degree questions #

                    theorem VanRooy2003.optimalValues_le {W : Type u} (jump : W → ℕ) (w : W) :
                    optimalValues (fun (w : W) => {n : ℕ | n ≤ jump w}) (fun (x : W) => id) w = {jump w}

                    Ranking the numbers by size, the optimal answer to How many meters can you jump? is [Rul95]'s maximum, the height you can jump (Examples.ex_18b).

                    theorem VanRooy2003.optimalValues_ge {W : Type u} (time : W → ℕ) (w : W) :
                    optimalValues (fun (w : W) => {n : ℕ | time w ≤ n}) (fun (x : W) => ⇑OrderDual.toDual) w = {time w}

                    Ranking the numbers in reverse, the optimal answer to In how many seconds can you run the 100 meters? is the minimum (Examples.ex_19).

                    theorem VanRooy2003.optimalValues_gt_eq_empty {W : Type u} (jump : W → ℕ) (w : W) :
                    optimalValues (fun (w : W) => {n : ℕ | jump w < n}) (fun (x : W) => id) w = ∅

                    When jumping high is better there is no best number of meters you cannot jump, so How many meters can't you jump? is undefined (Examples.ex_24).

                    theorem VanRooy2003.optimalValues_gt_toDual {W : Type u} (jump : W → ℕ) (w : W) :
                    optimalValues (fun (w : W) => {n : ℕ | jump w < n}) (fun (x : W) => ⇑OrderDual.toDual) w = {jump w + 1}

                    With the preferences reversed, the unique optimal answer to How many meters can't you jump? is the first number of meters you cannot jump.

                    Granularity #

                    def VanRooy2003.relevanceWithEffort {W : Type u} {A : Type u_1} {G : Type u_2} (U : W → A → ℝ) (P : W → Set G) :
                    W → (g : G) → Lex (Prop × Set W)

                    Taking effort into account, an answer is more relevant when it resolves the decision problem, and among answers alike in that, when it is less informative.

                    Equations
                    Instances For

                      The worlds of Where do you live? are four addresses, two in Amsterdam and two in Utrecht as in section 3.2 (Examples.ex_21).

                      Instances For
                        @[instance_reducible]
                        Equations

                        A city is Amsterdam or Utrecht.

                        Instances For
                          @[instance_reducible]
                          Equations
                          @[instance_reducible]
                          Equations

                          An answer to Where do you live? names an address or a city.

                          Instances For

                            In each world you live at its address and in its city.

                            Equations
                            Instances For
                              def VanRooy2003.letter (w a : Address) :
                              ℝ

                              To send a letter one has to choose the address.

                              Equations
                              Instances For
                                def VanRooy2003.visit (w : Address) (c : City) :
                                ℝ

                                To decide on a visit one has to choose the city.

                                Equations
                                Instances For

                                  For a visit, taking effort into account, Where do you live? denotes the partition by city.

                                  For a letter, Where do you live? denotes the partition by address.

                                  theorem VanRooy2003.liveIn_visit_not_pairwiseDisjoint :
                                  ¬(questionR livesAt fun (x : Address) (g : Location) => IsResolved visit {v : Address | g ∈ livesAt v}).PairwiseDisjoint id

                                  Without effort, for a visit both the address and the city are optimal, so Where do you live? has overlapping answers and is no partition.

                                  @[instance_reducible]
                                  Equations
                                  theorem VanRooy2003.liveIn_visit_better (μ : MeasureTheory.Measure Address) [MeasureTheory.IsProbabilityMeasure μ] :

                                  For a visit, whatever the prior, asking for the city is a better question than asking for the address: it is worth as much, since the city settles the decision, and it asks for less.

                                  Conceptual covers #

                                  In the worlds of Who killed spiderman? John or Bill did it, wearing a blue or a green mask (Examples.ex_22).

                                  Instances For
                                    @[instance_reducible]
                                    Equations

                                    The concepts that may identify the killer are two names and two masks.

                                    Instances For
                                      @[instance_reducible]
                                      Equations

                                      For a questioner who has to know the culprit's name, Who killed spiderman? denotes the partition by name, as if quantifying over the cover {John, Bill}.

                                      For a questioner who has to know what the culprit looks like, Who killed spiderman? denotes the partition by mask, as if quantifying over the cover {blue, green}.

                                      When any one concept resolves the problem every true concept is optimal, and Who killed spiderman? denotes four overlapping answers, one per concept.

                                      Scalar questions #

                                      The Beatles whose autographs one might have (Examples.ex_26).

                                      Instances For
                                        @[instance_reducible]
                                        Equations
                                        def VanRooy2003.counted (w : Finset Beatle) :
                                        Set Beatle

                                        The autographs that count, McCartney's ignored.

                                        Equations
                                        Instances For
                                          theorem VanRooy2003.beatles_questionR :
                                          (questionR counted fun (x : Finset Beatle) => autographRank) = {{w : Finset Beatle | Beatle.lennon ∈ w}, {w : Finset Beatle | Beatle.harrison ∈ w ∧ Beatle.lennon ∉ w}, {w : Finset Beatle | Beatle.starr ∈ w ∧ Beatle.harrison ∉ w ∧ Beatle.lennon ∉ w}}

                                          Ranked by the hierarchy, Which Beatles' autograph do you have? has just three resolving answers, at least a Lennon autograph, Harrison but not Lennon, and only Starr.