Consequence in dynamic semantics #
A dynamic meaning is an update of information states, and a state accepts a sentence when
updating it with the sentence changes nothing, that is, when the state is a fixed point of the
update. A text updates a state sentence by sentence. [Vel96] distinguishes three
consequence relations between the premises of an argument and its conclusion: updating the
minimal state with the premises yields a state that accepts the conclusion (his validity₁,
EntailsFrom ⊤), updating any state does (validity₂, Entails), or every state that accepts
each premise accepts the conclusion (validity₃, PreservesAcceptance), which is the shape of
[Yal07]'s informational consequence.
An update is additive when it meets its input with the result of updating the minimal state, so that a static content fixes its dynamic meaning. The additive updates are exactly those satisfying Veltman's four constraints, Strengthening, Monotony, Idempotence and Persistence, which read in the reversed order make the update a principal closure operator. For additive updates the three consequence relations coincide, each saying that the contents of the premises jointly entail the content of the conclusion. In general they come apart: acceptance preservation is monotone in the premises and entailment is monotone on the left, while entailment from a fixed state is neither, but inserting a conclusion that it draws into the premises changes nothing, which gives Sequential Monotony and Sequential Cut.
On sets of possibilities the additive updates are the classical ones of
Semantics/Dynamic/Update.lean, the static updates CCP.up, and entailment between static
updates is inclusion of their contents. An update with an effect, such as a partial update, is a
Kleisli arrow, and its extension along the monad's bind is an update of the kind treated here: a
state accepts the arrow exactly when the arrow returns it unchanged.
Main definitions #
DynamicSemantics.text: the update of a state with a list of sentences, from the left.DynamicSemantics.EntailsFrom,DynamicSemantics.Entails,DynamicSemantics.PreservesAcceptance: the three consequence relations, with the scoped notationψs ⊩₁ φ,ψs ⊩₂ φandψs ⊩₃ φ.DynamicSemantics.IsAdditive: the update meets its input with a fixed content.
Main results #
DynamicSemantics.isAdditive_iff: additivity is Strengthening, Monotony, Idempotence and Persistence together.DynamicSemantics.tfae_entails: for additive updates the three consequence relations coincide.DynamicSemantics.EntailsFrom.insert_iff: Sequential Monotony and Sequential Cut.DynamicSemantics.entailsFrom_append_self: under Idempotence entailment is reflexive.DynamicSemantics.isFixedPt_text_iff: along updates that never add possibilities, a state accepts a text exactly when it accepts each of its sentences.DynamicSemantics.CCP.isAdditive_iff_isClassical,DynamicSemantics.CCP.entails_up_iff: on sets of possibilities the additive updates are the classical ones, and entailment between static updates is inclusion.DynamicSemantics.Update.entails_image_test_iff: a relational update entails a test exactly when its outputs satisfy the test's condition.DynamicSemantics.isFixedPt_bind_pure_iff: acceptance of a Kleisli arrow.
Implementation notes #
States are ordered by inclusion, as for DynamicSemantics.CCP and DynamicSemantics.ExpState:
a more informed state lies lower, the minimal state is ⊤, and Strengthening says that an update
never adds possibilities. Veltman orients the order the other way, with the minimal state 0 at
the bottom and the sum of two states their join, and the content is the same; on Set the
reversed orientation would make ⊥ the absurd state ∅ rather than the minimal one. Acceptance
is Function.IsFixedPt, and a sentence is identified with its update.
References #
Texts #
The update of σ with a text, σ[ψ₁]⋯[ψₙ], applying the sentences from the left.
Equations
- DynamicSemantics.text ψs σ = List.foldl (fun (σ : α) (ψ : α → α) => ψ σ) σ ψs
Instances For
Consequence #
ψs entails φ from σ when updating σ with ψs yields a state that accepts φ.
Entailment from the minimal state is Veltman's validity₁.
Equations
- DynamicSemantics.EntailsFrom σ ψs φ = Function.IsFixedPt φ (DynamicSemantics.text ψs σ)
Instances For
ψs entails φ when updating any state with ψs yields a state that accepts φ, Veltman's
validity₂.
Equations
- DynamicSemantics.Entails ψs φ = ∀ (σ : α), DynamicSemantics.EntailsFrom σ ψs φ
Instances For
Every state that accepts each of ψs accepts φ, Veltman's validity₃.
Equations
- DynamicSemantics.PreservesAcceptance ψs φ = ∀ (σ : α), (∀ ψ ∈ ψs, Function.IsFixedPt ψ σ) → Function.IsFixedPt φ σ
Instances For
ψs entails φ from σ when updating σ with ψs yields a state that accepts φ.
Entailment from the minimal state is Veltman's validity₁.
Equations
- One or more equations did not get rendered due to their size.
Instances For
ψs entails φ when updating any state with ψs yields a state that accepts φ, Veltman's
validity₂.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Every state that accepts each of ψs accepts φ, Veltman's validity₃.
Equations
- One or more equations did not get rendered due to their size.
Instances For
A single premise entails φ exactly when φ absorbs it.
Acceptance preservation is monotone: adding premises preserves it.
Entailment is left monotone: adding premises in front preserves it.
Inserting a conclusion drawn from σ right after its premises changes nothing. From right to
left this is Sequential Monotony, and from left to right Sequential Cut.
Under Idempotence entailment is reflexive: a sentence follows from any premises ending in it.
Texts of eliminative updates #
Along updates that never add possibilities, a state accepts a text exactly when it accepts each of its sentences.
Additive updates #
An update is additive when it meets its input with the update of the minimal state, so that a static content determines it.
Equations
- DynamicSemantics.IsAdditive f = ∀ (σ : α), f σ = σ ⊓ f ⊤
Instances For
A state accepts an additive update exactly when it lies below the update's content.
Meeting with a fixed content is additive.
A text of additive updates is additive.
An update is additive exactly when it satisfies Strengthening, never adding possibilities, Monotony, Idempotence, and Persistence, the states that accept it being closed downward. The four constraints make the update a closure operator on the reversed order whose closed elements form an upper set, and such an operator is principal.
For additive updates the three consequence relations coincide.
Updates with effects #
A state accepts a Kleisli arrow, read as an update through the monad's bind, exactly when the arrow returns it unchanged.
Sets of possibilities #
The static update with a content is additive.
A state accepts a static update exactly when it lies inside the content.
On sets of possibilities the additive updates are the classical ones, eliminative and distributive.