Documentation

Studies.Cariani2013

Cariani (2013): 'Ought' and resolution semantics #

This file formalizes [Car13]'s resolution semantics for ought. Reading ought as a universal quantifier over the best worlds validates INHERITANCE, closure of ought under entailment of the prejacent, and the paper takes the classical counterexamples at face value: Joan ought to attend her classes does not entail Joan ought to either attend her classes or burn down the philosophy department ([Ros44]), and Procrastinate ought to accept and write the review does not entail Procrastinate ought to accept ([JP86]). The account keeps COARSENESS, on which an ought-sentence can be true although some way of making its prejacent true is impermissible, by relativizing ought to a resolution: a partition of the modal base into the agent's options (Setoid W), an ordering of the options, and a benchmark below which an option is impermissible (ResolutionContext). Ought p holds when the resolution decides p, every best option entails p, and every option entailing p meets the benchmark (Ought), so that one impermissible option compatible with the prejacent falsifies the sentence, the paper's COARSE FALSEMAKING (not_ought_of_not_meetsBenchmark), while impermissible ways of p that no option distinguishes leave it true.

Both puzzles refute INHERITANCE (not_inheritance_ross, not_inheritance_proc). Permission has two candidate entries, some option at the benchmark entails p or some best option does (Permitted₁, Permitted₂); ought entails both, both are closed under entailment, and since that closure together with the duality of ought and permission would restore INHERITANCE (inheritance_of_dual), ought is the dual of neither. A boxing semantics is the special case of the finest resolution with a benchmark every option meets (ought_bot_iff).

Implementation notes #

References #

structure Cariani2013.ResolutionContext (W : Type u_3) (V : Type u_4) :
Type (max u_3 u_4)

A resolution context: the resolution, a partition of the modal base into the agent's options; the ordering, a valuation of worlds that the resolution decides, so that it ranks options; and the benchmark, the threshold of the scale below which an option is impermissible.

  • resolution : Setoid W

    The resolution: worlds in one cell realize the same option.

  • value : W → V

    The ordering: the value of a world's option in the scale.

  • value_decided : self.resolution ≤ Setoid.ker self.value

    The valuation is constant on options.

  • benchmark : V

    The benchmark: the least permissible value.

Instances For
    def Cariani2013.ResolutionContext.ofRanking {W : Type u_1} {V : Type u_2} [Fintype W] [SemilatticeSup V] [OrderBot V] (s : Setoid W) [DecidableRel ⇑s] (rank : W → V) (benchmark : V) :

    The context of a ranked action space: an option is valued at the rank of its best world.

    Equations
    Instances For

      The clauses #

      @[reducible, inline]
      abbrev Cariani2013.ResolutionContext.IsVisible {W : Type u_1} {V : Type u_2} (rc : ResolutionContext W V) (p : Set W) :

      p is visible when the resolution decides it: each option entails p or its negation.

      Equations
      Instances For
        def Cariani2013.ResolutionContext.MeetsBenchmark {W : Type u_1} {V : Type u_2} [Preorder V] (rc : ResolutionContext W V) (w : W) :

        An option meets the benchmark when its value is at least the benchmark.

        Equations
        Instances For
          def Cariani2013.ResolutionContext.IsBest {W : Type u_1} {V : Type u_2} [Preorder V] (rc : ResolutionContext W V) (w : W) :

          An option is best when no option is strictly better.

          Equations
          • rc.IsBest w = MaximalFor (fun (x : W) => True) rc.value w
          Instances For
            def Cariani2013.ResolutionContext.IsOptimal {W : Type u_1} {V : Type u_2} [Preorder V] (rc : ResolutionContext W V) (p : Set W) :

            p is optimal when every best option entails it.

            Equations
            Instances For
              def Cariani2013.ResolutionContext.IsStronglyPermissible {W : Type u_1} {V : Type u_2} [Preorder V] (rc : ResolutionContext W V) (p : Set W) :

              p is strongly permissible when every option that entails it meets the benchmark.

              Equations
              Instances For

                The operators #

                def Cariani2013.ResolutionContext.Ought {W : Type u_1} {V : Type u_2} [Preorder V] (rc : ResolutionContext W V) (p : Set W) :

                Ought p: p is visible, optimal, and strongly permissible.

                Equations
                Instances For
                  def Cariani2013.ResolutionContext.Permitted₁ {W : Type u_1} {V : Type u_2} [Preorder V] (rc : ResolutionContext W V) (p : Set W) :

                  Permitted p, first entry: some option that entails p meets the benchmark.

                  Equations
                  Instances For
                    def Cariani2013.ResolutionContext.Permitted₂ {W : Type u_1} {V : Type u_2} [Preorder V] (rc : ResolutionContext W V) (p : Set W) :

                    Permitted p, second entry: some best option entails p.

                    Equations
                    Instances For
                      def Cariani2013.ResolutionContext.Inheritance {W : Type u_1} {V : Type u_2} [Preorder V] (rc : ResolutionContext W V) :

                      INHERITANCE: ought is closed under entailment of the prejacent.

                      Equations
                      Instances For
                        @[instance_reducible]
                        instance Cariani2013.ResolutionContext.instDecidableMeetsBenchmark {W : Type u_1} {V : Type u_2} [Preorder V] (rc : ResolutionContext W V) [DecidableRel fun (x1 x2 : V) => x1 ≤ x2] (w : W) :
                        Decidable (rc.MeetsBenchmark w)
                        Equations
                        @[instance_reducible]
                        instance Cariani2013.ResolutionContext.instDecidableIsBest {W : Type u_1} {V : Type u_2} [Preorder V] (rc : ResolutionContext W V) [Fintype W] [DecidableRel fun (x1 x2 : V) => x1 ≤ x2] (w : W) :
                        Decidable (rc.IsBest w)
                        Equations
                        @[instance_reducible]
                        instance Cariani2013.ResolutionContext.instDecidableIsOptimal {W : Type u_1} {V : Type u_2} [Preorder V] (rc : ResolutionContext W V) (p : Set W) [Fintype W] [DecidableRel ⇑rc.resolution] [DecidableRel fun (x1 x2 : V) => x1 ≤ x2] [DecidablePred fun (x : W) => x ∈ p] :
                        Decidable (rc.IsOptimal p)
                        Equations
                        @[instance_reducible]
                        instance Cariani2013.ResolutionContext.instDecidableIsStronglyPermissible {W : Type u_1} {V : Type u_2} [Preorder V] (rc : ResolutionContext W V) (p : Set W) [Fintype W] [DecidableRel ⇑rc.resolution] [DecidableRel fun (x1 x2 : V) => x1 ≤ x2] [DecidablePred fun (x : W) => x ∈ p] :
                        Decidable (rc.IsStronglyPermissible p)
                        Equations
                        @[instance_reducible]
                        instance Cariani2013.ResolutionContext.instDecidableOught {W : Type u_1} {V : Type u_2} [Preorder V] (rc : ResolutionContext W V) (p : Set W) [Fintype W] [DecidableRel ⇑rc.resolution] [DecidableRel fun (x1 x2 : V) => x1 ≤ x2] [DecidablePred fun (x : W) => x ∈ p] :
                        Decidable (rc.Ought p)
                        Equations
                        @[instance_reducible]
                        instance Cariani2013.ResolutionContext.instDecidablePermitted₁ {W : Type u_1} {V : Type u_2} [Preorder V] (rc : ResolutionContext W V) (p : Set W) [Fintype W] [DecidableRel ⇑rc.resolution] [DecidableRel fun (x1 x2 : V) => x1 ≤ x2] [DecidablePred fun (x : W) => x ∈ p] :
                        Decidable (rc.Permitted₁ p)
                        Equations
                        @[instance_reducible]
                        instance Cariani2013.ResolutionContext.instDecidablePermitted₂ {W : Type u_1} {V : Type u_2} [Preorder V] (rc : ResolutionContext W V) (p : Set W) [Fintype W] [DecidableRel ⇑rc.resolution] [DecidableRel fun (x1 x2 : V) => x1 ≤ x2] [DecidablePred fun (x : W) => x ∈ p] :
                        Decidable (rc.Permitted₂ p)
                        Equations

                        Coarse falsemaking and permission #

                        theorem Cariani2013.ResolutionContext.not_ought_of_not_meetsBenchmark {W : Type u_1} {V : Type u_2} [Preorder V] {rc : ResolutionContext W V} {p : Set W} {w : W} (hp : rc.resolution.cell w ⊆ p) (h : ¬rc.MeetsBenchmark w) :
                        ¬rc.Ought p

                        COARSE FALSEMAKING: one option below the benchmark that entails p falsifies ought p, however good the other options are.

                        theorem Cariani2013.ResolutionContext.exists_isBest {W : Type u_1} {V : Type u_2} [Preorder V] {rc : ResolutionContext W V} [Finite W] [Nonempty W] :
                        ∃ (w : W), rc.IsBest w

                        Some option is best as soon as there are options.

                        theorem Cariani2013.ResolutionContext.Ought.permitted₂ {W : Type u_1} {V : Type u_2} [Preorder V] {rc : ResolutionContext W V} {p : Set W} [Finite W] [Nonempty W] (ho : rc.Ought p) :

                        What one ought to do some best option does.

                        theorem Cariani2013.ResolutionContext.Ought.permitted₁ {W : Type u_1} {V : Type u_2} [Preorder V] {rc : ResolutionContext W V} {p : Set W} [Finite W] [Nonempty W] (ho : rc.Ought p) :

                        What one ought to do is permitted: a best option does it by optimality and meets the benchmark by strong permissibility.

                        theorem Cariani2013.ResolutionContext.Permitted₁.mono {W : Type u_1} {V : Type u_2} [Preorder V] {rc : ResolutionContext W V} {p q : Set W} (hpq : p ⊆ q) :

                        PI: permission is closed under entailment of the prejacent, on either entry.

                        theorem Cariani2013.ResolutionContext.Permitted₂.mono {W : Type u_1} {V : Type u_2} [Preorder V] {rc : ResolutionContext W V} {p q : Set W} (hpq : p ⊆ q) :

                        The boxing special case #

                        theorem Cariani2013.ResolutionContext.ought_bot_iff {W : Type u_1} {V : Type u_2} [Preorder V] {rc : ResolutionContext W V} {p : Set W} (h : rc.resolution = ⊥) (hb : ∀ (w : W), rc.MeetsBenchmark w) :
                        rc.Ought p ↔ ∀ (w : W), rc.IsBest w → w ∈ p

                        On the finest resolution with every option at the benchmark, ought p is quantification over the best worlds: the boxing semantics is a resolution semantics.

                        Duality #

                        theorem Cariani2013.inheritance_of_dual {W : Type u_1} {O P : Set W → Prop} (hd : ∀ (p : Set W), O p ↔ ¬P pᶜ) (hP : ∀ (p q : Set W), p ⊆ q → P p → P q) {p q : Set W} (hpq : p ⊆ q) (hp : O p) :
                        O q

                        DUALITY of an operator with a permission closed under entailment yields INHERITANCE.

                        theorem Cariani2013.ResolutionContext.not_dual₁ {W : Type u_1} {V : Type u_2} [Preorder V] {rc : ResolutionContext W V} (h : ¬rc.Inheritance) :
                        ¬∀ (p : Set W), rc.Ought p ↔ ¬rc.Permitted₁ pᶜ

                        Where INHERITANCE fails, ought is not the dual of benchmark permission.

                        theorem Cariani2013.ResolutionContext.not_dual₂ {W : Type u_1} {V : Type u_2} [Preorder V] {rc : ResolutionContext W V} (h : ¬rc.Inheritance) :
                        ¬∀ (p : Set W), rc.Ought p ↔ ¬rc.Permitted₂ pᶜ

                        Where INHERITANCE fails, ought is not the dual of best-option permission.

                        Ross's paradox #

                        Joan's three courses of action.

                        Instances For
                          @[instance_reducible]
                          Equations

                          Attending is best, staying home next, burning down the department worst.

                          Equations
                          Instances For

                            Joan's context: each action its own option, the benchmark at staying home, so that burning down the department is the one impermissible option.

                            Equations
                            Instances For

                              Joan ought to attend her classes is true.

                              The disjunction is visible, so only the permissibility clause rejects it: burning down the department entails attend or burn and is below the benchmark.

                              Joan ought to either attend her classes or burn down the philosophy department is false.

                              Staying home is permitted but not obligatory: it is at the benchmark and not best.

                              Ross's paradox refutes INHERITANCE.

                              And so ought is the dual of neither permission.

                              Procrastinate #

                              Procrastinate's three courses of action ([JP86]): accepting the review and writing it, declining it, and accepting without writing.

                              Instances For
                                @[instance_reducible]
                                Equations

                                Accepting and writing is best; declining is better than accepting and not writing, which is what Procrastinate would in fact do.

                                Equations
                                Instances For

                                  Procrastinate's context, with the benchmark at declining.

                                  Equations
                                  Instances For

                                    Procrastinate ought to accept and write the review is true.

                                    Procrastinate ought to accept is false: accepting without writing is a way of accepting and is below the benchmark.

                                    Procrastinate refutes INHERITANCE too, on a prejacent weakened by an impermissible option rather than by a disjunct.

                                    Jenny's ways to school #

                                    Jenny's ways to school.

                                    Instances For
                                      @[instance_reducible]
                                      Equations
                                      @[instance_reducible]
                                      Equations
                                      @[reducible, inline]
                                      abbrev Cariani2013.mode (m : Mode) :
                                      Set (Mode × Bool)

                                      The proposition that Jenny goes to school by m; a world also records whether she has a cup of coffee, which the resolution ignores.

                                      Equations
                                      Instances For

                                        Jenny's context: the ways to school as options, coffee below the resolution, and the benchmark between walking and driving, so that driving is the one impermissible option.

                                        Equations
                                        Instances For

                                          Running is permissible, optimal, and strongly permissible, so Jenny ought to run.

                                          Running or walking is visible in Jenny's resolution; having a cup of coffee is not.