Documentation

LeanPool.ConwaySoifer.SevenTriangles.Geometry.Support

Algebra of support forms #

A single normal proves a bound only at its own triangle orientation. A global bound needs an additional support-edge theorem plus ALL candidate directions. This file does not silently replace that quantifier with one normal.

@[reducible, inline]

Coordinate coefficients of a real linear functional in oblique coordinates.

Equations
Instances For

    Apply a coordinate linear functional to a point.

    Equations
    Instances For

      Rotate a linear functional through 120 degrees in the dual metric.

      Equations
      Instances For

        Squared dual norm of a coordinate linear functional.

        Equations
        Instances For

          The nonnegative dual norm of a coordinate linear functional.

          Equations
          Instances For

            The dual metric inner product of two coordinate linear functionals.

            Equations
            Instances For

              The coordinate determinant of two linear-functional coefficient vectors.

              Equations
              Instances For

                Negate a coordinate linear functional.

                Equations
                Instances For

                  The determinant functional associated with a planar direction.

                  Equations
                  Instances For

                    The determinant normal associated with an oriented edge.

                    Equations
                    Instances For

                      The Euclidean inner product expressed in oblique coordinates.

                      Equations
                      Instances For

                        The coordinate determinant used for affine area calculations.

                        Equations
                        Instances For

                          Rotation through negative 60 degrees in oblique coordinates.

                          Equations
                          Instances For
                            theorem ConwaySoifer.SevenTriangles.form_inner_lagrange (l m : Form) :
                            formNormSq l * formNormSq m - formInner l m ^ 2 = 3 / 4 * (l.1 * m.2 - l.2 * m.1) ^ 2
                            theorem ConwaySoifer.SevenTriangles.exists_nonneg_combo_of_det {u v l : Form} (huv : 0 < formDet u v) (hul : 0 ≤ formDet u l) (hlv : 0 ≤ formDet l v) :
                            ∃ (a : ℝ) (b : ℝ), 0 ≤ a ∧ 0 ≤ b ∧ l = a • u + b • v

                            Determinant signs give the explicit nonnegative coordinates of a vector inside a two-dimensional cone.

                            noncomputable def ConwaySoifer.SevenTriangles.supportNumerator (l : Form) (p₀ p₁ p₂ : Point) :

                            The sum of support values at three successive equilateral-triangle normals.

                            Equations
                            • One or more equations did not get rendered due to their size.
                            Instances For
                              theorem ConwaySoifer.SevenTriangles.supportNumerator_add (l m : Form) (p₀ p₁ p₂ : Point) :
                              supportNumerator (l + m) p₀ p₁ p₂ = supportNumerator l p₀ p₁ p₂ + supportNumerator m p₀ p₁ p₂
                              theorem ConwaySoifer.SevenTriangles.supportNumerator_smul (a : ℝ) (l : Form) (p₀ p₁ p₂ : Point) :
                              supportNumerator (a • l) p₀ p₁ p₂ = a * supportNumerator l p₀ p₁ p₂
                              theorem ConwaySoifer.SevenTriangles.support_bound_on_cone {u v l : Form} {p₀ p₁ p₂ : Point} (hu : formNorm u ≤ supportNumerator u p₀ p₁ p₂) (hv : formNorm v ≤ supportNumerator v p₀ p₁ p₂) (huv : 0 < formDet u v) (hul : 0 ≤ formDet u l) (hlv : 0 ≤ formDet l v) :
                              formNorm l ≤ supportNumerator l p₀ p₁ p₂

                              Endpoint support certificates propagate to every direction in their cone. This is the algebraic completeness step used by the finite orientation fan.

                              theorem ConwaySoifer.SevenTriangles.edgeNormal_eval_gap (p q r : Point) :
                              formEval (edgeNormal p q) r - formEval (edgeNormal p q) p = (q.1 - p.1) * (r.2 - p.2) - (q.2 - p.2) * (r.1 - p.1)
                              theorem ConwaySoifer.SevenTriangles.point_eq_of_inner_det_eq {e p q : Point} (he : 0 < sqDist e (0, 0)) (hinner : metricInner e p = metricInner e q) (hdet : coordDet e p = coordDet e q) :
                              p = q

                              For an equilateral triangle, the support gap normal to one edge has absolute value side². This algebraic identity is the normalization used by the finite orientation certificates.

                              The equilateral equations classify the third vertex into the two genuine orientations. No alignment or orientation is assumed.

                              A lower support half-plane is convex in the rational coordinate model.

                              theorem ConwaySoifer.SevenTriangles.EquilateralTriangle.formEval_lower_bound (T : EquilateralTriangle) (l : Form) (c : ℝ) (hvertices : ∀ (i : Fin 3), c ≤ formEval l (T.vertices i)) {p : Point} (hp : p ∈ T.carrier) :

                              A linear support inequality checked at all three vertices holds on the entire filled triangle. This is the trusted bridge from support calculations to the carrier, rather than an assumption that a witness lies at a vertex.

                              theorem ConwaySoifer.SevenTriangles.EquilateralTriangle.formEval_upper_bound (T : EquilateralTriangle) (l : Form) (c : ℝ) (hvertices : ∀ (i : Fin 3), formEval l (T.vertices i) ≤ c) {p : Point} (hp : p ∈ T.carrier) :

                              The analogous upper support inequality on a filled triangle.

                              theorem ConwaySoifer.SevenTriangles.ccw_edge_gaps (a e : Point) :
                              have b := a + e; have c := a + rotate60 e; formEval (edgeNormal a b) c - formEval (edgeNormal a b) a = sqDist e (0, 0) ∧ formEval (edgeNormal b c) a - formEval (edgeNormal b c) b = sqDist e (0, 0) ∧ formEval (edgeNormal c a) b - formEval (edgeNormal c a) c = sqDist e (0, 0)
                              theorem ConwaySoifer.SevenTriangles.EquilateralTriangle.exists_own_orientation_support_bound (T : EquilateralTriangle) :
                              ∃ (l : Form), 0 < formNorm l ∧ ∀ {p₀ p₁ p₂ : Point}, p₀ ∈ T.carrier → p₁ ∈ T.carrier → p₂ ∈ T.carrier → supportNumerator l p₀ p₁ p₂ ≤ T.side * formNorm l

                              Every equilateral triangle has one inward support orientation, independent of the three contained points subsequently tested. Both chiralities are derived from the equilateral equations.

                              theorem ConwaySoifer.SevenTriangles.candidate_bound {N D : ℝ} (hN : 0 ≤ N) (hD : 0 < D) (hgap : D ≤ N ^ 2) :
                              1 ≤ N / √D

                              Exact algebra behind the certificate test N >= 0, N*N >= D.

                              theorem ConwaySoifer.SevenTriangles.support_sum_bound (l : Form) (p₀ p₁ p₂ c : Point) (s₀ s₁ s₂ r D : ℝ) (h₀ : 0 ≤ formEval l p₀ - formEval l c + s₀) (h₁ : 0 ≤ formEval (formRotate120 l) p₁ - formEval (formRotate120 l) c + s₁) (h₂ : 0 ≤ formEval (formRotate120 (formRotate120 l)) p₂ - formEval (formRotate120 (formRotate120 l)) c + s₂) (hs : s₀ + s₁ + s₂ = r * √D) :

                              Sum three chosen support inequalities. No minimizer-selection assumption is needed.