Documentation

LeanPool.NandakumarRamanaRao.HumanVerification.CauchyCrofton.Radial

Radial boundary points of a planar convex body #

For a compact convex body K in the plane containing the origin in its interior we define

The main tool of the whole development is the blocking lemma blocking: if two points of K lie on rays whose directions span at most a half turn, the radial boundary point in any intermediate direction dominates the corresponding convex combination of linear values.

We also record the planar cross product and the trigonometric identity expressing a direction lying between two others as a nonnegative combination of them.

Planar cross product #

The planar cross product.

Equations
Instances For

    Rotation by a quarter turn.

    Equations
    Instances For

      Elementary planar trigonometry #

      The fundamental cone identity: sin (γ-β) • u α + sin (β-α) • u γ = sin (γ-α) • u β.

      Every nonzero planar vector is a positive multiple of some circleVec θ, and the angle can be chosen in any half-open period window.

      A nonnegative combination of two circle vectors spanning less than a half-turn is a nonnegative multiple of a circle vector with intermediate angle.

      Two angles with the same circle vector differ by a multiple of a full turn.

      The radial function #

      The set of admissible radii in direction circleVec θ.

      Equations
      Instances For
        noncomputable def HumanVerification.CauchyCrofton.rad (K : Body) (θ : ℝ) :

        The radial function of K: the largest t ≥ 0 with t • circleVec θ ∈ K.

        Equations
        Instances For
          noncomputable def HumanVerification.CauchyCrofton.radPt (K : Body) (θ : ℝ) :

          The radial boundary point of K in direction circleVec θ.

          Equations
          Instances For
            theorem HumanVerification.CauchyCrofton.le_rad {K : Body} {t θ : ℝ} (ht : 0 ≤ t) (htK : t • NRR.Geometry.circleVec θ ∈ K.carrier) :
            t ≤ rad K θ

            Maximality of the radial function.

            The radial boundary point really is a boundary point.

            2π-periodicity of the radial function.

            The blocking lemma #

            Blocking lemma, basic form. If a point x of K lies on the ray with direction circleVec β at positive distance and has nonnegative inner product with n, then the radial boundary point in direction β has at least as large an inner product with n.

            theorem HumanVerification.CauchyCrofton.blocking {K : Body} {α β γ : ℝ} (hαβ : α < β) (hβγ : β < γ) (hlt : γ - α ≤ Real.pi) {a c : ℝ} (ha : 0 < a) (hc : 0 < c) (hx : a • NRR.Geometry.circleVec α ∈ K.carrier) (hy : c • NRR.Geometry.circleVec γ ∈ K.carrier) {n : Point2} (hxn : 0 < inner ℝ (a • NRR.Geometry.circleVec α) n) (hyn : 0 < inner ℝ (c • NRR.Geometry.circleVec γ) n) :
            ∃ (lam : ℝ), 0 < lam ∧ lam < 1 ∧ (1 - lam) * inner ℝ (a • NRR.Geometry.circleVec α) n + lam * inner ℝ (c • NRR.Geometry.circleVec γ) n ≤ inner ℝ (radPt K β) n

            Blocking lemma. Let α < β < γ with γ - α ≤ π, and let a • circleVec α and c • circleVec γ be points of K (with a, c > 0) whose inner products with n are both positive. Then the radial boundary point in the intermediate direction β dominates a strict convex combination of the two inner products.

            theorem HumanVerification.CauchyCrofton.lt_inner_radPt_of_blocking {K : Body} {α β γ : ℝ} (hαβ : α < β) (hβγ : β < γ) (hlt : γ - α ≤ Real.pi) {a c : ℝ} (ha : 0 < a) (hc : 0 < c) (hx : a • NRR.Geometry.circleVec α ∈ K.carrier) (hy : c • NRR.Geometry.circleVec γ ∈ K.carrier) {n : Point2} {d : ℝ} (hd : 0 < d) (hxn : d ≤ inner ℝ (a • NRR.Geometry.circleVec α) n) (hyn : d < inner ℝ (c • NRR.Geometry.circleVec γ) n) :
            d < inner ℝ (radPt K β) n

            Convenient corollary of blocking: the radial point in an intermediate direction strictly exceeds the smaller of two positive values, when the larger one is strict.

            theorem HumanVerification.CauchyCrofton.lt_inner_radPt_of_blocking' {K : Body} {α β γ : ℝ} (hαβ : α < β) (hβγ : β < γ) (hlt : γ - α ≤ Real.pi) {a c : ℝ} (ha : 0 < a) (hc : 0 < c) (hx : a • NRR.Geometry.circleVec α ∈ K.carrier) (hy : c • NRR.Geometry.circleVec γ ∈ K.carrier) {n : Point2} {d : ℝ} (hd : 0 < d) (hxn : d < inner ℝ (a • NRR.Geometry.circleVec α) n) (hyn : d ≤ inner ℝ (c • NRR.Geometry.circleVec γ) n) :
            d < inner ℝ (radPt K β) n

            Variant of lt_inner_radPt_of_blocking with the strict bound on the left.

            theorem HumanVerification.CauchyCrofton.le_inner_radPt_of_blocking {K : Body} {α β γ : ℝ} (hαβ : α < β) (hβγ : β < γ) (hlt : γ - α ≤ Real.pi) {a c : ℝ} (ha : 0 < a) (hc : 0 < c) (hx : a • NRR.Geometry.circleVec α ∈ K.carrier) (hy : c • NRR.Geometry.circleVec γ ∈ K.carrier) {n : Point2} {d : ℝ} (hd : 0 < d) (hxn : d ≤ inner ℝ (a • NRR.Geometry.circleVec α) n) (hyn : d ≤ inner ℝ (c • NRR.Geometry.circleVec γ) n) :
            d ≤ inner ℝ (radPt K β) n

            Weak version of lt_inner_radPt_of_blocking.