Documentation

ConNF.ModelData.CoherentData

Coherent data #

In this file, we define the type of coherent data below a particular proper type index.

Main declarations #

TODO: We're going to try allowing model data at level to vary. That is, we use (β : TypeIndex) → [LeLevel β] → ModelData β instead of (β : Λ) → [LeLevel β] → ModelData β.

A convenience typeclass to hold data below the current level.

Instances
    Instances
      theorem ConNF.PreCoherentData.ext {inst✝ : ConNF.Params} {inst✝¹ : ConNF.Level} {x y : ConNF.PreCoherentData} (data : ConNF.LeData.data = ConNF.LeData.data) (positions : HEq ConNF.LeData.positions ConNF.LeData.positions) (allPermSderiv : HEq (@ConNF.PreCoherentData.allPermSderiv inst✝ inst✝¹ x) (@ConNF.PreCoherentData.allPermSderiv inst✝ inst✝¹ y)) (singleton : HEq (@ConNF.singleton inst✝ inst✝¹ x) (@ConNF.singleton inst✝ inst✝¹ y)) :
      x = y
      Equations
      • One or more equations did not get rendered due to their size.
      @[simp]
      theorem ConNF.allPerm_deriv_sderiv [ConNF.Params] [ConNF.Level] [ConNF.PreCoherentData] {β γ δ : ConNF.TypeIndex} [ConNF.LeLevel β] [ConNF.LeLevel γ] [ConNF.LeLevel δ] (ρ : ConNF.AllPerm β) (A : β γ) (h : δ < γ) :
      ρ (A h) = ρ A h

      Note that in earlier versions of the proof we additionally used the following assumption.

      typedMem_tSetForget {β : Λ} {γ : TypeIndex} [LeLevel β] [LeLevel γ]
        (hγ : γ < β) (x : TSet β) (y : StrSet γ) :
        y ∈[hγ] xᵁ → ∃ z : TSet γ, y = zᵁ
      
      Instances
        theorem ConNF.TSet.mem_smul_iff [ConNF.Params] [ConNF.Level] [ConNF.CoherentData] {β γ : ConNF.TypeIndex} [ConNF.LeLevel β] [iγ : ConNF.LeLevel γ] {x : ConNF.TSet γ} {y : ConNF.TSet β} (h : γ < β) (ρ : ConNF.AllPerm β) :
        x ∈[h] ρ y ρ⁻¹ h x ∈[h] y