Documentation

Linglib.Semantics.Reference.Rigidity

Rigid designation #

An intension over an index type W is a function W → τ, and it is rigid when it takes the same value at every index: a rigid designator in the sense of Kripke, a stable content in the sense of Kaplan. Rigidity is subsingletonness of the range (isRigid_iff_subsingleton_range), and rigidity on a set is subsingletonness of the image (isRigidOn_iff_subsingleton_image); the closure properties are those of Set.Subsingleton. Rigid intensions that agree at one index agree everywhere, which is the necessity of identity.

Main definitions #

Main results #

References #

def Reference.IsRigid {W : Type u_1} {τ : Type u_3} (f : Wτ) :

An intension is rigid when it takes the same value at every index.

Equations
Instances For
    def Reference.IsRigidOn {W : Type u_1} {τ : Type u_3} (f : Wτ) (S : Set W) :

    An intension is rigid on S when it takes the same value at every index in S.

    Equations
    • Reference.IsRigidOn f S = ∀ (w₁ : W), w₁ S∀ (w₂ : W), w₂ Sf w₁ = f w₂
    Instances For
      theorem Reference.isRigid_iff_subsingleton_range {W : Type u_1} {τ : Type u_3} {f : Wτ} :
      IsRigid f (Set.range f).Subsingleton
      theorem Reference.isRigidOn_iff_subsingleton_image {W : Type u_1} {τ : Type u_3} {f : Wτ} {S : Set W} :
      IsRigidOn f S (f '' S).Subsingleton
      theorem Reference.isRigid_const {W : Type u_1} {τ : Type u_3} (x : τ) :
      IsRigid fun (x_1 : W) => x
      theorem Reference.IsRigidOn.mono {W : Type u_1} {τ : Type u_3} {f : Wτ} {S T : Set W} (h : IsRigidOn f S) (hT : TS) :
      theorem Reference.IsRigid.isRigidOn {W : Type u_1} {τ : Type u_3} {f : Wτ} (h : IsRigid f) (S : Set W) :
      theorem Reference.IsRigid.eq_const {W : Type u_1} {τ : Type u_3} {f : Wτ} (h : IsRigid f) (w : W) :
      f = fun (x : W) => f w

      A rigid intension is the constant function of its value at any index.

      theorem Reference.IsRigid.eq_of_apply_eq {W : Type u_1} {τ : Type u_3} {f g : Wτ} (hf : IsRigid f) (hg : IsRigid g) {w : W} (h : f w = g w) :
      f = g

      Necessity of identity: rigid intensions that agree at one index are equal.

      theorem Reference.const_ne_of_not_isRigid {W : Type u_1} {τ : Type u_3} {f : Wτ} (h : ¬IsRigid f) (w : W) :
      (fun (x : W) => f w) f

      A non-rigid intension differs from the constant function of any of its values.

      theorem Reference.IsRigid.map {W : Type u_1} {τ : Type u_3} {τ' : Type u_4} {f : Wτ} (h : IsRigid f) (g : ττ') :
      IsRigid (g f)
      theorem Reference.IsRigid.of_comp_injective {W : Type u_1} {τ : Type u_3} {τ' : Type u_4} {f : Wτ} {g : ττ'} (hg : Function.Injective g) (h : IsRigid (g f)) :
      theorem Reference.IsRigid.precomp {W : Type u_1} {W' : Type u_2} {τ : Type u_3} {f : Wτ} (h : IsRigid f) (g : W'W) :
      IsRigid (f g)
      theorem Reference.IsRigidOn.precomp {W : Type u_1} {W' : Type u_2} {τ : Type u_3} {f : Wτ} {S : Set W} (h : IsRigidOn f S) (g : W'W) :
      IsRigidOn (f g) (g ⁻¹' S)