Documentation

LeanPool.ErdosGinzburgZiv.EGZ.Decomposition.PruningData

Surviving weights and their lifted supports #

The support lemmas here prepare the geometric rebuilding after numerical pruning. A surviving collection is pointwise below the old local weights and has at least one nonzero atom.

structure EGZ.FlagDecomposition.PrunedWeights {p d : ℕ} [NeZero p] {f : FpCoord p d → ℕ} (Φ : FlagDecomposition p d f) :

A nonzero family of local weights obtained by decreasing the weights of a flag decomposition.

Instances For
    @[reducible, inline]
    noncomputable abbrev EGZ.FlagDecomposition.PrunedWeights.cumulative {p d : ℕ} [NeZero p] {f : FpCoord p d → ℕ} {Φ : FlagDecomposition p d f} (D : Φ.PrunedWeights) (x : Φ.flag.Node) (v : FpCoord p d) :

    The pruned weight accumulated over all nodes below a given node.

    Equations
    Instances For
      @[reducible, inline]
      noncomputable abbrev EGZ.FlagDecomposition.PrunedWeights.hat {p d : ℕ} [NeZero p] {f : FpCoord p d → ℕ} {Φ : FlagDecomposition p d f} (D : Φ.PrunedWeights) (x : Φ.flag.Node) (q : IntCoord (Φ.flag.rank x)) :

      The centered integral lift of the cumulative pruned weight.

      Equations
      Instances For
        @[reducible, inline]
        noncomputable abbrev EGZ.FlagDecomposition.PrunedWeights.localLift {p d : ℕ} [NeZero p] {f : FpCoord p d → ℕ} {Φ : FlagDecomposition p d f} (D : Φ.PrunedWeights) (x : Φ.flag.Node) (q : IntCoord (Φ.flag.rank x)) :

        The centered integral lift of the pruned weight at a single node.

        Equations
        Instances For
          @[reducible, inline]
          noncomputable abbrev EGZ.FlagDecomposition.PrunedWeights.support {p d : ℕ} [NeZero p] {f : FpCoord p d → ℕ} {Φ : FlagDecomposition p d f} (D : Φ.PrunedWeights) (x : Φ.flag.Node) :

          The finite support of the cumulative centered lift of the pruned weights.

          Equations
          Instances For
            theorem EGZ.FlagDecomposition.PrunedWeights.mem_support {p d : ℕ} [NeZero p] {f : FpCoord p d → ℕ} {Φ : FlagDecomposition p d f} (D : Φ.PrunedWeights) (x : Φ.flag.Node) (q : IntCoord (Φ.flag.rank x)) :
            q ∈ D.support x ↔ D.hat x q ≠ 0
            theorem EGZ.FlagDecomposition.PrunedWeights.weight_supported {p d : ℕ} [NeZero p] {f : FpCoord p d → ℕ} {Φ : FlagDecomposition p d f} (D : Φ.PrunedWeights) (x : Φ.flag.Node) (v : FpCoord p d) (hv : D.weight x v ≠ 0) :
            theorem EGZ.FlagDecomposition.PrunedWeights.cumulative_ne_zero_iff {p d : ℕ} [NeZero p] {f : FpCoord p d → ℕ} {Φ : FlagDecomposition p d f} (D : Φ.PrunedWeights) (x : Φ.flag.Node) (v : FpCoord p d) :
            D.cumulative x v ≠ 0 ↔ ∃ y ≤ x, D.weight y v ≠ 0
            theorem EGZ.FlagDecomposition.PrunedWeights.cumulative_supported {p d : ℕ} [NeZero p] {f : FpCoord p d → ℕ} {Φ : FlagDecomposition p d f} (D : Φ.PrunedWeights) (x : Φ.flag.Node) (v : FpCoord p d) (hv : D.cumulative x v ≠ 0) :
            theorem EGZ.FlagDecomposition.PrunedWeights.cumulative_ne_zero_of_le {p d : ℕ} [NeZero p] {f : FpCoord p d → ℕ} {Φ : FlagDecomposition p d f} (D : Φ.PrunedWeights) {y x : Φ.flag.Node} (h : y ≤ x) {v : FpCoord p d} (hv : D.cumulative y v ≠ 0) :
            D.cumulative x v ≠ 0
            theorem EGZ.FlagDecomposition.PrunedWeights.hat_le_old {p d : ℕ} [NeZero p] {f : FpCoord p d → ℕ} {Φ : FlagDecomposition p d f} (D : Φ.PrunedWeights) (x : Φ.flag.Node) (q : IntCoord (Φ.flag.rank x)) :
            D.hat x q ≤ Φ.hat x q
            theorem EGZ.FlagDecomposition.PrunedWeights.localLift_le_old {p d : ℕ} [NeZero p] {f : FpCoord p d → ℕ} {Φ : FlagDecomposition p d f} (D : Φ.PrunedWeights) (x : Φ.flag.Node) (q : IntCoord (Φ.flag.rank x)) :
            D.localLift x q ≤ Φ.localLift x q
            theorem EGZ.FlagDecomposition.PrunedWeights.mem_old_polytope {p d : ℕ} [NeZero p] {f : FpCoord p d → ℕ} {Φ : FlagDecomposition p d f} (D : Φ.PrunedWeights) {x : Φ.flag.Node} {q : IntCoord (Φ.flag.rank x)} (hq : D.hat x q ≠ 0) :
            theorem EGZ.FlagDecomposition.PrunedWeights.hat_ne_zero_iff {p d : ℕ} [NeZero p] {f : FpCoord p d → ℕ} {Φ : FlagDecomposition p d f} (D : Φ.PrunedWeights) (x : Φ.flag.Node) (q : IntCoord (Φ.flag.rank x)) :
            D.hat x q ≠ 0 ↔ IsCenteredLift p q ∧ ∃ (v : FpCoord p d), (Φ.representation.map x) v = IntCoord.mod p q ∧ D.cumulative x v ≠ 0
            theorem EGZ.FlagDecomposition.PrunedWeights.support_nonempty_iff {p d : ℕ} [NeZero p] {f : FpCoord p d → ℕ} {Φ : FlagDecomposition p d f} (D : Φ.PrunedWeights) (hp : Odd p) (x : Φ.flag.Node) :
            (D.support x).Nonempty ↔ ∃ (v : FpCoord p d), D.cumulative x v ≠ 0
            theorem EGZ.FlagDecomposition.PrunedWeights.transition_centered {p d : ℕ} [NeZero p] {f : FpCoord p d → ℕ} {Φ : FlagDecomposition p d f} (D : Φ.PrunedWeights) {y x : Φ.flag.Node} (h : y ≤ x) {q : IntCoord (Φ.flag.rank y)} (hq : D.hat y q ≠ 0) :

            Upper transitions of surviving support points remain centered because they lie in the old, bounded upper polytope.

            theorem EGZ.FlagDecomposition.PrunedWeights.transition_mem_support {p d : ℕ} [NeZero p] {f : FpCoord p d → ℕ} {Φ : FlagDecomposition p d f} (D : Φ.PrunedWeights) {y x : Φ.flag.Node} (h : y ≤ x) {q : IntCoord (Φ.flag.rank y)} (hq : q ∈ D.support y) :
            theorem EGZ.FlagDecomposition.PrunedWeights.exists_localLift_of_hat_ne_zero {p d : ℕ} [NeZero p] {f : FpCoord p d → ℕ} {Φ : FlagDecomposition p d f} (D : Φ.PrunedWeights) (hp : Odd p) (x : Φ.flag.Node) (q : IntCoord (Φ.flag.rank x)) (hq : D.hat x q ≠ 0) :
            ∃ (y : Φ.flag.Node) (h : y ≤ x) (z : IntCoord (Φ.flag.rank y)), D.localLift y z ≠ 0 ∧ (Φ.flag.transition h).integer z = q

            Every surviving cumulative atom comes from a surviving local atom at a lower node. This is the visibility input for the rebuilt support hulls.