Nadathur and Lauer (2020) #
Nadathur and Lauer analyse periphrastic make as asserting causal sufficiency and cause as asserting causal necessity, both relative to a background situation in a structural-equation dynamics. The two relations come apart: restoring power is necessary but not sufficient for a fire whose other condition is unknown, so cause is felicitous and make is not, while Ava's training is sufficient but not necessary for Lia's taking the bus. A temporal constraint on backgrounds blocks make for the earlier of two necessary causes, and a constraint on volitional action, presupposed by make, separates it from let.
Main definitions #
NadathurLauer2020.Make,NadathurLauer2020.Cause: the lexical entries (25)NadathurLauer2020.TemporalLocationConstraint: the constraint (28) on backgroundsNadathurLauer2020.VolitionalActionConstraint: the constraint on volitional action (43)
Main results #
NadathurLauer2020.Make.solve_eq: make entails that the effect occurs (footnote 20)NadathurLauer2020.not_forall_causallySufficient_imp_causallyNecessary,NadathurLauer2020.not_forall_causallyNecessary_imp_causallySufficient: neither relation implies the other- the judgments on the circuit (26), fire (31), bus (33), lighthouse (35) and dancing (40)–(44) scenarios
Implementation notes #
A dynamics is a CausalModel whose exogenous variables read the context, a situation is a
partial assignment, and the evaluation world of an entry is the actual world of a context.
Necessity is (24) over every supersituation, CausalModel.CausallyNecessary (· ≤ ·); a
supersituation settling a variable between cause and effect can then reach the effect without the
cause, as in the persuasion chain, but each of the paper's necessity claims concerns a parent of
the effect. Adding a fact (22a) is Function.update, which overrides a value the situation already
fixes, as (43) needs when the background fixes the intention. The subtraction s ∖ (C = 1) of
(25) clears the cause whether or not s fixes it, and the requirement s ⊆ w_e is a hypothesis
where it is used. In (43) a background determines the intention when its strict development
settles it. The paper sets preemption aside, and so does the formalization.
References #
Lexical entries #
The make entry (25a) says that, with the cause removed from the background s, c = x is
causally sufficient for e = y, and that the cause occurs in the actual world of the context
u.
Equations
- NadathurLauer2020.Make M s u c x e y = (M.CausallySufficient (Function.update s c ⊥) c x e y ∧ M.solve ⊥ u c = x)
Instances For
The cause entry (25b) says that, with the cause removed from the background s, c = x
is causally necessary for e = y, and that cause and effect both occur in the actual world of the
context u.
Equations
- NadathurLauer2020.Cause M s u c x e y = (M.CausallyNecessary (fun (x1 x2 : (v : V) → Flat (α v)) => x1 ≤ x2) (Function.update s c ⊥) c x e y ∧ M.solve ⊥ u c = x ∧ M.solve ⊥ u e = y)
Instances For
Make entails that the effect occurs (footnote 20). The background with the cause added holds in the evaluation world, so the effect it settles occurs there.
Equations
- NadathurLauer2020.instDecidableMake s u c x e y = { decide := decide (M.CausallySufficient (Function.update s c ⊥) c x e y) && decide (M.solve ⊥ u c = x), reflects_decide := ⋯ }
Equations
- One or more equations did not get rendered due to their size.
Constraints on background situations #
A background s meets the temporal location constraint (28) at the evaluation time t when
every fact it fixes is settled by t, the time of each variable being given by time.
Equations
- NadathurLauer2020.TemporalLocationConstraint time t s = ∀ (v : V), s v ≠ ⊥ → time v ≤ t
Instances For
Equations
- NadathurLauer2020.instDecidableTemporalLocationConstraintOfFintypeOfDecidableEq time t s = { decide := decide (∀ a ∈ Finset.univ, (fun (x : V) => s x ≠ ⊥ → time x ≤ t) a), reflects_decide := ⋯ }
A make claim with cause c and effect e meets the constraint on volitional action (43)
for the agent's intention w to perform e unless w = 0 is sufficient for e = 0 relative to
the background s with the cause added and w is determined by s with the cause removed.
Equations
- NadathurLauer2020.VolitionalActionConstraint M s c e w = ¬(M.CausallySufficient (Function.update s c ↑true) w false e false ∧ ∃ (z : Bool), M.CausallyEntails (Function.update s c ⊥) w z)
Instances For
Equations
- One or more equations did not get rendered due to their size.
The circuit #
Equations
- NadathurLauer2020.Circuit.instDecidableEqV x✝ y✝ = if h : x✝.ctorIdx = y✝.ctorIdx then isTrue ⋯ else isFalse ⋯
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- NadathurLauer2020.Circuit.instReprV = { reprPrec := NadathurLauer2020.Circuit.instReprV.repr }
The light reads both switches.
Equations
Instances For
The context settles the two switches.
- S₁ : Bool
- S₂ : Bool
Instances For
Equations
- NadathurLauer2020.Circuit.instDecidableEqContext.decEq { S₁ := a, S₂ := a_1 } { S₁ := b, S₂ := b_1 } = if h : a = b then h ▸ if h : a_1 = b_1 then h ▸ isTrue ⋯ else isFalse ⋯ else isFalse ⋯
Instances For
Equations
- NadathurLauer2020.Circuit.instFintypeContext = Fintype.ofEquiv ((_ : Bool) × Bool) NadathurLauer2020.Circuit.Context.proxyTypeEquiv
Equations
Equations
Equations
- One or more equations did not get rendered due to their size.
Instances For
In the circuit dynamics (Figure 1) the light is on exactly when the switches agree.
Equations
- One or more equations did not get rendered due to their size.
Instances For
In the situation (20b) switch 1 is down and switch 2 is up.
Equations
- NadathurLauer2020.Circuit.actual = { S₁ := false, S₂ := true }
Instances For
The fire scenario #
Equations
- NadathurLauer2020.Fire.instDecidableEqV x✝ y✝ = if h : x✝.ctorIdx = y✝.ctorIdx then isTrue ⋯ else isFalse ⋯
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- NadathurLauer2020.Fire.instReprV = { reprPrec := NadathurLauer2020.Fire.instReprV.repr }
Inflammability reads drought, and fire reads inflammability, power, and the line.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The context settles power, drought, and the line.
- P : Bool
- D : Bool
- L : Bool
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- NadathurLauer2020.Fire.instFintypeContext = Fintype.ofEquiv ((_ : Bool) × (_ : Bool) × Bool) NadathurLauer2020.Fire.Context.proxyTypeEquiv
Equations
Equations
Equations
- One or more equations did not get rendered due to their size.
Instances For
In the fire dynamics (Figure 2) the grass is inflammable in a drought, and the field burns when the grass is inflammable, the power is on and the line is down.
Equations
- One or more equations did not get rendered due to their size.
Instances For
In the scenario the power was restored in a drought, and the line was down.
Equations
- NadathurLauer2020.Fire.actual = { P := true, D := true, L := true }
Instances For
The background s_b fixes the drought and the inflammable grass and leaves the line open.
Equations
- NadathurLauer2020.Fire.s_b = Function.update (Function.update ⊥ NadathurLauer2020.Fire.V.G ↑true) NadathurLauer2020.Fire.V.D ↑true
Instances For
The background s_b1 also fixes the line as down.
Equations
- NadathurLauer2020.Fire.s_b1 = Function.update NadathurLauer2020.Fire.s_b NadathurLauer2020.Fire.V.L ↑true
Instances For
Every route to the fire passes through the power: a situation leaving the fire open that settles it settles the power as restored.
The bus scenario #
Equations
- NadathurLauer2020.Bus.instDecidableEqV x✝ y✝ = if h : x✝.ctorIdx = y✝.ctorIdx then isTrue ⋯ else isFalse ⋯
Equations
- One or more equations did not get rendered due to their size.
Equations
- NadathurLauer2020.Bus.instReprV = { reprPrec := NadathurLauer2020.Bus.instReprV.repr }
Equations
- One or more equations did not get rendered due to their size.
Instances For
The bike's absence reads the visit and the training; the bus reads the rain and the bike.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The context settles Ava's visit, her training, and the forecast.
- Vis : Bool
- Tr : Bool
- Rn : Bool
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- NadathurLauer2020.Bus.instFintypeContext = Fintype.ofEquiv ((_ : Bool) × (_ : Bool) × Bool) NadathurLauer2020.Bus.Context.proxyTypeEquiv
Equations
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
In the bus dynamics (Figure 3) the bike is gone when Ava visits and trains, and Lia takes the bus when rain is forecast or the bike is gone.
Equations
- One or more equations did not get rendered due to their size.
Instances For
In the scenario Ava is visiting and training, and rain is forecast.
Equations
- NadathurLauer2020.Bus.actual = { Vis := true, Tr := true, Rn := true }
Instances For
The background s_b fixes the visit and the forecast.
Equations
- NadathurLauer2020.Bus.s_b = Function.update (Function.update ⊥ NadathurLauer2020.Bus.V.Rn ↑true) NadathurLauer2020.Bus.V.Vis ↑true
Instances For
The lighthouse scenario #
Equations
- NadathurLauer2020.Lighthouse.instDecidableEqV x✝ y✝ = if h : x✝.ctorIdx = y✝.ctorIdx then isTrue ⋯ else isFalse ⋯
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
The collapse reads the earthquake and the storms.
Equations
Instances For
The context settles the earthquake and the storms.
- Q : Bool
- S : Bool
Instances For
Equations
- NadathurLauer2020.Lighthouse.instDecidableEqContext.decEq { Q := a, S := a_1 } { Q := b, S := b_1 } = if h : a = b then h ▸ if h : a_1 = b_1 then h ▸ isTrue ⋯ else isFalse ⋯ else isFalse ⋯
Instances For
Equations
- NadathurLauer2020.Lighthouse.instFintypeContext = Fintype.ofEquiv ((_ : Bool) × Bool) NadathurLauer2020.Lighthouse.Context.proxyTypeEquiv
Equations
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
In the lighthouse dynamics (Figure 4) the tower collapses when both happen.
Equations
- One or more equations did not get rendered due to their size.
Instances For
In the scenario both the earthquake and the storms happened.
Equations
- NadathurLauer2020.Lighthouse.actual = { Q := true, S := true }
Instances For
The earthquake precedes the storms, which precede the collapse.
Equations
Instances For
A situation leaving the collapse open that settles it settles the earthquake.
A situation leaving the collapse open that settles it settles the storms.
(35a) The earthquake caused the tower to collapse is felicitous relative to the empty situation.
(35b) The storms caused the tower to collapse is felicitous relative to the empty situation.
(35d) The storms made the tower collapse is felicitous relative to the earthquake, a background that meets the temporal location constraint at the time of the storms.
(35c) #The earthquake made the tower collapse is infelicitous. No background meeting the temporal location constraint at the time of the earthquake makes it sufficient, since every such background leaves the storms open.
Neither relation implies the other #
Causal sufficiency does not imply causal necessity, by the bus scenario.
Causal necessity does not imply causal sufficiency, by the fire scenario.
The dancing scenarios #
Equations
- NadathurLauer2020.Dancing.instDecidableEqV x✝ y✝ = if h : x✝.ctorIdx = y✝.ctorIdx then isTrue ⋯ else isFalse ⋯
Equations
- One or more equations did not get rendered due to their size.
Equations
- NadathurLauer2020.Dancing.instReprV = { reprPrec := NadathurLauer2020.Dancing.instReprV.repr }
Equations
- One or more equations did not get rendered due to their size.
Instances For
In the permission and command scenarios dancing reads the desire and Gurung's action.
Equations
Instances For
The context of the permission and command scenarios settles the desire and the action.
- WD : Bool
- G : Bool
Instances For
Equations
- NadathurLauer2020.Dancing.instDecidableEqContext.decEq { WD := a, G := a_1 } { WD := b, G := b_1 } = if h : a = b then h ▸ if h : a_1 = b_1 then h ▸ isTrue ⋯ else isFalse ⋯ else isFalse ⋯
Instances For
Equations
- NadathurLauer2020.Dancing.instFintypeContext = Fintype.ofEquiv ((_ : Bool) × Bool) NadathurLauer2020.Dancing.Context.proxyTypeEquiv
Equations
Equations
Equations
- One or more equations did not get rendered due to their size.
Instances For
In the permission dynamics (Figure 5) the children dance when they want to and Gurung permits it.
Equations
- One or more equations did not get rendered due to their size.
Instances For
In the command dynamics (Figure 6) the children dance when they want to or Gurung commands it.
Equations
- One or more equations did not get rendered due to their size.
Instances For
In the persuasion scenario the desire reads Gurung's song, and dancing reads the desire.
Equations
Instances For
The context of the persuasion scenario settles whether Gurung plays the song.
- G : Bool
Instances For
Equations
- NadathurLauer2020.Dancing.instDecidableEqPersuasionContext.decEq { G := a } { G := b } = if h : a = b then h ▸ isTrue ⋯ else isFalse ⋯
Instances For
Equations
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
In the persuasion dynamics (Figure 7) the children want to dance when Gurung plays their song, and dance when they want to.
Equations
- One or more equations did not get rendered due to their size.
Instances For
In the permission scenario (40) the eager children dance once Gurung permits it, and his permission is sufficient for the dancing.
(40a) ??Gurung made the children dance in the permission scenario. The children's desire is fixed and suffices to stop the dancing, so the constraint on volitional action fails; this is the context in which let is felicitous (46).
(41a), (42a) Gurung made the children dance in the command scenarios. Whatever the children want, their desire cannot stop the dancing once Gurung commands it, so the constraint on volitional action holds and let is out (46).
In the persuasion scenario (44) Gurung's song is sufficient for the dancing.
(44a) Gurung made the children dance (by playing their favourite song). The children's desire, though sufficient to stop the dancing, is settled only by the song, so the constraint on volitional action holds and let is out (46).