Glass (2023) #
Glass explains why cause favours undesirable complements. Over a deterministic causal model in
the sense of Halpern and Pearl, a value is locally sufficient for a downstream value when some
setting of the other variables guarantees it, as in Mackie's sufficient sets, and globally
sufficient when every setting does; necessity is the mirror image (GloballySufficient,
LocallySufficient, GloballyNecessary, LocallyNecessary). C causes E, asserted on a state
of knowledge, requires the effect to develop in every settlement of what is unknown (Cause), so
knowing the cause alone it is assertable exactly when the cause is globally sufficient
(cause_update_bot_iff), the asymmetry of the paper's Table 2. The Anna Karenina Principle gives
desired outcomes conjunctive models and undesired ones disjunctive models, so C causes E holds
in more states of knowledge when E is bad. Glass's cause asserts local sufficiency where Nadathur
and Lauer's asserts necessity, and the two diverge on their bus scenario
(glass_nl_diverge_on_bus).
Implementation notes #
- A background is a setting of some variables, imposed on a causal model in a context; "no matter what happens to any other variable" quantifies over every context and every setting leaving the effect open.
- The lightbulb of the paper's figures, on exactly when both switches are, is the conjunctive model for the light being on and the disjunctive model for its being off.
- The derivation of the Anna Karenina Principle from strategic model construction, the experiment supporting it (wanted outcomes drew "you had to do everything right" far more often than unwanted ones) and the corpus skew that motivates the paper stay in prose.
References #
Local and global necessity and sufficiency #
C = c is globally sufficient for E = e when, in every context and under every background
leaving E open in which C = c, E = e.
Equations
- Glass2023.GloballySufficient M C c E e = ∀ (u : U) (I : V → Flat Bool), I E = ⊥ → I C = ↑c → M.solve I u E = e
Instances For
C = c is locally sufficient for E = e when, in some context and under some background
leaving E open in which C = c, E = e.
Equations
- Glass2023.LocallySufficient M C c E e = ∃ (u : U) (I : V → Flat Bool), I E = ⊥ ∧ I C = ↑c ∧ M.solve I u E = e
Instances For
C = c is globally necessary for E = e when, without it, E = e fails in every context and
under every background leaving E open.
Equations
- Glass2023.GloballyNecessary M C c E e = ∀ (u : U) (I : V → Flat Bool), I E = ⊥ → I C = ↑!c → M.solve I u E = !e
Instances For
C = c is locally necessary for E = e when, without it, E = e fails in some context and
under some background leaving E open.
Equations
- Glass2023.LocallyNecessary M C c E e = ∃ (u : U) (I : V → Flat Bool), I E = ⊥ ∧ I C = ↑!c ∧ M.solve I u E = !e
Instances For
C causes E is assertable on the state of knowledge k when the cause is known and the effect
holds in every context under every background that keeps what is known and leaves it open.
Equations
- Glass2023.Cause M k C c E e = (k C = ↑c ∧ ∀ (u : U) (I : V → Flat Bool), k ≤ I → I E = ⊥ → M.solve I u E = e)
Instances For
Necessity is the mirror image of sufficiency: the absence of a necessary cause suffices for the absence of the effect.
A globally sufficient cause licenses cause whatever else is known or unknown.
Global sufficiency entails local sufficiency (22a).
Global necessity entails local necessity (21a).
Knowing the cause alone, C causes E is assertable exactly when the cause is globally sufficient: the asymmetry of the paper's Table 2.
The lightbulb (Figure 2, Tables 1 and 2) #
Two switches and a light that is on exactly when both are: each switch being on is necessary but insufficient for the light to be on, and each being off suffices for it to be off.
Equations
- Glass2023.Light.instDecidableEqV x✝ y✝ = if h : x✝.ctorIdx = y✝.ctorIdx then isTrue ⋯ else isFalse ⋯
Equations
- Glass2023.Light.instFintypeV = { elems := { val := ↑Glass2023.Light.V.enumList, nodup := Glass2023.Light.V.enumList_nodup }, complete := Glass2023.Light.instFintypeV._proof_1 }
Equations
- Glass2023.Light.instReprV.repr Glass2023.Light.V.S1 prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Glass2023.Light.V.S1")).group prec✝
- Glass2023.Light.instReprV.repr Glass2023.Light.V.S2 prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Glass2023.Light.V.S2")).group prec✝
- Glass2023.Light.instReprV.repr Glass2023.Light.V.L prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Glass2023.Light.V.L")).group prec✝
Instances For
Equations
- Glass2023.Light.instReprV = { reprPrec := Glass2023.Light.instReprV.repr }
The light reads the two switches.
Equations
Instances For
The context settles the two switches.
- S1 : Bool
- S2 : Bool
Instances For
Equations
- Glass2023.Light.instDecidableEqContext.decEq { S1 := a, S2 := a_1 } { S1 := b, S2 := b_1 } = if h : a = b then h ▸ if h : a_1 = b_1 then h ▸ isTrue ⋯ else isFalse ⋯ else isFalse ⋯
Instances For
Equations
- Glass2023.Light.instFintypeContext = Fintype.ofEquiv ((_ : Bool) × Bool) Glass2023.Light.Context.proxyTypeEquiv
Equations
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- Glass2023.Light.instReprContext = { reprPrec := Glass2023.Light.instReprContext.repr }
The light is on exactly when both switches are.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Switch 1 being off is globally sufficient for the light to be off.
Switch 1 being on is globally necessary for the light to be on.
Switch 1 being on is not globally sufficient for the light to be on, since with switch 2 off the light stays off.
The background with both switches on.
Equations
- Glass2023.Light.bothOn = Function.update (Function.update ⊥ Glass2023.Light.V.S2 ↑true) Glass2023.Light.V.S1 ↑true
Instances For
Against necessity-based cause #
In the bus scenario, with Ava's visit and the rain forecast known, Ava's training is a sufficient cause of Lia's taking the bus in every settlement of the rest, rain alone sufficing, so Glass's cause accepts "Ava's training caused Lia to take the bus", which [NL20]'s necessity-based cause rejects: the same verb, the same scenario, opposite verdicts.