Documentation

ConNF.Strong.Spec

Specifications for supports #

In this file, we define the notion of a specification for a support.

Main declarations #

  • atoms : Set ConNF.κ
  • nearLitters : Set ConNF.κ
Instances For
    • nearLitters : Set ConNF.κ
    Instances For
      structure ConNF.InflexCond [ConNF.Params] [ConNF.Level] [ConNF.CoherentData] (δ : ConNF.TypeIndex) [ConNF.LeLevel δ] :
      Instances For
        instance ConNF.instSuperAInflexCondTreeRelκ [ConNF.Params] [ConNF.Level] [ConNF.CoherentData] (δ : ConNF.TypeIndex) [ConNF.LeLevel δ] :
        ConNF.SuperA (ConNF.InflexCond δ) (ConNF.Tree (Rel ConNF.κ ConNF.κ) δ)
        Equations
        instance ConNF.instSuperNInflexCondTreeRelκ [ConNF.Params] [ConNF.Level] [ConNF.CoherentData] (δ : ConNF.TypeIndex) [ConNF.LeLevel δ] :
        ConNF.SuperN (ConNF.InflexCond δ) (ConNF.Tree (Rel ConNF.κ ConNF.κ) δ)
        Equations
        inductive ConNF.NearLitterCond [ConNF.Params] [ConNF.Level] [ConNF.CoherentData] (β : ConNF.TypeIndex) [ConNF.LeLevel β] :
        Instances For
          structure ConNF.Spec [ConNF.Params] [ConNF.Level] [ConNF.CoherentData] (β : ConNF.TypeIndex) [ConNF.LeLevel β] :
          Instances For
            instance ConNF.instSuperASpecTreeEnumerationAtomCond [ConNF.Params] [ConNF.Level] [ConNF.CoherentData] (β : ConNF.TypeIndex) [ConNF.LeLevel β] :
            Equations
            instance ConNF.instSuperNSpecTreeEnumerationNearLitterCond [ConNF.Params] [ConNF.Level] [ConNF.CoherentData] (β : ConNF.TypeIndex) [ConNF.LeLevel β] :
            Equations
            theorem ConNF.Spec.ext [ConNF.Params] [ConNF.Level] [ConNF.CoherentData] {β : ConNF.TypeIndex} [ConNF.LeLevel β] {σ τ : ConNF.Spec β} (h₁ : ∀ (A : β ), σ A = τ A) (h₂ : ∀ (A : β ), σ A = τ A) :
            σ = τ
            instance ConNF.instLESpec [ConNF.Params] [ConNF.Level] [ConNF.CoherentData] {β : ConNF.TypeIndex} [ConNF.LeLevel β] :
            Equations
            • One or more equations did not get rendered due to their size.
            instance ConNF.instPartialOrderSpec [ConNF.Params] [ConNF.Level] [ConNF.CoherentData] {β : ConNF.TypeIndex} [ConNF.LeLevel β] :
            Equations
            def ConNF.nearLitterCondRelFlex [ConNF.Params] [ConNF.Level] [ConNF.CoherentData] {β : ConNF.TypeIndex} [ConNF.LeLevel β] (S : ConNF.Support β) (A : β ) :
            Rel ConNF.NearLitter (ConNF.NearLitterCond β)
            Equations
            • One or more equations did not get rendered due to their size.
            Instances For
              def ConNF.nearLitterCondRelInflex [ConNF.Params] [ConNF.Level] [ConNF.CoherentData] {β : ConNF.TypeIndex} [ConNF.LeLevel β] (S : ConNF.Support β) (A : β ) :
              Rel ConNF.NearLitter (ConNF.NearLitterCond β)
              Equations
              • One or more equations did not get rendered due to their size.
              Instances For
                def ConNF.nearLitterCondRel [ConNF.Params] [ConNF.Level] [ConNF.CoherentData] {β : ConNF.TypeIndex} [ConNF.LeLevel β] (S : ConNF.Support β) (A : β ) :
                Rel ConNF.NearLitter (ConNF.NearLitterCond β)
                Equations
                Instances For
                  theorem ConNF.nearLitterCondRelFlex_coinjective [ConNF.Params] [ConNF.Level] [ConNF.CoherentData] {β : ConNF.TypeIndex} [ConNF.LeLevel β] {S : ConNF.Support β} {A : β } :
                  (ConNF.nearLitterCondRelFlex S A).Coinjective
                  theorem ConNF.nearLitterCondRelInflex_coinjective [ConNF.Params] [ConNF.Level] [ConNF.CoherentData] {β : ConNF.TypeIndex} [ConNF.LeLevel β] {S : ConNF.Support β} {A : β } :
                  theorem ConNF.flexible_of_mem_dom_nearLitterCondFlexRel [ConNF.Params] [ConNF.Level] [ConNF.CoherentData] {β : ConNF.TypeIndex} [ConNF.LeLevel β] {S : ConNF.Support β} {A : β } {N : ConNF.NearLitter} (h : N (ConNF.nearLitterCondRelFlex S A).dom) :
                  theorem ConNF.inflexible_of_mem_dom_nearLitterCondInflexRel [ConNF.Params] [ConNF.Level] [ConNF.CoherentData] {β : ConNF.TypeIndex} [ConNF.LeLevel β] {S : ConNF.Support β} {A : β } {N : ConNF.NearLitter} (h : N (ConNF.nearLitterCondRelInflex S A).dom) :
                  theorem ConNF.nearLitterCondRel_dom_disjoint [ConNF.Params] [ConNF.Level] [ConNF.CoherentData] {β : ConNF.TypeIndex} [ConNF.LeLevel β] {S : ConNF.Support β} {A : β } :
                  theorem ConNF.nearLitterCondRel_inflex [ConNF.Params] [ConNF.Level] [ConNF.CoherentData] {β : ConNF.TypeIndex} [ConNF.LeLevel β] {S : ConNF.Support β} {A : β } {N : ConNF.NearLitter} {P : ConNF.InflexiblePath β} {χ : ConNF.CodingFunction P} {ta tn : ConNF.Tree (Rel ConNF.κ ConNF.κ) P} :
                  ConNF.nearLitterCondRel S A N (ConNF.NearLitterCond.inflex P { χ := χ, atoms := ta, nearLitters := tn })∃ (t : ConNF.Tangle P), A = P.A ↘. N = ConNF.fuzz t χ = t.code (ta = fun (B : P ) => (S ⇘. (P.A B)).rel.comp (t.support ⇘. B).rel.inv) tn = fun (B : P ) => (S ⇘. (P.A B)).rel.comp (t.support ⇘. B).rel.inv
                  theorem ConNF.nearLitterCondRel_coinjective [ConNF.Params] [ConNF.Level] [ConNF.CoherentData] {β : ConNF.TypeIndex} [ConNF.LeLevel β] (S : ConNF.Support β) (A : β ) :
                  (ConNF.nearLitterCondRel S A).Coinjective
                  theorem ConNF.nearLitterCondRel_cosurjective [ConNF.Params] [ConNF.Level] [ConNF.CoherentData] {β : ConNF.TypeIndex} [ConNF.LeLevel β] (S : ConNF.Support β) (A : β ) :
                  (ConNF.nearLitterCondRel S A).Cosurjective
                  def ConNF.Support.spec [ConNF.Params] [ConNF.Level] [ConNF.CoherentData] {β : ConNF.TypeIndex} [ConNF.LeLevel β] (S : ConNF.Support β) :
                  Equations
                  • One or more equations did not get rendered due to their size.
                  Instances For
                    theorem ConNF.Support.spec_atoms [ConNF.Params] [ConNF.Level] [ConNF.CoherentData] {β : ConNF.TypeIndex} [ConNF.LeLevel β] (S : ConNF.Support β) (A : β ) :
                    S.spec A = (S ⇘. A).image fun (a : ConNF.Atom) => { atoms := {i : ConNF.κ | (S ⇘. A).rel i a}, nearLitters := {i : ConNF.κ | ∃ (N : ConNF.NearLitter), (S ⇘. A).rel i N a N} }
                    theorem ConNF.Support.spec_nearLitters [ConNF.Params] [ConNF.Level] [ConNF.CoherentData] {β : ConNF.TypeIndex} [ConNF.LeLevel β] (S : ConNF.Support β) (A : β ) :
                    S.spec A = (S ⇘. A).comp (ConNF.nearLitterCondRel S A)
                    theorem ConNF.Support.spec_atoms_dom [ConNF.Params] [ConNF.Level] [ConNF.CoherentData] {β : ConNF.TypeIndex} [ConNF.LeLevel β] (S : ConNF.Support β) (A : β ) :
                    (S.spec A).rel.dom = (S ⇘. A).rel.dom
                    theorem ConNF.Support.spec_nearLitters_dom [ConNF.Params] [ConNF.Level] [ConNF.CoherentData] {β : ConNF.TypeIndex} [ConNF.LeLevel β] (S : ConNF.Support β) (A : β ) :
                    (S.spec A).rel.dom = (S ⇘. A).rel.dom
                    def ConNF.convAtoms [ConNF.Params] {β : ConNF.TypeIndex} (S T : ConNF.Support β) (A : β ) :
                    Rel ConNF.Atom ConNF.Atom
                    Equations
                    Instances For
                      def ConNF.convNearLitters [ConNF.Params] {β : ConNF.TypeIndex} (S T : ConNF.Support β) (A : β ) :
                      Rel ConNF.NearLitter ConNF.NearLitter
                      Equations
                      Instances For
                        @[simp]
                        theorem ConNF.convAtoms_inv [ConNF.Params] {β : ConNF.TypeIndex} (S T : ConNF.Support β) (A : β ) :
                        @[simp]
                        theorem ConNF.convNearLitters_inv [ConNF.Params] {β : ConNF.TypeIndex} (S T : ConNF.Support β) (A : β ) :
                        theorem ConNF.convAtoms_dom_subset [ConNF.Params] {β : ConNF.TypeIndex} (S T : ConNF.Support β) (A : β ) :
                        (ConNF.convAtoms S T A).dom (S ⇘. A).rel.codom
                        theorem ConNF.convNearLitters_dom_subset [ConNF.Params] {β : ConNF.TypeIndex} (S T : ConNF.Support β) (A : β ) :
                        (ConNF.convNearLitters S T A).dom (S ⇘. A).rel.codom
                        def ConNF.atomMemRel [ConNF.Params] {β : ConNF.TypeIndex} (S : ConNF.Support β) (A : β ) :
                        Rel ConNF.κ ConNF.κ
                        Equations
                        Instances For
                          structure ConNF.SameSpec [ConNF.Params] [ConNF.Level] [ConNF.CoherentData] {β : ConNF.TypeIndex} [ConNF.LeLevel β] (S T : ConNF.Support β) :
                          Instances For
                            structure ConNF.SameSpecLE [ConNF.Params] [ConNF.Level] [ConNF.CoherentData] {β : ConNF.TypeIndex} [ConNF.LeLevel β] (S T : ConNF.Support β) :

                            A variant of SameSpec in which most equalities have been turned into one-directional implications. It can sometimes be easier to prove this in generality than to prove SameSpec directly.

                            Instances For
                              theorem ConNF.SameSpec.atoms_dom_of_dom [ConNF.Params] [ConNF.Level] [ConNF.CoherentData] {β : ConNF.TypeIndex} [ConNF.LeLevel β] {S T : ConNF.Support β} (h : ConNF.SameSpec S T) {A : β } {i : ConNF.κ} {a : ConNF.Atom} (ha : (S ⇘. A).rel i a) :
                              ∃ (b : ConNF.Atom), (T ⇘. A).rel i b
                              theorem ConNF.SameSpec.nearLitters_dom_of_dom [ConNF.Params] [ConNF.Level] [ConNF.CoherentData] {β : ConNF.TypeIndex} [ConNF.LeLevel β] {S T : ConNF.Support β} (h : ConNF.SameSpec S T) {A : β } {i : ConNF.κ} {N₁ : ConNF.NearLitter} (hN₁ : (S ⇘. A).rel i N₁) :
                              ∃ (N₂ : ConNF.NearLitter), (T ⇘. A).rel i N₂
                              theorem ConNF.SameSpec.inflexible_iff' [ConNF.Params] [ConNF.Level] [ConNF.CoherentData] {β : ConNF.TypeIndex} [ConNF.LeLevel β] {S T : ConNF.Support β} (h : ConNF.SameSpec S T) {A : β } {N₁ N₂ : ConNF.NearLitter} (h' : ConNF.convNearLitters S T A N₁ N₂) :
                              theorem ConNF.sameSpec_antisymm [ConNF.Params] [ConNF.Level] [ConNF.CoherentData] {β : ConNF.TypeIndex} [ConNF.LeLevel β] {S T : ConNF.Support β} (h₁ : ConNF.SameSpecLE S T) (h₂ : ConNF.SameSpecLE T S) :
                              theorem ConNF.sameSpec_comm [ConNF.Params] [ConNF.Level] [ConNF.CoherentData] {β : ConNF.TypeIndex} [ConNF.LeLevel β] {S T : ConNF.Support β} (h : ConNF.SameSpec S T) :
                              theorem ConNF.Support.atoms_eq_of_spec_eq_spec [ConNF.Params] [ConNF.Level] [ConNF.CoherentData] {β : ConNF.TypeIndex} [ConNF.LeLevel β] {S T : ConNF.Support β} (h : S.spec = T.spec) (A : β ) :
                              ((S ⇘. A).image fun (a : ConNF.Atom) => { atoms := {i : ConNF.κ | (S ⇘. A).rel i a}, nearLitters := {i : ConNF.κ | ∃ (N : ConNF.NearLitter), (S ⇘. A).rel i N a N} }) = (T ⇘. A).image fun (a : ConNF.Atom) => { atoms := {i : ConNF.κ | (T ⇘. A).rel i a}, nearLitters := {i : ConNF.κ | ∃ (N : ConNF.NearLitter), (T ⇘. A).rel i N a N} }
                              theorem ConNF.Support.nearLitters_eq_of_spec_eq_spec [ConNF.Params] [ConNF.Level] [ConNF.CoherentData] {β : ConNF.TypeIndex} [ConNF.LeLevel β] {S T : ConNF.Support β} (h : S.spec = T.spec) (A : β ) :
                              (S ⇘. A).comp (ConNF.nearLitterCondRel S A) = (T ⇘. A).comp (ConNF.nearLitterCondRel T A)
                              theorem ConNF.Support.convAtoms_of_spec_eq_spec [ConNF.Params] [ConNF.Level] [ConNF.CoherentData] {β : ConNF.TypeIndex} [ConNF.LeLevel β] {S T : ConNF.Support β} (h : S.spec = T.spec) {A : β } {a b : ConNF.Atom} :
                              ConNF.convAtoms S T A a b(∀ (i : ConNF.κ), (S ⇘. A).rel i a (T ⇘. A).rel i b) ∀ (i : ConNF.κ), (∃ (N : ConNF.NearLitter), (S ⇘. A).rel i N a N) ∃ (N : ConNF.NearLitter), (T ⇘. A).rel i N b N
                              theorem ConNF.Support.convNearLitters_of_spec_eq_spec [ConNF.Params] [ConNF.Level] [ConNF.CoherentData] {β : ConNF.TypeIndex} [ConNF.LeLevel β] {S T : ConNF.Support β} (h : S.spec = T.spec) {A : β } {N₁ N₂ : ConNF.NearLitter} :
                              ConNF.convNearLitters S T A N₁ N₂∃ (c : ConNF.NearLitterCond β), ConNF.nearLitterCondRel S A N₁ c ConNF.nearLitterCondRel T A N₂ c
                              theorem ConNF.Support.atoms_bound_eq_of_spec_eq_spec [ConNF.Params] [ConNF.Level] [ConNF.CoherentData] {β : ConNF.TypeIndex} [ConNF.LeLevel β] {S T : ConNF.Support β} (h : S.spec = T.spec) (A : β ) :
                              (S ⇘. A).bound = (T ⇘. A).bound
                              theorem ConNF.Support.nearLitters_bound_eq_of_spec_eq_spec [ConNF.Params] [ConNF.Level] [ConNF.CoherentData] {β : ConNF.TypeIndex} [ConNF.LeLevel β] {S T : ConNF.Support β} (h : S.spec = T.spec) (A : β ) :
                              (S ⇘. A).bound = (T ⇘. A).bound
                              theorem ConNF.Support.atoms_dom_subset_of_spec_eq_spec [ConNF.Params] [ConNF.Level] [ConNF.CoherentData] {β : ConNF.TypeIndex} [ConNF.LeLevel β] {S T : ConNF.Support β} (h : S.spec = T.spec) (A : β ) :
                              (S ⇘. A).rel.dom (T ⇘. A).rel.dom
                              theorem ConNF.Support.nearLitters_dom_subset_of_spec_eq_spec [ConNF.Params] [ConNF.Level] [ConNF.CoherentData] {β : ConNF.TypeIndex} [ConNF.LeLevel β] {S T : ConNF.Support β} (h : S.spec = T.spec) (A : β ) :
                              (S ⇘. A).rel.dom (T ⇘. A).rel.dom
                              theorem ConNF.Support.convAtoms_injective_of_spec_eq_spec [ConNF.Params] [ConNF.Level] [ConNF.CoherentData] {β : ConNF.TypeIndex} [ConNF.LeLevel β] {S T : ConNF.Support β} (h : S.spec = T.spec) (A : β ) :
                              (ConNF.convAtoms S T A).Injective
                              theorem ConNF.Support.atomMemRel_le_of_spec_eq_spec [ConNF.Params] [ConNF.Level] [ConNF.CoherentData] {β : ConNF.TypeIndex} [ConNF.LeLevel β] {S T : ConNF.Support β} (h : S.spec = T.spec) (A : β ) :
                              theorem ConNF.Support.inflexible_of_inflexible_of_spec_eq_spec [ConNF.Params] [ConNF.Level] [ConNF.CoherentData] {β : ConNF.TypeIndex} [ConNF.LeLevel β] {S T : ConNF.Support β} (h : S.spec = T.spec) {A : β } {N₁ N₂ : ConNF.NearLitter} :
                              ConNF.convNearLitters S T A N₁ N₂∀ (P : ConNF.InflexiblePath β) (t : ConNF.Tangle P), A = P.A ↘.N₁ = ConNF.fuzz t∃ (ρ : ConNF.AllPerm P), N₂ = ConNF.fuzz (ρ t)
                              theorem ConNF.Support.litter_eq_of_flexible_of_spec_eq_spec [ConNF.Params] [ConNF.Level] [ConNF.CoherentData] {β : ConNF.TypeIndex} [ConNF.LeLevel β] {S T : ConNF.Support β} (h : S.spec = T.spec) {A : β } {N₁ N₂ N₃ N₄ : ConNF.NearLitter} :
                              ConNF.convNearLitters S T A N₁ N₂ConNF.convNearLitters S T A N₃ N₄¬ConNF.Inflexible A N₁¬ConNF.Inflexible A N₂¬ConNF.Inflexible A N₃¬ConNF.Inflexible A N₄N₁ = N₃N₂ = N₄
                              theorem ConNF.Support.atoms_of_inflexible_of_spec_eq_spec [ConNF.Params] [ConNF.Level] [ConNF.CoherentData] {β : ConNF.TypeIndex} [ConNF.LeLevel β] {S T : ConNF.Support β} (h : S.spec = T.spec) (A : β ) (N₁ N₂ : ConNF.NearLitter) (P : ConNF.InflexiblePath β) (t : ConNF.Tangle P) (ρ : ConNF.AllPerm P) :
                              A = P.A ↘.N₁ = ConNF.fuzz tN₂ = ConNF.fuzz (ρ t)ConNF.convNearLitters S T A N₁ N₂∀ (B : P ), a(t.support ⇘. B), ∀ (i : ConNF.κ), (S ⇘. (P.A B)).rel i a(T ⇘. (P.A B)).rel i (ρ B a)
                              theorem ConNF.Support.nearLitters_of_inflexible_of_spec_eq_spec [ConNF.Params] [ConNF.Level] [ConNF.CoherentData] {β : ConNF.TypeIndex} [ConNF.LeLevel β] {S T : ConNF.Support β} (h : S.spec = T.spec) (A : β ) (N₁ N₂ : ConNF.NearLitter) (P : ConNF.InflexiblePath β) (t : ConNF.Tangle P) (ρ : ConNF.AllPerm P) :
                              A = P.A ↘.N₁ = ConNF.fuzz tN₂ = ConNF.fuzz (ρ t)ConNF.convNearLitters S T A N₁ N₂∀ (B : P ), N(t.support ⇘. B), ∀ (i : ConNF.κ), (S ⇘. (P.A B)).rel i N(T ⇘. (P.A B)).rel i (ρ B N)
                              theorem ConNF.Support.sameSpecLe_of_spec_eq_spec [ConNF.Params] [ConNF.Level] [ConNF.CoherentData] {β : ConNF.TypeIndex} [ConNF.LeLevel β] {S T : ConNF.Support β} (h : S.spec = T.spec) :
                              theorem ConNF.Support.atoms_subset_of_sameSpec [ConNF.Params] [ConNF.Level] [ConNF.CoherentData] {β : ConNF.TypeIndex} [ConNF.LeLevel β] {S T : ConNF.Support β} (h : ConNF.SameSpec S T) {A : β } {i : ConNF.κ} {a b : ConNF.Atom} (ha : (S ⇘. A).rel i a) (hb : (T ⇘. A).rel i b) :
                              {i : ConNF.κ | (T ⇘. A).rel i b} {i : ConNF.κ | (S ⇘. A).rel i a}
                              theorem ConNF.Support.nearLitters_subset_of_sameSpec [ConNF.Params] [ConNF.Level] [ConNF.CoherentData] {β : ConNF.TypeIndex} [ConNF.LeLevel β] {S T : ConNF.Support β} (h : ConNF.SameSpec S T) {A : β } {i : ConNF.κ} {a b : ConNF.Atom} (ha : (S ⇘. A).rel i a) (hb : (T ⇘. A).rel i b) :
                              {i : ConNF.κ | ∃ (N : ConNF.NearLitter), (T ⇘. A).rel i N b N} {i : ConNF.κ | ∃ (N : ConNF.NearLitter), (S ⇘. A).rel i N a N}
                              theorem ConNF.Support.nearLitterCondRelFlex_of_convNearLitters_aux [ConNF.Params] [ConNF.Level] [ConNF.CoherentData] {β : ConNF.TypeIndex} [ConNF.LeLevel β] {S T : ConNF.Support β} (h : ConNF.SameSpec S T) {A : β } {N₁ N₂ : ConNF.NearLitter} (hN : ConNF.convNearLitters S T A N₁ N₂) (hN₁i : ¬ConNF.Inflexible A N₁) (hN₂i : ¬ConNF.Inflexible A N₂) (i : ConNF.κ) :
                              (∃ (N₃ : ConNF.NearLitter), (S ⇘. A).rel i N₃ N₁ = N₃)∃ (N₃ : ConNF.NearLitter), (T ⇘. A).rel i N₃ N₂ = N₃
                              theorem ConNF.Support.nearLitterCondRelFlex_of_convNearLitters [ConNF.Params] [ConNF.Level] [ConNF.CoherentData] {β : ConNF.TypeIndex} [ConNF.LeLevel β] {S T : ConNF.Support β} (h : ConNF.SameSpec S T) {A : β } {N₁ N₂ : ConNF.NearLitter} (hN : ConNF.convNearLitters S T A N₁ N₂) (hN₁i : ¬ConNF.Inflexible A N₁) (hN₂i : ¬ConNF.Inflexible A N₂) :
                              ConNF.nearLitterCondRelFlex T A N₂ (ConNF.NearLitterCond.flex { nearLitters := {i : ConNF.κ | ∃ (N₃ : ConNF.NearLitter), (S ⇘. A).rel i N₃ N₁ = N₃} })
                              theorem ConNF.Support.nearLitterCondRelInflex_of_convNearLitters [ConNF.Params] [ConNF.Level] [ConNF.CoherentData] {β : ConNF.TypeIndex} [ConNF.LeLevel β] {S T : ConNF.Support β} (h : ConNF.SameSpec S T) {A : β } {N₁ N₂ : ConNF.NearLitter} (hN : ConNF.convNearLitters S T A N₁ N₂) (P : ConNF.InflexiblePath β) (t : ConNF.Tangle P) (ρ : ConNF.AllPerm P) (hA : A = P.A ↘.) (hN₁ : N₁ = ConNF.fuzz t) (hN₂ : N₂ = ConNF.fuzz (ρ t)) :
                              ConNF.nearLitterCondRelInflex T A N₂ (ConNF.NearLitterCond.inflex P { χ := t.code, atoms := fun (B : P ) => (S ⇘. (P.A B)).rel.comp (t.support ⇘. B).rel.inv, nearLitters := fun (B : P ) => (S ⇘. (P.A B)).rel.comp (t.support ⇘. B).rel.inv })
                              theorem ConNF.Support.spec_le_spec_of_sameSpec [ConNF.Params] [ConNF.Level] [ConNF.CoherentData] {β : ConNF.TypeIndex} [ConNF.LeLevel β] {S T : ConNF.Support β} (h : ConNF.SameSpec S T) :
                              S.spec T.spec
                              theorem ConNF.Support.spec_eq_spec_iff [ConNF.Params] [ConNF.Level] [ConNF.CoherentData] {β : ConNF.TypeIndex} [ConNF.LeLevel β] (S T : ConNF.Support β) :
                              S.spec = T.spec ConNF.SameSpec S T