Soundness of the projectivity calculus #
Semantic grounding for [Ica12]'s projectivity machinery: NLRelation
gets its lattice content (Holds, his Definition 1.2 — non-exclusive
equations, so ⊑ is plain ≤), and a signature is sound for a function
(EntailmentSig.SoundFor) when the function projects every relation as the
signature's project row says (his Lemma 2.5). The characterization
theorems discharge each row from the property family in
Entailment — the additive-family rows need the
IsCompletely* unit conditions, exactly as Icard's tables assume; the
soundness proofs go through over bounded lattices, not just his Boolean
lattices.
SoundFor.comp and soundFor_contextProjectivity certify
EntailmentSig.compose and path projection against function composition
(his Lemma 2.7 and Proposition 2.10): study-file locality computations over
the enum become corollaries of facts about actual context functions.
Main declarations #
NLRelation.Holds: lattice content of the seven relations;EntailmentSig.SoundFor: σ's projection row is sound forf;soundFor_mono_iff,soundFor_anti_iff: the monotone rows, as iffs;soundFor_additive…soundFor_antiAddMult: the algebraic rows, fromIsCompletely*hypotheses (sound direction; the converses fail — projection rows are class-maximal, not function-characterizing);SoundFor.comp: soundness composes alongEntailmentSig.compose;soundFor_contextProjectivity: soundness folds along a signature path.
Order soundness #
With the Refines orders carrying their [Ica12] readings (.all =
•, the no-property top; ≡ not below the exclusion relations), both
orders are certified here: NLRelation.Holds.of_refines (relation-level
implication) and EntailmentSig.SoundFor.of_refines (a more specific
signature's soundness implies a less specific one's), via the projection
monotonicity EntailmentSig.project_refines. soundFor_all holds
unconditionally — every function realizes the no-property row.
Lattice content of the relations #
The lattice content of a natural-logic relation ([Ica12]
Definition 1.2), in mathlib's complementation vocabulary: negation is
IsCompl, alternation is Disjoint, cover is Codisjoint; forward
is non-strict ≤ (the enum comments' ⊂ follows MacCartney's exclusive
reading, which the projectivity tables do not need).
Equations
- NaturalLogic.NLRelation.equiv.Holds = fun (x1 x2 : α) => x1 = x2
- NaturalLogic.NLRelation.forward.Holds = fun (x1 x2 : α) => x1 ≤ x2
- NaturalLogic.NLRelation.reverse.Holds = fun (x1 x2 : α) => x1 ≥ x2
- NaturalLogic.NLRelation.negation.Holds = IsCompl
- NaturalLogic.NLRelation.alternation.Holds = Disjoint
- NaturalLogic.NLRelation.cover.Holds = Codisjoint
- NaturalLogic.NLRelation.independent.Holds = fun (x x_1 : α) => True
Instances For
Soundness of a signature for a function #
A signature σ is sound for f when f projects every relation as
σ's row of the projection table says ([Ica12] Lemma 2.5: every
φ-function projects R to [R]^φ).
Equations
- σ.SoundFor f = ∀ (R : NaturalLogic.NLRelation) (x y : α), R.Holds x y → (NaturalLogic.EntailmentSig.project R σ).Holds (f x) (f y)
Instances For
The .mono row is sound for exactly the monotone functions.
The .anti row is sound for exactly the antitone functions.
The .additive row is sound for completely additive functions.
The .mult row is sound for completely multiplicative functions.
The .antiAdd row is sound for completely anti-additive functions.
The .antiMult row is sound for completely anti-multiplicative
functions.
The .addMult row (preserve everything) is sound for morphisms:
completely additive and completely multiplicative functions.
The .antiAddMult row is sound for anti-morphisms: completely
anti-additive and completely anti-multiplicative functions. This is the
sentential-negation row — the semantic content of "double negation is a
morphism".
Every function realizes the • row: .all is the no-property
signature, projecting every relation to #.
Relation-level order soundness: Refines is the implication order on
the lattice content ([Ica12] §1).
Projection is monotone in the signature order: a more specific signature projects every relation at least as informatively.
Signature-order soundness: if σ refines τ (every σ-function is a
τ-function), σ-soundness implies τ-soundness. This is the theorem that
makes the Refines order mean class inclusion.
Composition and paths #
Soundness composes along EntailmentSig.compose ([Ica12]
Lemma 2.7 + Proposition 2.10): if ψ is sound for the outer function and φ
for the inner one, ψ * φ is sound for the composite. This is the theorem
that certifies the enum-level compose table against actual context
functions.
The identity context is sound for the identity signature .addMult.
Path soundness: a path of (signature, context) pairs, each sound,
yields a context sound for contextProjectivity of the signature path —
the semantic counterpart of [Ica12] Definition 2.9's marking
algorithm. Signatures are listed outermost-first, matching
contextProjectivity.
Worked instance: double negation is a morphism, semantically #
pnot is completely anti-additive and completely anti-multiplicative, so
the .antiAddMult row is sound for it; composing it with itself certifies
the enum fact ◇⊟ ∘ ◇⊟ = ⊕⊞ against the actual function pnot ∘ pnot.
Negation realizes the anti-morphism row.