Truth at an assignment: K True at g ⟺ ∃h. K g h (Charlow's (7)).
Equations
- Semantics.Dynamic.Charlow2019.trueAt K g = ∃ (h : ℕ → E), K g h
Instances For
Destructive update preserves truth conditions (§4).
Static ↑: evaluates truth, discards modified assignment (Table 1, row 1).
Equations
- Semantics.Dynamic.Charlow2019.staticExists x body = Semantics.Dynamic.DPL.atom fun (g : ℕ → E) => ∃ (d : E), body (Core.Assignment.update g x d)
Instances For
Dynamic ↑: retains modified assignment (Table 1, row 2).
Equations
- Semantics.Dynamic.Charlow2019.dynamicExists x body = Semantics.Dynamic.DPL.exists_ x (Semantics.Dynamic.DPL.atom fun (g : ℕ → E) => body g)
Instances For
Static existential is a test: output = input.
Dynamic existential can change the assignment.
Static and dynamic agree on truth conditions (§4, §7).
Reachable: h is reachable from g via some DPL formula (Charlow's (24)).
Equations
- Semantics.Dynamic.Charlow2019.reachable g h = ∃ (φ : Semantics.Dynamic.DPL.DPLRel E), φ g h
Instances For
Reachability is reflexive.
Reachability is transitive (via dynamic conjunction).
Antisymmetry fails: distinct assignments can be mutually reachable (§8).
Non-distributive negation (28): removes from s points that survive φ.
Equations
- Semantics.Dynamic.Charlow2019.stateNeg φ s = {i : W × Core.Assignment E | i ∈ s ∧ i ∉ φ s}
Instances For
Distributive negation (29): tests each point individually.
Equations
- Semantics.Dynamic.Charlow2019.stateDistNeg φ s = {i : W × Core.Assignment E | i ∈ s ∧ φ {i} = ∅}
Instances For
Partition by assignment: groups points sharing the same assignment (Charlow's (35)).
Equations
- Semantics.Dynamic.Charlow2019.partByAssignment s = {t : Semantics.Dynamic.Core.State W E | t ⊆ s ∧ Set.Nonempty t ∧ ∀ i ∈ t, ∀ j ∈ t, i.2 = j.2}
Instances For
Anaphorically distributive: processes each assignment-group separately (Charlow's (39)).
Equations
- One or more equations did not get rendered due to their size.
Instances For
Every distributive meaning is anaphorically distributive.
Charlow's State W E = Set (W × Assignment E) as the nondeterministic
(M = Set) instance of the unified lookup interface. The lookup at
variable v at world w yields { g v | (w, g) ∈ s } — one alternative
per assignment containing w. Empty set is the falsifier (no assignment
defines v at w).
SEAM (Falsifier, Seam 1): Charlow commits to ∅ as the no-referent #
case. Bivalence is rejected — there is no Entity.star analog at the
value level. Compositional negation is preserved by the empty-set
convention; bridge to Hofmann via supportCollapse collapses
genuinely-uncertain states.
Equations
- One or more equations did not get rendered due to their size.
Charlow as joint-state: State W E = Set (W × Assignment E) is
natively a joint set over (world, assignment) pairs — no marginalization
needed. The joint field is essentially the identity, modulo rendering
Assignment E = Nat → E as the function V → E expected by the
typeclass.
SEAM (Seam 2): This declaration commits Charlow empirically to having #
joint structure to lose. The fibered iLookup projection of this state
is lossy — it discards which worlds were paired with which assignments
beyond what a single (v, w) query reveals.
Equations
- One or more equations did not get rendered due to their size.
Hofmann ↪ Charlow: lift an ICDRTAssignment to a Charlow state on
the worlds where every vars-listed variable has a non-⋆ referent.
At such worlds the resulting state has exactly one alternative — the
assignment forced by Hofmann's values on vars (free elsewhere).
At ⋆-worlds for any vars-listed variable, the world contributes no
alternatives.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Charlow ↠ Hofmann: collapse a Charlow state to a Hofmann-style
assignment by "agreement-or-⋆". At each world, if all alternatives
agree on v's value, that's v's value; otherwise ⋆. Propositional
drefs are dropped (Charlow has no propositional-dref structure to
preserve). The reverse-image singletonLift ∘ supportCollapse loses
information whenever the Charlow state has genuine uncertainty.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Bridge / section-retraction: on the deterministic image,
supportCollapse ∘ singletonLift = id for individual variables in the
lift's vars set, at worlds in the lift's worlds set, where every
listed variable has a non-⋆ referent. (Outside this domain the maps
behave differently — singletonLift produces an empty state at ⋆-worlds,
and supportCollapse falls through to ⋆.)
This is a section/retraction relationship in the spirit of
Function.LeftInverse, witnessing that singletonLift injects Hofmann
states into Charlow states without information loss on its image. The
reverse direction (singletonLift ∘ supportCollapse) is not the
identity — collapsing genuine Charlow uncertainty to ⋆ and then
re-singleton-lifting forgets which alternatives were possible.
Charlow's State W E = Set (W × Assignment E) deliberately carries
no propositional-dref structure. Anaphora-under-negation phenomena
that ICDRT solves by propositional drefs (e.g. the bathroom-sentence
theorem Semantics.Dynamic.Context.counterfactual_blocks_veridical)
are solved here by alternative-set filtering — a negative
antecedent yields an empty alternative set, which by the empty-set
falsifier (Seam 1) makes downstream lookup empty.
Concretely: Charlow does not instantiate HasPropDrefs, and
the typeclass theorem counterfactual_blocks_veridical (which lives
over [HasPropDrefs Ctx P W] only — independent of the effect functor
M) does not apply here. Attempting to write
HasPropDrefs (State W E) P W would require inventing a pLookup
that doesn't exist in Charlow's framework.
This is the seam working as intended: the unification at
HasFiberedLookup (the lookup signature) is honest, and the divergence
at the resolution-mechanism layer is preserved as a typeclass-instance
gap, not papered over by a phony pLookup definition. The ICDRT and
Charlow analyses of the same empirical phenomenon (e.g.
"There isn't a bathroom. #It is upstairs.") thus live as
non-interreducible theorems in their respective files.
Static existential truth = cylindrification.
Charlow's staticExists x body tests whether ∃ d, body(g[x↦d]),
which is exactly cylindrify x body.
Dynamic existential truth = cylindrification (same truth conditions).