Documentation

LeanPool.BrillNoetherGraphs.Utilities.Subdivision.ExplicitPotential

Explicit-potential local subdivision certificates #

This module defines a local arithmetic checker for rank-one subdivision certificates. It deliberately avoids shortest-path and negative-cycle reasoning. A certificate supplies, for every rank-one anchor, one integral linear potential on the expanded core. The displayed cone contains the endpoint inequalities for those potentials literally.

The Boolean checker verifies only exact integer data:

The theorems below turn an accepted record and a point in its cone into the positive segment lengths, endpoint slope inequalities, nonnegative core balances, and nonnegative interior second differences needed to assemble an actual firing script on a subdivision graph. The graph-construction layer is kept separate so that this file remains a small arithmetic trust boundary.

@[reducible, inline]

Local shorthand for the affine-cover arithmetic type.

Equations
Instances For
    @[reducible, inline]

    Local shorthand for conjunctions of affine-cover rows.

    Equations
    Instances For

      Executable universal quantification over a finite index type.

      Equations
      Instances For
        @[simp]
        theorem Utilities.Certificate.ExplicitPotential.allFin_eq_true_iff {k : ℕ} (test : Fin k → Bool) :
        allFin test = true ↔ ∀ (index : Fin k), test index = true

        A finite loopless expanded core, with p ordered edge copies.

        • tail : Fin p → Fin n

          The tail vertex of each ordered core edge occurrence.

        • head : Fin p → Fin n

          The head vertex of each ordered core edge occurrence.

        Instances For

          Endpoint slopes and a core potential for one removed-chip test.

          • alpha : Fin p → ℤ

            The integer tail-end slope contribution on each slot, used in the lower bound on the potential rise.

          • beta : Fin p → ℤ

            The integer head-end slope contribution on each slot, whose negative bounds the potential rise from above.

          • potential : Fin n → AffineForm m

            The affine potential value at each core vertex for this removed-chip test.

          Instances For

            Passive local data for a rank-one divisor over one length cone.

            • core : Core n p

              The ordered core incidence data underlying the local certificate.

            • segment : Fin p → AffineForm m

              The affine length expression assigned to each core slot.

            • divisor : Fin n → ℤ

              The proposed integer chip weight at each core vertex.

            • witness : Fin n → AnchorWitness m n p

              The endpoint-slope and affine-potential witness for removing a chip at each anchor vertex.

            • cone : List (AffineForm m)

              The affine inequalities defining the local length region; validity of the proposed witnesses on this region is checked separately.

            Instances For

              Integral scalar multiplication, kept explicit to make the generated data grammar independent of typeclass inference.

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

                Difference of two integral affine forms.

                Equations
                Instances For

                  The strict-integral positivity row form(point) - 1 >= 0.

                  Equations
                  Instances For
                    @[simp]
                    theorem Utilities.Certificate.ExplicitPotential.AffineForm.eval_scale {m : ℕ} (scalar : ℤ) (form : AffineForm m) (point : Fin m → ℤ) :
                    AffineCover.AffineForm.eval (scale scalar form) point = scalar * AffineCover.AffineForm.eval form point
                    def Utilities.Certificate.ExplicitPotential.CertificateData.rise {m n p : ℕ} (certificate : CertificateData m n p) (anchor : Fin n) (edge : Fin p) :

                    The potential rise from the tail to the head of one expanded edge.

                    Equations
                    Instances For
                      def Utilities.Certificate.ExplicitPotential.CertificateData.lowerForm {m n p : ℕ} (certificate : CertificateData m n p) (anchor : Fin n) (edge : Fin p) :

                      The displayed lower endpoint inequality rise - alpha * length >= 0.

                      Equations
                      • One or more equations did not get rendered due to their size.
                      Instances For
                        def Utilities.Certificate.ExplicitPotential.CertificateData.upperForm {m n p : ℕ} (certificate : CertificateData m n p) (anchor : Fin n) (edge : Fin p) :

                        The displayed upper endpoint inequality -beta * length - rise >= 0.

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

                          The target coefficient at a core vertex after removing the anchor chip.

                          Equations
                          Instances For

                            The conservative endpoint contribution checked before seeing any lengths.

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

                              Point-independent exact validity of a passive local record.

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

                                Executable exact validity checker.

                                Equations
                                • One or more equations did not get rendered due to their size.
                                Instances For
                                  @[simp]
                                  theorem Utilities.Certificate.ExplicitPotential.CertificateData.check_eq_true_iff {m n p : ℕ} (certificate : CertificateData m n p) (degree : ℤ) :
                                  certificate.check degree = true ↔ certificate.Valid degree
                                  theorem Utilities.Certificate.ExplicitPotential.CertificateData.segment_positive_of_valid {m n p : ℕ} (certificate : CertificateData m n p) {degree : ℤ} (hValid : certificate.Valid degree) (point : Fin m → ℤ) (hCone : FormsHold certificate.cone point) (edge : Fin p) :
                                  0 < AffineCover.AffineForm.eval (certificate.segment edge) point

                                  Every expanded segment has positive integral length at a point in an accepted local cone.

                                  def Utilities.Certificate.ExplicitPotential.CertificateData.segmentNat {m n p : ℕ} (certificate : CertificateData m n p) (point : Fin m → ℤ) (edge : Fin p) :

                                  The natural-number segment length decoded from an integral point.

                                  Equations
                                  Instances For
                                    theorem Utilities.Certificate.ExplicitPotential.CertificateData.segmentNat_cast_eq {m n p : ℕ} (certificate : CertificateData m n p) {degree : ℤ} (hValid : certificate.Valid degree) (point : Fin m → ℤ) (hCone : FormsHold certificate.cone point) (edge : Fin p) :
                                    ↑(certificate.segmentNat point edge) = AffineCover.AffineForm.eval (certificate.segment edge) point
                                    theorem Utilities.Certificate.ExplicitPotential.CertificateData.segmentNat_positive {m n p : ℕ} (certificate : CertificateData m n p) {degree : ℤ} (hValid : certificate.Valid degree) (point : Fin m → ℤ) (hCone : FormsHold certificate.cone point) (edge : Fin p) :
                                    0 < certificate.segmentNat point edge
                                    def Utilities.Certificate.ExplicitPotential.CertificateData.riseValue {m n p : ℕ} (certificate : CertificateData m n p) (anchor : Fin n) (point : Fin m → ℤ) (edge : Fin p) :

                                    Numerical core-potential rise at one integral length point.

                                    Equations
                                    Instances For
                                      theorem Utilities.Certificate.ExplicitPotential.CertificateData.rise_bounds_of_valid {m n p : ℕ} (certificate : CertificateData m n p) {degree : ℤ} (hValid : certificate.Valid degree) (point : Fin m → ℤ) (hCone : FormsHold certificate.cone point) (anchor : Fin n) (edge : Fin p) :
                                      (certificate.witness anchor).alpha edge * AffineCover.AffineForm.eval (certificate.segment edge) point ≤ certificate.riseValue anchor point edge ∧ certificate.riseValue anchor point edge ≤ -(certificate.witness anchor).beta edge * AffineCover.AffineForm.eval (certificate.segment edge) point

                                      Membership of the explicit lower/upper forms yields their endpoint rise bounds with no shortest-path theorem.

                                      theorem Utilities.Certificate.ExplicitPotential.CertificateData.interpolated_endpoint_bounds {m n p : ℕ} (certificate : CertificateData m n p) {degree : ℤ} (hValid : certificate.Valid degree) (point : Fin m → ℤ) (hCone : FormsHold certificate.cone point) (anchor : Fin n) (edge : Fin p) :
                                      (certificate.witness anchor).alpha edge ≤ SubdivisionArithmetic.step (certificate.segmentNat point edge) (certificate.riseValue anchor point edge) 0 ∧ (certificate.witness anchor).beta edge ≤ -SubdivisionArithmetic.step (certificate.segmentNat point edge) (certificate.riseValue anchor point edge) (certificate.segmentNat point edge - 1)

                                      The two endpoint slopes supplied by integer interpolation dominate the advertised alpha/beta bounds.

                                      def Utilities.Certificate.ExplicitPotential.CertificateData.endpointContribution {m n p : ℕ} (certificate : CertificateData m n p) (anchor : Fin n) (point : Fin m → ℤ) (vertex : Fin n) :

                                      Actual interpolated endpoint contribution at a core vertex.

                                      Equations
                                      • One or more equations did not get rendered due to their size.
                                      Instances For
                                        theorem Utilities.Certificate.ExplicitPotential.CertificateData.lowerEndpointContribution_le_endpointContribution {m n p : ℕ} (certificate : CertificateData m n p) {degree : ℤ} (hValid : certificate.Valid degree) (point : Fin m → ℤ) (hCone : FormsHold certificate.cone point) (anchor vertex : Fin n) :
                                        certificate.lowerEndpointContribution anchor vertex ≤ certificate.endpointContribution anchor point vertex
                                        theorem Utilities.Certificate.ExplicitPotential.CertificateData.core_balance_nonnegative {m n p : ℕ} (certificate : CertificateData m n p) {degree : ℤ} (hValid : certificate.Valid degree) (point : Fin m → ℤ) (hCone : FormsHold certificate.cone point) (anchor vertex : Fin n) :
                                        0 ≤ certificate.targetCoefficient anchor vertex + certificate.endpointContribution anchor point vertex

                                        At every expanded core vertex, the target plus actual interpolated edge contributions is nonnegative.

                                        theorem Utilities.Certificate.ExplicitPotential.CertificateData.interior_balance_nonnegative {m n p : ℕ} (certificate : CertificateData m n p) (anchor : Fin n) (point : Fin m → ℤ) (edge : Fin p) (offset : ℕ) (hOffset : 0 < offset) :
                                        0 ≤ SubdivisionArithmetic.potential (certificate.segmentNat point edge) (certificate.riseValue anchor point edge) (offset - 1) - 2 * SubdivisionArithmetic.potential (certificate.segmentNat point edge) (certificate.riseValue anchor point edge) offset + SubdivisionArithmetic.potential (certificate.segmentNat point edge) (certificate.riseValue anchor point edge) (offset + 1)

                                        Interpolation is convex at every positive interior offset, hence its second difference (the path-interior principal-divisor coefficient) is nonnegative.