Documentation

Deontic.canon3

We verify that the Maple model from 1996 is actually a canon₃_II model. Thus the definition of canon_II was foreshadowed in 1996; In this example canon_II can be characterized as the model obtain by a certain greedy algorithm for A5-C5 and automatically satisfies E5.

def canon₃ {α : Type u_1} [Fintype α] [DecidableEq α] (A B C : Finset α) :
Finset αFinset (Finset α)
Equations
Instances For
    def canon₃'' {α : Type u_1} [Fintype α] [DecidableEq α] (A B C : Finset α) :
    Finset αFinset (Finset α)
    Equations
    Instances For
      def canon₃''' {α : Type u_1} [Fintype α] [DecidableEq α] (A B C : Finset α) :
      Finset αFinset (Finset α)
      Equations
      • One or more equations did not get rendered due to their size.
      Instances For
        def Ought {α : Type u_1} [Fintype α] [DecidableEq α] (ob : Finset αFinset (Finset α)) (Y Z : Finset α) :

        Ought (Y | Z) as in 1996 Maple code.

        Equations
        Instances For
          theorem not_empty_inter {α : Type u_1} [Fintype α] [DecidableEq α] {A B : Finset α} {i : α} (hA : i A) (hB : i B) :
          A B
          theorem paradox_in_CJ2022_general'' {n : } {ob : Finset (Fin n)Finset (Finset (Fin n))} (b5 : B5 ob) (e5 : E5 ob) (f5 : F5 ob) {A B C D : Finset (Fin n)} (hC : C ) (hab : A B = ) (hbc : B C = ) (hAD : A D = ) (hf₁₀ : A ob (A B)) (hf₀₀ : C ob (C D)) :
          C ob (B C D)

          Limited Principle of Explosion: If C is at least somewhat desirable and the most desirable (A) is violated then C is obligatory.

          theorem limited_explosion {n : } {ob : Finset (Fin n)Finset (Finset (Fin n))} (b5 : B5 ob) (e5 : E5 ob) (f5 : F5 ob) {A C U V : Finset (Fin n)} (h₀ : A ob U) (h₁ : C ob V) (h₂ : C ) (h₃ : C U = ) (h₄ : A V = ) (h₅ : A U) (h₆ : C V) :
          C ob (U \ A V)
          theorem paradox_in_CJ2022_general' {n : } {ob : Finset (Fin n)Finset (Finset (Fin n))} (b5 : B5 ob) (e5 : E5 ob) (f5 : F5 ob) {A B C : Finset (Fin n)} (hC : C ) (hab : A B = ) (hbc : B C = ) (hf₁₀ : A ob (A B)) (hf₀₀ : C ob C) :
          C ob (B C)
          theorem paradox_in_CJ2022_general {n : } {ob : Finset (Fin n)Finset (Finset (Fin n))} (b5 : B5 ob) (e5 : E5 ob) (f5 : F5 ob) {A B C T : Finset (Fin n)} (hA : A ) (hC : C ) (hac : A C = ) (hab : A B = ) (hbc : B C = ) (hAT : A T) (hBT : B T) (hCT : C T) (ought₀ : Ought ob A T) (ought₂ : Ought ob C (T (A B))) :
          C ob (B C)
          theorem paradox_in_CJ2022_generalest {n : } {ob : Finset (Fin n)Finset (Finset (Fin n))} (b5 : B5 ob) (e5 : E5 ob) (f5 : F5 ob) {A B C : Finset (Fin n)} (hA : A ) (hC : C ) (hac : A C = ) (hab : A B = ) (hbc : B C = ) (ought₀ : Ought ob A Finset.univ) (ought₂ : Ought ob C (A B)) :
          C ob (B C)
          theorem paradox_in_CJ2022 {n : } {ob : Finset (Fin n)Finset (Finset (Fin n))} (b5 : B5 ob) (e5 : E5 ob) (f5 : F5 ob) (a b c : Fin n) (hab : a b) (hbc : b c) (hac : a c) (ought₀ : Ought ob {a} Finset.univ) (ought₂ : Ought ob {c} {a, b}) :
          {c} ob {b, c}

          This is paradoxical if a is the best world, then b, then c.

          theorem characterize_canon₂_II₀ {α : Type u_1} [Fintype α] [DecidableEq α] (A B : Finset α) (hAB : A B) :
          theorem characterize_canon₂₀ {α : Type u_1} [Fintype α] [DecidableEq α] (A B : Finset α) (hAB : A B) :
          inductive Ob_chisholm_b {n : } (A B : Finset (Fin n)) :
          Instances For
            inductive Ob_chisholm_bdf {n : } (A B : Finset (Fin n)) :
            Instances For
              noncomputable def ob_chisholm_b {n : } (A B : Finset (Fin n)) :
              Finset (Fin n)Finset (Finset (Fin n))
              Equations
              Instances For
                noncomputable def ob_chisholm_bdf {n : } (A B : Finset (Fin n)) :
                Finset (Fin n)Finset (Finset (Fin n))
                Equations
                Instances For
                  theorem characterize_canon₂_II {α : Type u_1} [Fintype α] [DecidableEq α] (A B : Finset α) (ob : Finset αFinset (Finset α)) (b5 : B5 ob) (ought : Ought ob A Finset.univ Ought ob B A) (X : Finset α) :
                  canon₂_II A B X ob X

                  Theorem 2 in the first version of the paper.

                  def least_model {α : Type u_1} [Fintype α] [DecidableEq α] (ob : Finset αFinset (Finset α)) (axioms : (Finset αFinset (Finset α))Prop) :

                  Note that if ob depends on some parameters A, B, ... then so can the axioms.

                  Equations
                  Instances For
                    theorem ought_complement {α : Type u_1} [Fintype α] [DecidableEq α] (A : Finset α) (ob : Finset αFinset (Finset α)) :
                    Ought ob A A

                    Since canon₂_II also satisfies A B C E G we can furthermore characterize it as the least model of those axioms and B5 and these Oughts. It is remarkable that A, C, E, G do not add anything to this least model.

                            least model of  also of
                    

                    canon₂_II A B C E G B canon₂ A B C D B D F

                    What are the least models of the paradoxical ABCDEFG and ABCEFG?

                    theorem least_model_canon₂_II {α : Type u_1} [Fintype α] [DecidableEq α] (A B : Finset α) (h : A B) :
                    least_model (canon₂_II A B) fun (ob : Finset αFinset (Finset α)) => B5 ob Ought ob A Finset.univ Ought ob B A
                    theorem canon₂_II_eq_ob_chisholm_b {n : } (A B : Finset (Fin n)) (h : A B) :

                    We need to assume A ⊆ B, perhaps relevant to referee's question, although it was already in least_model_canon₂_II. The contribution of this theorem is to obtain canon₂_II as equal to a certain closure, not just satisfying a "least model" predicate. January 5, 2026.

                    theorem characterize_canon₂_case {α : Type u_1} [Fintype α] [DecidableEq α] {A B X Y : Finset α} {ob : Finset αFinset (Finset α)} (b5 : B5 ob) (d5 : D5 ob) (f5 : F5 ob) (H₀ : ¬X B = ) (H₁ : X A = ) (ought : Ought ob B A) (h : X B Y) :
                    Y ob X
                    theorem BD5_of_B5_of_D5 {α : Type u_1} [Fintype α] [DecidableEq α] {ob : Finset αFinset (Finset α)} (b5 : B5 ob) (d5 : D5 ob) :
                    BD5 ob
                    theorem II_2_2_finset {α : Type u_1} [Fintype α] [DecidableEq α] {ob : Finset αFinset (Finset α)} (a5 : A5 ob) (b5 : B5 ob) (c5 : C5 ob) (d5 : D5 ob) :
                    F5 ob
                    theorem characterize_canon₂ {α : Type u_1} [Fintype α] [DecidableEq α] {A B : Finset α} {ob : Finset αFinset (Finset α)} (b5 : B5 ob) (d5 : D5 ob) (f5 : F5 ob) (ought : Ought ob A Finset.univ Ought ob B A) (X : Finset α) :
                    canon₂ A B X ob X

                    canon₂ is the minimal model satisfying certain Ought's and B5, D5, F5. Actually F5 follows from B5, C5, D5, A5 (Lemma II-2-2) although here we do not need to assume C5.

                    June 6, 2025

                    theorem least_model_canon₂ {α : Type u_1} [Fintype α] [DecidableEq α] (A B : Finset α) (h : A B) :
                    least_model (canon₂ A B) fun (ob : Finset αFinset (Finset α)) => B5 ob D5 ob F5 ob Ought ob A Finset.univ Ought ob B A
                    structure Rule (α : Type u_1) :
                    Type (max (max u_1 (u_2 + 1)) (u_3 + 1))
                    Instances For
                      inductive Closure {α : Type u_1} (𝒜 : Set (Set α)) {R : Type u_2} (rule : RRule α) :
                      Set αProp
                      Instances For

                        General setup for CJ rules #

                        structure sets_instance (α : Type u_1) (n : ) (P : (Fin nFinset α)Prop) :
                        Type u_1
                        Instances For
                          structure closure_rule (α : Type u_1) :
                          Type u_1
                          Instances For
                            inductive closure_under {α : Type u_1} (𝒜 : Finset (Finset α × Finset α)) (rule : Finset (closure_rule α)) :
                            Instances For
                              theorem closure_under_sub {α : Type u_1} (𝒜 : Finset (Finset α × Finset α)) (rules₁ rules₂ : Finset (closure_rule α)) (h : rules₁ rules₂) :
                              closure_under 𝒜 rules₁ closure_under 𝒜 rules₂

                              If we add more rules then the closure becomes larger.

                              def B5rule (n : ) :
                              Equations
                              • One or more equations did not get rendered due to their size.
                              Instances For
                                def ObArule {n : } (A : Finset (Fin n)) :
                                Equations
                                • One or more equations did not get rendered due to their size.
                                Instances For
                                  def ObBArule {n : } (A B : Finset (Fin n)) :
                                  Equations
                                  • One or more equations did not get rendered due to their size.
                                  Instances For

                                    This shows, together with earlier results, how to express canon₂_II as a closure under a set of operators.

                                    theorem close_under_eq_canon₂_II {n : } (A B Y : Finset (Fin n)) (h : A B) :

                                    The closure of a set under some operations can be defined in a very noneffective way as the intersection of all closed sets. Second, it can be defined in a recursively enumerable way in terms of being generated by some operations. Sometimes, it can be characterized even more concretely in a quantifier-free way, like here. For example, in a vector space over F_2 the subspace generated by v is just {v,0}.

                                    structure DisjointUnionParams (α : Type u_1) :
                                    Type u_1
                                    Instances For
                                      def disjointUnionRule (α : Type u_1) :
                                      Rule α
                                      Equations
                                      Instances For
                                        theorem canon₂_eq_ob_chisholm_bdf {n : } (A B : Finset (Fin n)) (h : A B) :
                                        theorem least_model_canon₂' {α : Type u_1} [Fintype α] [DecidableEq α] (A B : Finset α) (h : A B) :
                                        least_model (canon₂ A B) fun (ob : Finset αFinset (Finset α)) => A5 ob B5 ob C5 ob D5 ob Ought ob A Finset.univ Ought ob B A

                                        A version of least_model_canon₂ that mentions only older axioms than F5.

                                        def canon₃_II {α : Type u_1} [Fintype α] [DecidableEq α] (A B C : Finset α) :
                                        Finset αFinset (Finset α)
                                        Equations
                                        Instances For
                                          theorem maple_eq_canon₃_II (ob : Finset (Fin 4)Finset (Finset (Fin 4))) (a b c d : Fin 4) (h : ob = canon₃_II {c} {c, d} {b, c, d}) (h₀ : a = 0) (h₁ : b = 1) (h₂ : c = 2) (h₃ : d = 3) :
                                          ob = ob {a} = ob {b} = {{b}, {a, b}, {b, c}, {b, d}, {a, b, c}, {a, b, d}, {b, c, d}, {a, b, c, d}} ob {c} = {{c}, {a, c}, {b, c}, {c, d}, {a, b, c}, {a, c, d}, {b, c, d}, {a, b, c, d}} ob {d} = {{d}, {a, d}, {b, d}, {c, d}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} ob {a, b} = {{b}, {b, c}, {b, d}, {b, c, d}} ob {a, c} = {{c}, {b, c}, {c, d}, {b, c, d}} ob {a, d} = {{d}, {b, d}, {c, d}, {b, c, d}} ob {b, c} = {{c}, {a, c}, {c, d}, {a, c, d}} ob {b, d} = {{d}, {a, d}, {c, d}, {a, c, d}} ob {c, d} = {{c}, {a, c}, {b, c}, {a, b, c}} ob {a, b, c} = {{c}, {c, d}} ob {a, b, d} = {{d}, {c, d}} ob {a, c, d} = {{c}, {b, c}} ob {b, c, d} = {{c}, {a, c}} ob {a, b, c, d} = {{c}}