Intensional Logic: Types and Denotations #
[dowty-wall-peters-1981] [Gal75]
Foundations for intensional logic following DWP Ch. 6. Ty is the recursive
grammar of semantic types; Denot E W computes denotation domains from
explicit entity (E) and index (W) type parameters and a type.
Key definitions #
Equations
- Intensional.instReprTy = { reprPrec := Intensional.instReprTy.repr }
Equations
- One or more equations did not get rendered due to their size.
- Intensional.instReprTy.repr Intensional.Ty.e prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Intensional.Ty.e")).group prec✝
- Intensional.instReprTy.repr Intensional.Ty.t prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Intensional.Ty.t")).group prec✝
Instances For
Equations
- One or more equations did not get rendered due to their size.
- Intensional.instDecidableEqTy.decEq Intensional.Ty.e Intensional.Ty.e = isTrue ⋯
- Intensional.instDecidableEqTy.decEq Intensional.Ty.e Intensional.Ty.t = isFalse Intensional.instDecidableEqTy.decEq._proof_1
- Intensional.instDecidableEqTy.decEq Intensional.Ty.e (a ⇒ a_1) = isFalse ⋯
- Intensional.instDecidableEqTy.decEq Intensional.Ty.e a.intens = isFalse ⋯
- Intensional.instDecidableEqTy.decEq Intensional.Ty.t Intensional.Ty.e = isFalse Intensional.instDecidableEqTy.decEq._proof_4
- Intensional.instDecidableEqTy.decEq Intensional.Ty.t Intensional.Ty.t = isTrue ⋯
- Intensional.instDecidableEqTy.decEq Intensional.Ty.t (a ⇒ a_1) = isFalse ⋯
- Intensional.instDecidableEqTy.decEq Intensional.Ty.t a.intens = isFalse ⋯
- Intensional.instDecidableEqTy.decEq (a ⇒ a_1) Intensional.Ty.e = isFalse ⋯
- Intensional.instDecidableEqTy.decEq (a ⇒ a_1) Intensional.Ty.t = isFalse ⋯
- Intensional.instDecidableEqTy.decEq (a ⇒ a_1) a_2.intens = isFalse ⋯
- Intensional.instDecidableEqTy.decEq a.intens Intensional.Ty.e = isFalse ⋯
- Intensional.instDecidableEqTy.decEq a.intens Intensional.Ty.t = isFalse ⋯
- Intensional.instDecidableEqTy.decEq a.intens (a_1 ⇒ a_2) = isFalse ⋯
- Intensional.instDecidableEqTy.decEq a.intens b.intens = if h : a = b then h ▸ have inst := Intensional.instDecidableEqTy.decEq a a; isTrue ⋯ else isFalse ⋯
Instances For
Equations
- Intensional.«term_⇒_» = Lean.ParserDescr.trailingNode `Intensional.«term_⇒_» 25 26 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol " ⇒ ") (Lean.ParserDescr.cat `term 25))
Instances For
Standard type abbreviations.
Equations
Instances For
Equations
Instances For
Equations
Instances For
⟨s,t⟩ — propositions (sets of indices).
Equations
Instances For
⟨s,e⟩ — individual concepts (index-dependent individuals).
Equations
Instances For
A type is conjoinable if it "ends in t" ([PR83] Definition 4).
Intension types ⟨s,a⟩ are conjoinable iff the base type is —
conjunction is pointwise over indices.
Equations
- Intensional.Ty.t.isConjoinable = true
- Intensional.Ty.e.isConjoinable = false
- (a ⇒ τ).isConjoinable = τ.isConjoinable
- a.intens.isConjoinable = a.isConjoinable
Instances For
Denotation domains, computed from an entity type E, an index type W,
and a semantic type.
DWP's model is ⟨A, W, T, <, F⟩; here E = A (the domain of individuals) and
W = W × T (world-time pairs), or just W, or Unit for extensional. Temporal
ordering, accessibility relations, etc. are structure on W, not baked in.
D_e = E D_t = Prop D_⟨a,b⟩ = D_a → D_b D_⟨s,a⟩ = W → D_a
Equations
- Intensional.Denot E W Intensional.Ty.e = E
- Intensional.Denot E W Intensional.Ty.t = Prop
- Intensional.Denot E W (a ⇒ a_1) = (Intensional.Denot E W a → Intensional.Denot E W a_1)
- Intensional.Denot E W a.intens = (W → Intensional.Denot E W a)
Instances For
^α — form the rigid intension of an expression.
Maps a denotation to the constant function over indices.
Definitionally equal to Intensional.Intension.rigid.
Equations
- Intensional.up x x✝ = x
Instances For
ˇα — extract the extension at index i.
Evaluates an intension at a given index.
Definitionally equal to Intensional.Intension.evalAt.
Equations
- Intensional.down s i = s i
Instances For
Convert a predicate e → t to a Set (the extension).
Equations
- Intensional.predicateToSet p = {x : E | p x}