Finite-world test fixture for entailment #
Thin shim over Set / compl / ∩ / ∪ from mathlib, specialized to a
4-element World enum. Consumers in Linglib.Semantics.Entailment.* use
the World type + a handful of test propositions to write by decide
test cases for monotonicity, polarity, and presupposition machinery.
The general (polymorphic) monotonicity theorems live in
Linglib.Semantics.Quantification.Quantifier (every_scope_up,
some_scope_up, no_scope_down, every_restrictor_down). This file
provides only the finite-world fixture.
@[implicit_reducible]
Equations
- Entailment.instDecidableEqWorld x✝ y✝ = if h : x✝.ctorIdx = y✝.ctorIdx then isTrue ⋯ else isFalse ⋯
@[implicit_reducible]
Equations
- Entailment.instReprWorld = { reprPrec := Entailment.instReprWorld.repr }
Equations
- Entailment.instReprWorld.repr Entailment.World.w0 prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Entailment.World.w0")).group prec✝
- Entailment.instReprWorld.repr Entailment.World.w1 prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Entailment.World.w1")).group prec✝
- Entailment.instReprWorld.repr Entailment.World.w2 prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Entailment.World.w2")).group prec✝
- Entailment.instReprWorld.repr Entailment.World.w3 prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Entailment.World.w3")).group prec✝
Instances For
Equations
Instances For
@[implicit_reducible]
Equations
- Entailment.instFintypeWorld = { elems := {Entailment.World.w0, Entailment.World.w1, Entailment.World.w2, Entailment.World.w3}, complete := Entailment.instFintypeWorld._proof_1 }
Semantic entailment: thin alias for Set inclusion (p ⊆ q).
Equations
- Entailment.entails x1✝ x2✝ = (x1✝ ⊆ x2✝)
Instances For
@[implicit_reducible]
instance
Entailment.instDecidableEntailsOfDecidablePredWorldMemSet
(p q : Set World)
[DecidablePred fun (x : World) => x ∈ p]
[DecidablePred fun (x : World) => x ∈ q]
:
Decidable (entails p q)
Equations
- Entailment.instDecidableEntailsOfDecidablePredWorldMemSet p q = Fintype.decidableForallFintype
Negation: thin alias for set complement.
Equations
Instances For
Conjunction: thin alias for set intersection.
Equations
- Entailment.pand x1✝ x2✝ = x1✝ ∩ x2✝
Instances For
@[implicit_reducible]
instance
Entailment.instDecidablePredWorldMemSetPnot
(p : Set World)
[DecidablePred fun (x : World) => x ∈ p]
:
@[implicit_reducible]
instance
Entailment.instDecidablePredWorldMemSetPand
(p q : Set World)
[DecidablePred fun (x : World) => x ∈ p]
[DecidablePred fun (x : World) => x ∈ q]
:
Equations
@[implicit_reducible]
instance
Entailment.instDecidablePredWorldMemSetPor
(p q : Set World)
[DecidablePred fun (x : World) => x ∈ p]
[DecidablePred fun (x : World) => x ∈ q]
:
Equations
Proposition true only in w0.
Equations
Instances For
Proposition true in w0 and w1.
Equations
Instances For
Proposition true in w0, w1, w2.
Equations
Instances For
@[implicit_reducible]
Equations
- Entailment.instDecidablePredWorldMemSetP0 w = id inferInstance
@[implicit_reducible]
Equations
- Entailment.instDecidablePredWorldMemSetP01 w = id inferInstance
@[implicit_reducible]
Equations
- Entailment.instDecidablePredWorldMemSetP012 w = id inferInstance
@[implicit_reducible]
Equations
- Entailment.instDecidablePredWorldMemSetPAll x✝ = isTrue trivial
@[implicit_reducible]
Equations
- Entailment.instDecidablePredWorldMemSetPNone x✝ = isFalse not_false