Documentation

Anderson4D.HeppTree.Admissible

Admissible embeddings of marked Hepp trees (nodes D-adm, L-5.5) #

Paper Def 5.4 and Lemma 5.5 of arXiv:2607.10105, in the simple case (multiplicities deferred).

Longest common prefix and least common ancestors #

Longest common prefix of two position paths: the position of the least common ancestor of the two vertices.

Equations
Instances For
    @[simp]

    The longest common prefix is a prefix of the first argument.

    The longest common prefix is a prefix of the second argument.

    theorem Anderson4D.IsPos_of_prefix {t : PlaneTree} {p q : PlaneTree.Pos} (hp : t.IsPos p) (hq : q <+: p) :
    t.IsPos q

    Position validity descends to prefixes: a prefix of a valid position is a valid position (it is an iterated dropLast).

    def Anderson4D.lcaV {t : PlaneTree} (v w : t.VPos) :

    The least common ancestor of two vertices (longest common prefix of their position paths).

    Equations
    Instances For
      theorem Anderson4D.lcaV_comm {t : PlaneTree} (v w : t.VPos) :
      lcaV v w = lcaV w v
      @[simp]
      theorem Anderson4D.lcaV_self {t : PlaneTree} (v : t.VPos) :
      lcaV v v = v

      Scales, subtree leaves, children #

      def Anderson4D.scaleN {t : PlaneTree} (Nm : t.HeppMarking) (v : t.VPos) :

      The dyadic scale N_v = 2 ^ Nm.Nexp v of a vertex under a marking. Off the branch nodes Nm.Nexp is unconstrained junk, and so is scaleN; all statements below only inspect it at branch nodes (or under a constant marking).

      Equations
      Instances For
        theorem Anderson4D.scaleN_pos {t : PlaneTree} (Nm : t.HeppMarking) (v : t.VPos) :
        0 < scaleN Nm v

        The leaves of the subtree rooted at v: leaves whose position extends v's.

        Equations
        Instances For
          @[simp]
          theorem Anderson4D.mem_leavesUnder {t : PlaneTree} {v : t.VPos} {l : ↥t.Leaves} :
          l ∈ leavesUnder v ↔ ↑v <+: ↑↑l

          A leaf belongs to the leaves under itself.

          The children of a vertex: valid positions extending v's by one step.

          Equations
          Instances For
            @[simp]
            theorem Anderson4D.mem_childrenOf {t : PlaneTree} {v w : t.VPos} :
            w ∈ childrenOf v ↔ List.length ↑w = List.length ↑v + 1 ∧ ↑v <+: ↑w

            Admissible embeddings (paper Def 5.4, simple case) #

            def Anderson4D.LinkedChildren {t : PlaneTree} (Nm : t.HeppMarking) (z : ↥t.Leaves → Fin 4 → ℤ) (v : t.VPos) :

            Def 5.4(b): any two children of v are joined by a chain of links between children of v — the reflexive-transitive closure of the one-link relation, restricted to childrenOf v.

            Equations
            • One or more equations did not get rendered due to their size.
            Instances For
              structure Anderson4D.IsAdmissible {t : PlaneTree} (Nm : t.HeppMarking) (M : ℕ) (z : ↥t.Leaves → Fin 4 → ℤ) :

              Paper Def 5.4 (simple case, multiplicities deferred): an admissible embedding of the leaves of a marked Hepp tree into ℤ⁴. (a): distinct leaves are separated by half the scale of their least common ancestor; (b): the children of every branch node are chained by links at its scale; all values lie in the box [-M, M]⁴.

              Instances For
                def Anderson4D.Realizes {t : PlaneTree} (Nm : t.HeppMarking) (M : ℕ) (Z : Finset (Fin 4 → ℤ)) :

                A marked Hepp tree realizes the finite set Z ⊆ ℤ⁴ (with box bound M) if some admissible embedding of its leaves has image exactly Z.

                Equations
                Instances For

                  Star trees (single-scale case of Lemma 5.5) #

                  The star tree: a root with n leaf children.

                  Equations
                  Instances For

                    The only valid position in the bare leaf is the root.

                    Every vertex of the bare leaf is the root.

                    theorem Anderson4D.isPos_starTree_iff {n : ℕ} {p : PlaneTree.Pos} :
                    (starTree n).IsPos p ↔ p = [] ∨ ∃ i < n, p = [i]

                    The valid positions of the star tree: the root and the n leaves.

                    The root of the star tree has n children.

                    The depth-one vertices of the star tree are childless.

                    Companion: a forest of leaves is Hepp-valid.

                    theorem Anderson4D.starTree_isValid {n : ℕ} (hn : n ≠ 1) :

                    The star tree with n ≠ 1 children is Hepp-valid (no unary vertices).

                    Companion: a forest of m leaves has m leaves.

                    theorem Anderson4D.leafCount_starTree {n : ℕ} (hn : 1 ≤ n) :

                    The star tree has n leaves (as counted by leafCount).

                    @[simp]
                    theorem Anderson4D.mem_Leaves_iff {t : PlaneTree} {v : t.VPos} :
                    v ∈ t.Leaves ↔ t.childCount ↑v = 0

                    The bare leaf has no branch nodes.

                    def Anderson4D.starLeafV (n : ℕ) (i : Fin n) :

                    The i-th leaf vertex of the star tree.

                    Equations
                    Instances For

                      The leaves of the star tree are exactly its depth-one vertices.

                      Every branch node of the star tree is the root.

                      theorem Anderson4D.mem_childrenOf_root_star {n : ℕ} {c : (starTree n).VPos} (hc : c ∈ childrenOf (starTree n).rootV) :
                      ∃ i < n, ↑c = [i]

                      The children of the star-tree root are the depth-one positions.

                      theorem Anderson4D.starChild_mem_leaves {n : ℕ} {c : (starTree n).VPos} {i : ℕ} (hc : ↑c = [i]) :

                      A depth-one vertex of the star tree is a leaf.

                      def Anderson4D.starMarking (n N : ℕ) (hN : 1 ≤ N) :

                      The constant marking N ≥ 1 on the star tree (its only branch node is the root, so parent_gt is vacuous).

                      Equations
                      Instances For
                        @[simp]
                        theorem Anderson4D.scaleN_starMarking {n N : ℕ} (hN : 1 ≤ N) (v : (starTree n).VPos) :
                        ↑(scaleN (starMarking n N hN) v) = 2 ^ N

                        Any constant exponent is a Hepp marking of the bare leaf (no branch nodes, so both constraints are vacuous).

                        Equations
                        Instances For

                          Realization (paper Lemma 5.5, single-scale case) #

                          theorem Anderson4D.realizes_leaf (M N : ℕ) (x₀ : Fin 4 → ℤ) (hbound : ∀ (i : Fin 4), |x₀ i| ≤ ↑M) :

                          The bare leaf realizes any bounded singleton: all Def 5.4 conditions are vacuous for a single leaf.

                          theorem Anderson4D.realizes_star (M N : ℕ) (hN : 1 ≤ N) (Z : Finset (Fin 4 → ℤ)) (hn : 2 ≤ Z.card) (hbound : ∀ x ∈ Z, ∀ (i : Fin 4), |x i| ≤ ↑M) (hsep : ∀ x ∈ Z, ∀ y ∈ Z, x ≠ y → 2 ^ N / 2 ≤ znorm (x - y)) (hlink : ∀ x ∈ Z, ∀ y ∈ Z, znorm (x - y) ≤ 2 ^ N) :

                          The star tree on Z.card leaves with the constant marking N realizes any Z with at least two points, all pairwise distances in the dyadic window [2^N/2, 2^N], and coordinates bounded by M.

                          theorem Anderson4D.exists_star_realizes (M N : ℕ) (hN : 1 ≤ N) (Z : Finset (Fin 4 → ℤ)) (hZ : Z.Nonempty) (hbound : ∀ x ∈ Z, ∀ (i : Fin 4), |x i| ≤ ↑M) (hsep : ∀ x ∈ Z, ∀ y ∈ Z, x ≠ y → 2 ^ N / 2 ≤ znorm (x - y)) (hlink : ∀ x ∈ Z, ∀ y ∈ Z, znorm (x - y) ≤ 2 ^ N) :
                          ∃ (t : PlaneTree) (_ : t.isValid = true) (Nm : t.HeppMarking), Realizes Nm M Z ∧ t.leafCount = Z.card ∧ ∀ v ∈ t.BranchNodes, Nm.Nexp v = N

                          Lemma 5.5, single-scale case (stage 2'): a nonempty set Z ⊆ [-M, M]⁴ whose pairwise distances all lie in one dyadic window [2^N/2, 2^N] is realized by a valid marked Hepp tree with Z.card leaves — the bare leaf if Z is a singleton, else the star tree with constant marking N (so every branch node carries exactly the exponent N).

                          Sanity checks (kernel-evaluated) #