Documentation

Linglib.Semantics.Intensional.Defs

Intensional Logic: Types and Denotations #

[DWP81] [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 #

inductive Intensional.Ty :

Semantic types for Intensional Logic.

  • e — entities
  • t — truth values
  • fn a b — functions ⟨a,b⟩
  • intens a — intensions ⟨s,a⟩ (functions from indices to a-extensions)

The old Ty.s base type is replaced by the intens constructor: intensionality is a type-forming operation, not a separate domain.

The core e, t, ⟨a,b⟩, ⟨s,a⟩ grammar is [DWP81] Ch. 6 (equivalently [HK98]'s (5) plus intensions); the degree and eventuality sorts are the standard extensions of degree and neo-Davidsonian event semantics. Following [YAS23]'s convention, v is the sort of events and s the sort of states — so ⟨e,⟨s,t⟩⟩ is an individual/state relation (a stative or property-concept root) and ⟨e,⟨v,t⟩⟩ an individual/event relation (a change-of-state root).

  • e : Ty
  • t : Ty
  • d : Ty

    Degrees (type d): the scale sort of degree semantics ([Hei01], [Wel15]). Denoted by ℚ, the repo's exact degree carrier.

  • v : Ty

    Events (type v): the neo-Davidsonian event sort ([Dav67], [Par90]).

  • s : Ty

    States (type s): the state sort, distinguished from events per [YAS23]'s convention (v events, s states); not the Montagovian index sort, which is intens.

  • fn : TyTyTy
  • intens : TyTy
Instances For
    def Intensional.instReprTy.repr :
    TyStd.Format
    Equations
    Instances For
      @[instance_reducible]
      instance Intensional.instReprTy :
      Repr Ty
      Equations
      def Intensional.instDecidableEqTy.decEq (x✝ x✝¹ : Ty) :
      Decidable (x✝ = x✝¹)
      Equations
      Instances For
        def Intensional.«term_⇒_» :
        Lean.TrailingParserDescr
        Equations
        • Intensional.«term_⇒_» = Lean.ParserDescr.trailingNode `Intensional.«term_⇒_» 25 26 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol " ⇒ ") (Lean.ParserDescr.cat `term 25))
        Instances For

          Functional application at type level #

          def Intensional.Ty.apply :
          TyTyOption Ty

          Type-level functional application ([HK98]'s Functional Application, on types): a function type applied to a matching argument type yields the value type; anything else is a type mismatch (none). Composition failures are computed, not stipulated.

          Equations
          • (a b).apply x✝ = if a = x✝ then some b else none
          • x✝¹.apply x✝ = none
          Instances For
            theorem Intensional.Ty.apply_eq_some_iff {f x c : Ty} :
            f.apply x = some c f = (x c)
            @[reducible, inline]

            Standard type abbreviations.

            Equations
            Instances For
              @[reducible, inline]

              ⟨s,t⟩ — propositions (sets of indices).

              Equations
              Instances For
                @[reducible, inline]

                ⟨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
                  Instances For
                    def Intensional.Denot (E W : Type) :
                    TyType

                    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

                    The eventuality sorts v and s denote in the empty domain: the extensional DWP fragment carries no eventuality domain, and nothing here constructs event-typed denotations. Event-semantic interpretation is the extension point — a carrier-parametric variant of Denot supplying event and state domains — and lands with the first study that composes event-typed denotations.

                    Equations
                    Instances For
                      theorem Intensional.Denot.apply_sound {E W : Type} {f x c : Ty} (h : f.apply x = some c) :
                      Denot E W f = (Denot E W xDenot E W c)

                      Soundness of type-level application: when apply succeeds, the denotation domain of the function type is exactly the function space from the argument's domain to the value's.

                      def Intensional.up {E W : Type} {a : Ty} (x : Denot E W a) :

                      ^α — form the rigid intension of an expression. Maps a denotation to the constant function over indices. Definitionally equal to Intensional.Intension.rigid.

                      Equations
                      Instances For
                        def Intensional.down {E W : Type} {a : Ty} (s : Denot E W a.intens) (i : W) :
                        Denot E W a

                        ˇα — extract the extension at index i. Evaluates an intension at a given index. Definitionally equal to Intensional.Intension.evalAt.

                        Equations
                        Instances For
                          theorem Intensional.down_up {E W : Type} {a : Ty} (x : Denot E W a) (i : W) :
                          down (up x) i = x

                          Down-up cancellation: ˇ(^α) = α at any index. DWP Theorem 1.

                          def Intensional.neg {E W : Type} (p : Denot E W Ty.t) :

                          Sentence negation.

                          Equations
                          Instances For
                            def Intensional.conj {E W : Type} (p q : Denot E W Ty.t) :

                            Sentence conjunction.

                            Equations
                            Instances For
                              def Intensional.disj {E W : Type} (p q : Denot E W Ty.t) :

                              Sentence disjunction.

                              Equations
                              Instances For
                                theorem Intensional.double_negation {E W : Type} (p : Denot E W Ty.t) :
                                neg (neg p) = p
                                def Intensional.predicateToSet {E W : Type} (p : Denot E W (Ty.e Ty.t)) :
                                Set E

                                Convert a predicate et to a Set (the extension).

                                Equations
                                Instances For
                                  def Intensional.setToPredicate {E W : Type} (s : Set E) :

                                  Convert a set to a predicate.

                                  Equations
                                  Instances For
                                    def Intensional.inExtension {E W : Type} (p : Denot E W (Ty.e Ty.t)) (x : E) :

                                    Membership in a predicate's extension.

                                    Equations
                                    Instances For
                                      def Intensional.uncurry {E W : Type} (f : Denot E W (Ty.e Ty.e Ty.t)) :
                                      E × EProp

                                      Uncurry a binary relation (obj-first) to a pair relation (subj-first).

                                      Equations
                                      Instances For
                                        def Intensional.curry {E W : Type} (r : E × EProp) :

                                        Curry a pair relation to a binary relation.

                                        Equations
                                        Instances For
                                          theorem Intensional.uncurry_curry {E : Type} (W : Type) (r : E × EProp) :
                                          uncurry (curry r) = r