[Ica12]: Inclusion and Exclusion in Natural Language #
Table verifications for [Ica12]'s relation algebra against the
substrate implementations in Logic/Natural/Basic.lean: the join table
(Lemma 1.5, p. 710 — the printed cells, independently certified against
the non-strict Holds reading by Relation.Holds.join and tight by
Relation.isLeast_join), the
projectivity tables (Lemma 2.4, p. 715), the composition table
(Lemma 2.7, p. 716) with its signature order (§2.2), the polarity
coarsening, the classification of not as the anti-morphism (p. 713),
and path computations illustrating the §2.4 context-projectivity
mechanism. The tables' semantic soundness is certified once and for all
in Logic/Natural/Soundness.lean; this file checks the implementations
cell-by-cell against the paper's printed entries.
The final sections formalize the ground fragment of the paper's projectivity calculus 𝒞 (§3.1) with its soundness theorem (Theorem 3.1), and the §3.2 worked fragment: the assumption set Γ, the derivation that no ⊑ not every is not an extra postulate, and a concrete model witnessing Γ's satisfiability.
The join table (Lemma 1.5, p. 710) #
The refinement order (§2.2) #
The projectivity tables (Lemma 2.4, p. 715) #
Forward entailment (dog ⊑ animal), negation, alternation (cat | dog), and cover (animal ⌣ nondog) pushed through each signature class.
The composition table (Lemma 2.7, p. 716) #
The polarity coarsening #
Path computations (§2.4) #
A position's signature is the monoid product along the path from root
to target (his pro(s(u)) = top(s) ∘ pro(u)); the sentences are
illustrations of the mechanism, not the paper's own examples.
The negation signature #
Not is anti-additive and anti-multiplicative (p. 713); ⊖ is its own inverse — the only non-identity signature with one (p. 716).
The calculus 𝒞 of relations (§3.1) #
The ground fragment of the projectivity calculus: Reflexivity, the
four Symmetry rules, Absurdity, and Composition, over an assumption
set of relational statements. The Substitution rule needs the
signature-typed term language and is not yet formalized; neither is
the paper's closing observation that 𝒞 is incomplete (terms of
additive and anti-additive type always alternate, underivably from
∅) — completeness is left open there.
The ground fragment of the projectivity calculus 𝒞
([Ica12] §3.1, p. 719), deriving relational statements between
terms ι from an assumption set Γ.
- ax {ι : Type u_1} {Γ : ι → NaturalLogic.Relation → ι → Prop} {t : ι} {R : NaturalLogic.Relation} {t' : ι} : Γ t R t' → Derives Γ t R t'
- refl {ι : Type u_1} {Γ : ι → NaturalLogic.Relation → ι → Prop} (t : ι) : Derives Γ t NaturalLogic.Relation.forward t
- symm_forward {ι : Type u_1} {Γ : ι → NaturalLogic.Relation → ι → Prop} {t t' : ι} : Derives Γ t NaturalLogic.Relation.forward t' → Derives Γ t' NaturalLogic.Relation.reverse t
- symm_reverse {ι : Type u_1} {Γ : ι → NaturalLogic.Relation → ι → Prop} {t t' : ι} : Derives Γ t NaturalLogic.Relation.reverse t' → Derives Γ t' NaturalLogic.Relation.forward t
- symm_alternation {ι : Type u_1} {Γ : ι → NaturalLogic.Relation → ι → Prop} {t t' : ι} : Derives Γ t NaturalLogic.Relation.alternation t' → Derives Γ t' NaturalLogic.Relation.alternation t
- symm_cover {ι : Type u_1} {Γ : ι → NaturalLogic.Relation → ι → Prop} {t t' : ι} : Derives Γ t NaturalLogic.Relation.cover t' → Derives Γ t' NaturalLogic.Relation.cover t
- absurd {ι : Type u_1} {Γ : ι → NaturalLogic.Relation → ι → Prop} {t s s' : ι} (R : NaturalLogic.Relation) : Derives Γ t NaturalLogic.Relation.alternation t → Derives Γ s R s'
- comp {ι : Type u_1} {Γ : ι → NaturalLogic.Relation → ι → Prop} {t u v : ι} {R S : NaturalLogic.Relation} : Derives Γ t R u → Derives Γ u S v → Derives Γ t (R * S) v
Instances For
[Ica12]'s Theorem 3.1 for the ground fragment: a derivable
statement holds in every ⊥-free model of the assumptions.
Composition is sound by Relation.Holds.join; Absurdity is the one
rule needing nonvacuity, since t | t forces ⟦t⟧ = ⊥.
The worked fragment (§3.2) #
The paper's mini-lexicon and its assumption set Γ; the derivation that no ⊑ not every needs no extra postulate; and a concrete model over the three-atom Boolean algebra witnessing that Γ is satisfiable.
Equations
- Icard2012.instDecidableEqItem x✝ y✝ = if h : x✝.ctorIdx = y✝.ctorIdx then isTrue ⋯ else isFalse ⋯
Equations
- Icard2012.instFintypeItem = { elems := { val := ↑Icard2012.Item.enumList, nodup := Icard2012.Item.enumList_nodup }, complete := Icard2012.instFintypeItem._proof_1 }
Equations
- Icard2012.instReprItem.repr Icard2012.Item.every prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Icard2012.Item.every")).group prec✝
- Icard2012.instReprItem.repr Icard2012.Item.some prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Icard2012.Item.some")).group prec✝
- Icard2012.instReprItem.repr Icard2012.Item.no prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Icard2012.Item.no")).group prec✝
- Icard2012.instReprItem.repr Icard2012.Item.notEvery prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Icard2012.Item.notEvery")).group prec✝
- Icard2012.instReprItem.repr Icard2012.Item.safe prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Icard2012.Item.safe")).group prec✝
- Icard2012.instReprItem.repr Icard2012.Item.dangerous prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Icard2012.Item.dangerous")).group prec✝
- Icard2012.instReprItem.repr Icard2012.Item.giantSquid prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Icard2012.Item.giantSquid")).group prec✝
- Icard2012.instReprItem.repr Icard2012.Item.cephalopod prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Icard2012.Item.cephalopod")).group prec✝
Instances For
Equations
- Icard2012.instReprItem = { reprPrec := Icard2012.instReprItem.repr }
The §3.2 assumption set Γ: every ^ not every, some ^ no, no | every, safe | dangerous, giant squid ⊑ cephalopod.
- everyNegNotEvery : Assumption Item.every NaturalLogic.Relation.negation Item.notEvery
- someNegNo : Assumption Item.some NaturalLogic.Relation.negation Item.no
- noAltEvery : Assumption Item.no NaturalLogic.Relation.alternation Item.every
- safeAltDangerous : Assumption Item.safe NaturalLogic.Relation.alternation Item.dangerous
- squidLeCephalopod : Assumption Item.giantSquid NaturalLogic.Relation.forward Item.cephalopod
Instances For
§3.2: no ⊑ not every is derivable, not postulated —
Composition on no | every and every ^ not every, with
| ⋈ ^ = ⊑.
A model of the §3.2 assumptions over the three-atom Boolean algebra.
Equations
- Icard2012.squidModel Icard2012.Item.every = {0}
- Icard2012.squidModel Icard2012.Item.notEvery = {1, 2}
- Icard2012.squidModel Icard2012.Item.some = {0, 2}
- Icard2012.squidModel Icard2012.Item.no = {1}
- Icard2012.squidModel Icard2012.Item.safe = {2}
- Icard2012.squidModel Icard2012.Item.dangerous = {0, 1}
- Icard2012.squidModel Icard2012.Item.giantSquid = {0}
- Icard2012.squidModel Icard2012.Item.cephalopod = {0, 1}