Visser (1998): Contexts in Dynamic Predicate Logic #
Contexts in Dynamic Predicate Logic. Journal of Logic, Language, and
Information 7: 21–52. A context in the type-theoretic sense — a
declaration of variables — for DPL: a triple ⟨I, B, O⟩ of input set,
block set, and output set typing which variables a relation reads, cuts,
and writes. The paper's metatheory of these types, over the semantic
DPLRel substrate.
Main results #
Contextwith1,*, and≤: the contexts form a monoid and the information order is a partial order (Theorem 3.3).IsCRel c R:Ris ac-relation (Definition 3.4), withisCRel_iff_eqrecovering the paper's equational formR = (≡ᵢ ; R ; ≡ₒ) ∩ [B].IsCRel.mono: the order is sound for the typing —c ≤ dtypes more relations (Theorem 3.5(1)).IsCRel.patch: the unique-output lemma (Lemma 3.7).IsCRel.conj,IsCRel.impl: composition and implication typing (Theorems 3.8–3.9), and the typing of DPL's generators —isCRel_atom(conditions at⟨V, ∅, V⟩) andisCRel_reset(random reset at⟨∅, {x}, {x}⟩).
The converse of Theorem 3.5 (for |D| ≥ 2) and §§4–5's Switching
Property characterization of the DPL-expressible relations await a
follow-up; the latter's completeness direction needs the syntax stratum.
Contexts (Definition 3.1) #
A DPL-context (Definition 3.1): input set I (variables the incoming
assignment is read at), block set B (variables whose input-output link
is cut), output set O (variables the outgoing assignment is constrained
at), coherent in the sense I ∪ B = O ∪ B.
- I : Finset ℕ
The input set.
- B : Finset ℕ
The block set: the barrier between past and future.
- O : Finset ℕ
The output set.
Coherence: off the blocks, inputs and outputs coincide.
Instances For
Equations
- Visser1998.Context.instOne = { one := { I := ∅, B := ∅, O := ∅, coh := Visser1998.Context.instOne._proof_1 } }
Context composition (Definition 3.1):
⟨I,B,O⟩ * ⟨I',B',O'⟩ = ⟨I ∪ (I'∖B), B ∪ B', (O∖B') ∪ O'⟩.
The contexts form a monoid (Theorem 3.3).
Equations
- One or more equations did not get rendered due to their size.
The information order on contexts (Definition 3.1): more informative contexts read, write, and block more — with new blocks confined to variables the larger context both reads and writes. A partial order (Theorem 3.3).
Equations
- One or more equations did not get rendered due to their size.
c-relations (Definition 3.4) #
R is a c-relation (Definition 3.4): it reads inputs only at c.I,
constrains outputs only at c.O, and changes values only at c.B.
blocks is R ⊆ [B]; stable is the nontrivial inclusion of the
paper's equation R = (≡ᵢ ; R ; ≡ₒ) ∩ [B].
- blocks ⦃f g : ℕ → M⦄ : R f g → ∀ v ∉ c.B, f v = g v
Only blocked variables change.
Instances For
The paper's equational form of Definition 3.4.
The order is sound for the typing (Theorem 3.5) #
Theorem 3.5(1): larger contexts type more relations —
c ≤ d and R a c-relation make R a d-relation.
The unique-output lemma (Lemma 3.7) #
Lemma 3.7: if R is a c-relation, f' ≡ᵢ f, and f R g, then f'
reaches the patch of f' by g at the blocks — the unique output
agreeing with g on the blocks.
Composition and implication typing (Theorems 3.8–3.9) #
Theorem 3.8: composition of a c-relation and a d-relation is a
c * d-relation. The stability witness is the paper's three-zone patch on
the intermediate assignment: keep it at c.O ∪ d.I, take the new output
at the old blocks, the new input elsewhere.
Theorem 3.9: DPL implication of a c-relation and a d-relation is a
(c → d)-relation, via two applications of the patch lemma.
The DPL generators, typed #
A condition depending only on V is a ⟨V, ∅, V⟩-relation as a test
(the atomic case of the paper's semantic Theorem 3.13).
The random reset at x — differ at most at x, [Vis98]'s
[x] — read as a DPLRel.
Equations
- Visser1998.reset x f g = ∀ (v : ℕ), v ≠ x → f v = g v