Documentation

Graphon.RelRankSuccessor

The rank successor decomposition (R4 converse piece 3, #107) #

Unit 1 of the rank transition n → n+1: the structural splitting of the lower-rank factor space into everything below rank n and the layer at rank exactly n. Law-free throughout — this file defines index types, equivalences and projections, and mentions no measure.

The layer is a Bool-cube, not a dependent product #

The layer at rank n is naturally indexed by supports of cardinality n, one ExactSpace A per support, so the obvious definition is the dependent product Π A : RankSupport S n, ExactSpace A. That definition would be a mistake. It forces every downstream conditional law to be a kernel into a dependent product, and Mathlib has no countable dependent product of kernels — there is no Kernel.pi; the only Π-valued kernels are the Ionescu–Tulcea trajectory kernels, which are ℕ-indexed chains whose source is the history rather than a fixed common parameter.

Since ExactSpace A = ExactIndex A → Bool, the dependent product is already a Bool-cube:

Π A : RankSupport S n, ExactSpace A ≃ ((Σ A, ExactIndex A) → Bool)

and the sigma index is just {i // (anchor i).card = n}. So the layer is defined directly as that Bool-cube (RankLayerIndex / RankLayerSpace), with sigmaExactIndexEquiv recording the bridge and rankLayerMap_sigmaExactIndexEquiv identifying each block with exactMap A. Countability and standard Borelness are then the same instances that already serve LowerFactorSpace, and no product kernel is needed anywhere downstream: a conditional law of the whole layer is an ordinary condDistrib into a standard Borel space, and mutual conditional independence supplies the finite products that finite-cylinder extensionality consumes.

Contents #

The successor split is a case distinction on card < n versus card = n, so it is a dite and the index-level square against it, lowerIndexSuccEquiv_rankLayerIndexEquiv, is not definitional: the branch conditions on the two sides agree only after rewriting anchor cardinality through the image map. The named coordinate and projection compatibility lemmas are definitional — rankLayerMap_sigmaExactIndexEquiv, lowerFactorSpaceSuccEquiv_lowerFactorMap, fst_lowerFactorSpaceSuccEquiv, lowerToBoundaryProjection_lowerFactorMap, rankLayerToExactProjection_rankLayerMap, the three naturality squares, and the space-level successor square lowerFactorSpaceSuccEquiv_lowerFactorSpaceEquiv, which escapes the case split because it is built from lowerIndexSuccEquiv.symm and that is a Sum.elim.

The supports of rank exactly n: the index of the family whose layers make up the rank-n step. Not the index of the layer space itself — see the module header.

Equations
Instances For
    theorem RelSignature.card_image_sigmaMap {S : RelSignature} {A : Finset ((s : S.Srt) × S.Vinfinite s)} {n : } (hA : A.card = n) (σ : S.FinSuppPerm) :
    (Finset.image (Sigma.map id fun (s : S.Srt) => (σ s)) A).card = n

    Relabeling preserves rank: the image map is injective, so it preserves anchor cardinality. The workhorse of every rank-indexed transport in this file.

    noncomputable def RelSignature.rankSupportPerm {S : RelSignature} (σ : (s : S.Srt) → Equiv.Perm (S.Vinfinite s)) (n : ) :

    An arbitrary sortwise permutation permutes the supports of each rank. Finite support is irrelevant here: only injectivity is used, and that is what preserves cardinality. Stated for arbitrary sortwise permutations because the exchangeability of a law is an invariance under all of them, not only the finitely supported ones.

    Equations
    • One or more equations did not get rendered due to their size.
    Instances For
      @[simp]
      theorem RelSignature.rankSupportPerm_coe {S : RelSignature} (σ : (s : S.Srt) → Equiv.Perm (S.Vinfinite s)) (n : ) (A : S.RankSupport n) :
      ((rankSupportPerm σ n) A) = Finset.image (Sigma.map id fun (s : S.Srt) => (σ s)) A
      theorem RelSignature.mem_rankSupportPerm {S : RelSignature} (σ : (s : S.Srt) → Equiv.Perm (S.Vinfinite s)) (n : ) (A : S.RankSupport n) (v : (s : S.Srt) × S.Vinfinite s) :
      v ((rankSupportPerm σ n) A) aA, Sigma.map id (fun (s : S.Srt) => (σ s)) a = v

      Membership in a permuted support, stated without an image so that no DecidableEq instance appears in the type. Consumers over a concrete carrier have a natural instance that is not definitionally the classical one used to form the image, and rankSupportPerm_coe is then unusable there; this form is not.

      noncomputable def RelSignature.rankSupportEquiv {S : RelSignature} (σ : S.FinSuppPerm) (n : ) :

      A relabeling permutes the supports of each rank — the finitely supported case.

      Equations
      Instances For

        The rank layer #

        Indices anchored at a support of cardinality exactly n.

        Equations
        Instances For
          @[reducible, inline]

          The rank-n layer of the factor space, as a Bool-cube on a countable index.

          Equations
          Instances For

            The rank-n layer map: evaluate every basis event anchored at rank exactly n.

            Equations
            Instances For

              The bridge to the per-support view #

              The layer is the disjoint union of the exact layers over the supports of rank n. This is the bridge between the Bool-cube definition of RankLayerSpace and the per-support view in which the rank-n step is a family indexed by RankSupport S n.

              Equations
              • One or more equations did not get rendered due to their size.
              Instances For

                Each block of the layer map is the exact-anchor map at its support. Definitional: both sides evaluate the same basis event at the same point.

                The successor split #

                Rank below n+1 means rank below n or rank exactly n.

                Equations
                • One or more equations did not get rendered due to their size.
                Instances For

                  The successor split of the lower-rank factor space: everything below rank n, together with the layer at rank exactly n.

                  Equations
                  • One or more equations did not get rendered due to their size.
                  Instances For

                    The successor split refines the rank nesting: its first component is the rank-n projection.

                    The successor split applied to the factor map reads the two layers.

                    The boundary projection at a support of rank n #

                    A boundary index at a support of rank n has rank < n.

                    Equations
                    Instances For

                      The rank-n factor reads the boundary at every support of rank n.

                      Equations
                      Instances For

                        Definitional, as intended: the boundary map at A factors through the rank-n factor.

                        The exact projection at a support of rank n #

                        An exact index at a support of rank n lies in the rank-n layer.

                        Equations
                        Instances For

                          The layer projects onto the exact layer at each support of rank n. The per-support view of the Bool-cube: this is the map along which the layer's conditional law restricts to stepKernel A's target.

                          Equations
                          Instances For

                            Definitional: the exact-anchor map at A factors through the rank-n layer.

                            Relabeling actions #

                            A relabeling permutes the rank-n layer index: the action transports anchors by an injective image map, so it preserves cardinality exactly.

                            Equations
                            Instances For
                              @[simp]

                              Identity, as an equality of equivalences: these are automorphisms of one fixed type.

                              Naturality of the layer map, with the same orientation as lowerFactorMap_lowerIndexEquiv — forced by event_act being a preimage equality.

                              A relabeling as a measurable automorphism of the layer space, by coordinate reindexing.

                              Equations
                              Instances For

                                The successor split is equivariant. Not definitional: the split branches on card < n, and the two sides' branch conditions agree only after transporting anchor cardinality through the image map — which is exactly rankLayerIndexEquiv's defining computation.

                                @[simp]

                                Identity, as an equality of measurable equivalences.

                                @[simp]

                                Composition, contravariantly, matching lowerFactorSpaceEquiv_mul.

                                Naturality #

                                The support/exact bridge is natural: acting on a support and its exact index agrees with acting on the corresponding layer index. Definitional — both routes are act σ on the index and differ only in which anchor proof is carried.

                                The exact projection is natural. Reading the exact layer at A after relabeling is relabeling after reading it at the image support. Definitional.

                                The boundary projection is natural, likewise definitional.

                                The successor split is equivariant at the level of spaces — and here, unlike the index-level square lowerIndexSuccEquiv_rankLayerIndexEquiv, the statement is definitional. The space-level map is built from lowerIndexSuccEquiv.symm, which is a Sum.elim and so computes on the constructors; the forward dite that forces the case split never appears.