Documentation

Linglib.Studies.Veltman1996

Veltman (1996): defaults in update semantics #

[Vel96] treats normally φ as an update of an agent's expectations rather than a sentence about them: a state is a pair of an expectation pattern (a preorder on worlds) and the agent's knowledge of the facts, normally φ refines the pattern in favour of φ-worlds, and presumably φ tests whether φ holds in the optimal worlds of the state. That §3 system is Semantics/Dynamic/UpdateSemantics/Default.lean; the first section checks its Examples 3.10 on the paper's four worlds, the rain-or-snow contrast that shows normally (p ∨ q) to be stronger than normally p, and normally_not_normally_or.

The heart of the paper (§4) adds restricted rules if φ, then normally ψ (φ ⇝ ψ): an expectation frame assigns a pattern to every domain d of worlds (Definition 4.2), a world is normal in d when it is top-ranked in every subdomain containing it (Definition 4.3), a frame is coherent when every nonempty domain has a normal world, accepting φ ⇝ ψ refines the pattern at ⟦φ⟧ and crashes when the result is incoherent (Definitions 4.5–4.6), and a set of defaults applies within s when every domain extending s has a normal world complying with them (Definition 4.9). The optimal worlds of a state comply with a maximal applicable set of defaults (Definition 4.13), which Proposition 4.14 lets one compute over the explicitly accepted rules. Since every frame an agent reaches from the minimal state is the refinement of the total frame by the rules it has accepted, a frame is presented here by its list of rules (Frame.ofRules): that makes coherence, normality, applicability and the optimal worlds decidable, so each verdict of the paper is checked by decide on Veltman's eight worlds over the atoms p, q, r. Validity is his validity₁ (§1.2): the minimal state updated with the premises in order accepts the conclusion (Valid).

Proved in general: Definition 4.5's refinement clause as theorems about the presentation (ofRules_cons_self, ofRules_cons_of_ne), Proposition 4.7 as the equivalence of coherent acceptance with the new rule's applicability within its own domain (coherent_cons_iff), Conditional Identity and Conjunction of Consequents (rule_self, conjConsequents), and the §5 observation that Weakening the Consequent never crashes a state (weakenConsequent_coherent). Checked on the model: Examples 4.8 and 4.11, the §5 benchmarks (the Nixon diamond, the student–adult–employment argument, Independence), the validity of defeasible Modus Tollens and of Modus Ponens over Modus Tollens on a cyclic net, the failure of Hypothetical Syllogism, Contraposition and Strengthening the Antecedent together with their defeasible versions, and the near-validity of Strengthening with a Consequent and Disjunction of Antecedents.

Rules with exceptions (§3) #

Veltman's four worlds over the atoms p, q: w₀ = ∅, w₁ = {p}, w₂ = {q}, w₃ = {p, q}.

Instances For
    @[instance_reducible]
    Equations

    Rules can have exceptions: after normally p, learning ¬p does not crash (3.10(i)).

    But the opposite rule is then unacceptable: no optimal world of 0[normally p] is a ¬p-world (3.10(i)).

    Exceptions defeat presumptions: normally p, ¬p ⊮ presumably p (3.10(ii)).

    But not the rule: normally p, ¬p ⊩ normally p (3.10(ii)).

    Irrelevant information does not block a presumption: normally p, q ⊩ presumably p (3.10(iii)).

    Independence: normally p, normally q, ¬p ⊩ presumably q (3.10(iv)).

    theorem Veltman1996.ex310_ambiguity :
    have σ := ((Veltman1996.σ₀✝.promote atomP).promote atomQ).assert fun (w : PQWorld) => ¬(atomP w atomQ w); (¬wσ.optimal, atomP w) ¬wσ.optimal, atomQ w

    Ambiguity: normally p, normally q, ¬(p ∧ q) presumes neither p nor q (3.10(v)).

    theorem Veltman1996.rain_or_snow :
    (¬w((Veltman1996.σ₀✝.promote atomP).assert fun (x : PQWorld) => ¬atomP x).optimal, atomQ w) w((Veltman1996.σ₀✝.promote fun (w : PQWorld) => atomP w atomQ w).assert fun (x : PQWorld) => ¬atomP x).optimal, atomQ w

    Normally it rains; it is not raining; so presumably it snows is invalid, but normally it rains or snows; it is not raining; so presumably it snows is valid (§3): a rule normally (p ∨ q) says what to expect when p fails.

    Hence normally p ⊮ normally (p ∨ q): the second rule further refines the pattern.

    Rules for exceptions (§4) #

    structure Veltman1996.Rule (W : Type u_2) :
    Type u_2

    A restricted rule φ ⇝ ψ: default is a default in the domain domain.

    • domain : Finset W
    • default : Finset W
    Instances For
      @[instance_reducible]
      instance Veltman1996.instDecidableEqRule {W✝ : Type u_2} [DecidableEq W✝] :
      DecidableEq (Rule W✝)
      Equations
      def Veltman1996.instDecidableEqRule.decEq {W✝ : Type u_2} [DecidableEq W✝] (x✝ x✝¹ : Rule W✝) :
      Decidable (x✝ = x✝¹)
      Equations
      Instances For
        @[reducible, inline]
        abbrev Veltman1996.Frame (W : Type u_2) :
        Type u_2

        An expectation frame assigns to every domain d a pattern on d (Definition 4.2).

        Equations
        Instances For
          @[reducible]
          def Veltman1996.Frame.ofRules {W : Type u_1} (R : List (Rule W)) :

          The frame presented by a list of rules: the pattern at d is the total pattern refined by the defaults of the rules with domain d (Proposition 4.14).

          Equations
          Instances For
            theorem Veltman1996.Frame.ofRules_cons_self {W : Type u_1} (r : Rule W) (R : List (Rule W)) :
            ofRules (r :: R) r.domain = Core.Order.Normality.refine (ofRules R r.domain) fun (w : r.domain) => w r.default

            Refinement at the rule's own domain (Definition 4.5(ii)(b)): the pattern at r.domain is the old one refined with r.default.

            theorem Veltman1996.Frame.ofRules_cons_of_ne {W : Type u_1} (r : Rule W) (R : List (Rule W)) {d : Finset W} (h : d r.domain) :
            ofRules (r :: R) d = ofRules R d

            Other domains are untouched (Definition 4.5(ii)(a)).

            def Veltman1996.Normal {W : Type u_1} (π : Frame W) (d : Finset W) (w : W) :

            w is normal in πd (Definition 4.3(i)): w ∈ d and w is at least as normal as every world of every subdomain of d containing it, under that subdomain's pattern.

            Equations
            • Veltman1996.Normal π d w = (w d d'd, ∀ (hw : w d') (v : W) (hv : v d'), w, hw v, hv)
            Instances For
              theorem Veltman1996.normal_ofRules_iff {W : Type u_1} (R : List (Rule W)) (d : Finset W) (w : W) :
              Normal (Frame.ofRules R) d w w d rR, r.domaindw r.domainvr.domain, v r.defaultw r.default

              In a presented frame, only the rules' own domains can disqualify a world.

              theorem Veltman1996.Normal.mono {W : Type u_1} {π : Frame W} {d d' : Finset W} {w : W} (h : Normal π d w) (hw : w d') (hd : d'd) :
              Normal π d' w

              A world normal in a domain is normal in every subdomain containing it.

              theorem Veltman1996.Normal.of_cons {W : Type u_1} {r : Rule W} {R : List (Rule W)} {d : Finset W} {w : W} (h : Normal (Frame.ofRules (r :: R)) d w) :

              Accepting a rule can only remove normal worlds.

              @[instance_reducible]
              instance Veltman1996.instDecidableRelSubtypeMemFinsetLe_linglib {W : Type u_1} [DecidableEq W] (R : List (Rule W)) (d : Finset W) :
              DecidableRel LE.le
              Equations
              @[instance_reducible]
              instance Veltman1996.instDecidablePredNormalOfRules {W : Type u_1} [DecidableEq W] (R : List (Rule W)) (d : Finset W) :
              DecidablePred (Normal (Frame.ofRules R) d)
              Equations
              def Veltman1996.normal {W : Type u_1} (π : Frame W) (d : Finset W) [DecidablePred (Normal π d)] :
              Finset W

              The normal worlds nπd (Definition 4.3(ii)).

              Equations
              Instances For
                def Veltman1996.Complies {W : Type u_1} (w : W) (D : List (Rule W)) :

                w complies with the defaults D (Definition 4.9(i)).

                Equations
                Instances For
                  @[instance_reducible]
                  instance Veltman1996.instDecidableComplies {W : Type u_1} [DecidableEq W] (w : W) (D : List (Rule W)) :
                  Decidable (Complies w D)
                  Equations
                  def Veltman1996.IsDefault {W : Type u_1} [DecidableEq W] (π : Frame W) (d e : Finset W) :

                  e is a default in πd (Definition 4.2(ii)): d ∩ e ≠ ∅ and πd ∘ e = πd, i.e. πd already respects e (Normality.refine_of_respects).

                  Equations
                  Instances For
                    theorem Veltman1996.isDefault_of_mem {W : Type u_1} [DecidableEq W] {R : List (Rule W)} {r : Rule W} (hr : r R) (hne : (r.domain r.default).Nonempty) :

                    Every accepted rule with a nonempty domain-default intersection is a default of the presented frame.

                    theorem Veltman1996.conjConsequents {W : Type u_1} [DecidableEq W] {R : List (Rule W)} {φ ψ χ : Finset W} ( : { domain := φ, default := ψ } R) ( : { domain := φ, default := χ } R) :
                    Frame.ofRules ({ domain := φ, default := ψ χ } :: R) = Frame.ofRules R

                    Conjunction of Consequents: once φ ⇝ ψ and φ ⇝ χ have been accepted, the pattern at ⟦φ⟧ respects ψ ∧ χ, so φ ⇝ (ψ ∧ χ) refines nothing.

                    def Veltman1996.Coherent {W : Type u_1} (π : Frame W) [(d : Finset W) → DecidablePred (Normal π d)] :

                    A frame is coherent when every nonempty domain has a normal world (Definition 4.3(iii)).

                    Equations
                    Instances For
                      def Veltman1996.Applies {W : Type u_1} (π : Frame W) [(d : Finset W) → DecidablePred (Normal π d)] (D : List (Rule W)) (s : Finset W) :

                      The defaults D jointly apply within s (Definition 4.9(ii)): every domain extending s has a normal world complying with them.

                      Equations
                      Instances For
                        theorem Veltman1996.coherent_cons_iff {W : Type u_1} [DecidableEq W] {R : List (Rule W)} (hR : Coherent (Frame.ofRules R)) {r : Rule W} (hne : (r.domain r.default).Nonempty) :

                        Proposition 4.7: a coherent frame stays coherent under a new rule r with r.domain ∩ r.default ≠ ∅ iff r applies within its own domain — no domain extending r.domain has all its normal worlds in r.domain \ r.default.

                        theorem Veltman1996.weakenConsequent_applies {W : Type u_1} [DecidableEq W] {R : List (Rule W)} (hR : Coherent (Frame.ofRules R)) {φ ψ χ : Finset W} ( : { domain := φ, default := ψ } R) (hne : (φ ψ).Nonempty) :
                        Applies (Frame.ofRules R) [{ domain := φ, default := ψ χ }] φ

                        Weakening the Consequent is "almost valid" (§5): a state that has accepted φ ⇝ ψ never crashes on φ ⇝ (ψ ∨ χ), since any normal world of a domain extending ⟦φ⟧ that lies in ⟦φ⟧ already satisfies ψ.

                        theorem Veltman1996.weakenConsequent_coherent {W : Type u_1} [DecidableEq W] {R : List (Rule W)} (hR : Coherent (Frame.ofRules R)) {φ ψ χ : Finset W} ( : { domain := φ, default := ψ } R) (hne : (φ ψ).Nonempty) :
                        Coherent (Frame.ofRules ({ domain := φ, default := ψ χ } :: R))
                        @[instance_reducible]
                        instance Veltman1996.instDecidableEqFrameOfRules {W : Type u_1} [DecidableEq W] [Fintype W] (R R' : List (Rule W)) :
                        Decidable (Frame.ofRules R = Frame.ofRules R')
                        Equations
                        @[instance_reducible]
                        instance Veltman1996.instDecidableCoherent {W : Type u_1} [Fintype W] (π : Frame W) [(d : Finset W) → DecidablePred (Normal π d)] :
                        Decidable (Coherent π)
                        Equations
                        @[instance_reducible]
                        instance Veltman1996.instDecidableApplies {W : Type u_1} [DecidableEq W] [Fintype W] (π : Frame W) [(d : Finset W) → DecidablePred (Normal π d)] (D : List (Rule W)) (s : Finset W) :
                        Decidable (Applies π D s)
                        Equations
                        structure Veltman1996.State (W : Type u_2) :
                        Type u_2

                        A state (π, s): the frame, presented by the accepted rules, and the agent's knowledge of the facts (Definition 4.4).

                        • rules : List (Rule W)
                        • info : Finset W
                        Instances For
                          @[instance_reducible]
                          instance Veltman1996.instDecidableEqState {W✝ : Type u_2} [DecidableEq W✝] :
                          DecidableEq (State W✝)
                          Equations
                          def Veltman1996.instDecidableEqState.decEq {W✝ : Type u_2} [DecidableEq W✝] (x✝ x✝¹ : State W✝) :
                          Decidable (x✝ = x✝¹)
                          Equations
                          Instances For
                            def Veltman1996.State.init {W : Type u_1} [Fintype W] :

                            The minimal state 0: the total frame, every world possible.

                            Equations
                            Instances For

                              The absurd state 1.

                              Equations
                              Instances For
                                @[reducible, inline]
                                abbrev Veltman1996.State.frame {W : Type u_1} (σ : State W) :

                                The frame of a state.

                                Equations
                                Instances For
                                  def Veltman1996.State.MaximalApplicable {W : Type u_1} [DecidableEq W] (σ : State W) (D : List (Rule W)) :

                                  D is a maximal applicable set of defaults in σ (Definition 4.13(i)), over the accepted rules (Proposition 4.14).

                                  Equations
                                  Instances For
                                    @[instance_reducible]
                                    instance Veltman1996.State.instDecidableMaximalApplicable {W : Type u_1} [DecidableEq W] [Fintype W] (σ : State W) (D : List (Rule W)) :
                                    Decidable (σ.MaximalApplicable D)
                                    Equations
                                    def Veltman1996.State.optimal {W : Type u_1} [DecidableEq W] [Fintype W] (σ : State W) :
                                    Finset W

                                    The optimal worlds (Definition 4.13(ii)): the worlds of s complying with a maximal applicable set of defaults.

                                    Equations
                                    Instances For
                                      def Veltman1996.State.Accepts {W : Type u_1} (σ : State W) (φ : State WState W) :

                                      σ ⊩ φ: σ[φ] is σ — the same facts and the same frame.

                                      Equations
                                      Instances For
                                        @[instance_reducible]
                                        instance Veltman1996.State.instDecidableAccepts {W : Type u_1} [DecidableEq W] [Fintype W] (σ : State W) (φ : State WState W) :
                                        Decidable (σ.Accepts φ)
                                        Equations
                                        def Veltman1996.rule {W : Type u_1} [DecidableEq W] [Fintype W] (φ ψ : Finset W) (σ : State W) :

                                        σ[φ ⇝ ψ] (Definition 4.6): refine the frame at ⟦φ⟧ with ⟦ψ⟧, crashing if ⟦φ⟧ ∩ ⟦ψ⟧ = ∅ or the refined frame is incoherent.

                                        Equations
                                        • One or more equations did not get rendered due to their size.
                                        Instances For
                                          def Veltman1996.normally {W : Type u_1} [DecidableEq W] [Fintype W] (ψ : Finset W) :
                                          State WState W

                                          Normally ψ is (ψ ∨ ¬ψ) ⇝ ψ (Definition 4.1).

                                          Equations
                                          Instances For
                                            def Veltman1996.fact {W : Type u_1} [DecidableEq W] (φ : Finset W) (σ : State W) :

                                            σ[φ] for a factual φ: eliminate the ¬φ-worlds, crashing if none remain.

                                            Equations
                                            Instances For
                                              def Veltman1996.presumably {W : Type u_1} [DecidableEq W] [Fintype W] (φ : Finset W) (σ : State W) :

                                              σ[presumably φ] (Definition 4.13(iii)): a test passing iff φ holds in every optimal world.

                                              Equations
                                              Instances For
                                                def Veltman1996.Valid {W : Type u_1} [Fintype W] (prems : List (State WState W)) (concl : State WState W) :

                                                Validity₁ (§1.2): the minimal state updated with the premises in order accepts the conclusion.

                                                Equations
                                                Instances For
                                                  @[instance_reducible]
                                                  instance Veltman1996.instDecidableValid {W : Type u_1} [DecidableEq W] [Fintype W] (prems : List (State WState W)) (concl : State WState W) :
                                                  Decidable (Valid prems concl)
                                                  Equations
                                                  theorem Veltman1996.rule_self {W : Type u_1} [DecidableEq W] [Fintype W] {φ : Finset W} ( : φ.Nonempty) :
                                                  Valid [] (rule φ φ)

                                                  Conditional Identity: φ ⇝ φ is accepted in the minimal state for nonempty φ — the rule refines nothing.

                                                  Veltman's eight worlds #

                                                  @[reducible, inline]

                                                  wᵢ is the set of atoms whose bits are set in i: w₀ = ∅, w₁ = {p}, w₂ = {q}, w₃ = {p, q}, w₄ = {r}, …, w₇ = {p, q, r}.

                                                  Equations
                                                  Instances For
                                                    def Veltman1996.p :
                                                    Finset World
                                                    Equations
                                                    Instances For
                                                      def Veltman1996.q :
                                                      Finset World
                                                      Equations
                                                      Instances For
                                                        def Veltman1996.r :
                                                        Finset World
                                                        Equations
                                                        Instances For

                                                          Examples 4.8(i)–(iii): an exception to normally p for q is acceptable, but not a further exception for ¬q (too many exceptions), nor normally q on top of it.

                                                          Examples 4.11(i)–(iii), the verdicts of §4: the more specific rule takes precedence, and an exception to an exception restores the general verdict.

                                                          Example 4.11(iv): neither rule is more specific, yet in the context pq only q ⇝ (p ∧ ¬r) applies.

                                                          theorem Veltman1996.nixon :
                                                          ¬Valid [rule p r, rule q r, fact (p q)] (presumably r) ¬Valid [rule p r, rule q r, fact (p q)] (presumably r)

                                                          Example 4.11(v), the Nixon diamond (§5): pr, q ⇝ ¬r, pq presume neither r nor ¬r — the two defaults apply separately but not jointly.

                                                          Example 4.11(vi): qp, pr, qpresumably r — the defeasible Hypothetical Syllogism (§5's (*)).

                                                          Comparisons (§5) #

                                                          Students are normally adults (qp), students are normally not employed (q ⇝ ¬r), adults are normally employed (pr): John, a student, is presumably an unemployed adult — q ⇝ ¬r overrides pr in the presence of qp.

                                                          Independence: an exception in one respect is not an exception in others — a student who is employed is still presumably an adult.

                                                          Defeasible Modus Tollens is valid: pq, ¬q ⊩ presumably ¬p.

                                                          On the cyclic net pq, q ⇝ ¬p, Modus Ponens takes precedence over Modus Tollens: ppresumably q.

                                                          Validity₁ is not closed under substitution: (*) holds for independent predicates, but substituting ¬q for r defeats it.

                                                          Hypothetical Syllogism fails although its defeasible version (*) holds: the rule qr is not accepted.

                                                          Defeasible Modus Tollens holds but Contraposition fails.

                                                          theorem Veltman1996.strengthening :
                                                          Valid [rule p q, fact (p r)] (presumably q) ¬Valid [rule p q] (rule (p r) q)

                                                          pq, prpresumably q, but Strengthening the Antecedent fails.

                                                          theorem Veltman1996.nearValid :
                                                          rule (p q) r (rule p r (rule p q State.init)) State.absurd ¬Valid [rule p q, rule p r] (rule (p q) r) rule (p q) r (rule q r (rule p r State.init)) State.absurd ¬Valid [rule p r, rule q r] (rule (p q) r)

                                                          Strengthening with a Consequent and Disjunction of Antecedents are almost valid: the derived rule never crashes the state, though it is not accepted.