Documentation

ConNF.FOA.FlexApprox

Flexible approximations #

In this file, we define flexible approximations.

Main declarations #

TODO: Fix definition in blueprint to this.

Instances For
    theorem ConNF.BaseAction.smul_nearLitter_of_smul_litter [ConNF.Params] [ConNF.Level] [ConNF.CoherentData] {β : ConNF.TypeIndex} [ConNF.LeLevel β] {ξ : ConNF.BaseAction} {ψ : ConNF.BaseApprox} {A : β } {π : ConNF.BasePerm} {N₁ N₂ : ConNF.NearLitter} (hξ : ConNF.BaseAction.FlexApprox A ξ ψ) (hψ : ψ.ExactlyApproximates π) (hNξ : ξ N₁ N₂) (hNπ : π N₁ = N₂) :
    π N₁ = N₂

    The main lemma about how approximations interact with actions.

    Equations
    • ξ.littersExtension' = ξ.permutativeExtension' (ξ.dom ξ.codom)
    Instances For
      Equations
      • ξ.littersExtension = ξ.littersExtension' fun (L₁ L₂ : ConNF.Litter) => L₁ = L₂ L₁ξ.littersExtension'.dom
      Instances For

        TODO: Move this to PermutativeExtension and do it abstractly.

        Equations
        • ξ.litterPerm = ξ.littersExtension.toEquiv
        Instances For
          theorem ConNF.BaseAction.litterPerm_eq [ConNF.Params] {ξ : ConNF.BaseAction} {L₁ L₂ : ConNF.Litter} (h : ξ L₁ L₂) :
          ξ.litterPerm L₁ = L₂
          Equations
          Instances For
            Equations
            • ξ.orbitRestriction = { sandbox := ξ.insideAll \ (ξ.dom ξ.codom), sandbox_disjoint := , categorise := fun (a : ConNF.Atom) => a, catPerm := ξ.litterPerm, le_card_categorise := }
            Instances For
              Equations
              • ξ.atomPerm = ξ.permutativeExtension ξ.orbitRestriction
              Instances For
                theorem ConNF.BaseAction.litter_of_atomPerm [ConNF.Params] {ξ : ConNF.BaseAction} {a₁ a₂ : ConNF.Atom} :
                ξ.atomPerm a₁ a₂ξ a₁ a₂ a₁ξ.dom a₂ξ.codom a₂ = ξ.litterPerm a₁
                theorem ConNF.BaseAction.atomPerm_dom_subset [ConNF.Params] (ξ : ConNF.BaseAction) :
                ξ.atomPerm.dom ξ.dom ξ.codom ξ.insideAll
                theorem ConNF.BaseAction.atomPerm_mem_iff_mem [ConNF.Params] {ξ : ConNF.BaseAction} (hξ : ξ.Nice) {a₁ a₂ : ConNF.Atom} {N₁ N₂ : ConNF.NearLitter} (ha : ξ.atomPerm a₁ a₂) (hN : ξ N₁ N₂) :
                a₁ N₁ a₂ N₂
                theorem ConNF.BaseAction.atomPerm_mem_iff [ConNF.Params] {ξ : ConNF.BaseAction} (hξ : ξ.Nice) {N₁ N₂ : ConNF.NearLitter} (hN : ξ N₁ N₂) (a₂ : ConNF.Atom) :
                a₂ N₂ (∃ a₁N₁, ξ.atomPerm a₁ a₂) a₂ξ.atomPerm.dom a₂ = N₂
                Equations
                Instances For
                  theorem ConNF.BaseAction.le_flexLitterPerm [ConNF.Params] [ConNF.Level] [ConNF.CoherentData] {β : ConNF.TypeIndex} [ConNF.LeLevel β] (ξ : ConNF.BaseAction) (A : β ) :
                  ξ.flexLitterRel A ξ.flexLitterPerm A
                  Equations
                  • ξ.flexApprox' A = { exceptions := ξ.atomPerm, litters := ξ.flexLitterPerm A, exceptions_permutative := , litters_permutative' := , exceptions_small := }
                  Instances For
                    Equations
                    Instances For
                      theorem ConNF.BaseAction.flexApprox_flexApprox' [ConNF.Params] [ConNF.Level] [ConNF.CoherentData] {β : ConNF.TypeIndex} [ConNF.LeLevel β] {ξ : ConNF.BaseAction} {A : β } (hξ₁ : ξ.MapFlexible A) (hξ₂ : ξ.Nice) :
                      ConNF.BaseAction.FlexApprox A ξ (ξ.flexApprox' A)

                      A flexible approximation for ξ along A.

                      Equations
                      • ξ.flexApprox A = ξ.niceExtension.flexApprox' A
                      Instances For
                        theorem ConNF.BaseAction.niceExtension_mapFlexible [ConNF.Params] [ConNF.Level] [ConNF.CoherentData] {β : ConNF.TypeIndex} [ConNF.LeLevel β] {ξ : ConNF.BaseAction} {A : β } (hξ : ξ.MapFlexible A) :
                        ξ.niceExtension.MapFlexible A