Documentation

Linglib.Theories.Semantics.Aspect.PrecedenceClosure

Precedence-Conditional Closure #

A shared substrate for the closure-under-componentwise-sum construction that appears in two places in linglib's K98 formalization. The construction takes a relation θ' : α → β → Prop and closes it under (x₁, e₁), (x₂, e₂) ↦ (x₁ ⊔ x₂, e₁ ⊔ e₂), optionally subject to an inter-event constraint cond : β → β → Prop. Two specializations:

Main definitions #

References #

inductive Semantics.Aspect.PrecedenceClosure {α : Type u_1} {β : Type u_2} [SemilatticeSup α] [SemilatticeSup β] (cond : ββProp) (θ' : αβProp) :
αβProp

Smallest α → β → Prop relation containing θ' and closed under componentwise sum, when the summed events satisfy cond. Taking cond := fun _ _ ↦ True gives unconditional sum-closure (K98 eq. 59); taking cond := precedes gives precedence-respecting sum-closure (K98 eq. 71).

  • base {α : Type u_1} {β : Type u_2} [SemilatticeSup α] [SemilatticeSup β] {cond : ββProp} {θ' : αβProp} {x : α} {e : β} : θ' x ePrecedenceClosure cond θ' x e
  • sum {α : Type u_1} {β : Type u_2} [SemilatticeSup α] [SemilatticeSup β] {cond : ββProp} {θ' : αβProp} {x₁ x₂ : α} {e₁ e₂ : β} : PrecedenceClosure cond θ' x₁ e₁PrecedenceClosure cond θ' x₂ e₂cond e₁ e₂PrecedenceClosure cond θ' (x₁x₂) (e₁e₂)
Instances For
    theorem Semantics.Aspect.PrecedenceClosure.closure_subset {α : Type u_1} {β : Type u_2} [SemilatticeSup α] [SemilatticeSup β] {cond : ββProp} {θ' θ : αβProp} (hBase : ∀ (x : α) (e : β), θ' x eθ x e) (hClosed : ∀ (x₁ x₂ : α) (e₁ e₂ : β), θ x₁ e₁θ x₂ e₂cond e₁ e₂θ (x₁x₂) (e₁e₂)) {x : α} {e : β} (hcl : PrecedenceClosure cond θ' x e) :
    θ x e

    If θ contains θ' and is closed under sums whose events satisfy cond, then PrecedenceClosure cond θ' x e → θ x e. The cond premise is what differs between the two consumer call sites: inc_of_sinc instantiates with cond = fun _ _ ↦ True (so hCond is trivial); mr_of_smr propagates the precedence as the third argument of hClosed.