Goldszmidt and Pearl (1996): Qualitative Probabilities for Default Reasoning, Belief Revision, and Causal Modeling #
This file formalizes the default-reasoning core of Goldszmidt and Pearl's paper, system Z and its
variable-strength extension system Z⁺. A ranking function (Spohn's ordinal conditional function,
read as the order of magnitude of an infinitesimal probability) is admissible for a knowledge base
of rules φ → ψ when every world falsifying a rule is outranked by one verifying it. A rule is
tolerated by the base when some world verifies it together with the material counterparts of all the
rules; the Consistency-Test peels off the tolerated rules stratum by stratum, a stratum's index is
the Z-priority of its rules, and the ranking κᶻ gives a world one more than the highest priority it
falsifies. Two consequence relations are compared on the paper's Example 17: the cautious
p-entailment, which holds in every admissible ranking, and z-entailment, which holds in κᶻ.
Entailment in a ranking is the rational consequence relation RankingFunction.Entails, and a
ranking is admissible exactly when it entails every rule. Rational monotony, in the sense of Lehmann
and Magidor, holds in each admissible ranking, so z-entailment has it, while p-entailment is
preferential but not rational (not_isRational_pEntails). Table 2's verdicts are theorems:
z-entailment sanctions rule chaining and the discounting of an irrelevant feature where p-entailment
is undecided (z_birds_airborne, p_birds_airborne_undecided), and neither inherits wings to the
exceptional penguins.
System Z⁺ attaches a strength δ to each rule and asks a verifying world to lie δ + 1 ranks below
every falsifying one. The coupled equations of the ranking κ⁺ and the priorities Z⁺ are satisfied
by the priorities the paper computes for Example 24 under every choice of strengths
(isZPlusOrdering_example24); penguins inherit wings exactly when the wing rule is firmer than
the flying rule (zPlus_penguins_winged_iff), and the Nixon diamond of Example 26 is decided by
the relative strengths alone (nixon_pacifist_iff).
Soft evidence for a proposition is read in two ways. A Type-J report fixes the final belief, and
is Spohn's conditionalization RankingFunction.conditionα (Eq. (25)), which keeps the ranks
given the proposition and given its negation and so ranks every proposition by Jeffrey's rule,
Eq. (24) (RankingFunction.rank_conditionα_eq). A Type-L report shifts
the belief by the evidence's strength: L-conditioning lifts the worlds outside the proposition
by the strength and renormalizes. It commutes, and two reports for one proposition add their
strengths (lCondition_comm, lCondition_lCondition). Its world ranks are those of Eq. (32),
and it is Type-J conditioning at the firmness Eq. (30) gives the negation
(lCondition_eq_conditionα). On the party of Example 28 the Type-L reading reproduces Fig. 6,
while the Type-J reading leaves Mary's going at rank 1 where the paper reports 2 (typeJ_bill).
Implementation notes #
Worlds are the truth assignments to the atoms of each example, given a Fintype instance through
the product of Booleans so that tolerance, admissibility, and entailment decide. Uniqueness and
minimality of κᶻ and κ⁺ (Theorems 16 and 21), the complexity analysis of soft evidence, and the
paper's sections on belief revision and causal networks are not formalized.
References #
- M. Goldszmidt and J. Pearl, Qualitative Probabilities for Default Reasoning, Belief Revision, and Causal Modeling (1996)
- W. Spohn, Ordinal Conditional Functions: A Dynamic Theory of Epistemic States (1988)
- D. Lehmann and M. Magidor, What Does a Conditional Knowledge Base Entail? (1992)
- E. W. Adams, The Logic of Conditionals: An Application of Probability to Deductive Logic (1975)
Equations
- r.instDecidableVerified x = id inferInstance
Equations
- r.instDecidableFalsified x = id inferInstance
A knowledge base is a list of rules.
Equations
Instances For
A ranking is admissible for the base when every world falsifying a rule is outranked by a world verifying it, so that κ(φ ∧ ψ) < κ(φ ∧ ¬ψ) (Definition 2).
Equations
- GoldszmidtPearl1996.Admissible κ Δ = ∀ r ∈ Δ, ∀ (x : W), r.Falsified x → ∃ (y : W), r.ante y ∧ r.cons y ∧ κ y < κ x
Instances For
Equations
- GoldszmidtPearl1996.instDecidableAdmissibleOfFintype κ Δ = id inferInstance
A rule is tolerated by the base when some world verifies it together with the material counterparts of every rule of the base (Definition 3).
Equations
- GoldszmidtPearl1996.Tolerated r Δ = ∃ (x : W), r.ante x ∧ r.cons x ∧ ∀ r' ∈ Δ, r'.Verified x
Instances For
Equations
- GoldszmidtPearl1996.instDecidableToleratedOfFintype r Δ = id inferInstance
The Consistency-Test (Fig. 2) peels off the rules tolerated by what remains, stratum by stratum, and a stratum's index is the Z-priority of its rules. Each stratum of a consistent base removes a rule, so the number of rules bounds the iteration; rules that are never tolerated stay in the last stratum.
Equations
- One or more equations did not get rendered due to their size.
- GoldszmidtPearl1996.zPrioritiesAux x✝¹ [] x✝ = []
- GoldszmidtPearl1996.zPrioritiesAux 0 x✝¹ x✝ = List.map (fun (x : GoldszmidtPearl1996.Rule W) => (x, x✝)) x✝¹
Instances For
The Z-priorities of a base, by the Consistency-Test.
Equations
- GoldszmidtPearl1996.zPriorities Δ = GoldszmidtPearl1996.zPrioritiesAux (List.length Δ) Δ 0
Instances For
The rank of a world is one more than the highest priority among the rules it falsifies, and zero when it falsifies none (Definition 12 and Eq. 15).
Equations
- One or more equations did not get rendered due to their size.
Instances For
The ranking a prioritized base induces, given a world falsifying no rule.
Equations
- GoldszmidtPearl1996.zRanking rules h = { toFun := GoldszmidtPearl1996.zRank rules, exists_eq_zero' := h }
Instances For
A ranking is admissible exactly when each rule's consequent follows from its antecedent in
the ranking's consequence relation RankingFunction.Entails, the paper's Definition 7. By
Principle (3) a consequent follows when its negation has positive rank given the antecedent
(RankingFunction.entails_iff_condRank), equivalently when it holds in every most normal world
of the antecedent (RankingFunction.entails_iff_forall_least).
A proposition p-entails another when it entails it in every admissible ranking (Definition 8).
Equations
- GoldszmidtPearl1996.PEntails Δ φ σ = ∀ (κ : RankingFunction W), GoldszmidtPearl1996.Admissible κ Δ → κ.Entails φ σ
Instances For
A rule is p-entailed by its own antecedent.
An admissible ranking in which σ does not follow from φ refutes p-entailment.
P-entailment is a preferential consequence relation, since each rule of system P holds in every admissible ranking.
System Z⁺ (section 3) #
A base of variable-strength rules.
Equations
Instances For
The flat base of a strength base consists of its rules without their strengths.
Equations
- Δ.flat = List.map (fun (x : GoldszmidtPearl1996.StrengthRule W) => x.toRule) Δ
Instances For
A ranking is δ-admissible when every world falsifying a rule lies at least δ + 1 ranks above a world verifying it (Definition 18).
Equations
- GoldszmidtPearl1996.StrengthAdmissible κ Δ = ∀ r ∈ Δ, ∀ (x : W), r.Falsified x → ∃ (y : W), r.ante y ∧ r.cons y ∧ κ y + r.strength < κ x
Instances For
A strength base admits a δ-admissible ranking exactly when its flat base admits an admissible one, since scaling a ranking by one more than the largest strength widens every gap (Theorem 19).
The rank a prioritized strength base induces (Eq. 15).
Equations
- GoldszmidtPearl1996.zPlusRank Δ = GoldszmidtPearl1996.zRank (List.map (fun (p : GoldszmidtPearl1996.StrengthRule W × ℕ) => (p.1.toRule, p.2)) Δ)
Instances For
Priorities form a Z⁺-ordering when each rule's priority is its strength plus the least rank, under the ranking the priorities induce, of a world verifying it (Definition 20 and Eq. 16).
Equations
- GoldszmidtPearl1996.IsZPlusOrdering Δ = ∀ p ∈ Δ, IsLeast {n : ℕ | ∃ (x : W), p.1.ante x ∧ p.1.cons x ∧ n = GoldszmidtPearl1996.zPlusRank Δ x + p.1.strength} p.2
Instances For
Example 17: the penguin base #
A world of Example 17 is a truth assignment to bird, penguin, flies, winged, airborne, and the irrelevant feature red.
- b : Bool
- p : Bool
- f : Bool
- w : Bool
- a : Bool
- r : Bool
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Worlds are the assignments to the six atoms.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- GoldszmidtPearl1996.instFintypeWorld = Fintype.ofEquiv (Bool × Bool × Bool × Bool × Bool × Bool) GoldszmidtPearl1996.World.equivProd.symm
Equations
- GoldszmidtPearl1996.bird x = (x.b = true)
Instances For
Equations
- GoldszmidtPearl1996.penguin x = (x.p = true)
Instances For
Equations
- GoldszmidtPearl1996.flies x = (x.f = true)
Instances For
Equations
- GoldszmidtPearl1996.winged x = (x.w = true)
Instances For
Equations
- GoldszmidtPearl1996.airborne x = (x.a = true)
Instances For
Equations
- GoldszmidtPearl1996.red x = (x.r = true)
Instances For
Equations
- GoldszmidtPearl1996.instDecidablePredWorldBird x = id inferInstance
Equations
- GoldszmidtPearl1996.instDecidablePredWorldPenguin x = id inferInstance
Equations
- GoldszmidtPearl1996.instDecidablePredWorldFlies x = id inferInstance
Equations
- GoldszmidtPearl1996.instDecidablePredWorldWinged x = id inferInstance
Equations
- GoldszmidtPearl1996.instDecidablePredWorldAirborne x = id inferInstance
Equations
- GoldszmidtPearl1996.instDecidablePredWorldRed x = id inferInstance
Rule r₁ says that birds fly.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Rule r₂ says that penguins are birds.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Rule r₃ says that penguins do not fly.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Rule r₄ says that birds have wings.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Rule r₅ says that animals that fly are airborne.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The base Δ_pb of Example 17.
Equations
Instances For
The Consistency-Test labels r₁, r₄, r₅ with 0 and r₂, r₃ with 1.
The ranking κᶻ of the penguin base.
Equations
Instances For
Table 2, with a query (φ, σ) answered YES when σ follows from φ, NO when ¬σ does, and undecided when neither.
The query "Do penguin-birds fly?" is answered NO under p-entailment, by specificity in every admissible ranking. A most normal penguin-bird that flew would falsify r₃, and the world r₃ then places below it is a penguin-bird or, failing r₂, is outranked by one.
The query "Do red birds fly?" is undecided under p-entailment. Adding the rule that red birds do not fly keeps the base consistent, and its ranking is admissible for Δ_pb; so is κᶻ, where they fly.
P-entailment from the penguin base is not rational. Birds fly, and birds are not normally other than red, yet red birds are not p-entailed to fly. Rational monotony holds in each admissible ranking, so z-entailment has it and p-entailment lacks it.
The query "Are birds airborne?" is undecided under p-entailment, since neither "birds are airborne" nor "birds are not airborne" makes the base inconsistent.
The query "Are penguins winged animals?" is undecided under z-entailment, the exceptional subclass inheriting nothing from birds.
Example 24: the penguin base with strengths #
In the paper's Z⁺-ordering for Δ⁺_pb the tolerated rules keep their strengths, and the penguin rules, whose verifying worlds must falsify r₁, sit at δ₁ + δᵢ + 1.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The normal world is a flying, winged, airborne bird.
Equations
- GoldszmidtPearl1996.w₀ = { b := true, p := false, f := true, w := true, a := true, r := false }
Instances For
The most normal penguin is a winged, grounded bird.
Equations
- GoldszmidtPearl1996.w₁ = { b := true, p := true, f := false, w := true, a := true, r := false }
Instances For
The paper's priorities satisfy Definition 20 for every choice of strengths.
The ranking κ⁺ of Example 24.
Equations
- GoldszmidtPearl1996.κPlus δ₁ δ₂ δ₃ δ₄ δ₅ = { toFun := GoldszmidtPearl1996.zPlusRank (GoldszmidtPearl1996.ΔpbPlus δ₁ δ₂ δ₃ δ₄ δ₅), exists_eq_zero' := ⋯ }
Instances For
Penguin-birds do not fly under κ⁺ whatever the strengths, because the preference for r₃ over r₁ is a matter of specificity, not of the δ's (Theorem 25).
Example 26: the Nixon diamond #
A world of Example 26 is a truth assignment to Quaker, Republican and pacifist.
- q : Bool
- r : Bool
- p : Bool
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- GoldszmidtPearl1996.instFintypeNixon = Fintype.ofEquiv (Bool × Bool × Bool) GoldszmidtPearl1996.Nixon.equivProd.symm
Equations
- GoldszmidtPearl1996.quaker x = (x.q = true)
Instances For
Equations
- GoldszmidtPearl1996.republican x = (x.r = true)
Instances For
Equations
- GoldszmidtPearl1996.pacifist x = (x.p = true)
Instances For
Equations
- GoldszmidtPearl1996.instDecidablePredNixonQuaker x = id inferInstance
Equations
- GoldszmidtPearl1996.instDecidablePredNixonRepublican x = id inferInstance
Equations
- GoldszmidtPearl1996.instDecidablePredNixonPacifist x = id inferInstance
Quakers are pacifists with strength δ₁, Republicans are not with strength δ₂; each rule is tolerated by the other, so each priority is its strength.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The ranking κ⁺ of the Nixon diamond.
Equations
- GoldszmidtPearl1996.κqr δ₁ δ₂ = { toFun := GoldszmidtPearl1996.zPlusRank (GoldszmidtPearl1996.Δqr δ₁ δ₂), exists_eq_zero' := ⋯ }
Instances For
A Quaker Republican is a pacifist exactly when religious conviction outweighs political affiliation: no specificity decides the diamond, only the strengths.
Soft evidence (section 5) #
L-conditioning on A with strength L answers a report that evidence of its own supports
A to degree L (section 5.2). It lifts the worlds outside A by L and shifts the ranking
back to start at 0 by subtracting min[κ(A); κ(¬A) + L].
Equations
Instances For
Up to the constant that normalizes it, L-conditioning lifts the worlds outside A by L.
L-conditioning is commutative (section 5.2).
Two pieces of evidence for the same proposition add their strengths (section 5.2).
Eq. (32) on the worlds of A, where κ(ω | φ) is the A-part
(RankingFunction.condRank_singleton) and max[0; x − y] is the truncated difference.
Eq. (32) on the worlds outside A.
When A comes out with rank 0, L-conditioning is J-conditioning, Spohn's
conditionalization of Eq. (25), at the firmness κ(¬A) + L − κ(A) that Eq. (30) gives the
negation.
Example 28: Mary and Bill's party #
A world of Example 28 says whether Mary and whether Bill go to the party.
- m : Bool
- b : Bool
Instances For
Equations
- GoldszmidtPearl1996.instDecidableEqParty.decEq { m := a, b := a_1 } { m := b, b := b_1 } = if h : a = b then h ▸ if h : a_1 = b_1 then h ▸ isTrue ⋯ else isFalse ⋯ else isFalse ⋯
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- GoldszmidtPearl1996.instFintypeParty = Fintype.ofEquiv (Bool × Bool) GoldszmidtPearl1996.Party.equivProd.symm
Equations
- GoldszmidtPearl1996.mary x = (x.m = true)
Instances For
Equations
- GoldszmidtPearl1996.bill x = (x.b = true)
Instances For
Equations
- GoldszmidtPearl1996.instDecidablePredPartyMary x = id inferInstance
Equations
- GoldszmidtPearl1996.instDecidablePredPartyBill x = id inferInstance
The single rule r_m : M →² ¬B, if Mary goes then Bill will not, at the priority 2 that
Definition 20 gives it. The paper prints Z⁺(r_m) = 4, but its Fig. 5 ranks M ∧ B at 3, as
priority 2 does.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The ranking κ⁺ of Example 28, the left of Fig. 5.
Equations
- GoldszmidtPearl1996.κm = { toFun := GoldszmidtPearl1996.zPlusRank GoldszmidtPearl1996.Δm, exists_eq_zero' := GoldszmidtPearl1996.κm._proof_2 }
Instances For
The ranking κ⁺′ after evidence of strength 2 that Mary goes, read as a Type-J report.
Equations
Instances For
The Type-L report on Bill brings back the initial ranks of Bill and Mary, κ⁺″(B) = 0 and
κ⁺″(¬M) = 0, while lowering the disbelief in both going to κ⁺″(M ∧ B) = 1.
Read as a Type-J report instead, the hunch that Bill goes makes his going believed with
strength 2, but Mary's going keeps rank 1. The paper reports κ⁺″(M) = 2, which would need the
prior to rank M ∧ B at 4 or more, and then the Type-L reading would leave κ⁺″(M ∧ B) above 1.