Documentation

LeanPool.MovingSofa.Development.Geometry.Applications.Development002

Moving sofa: related mathematical developments #

Moving sofa: related mathematical developments #

Bounds / Arm / Estimates #

The positive tangent arm length is almost everywhere strongly measurable.

The positive tangent arm length is nonnegative: it is the integral of the sine of a quarter-turn of normal directions against the surface area measure.

Both right tangent arm lengths of a right-angle cap are nonnegative: the outer corner realizes the support value in the tangent direction, while the two contacts lie in the cap.

The positive tangent arm length is bounded by the total mass of the surface area measure.

The positive tangent arm length is bounded by the total surface mass, hence integrable.

Helpers for the discrete arm bound #

Bounds / Wedge Gap / Infimum #

noncomputable def MovingSofa.wedgeGapInfimum {ω : ℝ} (K : CapSpace ω) :

The two infima of the wedge-gap components over interior rotation angles.

Equations
Instances For

    Bounds / Wedge Gap / Limit #

    The left wedge-gap infimum obeys the same Hausdorff estimate as the right one.

    Moving sofa: related mathematical developments #

    Cap / Balanced Existence #

    theorem MovingSofa.exists_balancedMaximumCap (ω : ℝ) (hω : 0 < ω) (hω' : ω ≤ Real.pi / 2) :

    Moving sofa: related mathematical developments #

    Polygon / Balanced Inequalities #

    noncomputable def MovingSofa.magicDensity (x : ℝ) :

    The magic function k₀ read as a function on all reals through truncation.

    Equations
    Instances For

      The magic density #

      The magic function k₀ is nonnegative.

      The magic function k₀ grows at most linearly: k₀ x ≤ |x| + 1.

      Integrability of the magic density #

      The magic density of the positive tangent arm length is almost everywhere strongly measurable on the rotation interval.

      The density measure of a cap #

      Surface measure support of a right-angle polygon cap #

      Discrete cell bounds #

      The per-level grid bound #

      Passing to the limit #

      Moving sofa: related mathematical developments #

      Existence and uniqueness of the surface densities of a balanced maximum cap #

      A balanced maximum cap of rotation angle π / 2 satisfies the density clause of the injectivity condition: its surface area measure has nonnegative measurable densities on the quarter arcs [0, π / 2) and (π / 2, π], unique up to Lebesgue-null sets.

      On the first arc the density comes from the limiting inequality balancedMaximumCap_surface_domination together with the Radon–Nikodym construction exists_nnreal_density_of_domination. On the second arc the mirror image of the cap is again a balanced maximum cap, and the surface-measure identity of cap_mirror_features transports its first-arc density back along the reflection a ↦ π - a of normal angles.

      On the first arc the domination inequality also bounds the density: the real density produced by exists_capDensity_right_le_magicDensity is at most k₀ of the positive tangent arm length.

      A continuous section of the angular projection #

      Densities on an arc from a domination inequality #

      The density on the first arc #

      On the first quarter arc the surface area measure of a balanced maximum cap is the integral of a real density on the rotation interval which is bounded by the magic density of the positive tangent arm length. This refines exists_capDensity_right, which only records the existence of a density, by the pointwise bound carried by the limiting inequality balancedMaximumCap_surface_domination.

      The mirrored cap and the density on the second arc #

      Uniqueness of the densities #

      A right-angle cap determines its two surface densities up to Lebesgue-null sets: any two pairs of densities of the same cap agree almost everywhere on [0, π / 2].

      Minkowski interpolation of right-angle caps #

      The cap conditions of IsCap (π / 2) and the injectivity condition of SatisfiesInjectivityCondition are preserved by the Minkowski interpolation convexBodyCombination t K L = (1 - t) • K + t • L of two right-angle caps. Each statement about the interpolation is phrased for an arbitrary cap whose underlying convex body is that interpolation, so that it applies both to the cap produced by isCap_convexBodyCombination and to an interpolated cap obtained by choice.

      Lowering a point of an interpolated right-angle cap onto the base line keeps it inside, because the same projection can be applied to both summands.

      Right-angle caps are closed under Minkowski interpolation.

      theorem MovingSofa.hasCapDensities_of_eq_convexBodyCombination {t : ↑unitInterval} {K L M : RightAngleCapSpace} (hM : ↑M = convexBodyCombination t ↑K ↑L) {r₁ s₁ r₂ s₂ : ℝ → NNReal} (hK : HasCapDensities K r₁ s₁) (hL : HasCapDensities L r₂ s₂) :
      HasCapDensities M (fun (x : ℝ) => (1 - ↑t).toNNReal * r₁ x + (↑t).toNNReal * r₂ x) fun (x : ℝ) => (1 - ↑t).toNNReal * s₁ x + (↑t).toNNReal * s₂ x

      An interpolated right-angle cap carries the interpolated surface densities: its surface measure is the interpolation of the two surface measures, and pushing a weighted measure forward is linear in the weight.

      The inner corner of an interpolated cap is the interpolation of the two inner corners.

      The injectivity condition is inherited by Minkowski interpolations of right-angle caps: the inner corner interpolates, so its two frame velocity components are the same combinations of the original ones, and a combination with nonnegative weights summing to one preserves their strict signs even at the two degenerate weights.

      Moving sofa: related mathematical developments #

      Regularity of the arm length function of a balanced maximum cap #

      For a balanced maximum cap K of rotation angle π / 2 the arm length function f_K is absolutely continuous on [0, π / 2] and satisfies f_K' ≥ m₀ ∘ g_K almost everywhere on (0, π / 2).

      The argument combines three inputs. The differentiation identity positiveArm_stieltjes_surface for the positive arm length, read on an interval (0, t] with t < π / 2, expresses f_K(t) - f_K(0) as the integral of g_K minus the surface measure of the arc traversed. The surface measure on that arc has a real density bounded by k₀ ∘ g_K, by exists_capDensity_right_le_magicDensity. Together they present f_K on [0, π / 2) as the primitive of w = g_K - ρ; continuity of f_K on the closed interval (nondegenerateCap_continuity) upgrades the representation to [0, π / 2], whence absolute continuity and f_K' = w ≥ g_K - k₀ ∘ g_K = m₀ ∘ g_K almost everywhere.

      The module also records the pointwise data accompanying that differential inequality: both arm length functions of a nondegenerate cap are nonnegative, and the right one has initial value f_K(0) = 1.

      noncomputable def MovingSofa.extendIntervalScalar {a b : ℝ} (f : ↑(Set.Icc a b) → ℝ) (t : ℝ) :

      A function on the interval subtype Set.Icc a b, extended to ℝ by zero.

      Equations
      Instances For
        theorem MovingSofa.extendIntervalScalar_of_mem {a b : ℝ} (f : ↑(Set.Icc a b) → ℝ) {t : ℝ} (ht : t ∈ Set.Icc a b) :

        Inside its interval the zero extension agrees with the original subtype function.

        The right arm length of a nondegenerate right-angle cap at the horizontal normal equals one. Lowering the contact there onto the base line stays inside the cap and meets the same supporting line, so the infimum of the tangent heights of that edge is at most zero; the contacts coincide, so the contact itself has height zero, and the outer corner at that angle has height h_K(π / 2) = 1.

        theorem MovingSofa.nondegenerateCapData_arm_nonneg (K : RightAngleCapSpace) (hD : ∃ (r : ℝ → NNReal) (s : ℝ → NNReal), HasCapDensities K r s) (t : ↑(Set.Icc 0 (Real.pi / 2))) :
        0 ≤ (nondegenerateCapData K hD).2.1 t ∧ 0 ≤ (nondegenerateCapData K hD).2.2 t

        Both arm length functions of a nondegenerate right-angle cap are nonnegative.

        Bounds / Lower / Sequence #

        The nonnegative-real version of the continuous lower-bound profile.

        Equations
        Instances For
          theorem MovingSofa.armIntegralOperator_monotone (f g : C(↑(Set.Icc 0 (Real.pi / 2)), NNReal)) (hfg : ∀ (x : ↑(Set.Icc 0 (Real.pi / 2))), f x ≤ g x) (x : ↑(Set.Icc 0 (Real.pi / 2))) :
          theorem MovingSofa.balancedMaximumCap_sequence_bound (K : RightAngleCapSpace) (hK : IsBalancedMaximumCap K) :
          ∃ (hD : ∃ (r : ℝ → NNReal) (s : ℝ → NNReal), HasCapDensities K r s), ∀ (n : ℕ) (t : ↑(Set.Icc 0 (Real.pi / 2))), ↑((armLowerBoundSequence n) t) ≤ (nondegenerateCapData K hD).2.1 t ∧ ↑((armLowerBoundSequence n) ⟨Real.pi / 2 - ↑t, ⋯⟩) ≤ (nondegenerateCapData K hD).2.2 t
          theorem MovingSofa.balancedMaximumCap_arm_gt_one (K : RightAngleCapSpace) (hK : IsBalancedMaximumCap K) :
          ∃ (hD : ∃ (r : ℝ → NNReal) (s : ℝ → NNReal), HasCapDensities K r s), (∀ (t : ↑(Set.Icc 0 (Real.pi / 2))), 0 < ↑t → 1 < (nondegenerateCapData K hD).2.1 t) ∧ ∀ (t : ↑(Set.Icc 0 (Real.pi / 2))), ↑t < Real.pi / 2 → 1 < (nondegenerateCapData K hD).2.2 t

          Moving sofa: related mathematical developments #

          The injectivity condition for balanced maximum caps #

          Every balanced maximum cap of rotation angle π / 2 satisfies the injectivity condition: its surface measure has densities that are unique up to null sets, its inner corner is continuously differentiable, and the two frame components of the corner velocity have strict signs on the open rotation interval.

          The theorem lives downstream of MovingSofa/Cap/Regularity.lean because its inputs balancedMaximumCap_hasDensities and balancedMaximumCap_arm_gt_one depend on that module.

          Moving sofa: related mathematical developments #

          Gerver / Injectivity #

          On the rotation interval the inner corner of the cap of Gerver's sofa is the certified direct Gerver path. The rotating-hallway coordinates of the inner corner are the cap's two support values at t and t + π / 2, and gerver_capSupport_identification evaluates those at the frame coordinates of the paper path.

          On the open rotation interval the inner-corner velocity of the cap of Gerver's sofa is the velocity of the certified direct Gerver path.

          Moving sofa: related mathematical developments #

          Cap / Special / Domain #

          Choose the special cap representing a convex body combination, with a fallback to the first cap.

          Equations
          Instances For
            theorem MovingSofa.specialCap_maps_linear (t : ↑unitInterval) (K L : SpecialCapSpace) :
            (∀ (a : Real.Angle), (edgeVertices (↑↑(specialCapCombination t K L)) a).1 = (1 - ↑t) • (edgeVertices (↑↑K) a).1 + ↑t • (edgeVertices (↑↑L) a).1 ∧ (edgeVertices (↑↑(specialCapCombination t K L)) a).2 = (1 - ↑t) • (edgeVertices (↑↑K) a).2 + ↑t • (edgeVertices (↑↑L) a).2) ∧ ∀ (a b : ℝ), a < b → b < a + Real.pi → supportingIntersection ↑↑(specialCapCombination t K L) ↑a ↑b = (1 - ↑t) • supportingIntersection ↑↑K ↑a ↑b + ↑t • supportingIntersection ↑↑L ↑a ↑b

            The extreme face vertices and the intersections of supporting lines of a special cap are convex-linear along specialCapCombination: the underlying bodies interpolate, and both quantities are convex-linear in the body.

            Cap / Special / Area Variation #

            Cap / Tail / Interpolation #

            The cap and both tail bodies are the corresponding convex body combinations.

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

              Choose a cap-tail triple representing componentwise convex combination, with a fallback to X.

              Equations
              Instances For

                Moving sofa: related mathematical developments #

                The inner-corner variation on the middle window #

                On the middle window I = [φᴿ, φᴸ] the inner corner of a special cap is (h_K(t) - 1) • u_t + (h_K(t + π/2) - 1) • v_t, an affine expression in two support values, so it depends convex-linearly on the cap. capInnerCorner_variation pulls the quadratic curve-area functional back along that convex-linear map, which gives quadraticity of K ↦ 𝒥(x_K|_I) and reduces its directional derivative to the curve-variation formula.

                The remaining work is to recognize the two mixed Stieltjes integrals of that formula as the pairing of the support increment against the corner measure. The inner corner is C¹ on the cap domain by the injectivity condition, so its Stieltjes measure is its classical velocity times Lebesgue measure; the frame identity planeCrossProduct_eq_inner_frame then turns the pointwise cross product into the corner density against the support increment, on I and on I + π/2 separately.

                The middle window #

                Regularity of the inner corner of a special cap #

                The corner density on the two middle windows #

                Integrating against the corner angle measure #

                The middle Stieltjes integrals as weighted Lebesgue integrals #

                The variation of the inner corner #

                The outer corner and the two wedge segments, modulo convex-linear functionals #

                On the middle window I = [φᴿ, φᴸ] the outer corner of a cap is its inner corner translated by the K-independent frame sum c t = u_t + v_t, so the two curve-area functionals differ by the two mixed Stieltjes cross integrals, each convex-linear in K, plus the constant area of c.

                The same happens at the two ends of the window: the tangent-line intersection point and the wedge endpoint differ by a fixed vector, as do the outer and the inner corner, so each of the two segment-area comparisons differs by a determinant that is affine in the support values and in the inner corner, hence convex-linear in K as well.

                The outer corner path on the middle window #

                noncomputable def MovingSofa.frameSumBV (a b : ℝ) :

                The frame sum t ↦ u_t + v_t, as a continuous path of bounded variation.

                Equations
                Instances For

                  The outer corner of a special cap on the middle window, as a continuous path of bounded variation: the inner-corner path translated by the frame sum.

                  Equations
                  Instances For

                    The outer middle path of a special cap traces the outer corner of its body.

                    The two end segments #

                    The main equivalence #

                    Cap / Tail / Area Bounds #

                    Tracing the area of a special cap along its upper boundary #

                    The area of a convex body is half the integral of its support function against its surface area measure. For a special cap that measure is carried by the closed upper semicircle of normals, because the two open quarter arcs of lower normals carry degenerate faces (MovingSofa.CapSpace.surfaceAreaMeasure_image_Ioo_lower_eq_zero) and the bottom normal carries support value zero. The injectivity condition provides angular densities on the two upper quarter circles, so the four distinguished angles 0, φᴿ, φᴸ and π are not atoms, and the semicircle splits — up to a null set — into the four open arcs (0, φᴿ), (φᴿ, φᴸ), (φᴸ, π / 2), (π / 2, π) and the top normal π / 2. Each open arc is shorter than π, so the convex arc area formula applies to it, and the top normal contributes half the mass of a single atom (MovingSofa.HasCapDensities.area_eq_upper_arcs_add_top_atom). Evaluating the surface area measure at that fixed angle is convex-linear on the convex domain of special caps, whence the cap area agrees with the sum of the four arc areas modulo convex-linear functionals (MovingSofa.specialCapArea_equivalent_upper_arcs).

                    Up to half the mass of the atom at its top normal, the area of a right-angle cap carrying angular densities is the sum of the areas of the four upper boundary arcs cut out by the two distinguished Gerver angles.

                    Moving sofa: related mathematical developments #

                    The middle Mamikon functional of a special cap #

                    middleMamikon is the evaluated four-term Mamikon decomposition of the part of a special cap's niche cut out by the two straight tangent paths on [0, φᴿ] and [φᴸ, π / 2], the outer-corner arc on the middle window [φᴿ, φᴸ] and the terminal tangent path on [π / 2, π]. This module proves that it agrees with -upperBoundMiddle modulo convex-linear functionals of the cap.

                    The four summands already express their straight paths as endpoint segment areas, so the whole functional is a sum of eleven signed segment areas, one curve area and four convex arc areas. The four arc areas add up to the cap area modulo a convex-linear functional (specialCapArea_equivalent_upper_arcs), which supplies the -|K| of the upper bound. Of the eleven segments, five are convex-linear and therefore discarded (middleMamikon_segments_isConvexLinear): all their endpoints move convex-linearly with the cap and stay on the two fixed horizontal lines y = 0 and y = 1, the latter being the top supporting line, so no determinant of two moving coordinates ever appears. Two more pairs collapse at the two Gerver angles, where the extreme faces are singletons: at φᴿ the tangent-line intersection, the face and the outer corner are collinear, so the two segments merge (middleMamikon_segments_merge_right), and at φᴸ the tangent-line intersection is the outer corner, so the two segments cancel (middleMamikon_segments_cancel_left). What remains are exactly the three comparisons of cornerArea_equivalent_modulo_linear, the last of them reversed.

                    noncomputable def MovingSofa.straightMamikonValue (K : ConvexBody Point) (a b : ℝ) (p q : Point) :

                    The signed area between a convex boundary arc and the specified broken straight path.

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

                      The middle Mamikon functional constructed from the special cap’s hallway-corner geometry.

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

                        The singleton faces of a special cap and their positions #

                        The convex-linear segments #

                        The two collapsing pairs at the Gerver angles #

                        The equivalence #

                        Mamikon values of tangent-line chords #

                        For a fixed tangent normal q, the tangent-line parametrization of a convex body is a continuous bounded-variation path, convex-linear in the body, each of whose values lies on the supporting line at its own path parameter. Mamikon convexity therefore makes the enclosed area straightMamikonValue a convex quadratic functional of the body, and the terminal case q = b does the same for tangentMamikonValue.

                        The Mamikon value of a straight tangent-line chord is a convex quadratic functional of the body.

                        The Mamikon value of a terminal tangent normal is a convex quadratic functional of the body.

                        Area / Mamikon / Sofa Convex #

                        The directional derivative of the upper bound 𝒬 #

                        upperBoundQ is a signed sum of six area functionals of a cap-tail triple: the cap area, the two tail arc areas, the inner-corner curve area and the two areas of the segments joining a tail endpoint to the corresponding cap corner. Each summand is quadratic along the barycentric interpolation of cap-tail triples, so each segment function is differentiable at the base point with the summand's convexDirectionalDerivative as its derivative; adding those six derivatives computes the derivative of the segment function of 𝒬 itself.

                        Five of the twelve endpoint contributions cancel in pairs. The remaining two are the segment areas at the far ends of the two tails, and they vanish because the cap-tail constraints force the support value of both tails in the direction 3π/2 to be zero, so all four points involved lie on the horizontal axis. What survives is qVariationIntegral: the cap surface integral, the inner-corner integral, and the two tail integrals rewritten in opposite-angle coordinates.

                        The support-function variation integral for the cap and its two tail bodies.

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