Moving sofa: related mathematical developments #
Canonical.Foundations.Development001.Geometry.Foundations.Development003.Analysis.Foundations.Development003.Cap.Foundations.Development002.Analysis.Foundations.Development004.Convex.Foundations.Development002.Geometry.Foundations.Development004.Gerver.Foundations.Development002.Cap.Foundations.Development003.
Moving sofa: related mathematical developments #
Canonical.Definitions.Canonical.GerverDefinitions.
Definitions for the moving sofa problem #
The definitions of MovingSofaSubmission/Challenge.lean, copied from
FormalConjectures/Wikipedia/MovingSofa.lean in google-deepmind/formal-conjectures at commit
ddfbaf90f4482030d88aae5233fe933874296a23. Here ABφθSpec.existsUnique is proved, from the
certificate in GerverSofaLean, so that Gerver's constants are defined from a proved statement.
The standard two-dimensional Euclidean space over the reals.
Equations
- EuclideanGeometry.«termℝ²» = Lean.ParserDescr.node `EuclideanGeometry.«termℝ²» 1024 (Lean.ParserDescr.symbol "ℝ²")
Instances For
The plane ℝ² with the orientation of its standard basis, so that rotations are
counterclockwise.
Equations
- Module.orientedEuclideanSpaceFinTwo = { positiveOrientation := (PiLp.basisFun 2 ℝ (Fin 2)).orientation }
The plane ℝ² has dimension two.
The hallway is the union of its horizontal and vertical sides.
Instances For
The affine isometry group of the Euclidean plane.
Equations
- MovingSofa.«termE(2)» = Lean.ParserDescr.node `MovingSofa.«termE(2)» 1024 (Lean.ParserDescr.symbol "E(2)")
Instances For
The topology on the isometry group E(2), induced from the continuous affine maps of the
plane.
Equations
- MovingSofa.rigidMotionTopology = TopologicalSpace.induced (fun (x : EuclideanSpace ℝ (Fin 2) ≃ᵃⁱ[ℝ] EuclideanSpace ℝ (Fin 2)) => x.toAffineIsometry.toContinuousAffineMap) inferInstance
A connected closed set $s$ is a moving sofa according to a rigid motion $m:I\to\mathrm{SE}(2)$, if the sofa is initially in the horizontal side of the hallway and ends up in the vertical side. Here, since $\mathrm{SE}(2)$ is not in Mathlib yet, we use $\mathrm{E}(2)$ and rely on continuity and $m(0) = \mathrm{id}$ to ensure $m$ is in $\mathrm{SE}(2)$.
- isConnected : IsConnected s
- isClosed : IsClosed s
- continuous : Continuous m
- initial : s ⊆ horizontalHallway
- subset_hallway (t : ↑unitInterval) : ⇑(m t) '' s ⊆ hallway
- final : ⇑(m 1) '' s ⊆ verticalHallway
Instances For
The rigid motion that translates by $p$ and then rotates counterclockwise by $\alpha$. Note that [Ge92] used this definition while [Ro18] used rotation first and then translation.
Equations
Instances For
The sofa according to a rotation path $p : [0, \pi/2] \to \mathbb{R}^2$ as in [Ge92] is the intersection over $\alpha \in [0, \pi/2]$ of hallways each translated by $p(\alpha)$ and then rotated by $\alpha$, with the special cases that the hallway at $0$ is the horizontal side and the hallway at $\pi/2$ is the vertical side.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Eq. 1-4 of [Ro18], which specifies the constants $A$, $B$, $\varphi$, and $\theta$ of [Ge92].
Equations
- One or more equations did not get rendered due to their size.
Instances For
Gerver's constant $A$: the first component of the unique solution of ABφθSpec.
Instances For
Gerver's constant $B$: the second component of the unique solution of ABφθSpec.
Equations
Instances For
Gerver's angle $\varphi$: the third component of the unique solution of ABφθSpec.
Equations
Instances For
Gerver's angle $\theta$: the fourth component of the unique solution of ABφθSpec.
Equations
Instances For
$y(\alpha) = \int_\alpha^{\pi/2 - \varphi} r(t) \sin t \, dt$, used in the canonical integral-path definition.
Equations
- MovingSofa.GerversSofa.y α = ∫ (t : ℝ) in α..Real.pi / 2 - MovingSofa.GerversSofa.φ, MovingSofa.GerversSofa.r t * Real.sin t
Instances For
$x(\alpha) = 1 - \int_\alpha^{\pi/2 - \varphi} r(t) \cos t \, dt$, used in the canonical integral-path definition.
Equations
- MovingSofa.GerversSofa.x α = 1 - ∫ (t : ℝ) in α..Real.pi / 2 - MovingSofa.GerversSofa.φ, MovingSofa.GerversSofa.r t * Real.cos t
Instances For
The rotation path of Gerver's sofa: p α is the translation applied to the hallway before it
is rotated by the angle $\alpha \in [0, \pi/2]$, in the convention of rotateTranslate.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Gerver's sofa is the sofa according to the rotation path GerversSofa.p.
Instances For
The sofa constant is the maximal area of a moving sofa.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Gerver's definitions in GerverSofaLean agree with the ones used here #
Adapted from F07UpstreamAdapter in GerverSofaLean v1.1.0 (MIT). GerverSofaLean states its results
for its own copy of the moving sofa definitions. This file identifies that copy with the
definitions of MovingSofa.Canonical.Definitions.
The reduced parameter tuple corresponding to the canonical choice of the unique angle solution.
Equations
Instances For
Moving sofa: related mathematical developments #
Geometry.Hallway.Geometry.HallwayParts.Geometry.HallwayPartsProperties.Geometry.HallwayRay.Geometry.HallwaySupport.Geometry.Parallelogram.Geometry.ParallelogramGap.Geometry.PathHalfPlaneCap.Geometry.Reflection.Geometry.SupportingHallway.
Geometry / Hallway #
Counterclockwise rotation about the origin.
Equations
- MovingSofa.rotationMap t p = (EuclideanGeometry.o.rotation t) p
Instances For
Corners, walls, rays and quadrants of a hallway.
- innerCorner : Point
The inner reentrant corner of the hallway.
- outerCorner : Point
The outer corner opposite the inner corner.
The outer wall corresponding to the fixed hallway’s line
x = 1.The inner wall corresponding to the fixed hallway’s line
x = 0.The outer wall corresponding to the fixed hallway’s line
y = 1.The inner wall corresponding to the fixed hallway’s line
y = 0.The ray on the inner B wall extending away from the corner.
The ray on the inner D wall extending away from the corner.
The closed quadrant cut out by the two outer walls.
The open forbidden quadrant behind the inner corner.
Instances For
The named parts of the fixed hallway.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Rotation followed by the support-determined translation.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The supporting hallway of a nonempty compact set.
Equations
Instances For
The images of all named hallway parts under its supporting placement.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Geometry / Hallway Parts #
Rotating a real normal direction by a right angle gives the tangent direction.
The first coordinate of a rotated point.
The second coordinate of a rotated point.
Geometry / Hallway Parts Properties #
A supporting hallway lies in its outer quadrant.
Geometry / Hallway Ray #
Coordinate description of the downward ray of a supporting hallway.
Coordinate description of the leftward ray of a supporting hallway.
The part of a supporting hallway ray above a transverse line has the expected length.
A planar set on one line of a moving frame, with bounded tangent coordinate, is short.
Geometry / Hallway Support #
Two supporting lines at angular difference exactly π / 2 meet at the outer corner of the
rotating supporting hallway.
The outer corner of the rotating supporting hallway is its inner corner translated by the
frame sum u_t + v_t.
Geometry / Parallelogram #
The horizontal coordinate is the projection on the normal at angle zero.
The vertical coordinate is the projection on the tangent at angle zero.
The vertical coordinate is the projection on the upward unit normal.
Projection on the leftward tangent at the straight angle negates the vertical coordinate.
The projection of a multiple of the horizontal normal on another unit normal.
The horizontal bottom of the strip intersection has zero downward support.
Geometry / Parallelogram Gap #
Geometry / Path Half Plane Cap #
Geometry / Reflection #
Exchange the two coordinates of the Euclidean plane.
Equations
Instances For
Reflection exchanging the normals at angles zero and ω + π / 2.
Equations
Instances For
Reflection across the line through the upper vertex of the cap strip.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The strip-top reflection fixes the upper strip vertex.
The cap reflection is an involution.
Reflection of a normal angle across the cap-reflection axis.
Instances For
Reflection of normal angles is involutive.
Coercion formula for a reflected real angle.
The cap reflection transports normal vectors at real angles.
The cap reflection reverses tangent vectors at real angles.
The cap reflection transports normal vectors by reflected angles.
The cap reflection reverses tangent vectors at reflected angles.
Inner products with normals transform under the cap reflection.
Inner products with tangents transform under the cap reflection.
The cap reflection transports every open or closed normal half-plane.
Geometry / Supporting Hallway #
Moving sofa: related mathematical developments #
Analysis.SurfaceMeasure.UpperGraph.Analysis.SurfaceMeasure.ExposedFrontier.Analysis.SurfaceMeasure.RegularBoundaryHelpers.Analysis.SurfaceMeasure.GraphIntegral.Analysis.SurfaceMeasure.Construction.Analysis.SurfaceMeasure.GraphConvergence.Analysis.SurfaceMeasure.Properties.Analysis.SurfaceMeasure.BoundaryExtension.Analysis.SurfaceMeasure.Opposite.Analysis.SurfaceMeasure.WeakConvergence.Analysis.SurfaceMeasure.AtomLimits.Analysis.SurfaceMeasure.WeightedBoundary.
Analysis / Surface Measure / Upper Graph #
The upper graph height is the greatest vertical coordinate in its fiber.
An attained upper graph point belongs to the convex body.
A boundary point whose exterior normal has positive vertical coordinate lies on the upper coordinate graph.
The upper height function of a convex body is concave on its projection.
The horizontal projection is the interval between its compact extrema.
The upper boundary height is locally Lipschitz inside its projection interval.
The upward normal determined by the derivative of an upper graph is exterior.
Angular normal vectors have norm one.
A point of a convex body admitting an exterior unit normal belongs to its frontier.
A differentiable interior point of an upper boundary graph is regular.
An irregular upper graph has zero one-dimensional Hausdorff measure.
The irregular boundary of a planar convex body with nonempty interior has zero one-dimensional Hausdorff measure.
Exposed faces and the boundary of a convex body #
The exposed faces of a convex body are exactly the sets of boundary points realizing a support value: each exposed face lies on the boundary, and, when the body has interior, every boundary point lies on some exposed face.
Every boundary point of a convex body with nonempty interior lies on a supporting exposed face.
Every exposed face of a convex body lies on its boundary.
Analysis / Surface Measure / Regular Boundary Helpers #
A planar convex body with nonempty interior has no segment presentation.
A convex body with nonempty interior is not a singleton.
Surface area measure is finite when the convex body has nonempty interior.
Any extension of the exterior-normal angle from the regular boundary gives the surface area measure as a pushforward of frontier length.
Analysis / Surface Measure / Graph Integral #
A normal support cutoff gives a uniform bound on the weighted graph density.
The weighted surface integrand of an upper graph is integrable on its horizontal projection interval.
Evaluate an angular weight at the upper graph’s normal direction above a point’s abscissa.
Equations
- MovingSofa.upperGraphWeight K o e ψ p = ψ (MovingSofa.vectorNormalAngle (e.symm !₂[-deriv (MovingSofa.upperGraphHeight K o e) ((e (p - o)).ofLp 0), 1]))
Instances For
Integrals over the inner upper graph equal integrals over its coordinate interval.
Weighted integrals over compact inner upper graphs converge to the weighted integral over the full frontier.
Analysis / Surface Measure / Construction #
Analysis / Surface Measure / Graph Convergence #
The angle of a planar vector varies continuously away from zero.
The weighted upper-graph surface density is continuous as a function of slope.
Points on an interior horizontal fiber can be approximated within the same fibers.
Upper graph heights converge at every interior point of the limit projection.
Upper graph surface densities converge almost everywhere on the interior limit projection.
Weighted upper-normal surface integrals are continuous under Hausdorff convergence.
Analysis / Surface Measure / Properties #
A measurable set of normal directions lying in an angular interval of width less than π,
on which every face of K degenerates to one and the same point, is null for the surface area
measure of K.
The surface measure of a convex body vanishes on the open angular window strictly between two normal angles less than a half turn apart at which one and the same point attains the support.
Analysis / Surface Measure / Boundary Extension #
Agreement of positive-vertex increments with tangent-coordinate surface integrals extends from half-open subintervals to every measurable set avoiding the initial endpoint.
Analysis / Surface Measure / Opposite #
The opposite-angle surface measure and support function.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The opposite surface measure is the half-turn translate of the surface measure.
The opposite support function of a convex body is continuous in the normal direction.
Integrating a π-shifted integrand against the opposite surface measure over an open angular
window is integrating the integrand itself against the surface-area measure over the π-translated
window. The endpoints of the translated window are given as hypotheses so that call sites may
normalize them arithmetically.
The opposite surface measure vanishes on an open angular window whose half-turn translate carries a single support point.
Analysis / Surface Measure / Weak Convergence #
Four coordinate half-circles admit a continuous partition of unity supported where the upward component of the normal is at least one half.
Convergence for test functions supported in upward normal patches implies convergence for all continuous test functions.
Analysis / Surface Measure / Atom Limits #
An upper bound by a moving surface atom passes to a Hausdorff limit.
Analysis / Surface Measure / Weighted Boundary #
On a half-open parameter interval of at most one turn, the angular projection is a measurable embedding.
A bounded measurable function on a half-open parameter interval of at most one full turn extends to a bounded measurable function of the angle.
A bounded measurable angular weight may be transported through the positive-vertex Stieltjes identity, coordinate by coordinate.
A continuous angular weight may be transported through the positive-vertex Stieltjes identity, coordinate by coordinate.
A bounded measurable angular weight times a frame tangent coordinate is integrable against the surface measure on every measurable set of angles represented in the half-open parameter interval.
Pairing the positive-vertex Stieltjes measures with a bounded measurable planar weight is the surface integral of the pointwise contraction of that weight with the tangent frame.
Pairing the positive-vertex Stieltjes measure with the tangent frame gives surface mass.
Pairing the positive-vertex Stieltjes measure with the normal frame vanishes.
Moving sofa: related mathematical developments #
Cap.Contacts.Cap.ArmCoordinates.Cap.ContactIdentities.Cap.HalfPlanes.Cap.FanProjection.Cap.HallwayQuadrant.Cap.LowerNormalMeasure.Cap.ReflectionGeometry.Cap.SupportIntersections.Cap.TopCorner.Cap.Vertical.
Cap / Contacts #
Width in a normal direction, for geometric use on nonempty compact sets.
Equations
- MovingSofa.directionalWidth s t = MovingSofa.supportValue s t + MovingSofa.supportValue s (t + ↑Real.pi)
Instances For
The positive/negative contacts at the two outer supporting walls.
Equations
- MovingSofa.capVertices K t = (MovingSofa.edgeVertices ↑K ↑t, MovingSofa.edgeVertices ↑K ↑(t + Real.pi / 2))
Instances For
The open inner quadrant clipped by the fan.
Equations
Instances For
The selected short boundary arc, including only the specified endpoints.
Equations
- MovingSofa.convexBoundaryArc K a b = ({(MovingSofa.edgeVertices K ↑a).1} ∪ ⋃ t ∈ Set.Ioo a b, MovingSofa.exposedEdge K ↑t) ∪ {(MovingSofa.edgeVertices K ↑b).2}
Instances For
The right wedge gap in support-function coordinates.
The right wedge endpoint lies on the horizontal axis, at the horizontal intercept of the right inner wall.
For a right-angle cap the left wedge endpoint also lies on the horizontal axis, at the horizontal intercept of the left inner wall.
Cap / Arm Coordinates #
Express the two positive arm lengths through support and moving-frame coordinates.
Cap / Contact Identities #
Cap / Half Planes #
A finite set of allowed normals gives a finite supporting-half-plane representation.
Translation preserves a half-plane representation's allowed normals.
A normalized cap is contained in its lower fan.
Fan membership and strict upper support inequalities imply cap membership.
A normalized cap lies in the intersection of its two unit strips.
A half-plane representation can be tightened at every allowed normal.
A fan point satisfying all upper supporting inequalities belongs to the cap.
Upper support bounds supplied by the two unit-height constraints of a cap.
Lowering a point of a right-angle cap onto the base line keeps it inside the cap: every upper normal of such a cap has nonnegative vertical component, so no upper constraint is tightened, and the two base constraints of the fan coincide here and hold with equality.
The top supporting line of a right-angle cap is the horizontal line of height one, so every point attaining the support value at the vertical normal has height one.
A singleton extreme face of a right-angle cap at a horizontal normal lies on the base line. Lowering its unique point onto the base line keeps it in the cap, and a horizontal normal does not see that vertical displacement, so the lowered point lies in the same face; the face being a singleton, the displacement vanishes.
A convex body with vanishing base support value that is stable under vertical projection to the base line is cut out by upper half-planes together with the base half-plane.
Cap / Fan Projection #
Support values in the upper angular range of a non-right cap are nonnegative.
The normal projection of the zero-angle support value belongs to the cap.
Cap / Hallway Quadrant #
The inward quadrant of the supporting hallway at angle t is the inward quadrant of s
written in support-value coordinates.
The surface area measure of a right-angle cap at its lower normals #
A right-angle cap lies above its base line and is stable under vertical projection onto it, so
at a strictly downward normal direction the support value is attained only on the base line, at
whichever horizontal extremum the sign of the horizontal normal component selects. Both open
quarter arcs of lower normals therefore carry faces that degenerate to a single base corner,
and the surface area measure vanishes on them
(MovingSofa.CapSpace.surfaceAreaMeasure_image_Ioo_lower_eq_zero). Outside the closed upper
semicircle only the bottom normal 3π / 2 is left, so an integrand vanishing there integrates
to zero (MovingSofa.CapSpace.setIntegral_compl_image_Icc_zero_pi_eq_zero).
At a strictly downward normal direction the face of a right-angle cap degenerates to the
base point below a horizontal extremum: positive height strictly lowers the normal coordinate,
and on the base line the sign of Real.cos t selects a horizontal extremum.
The two base corners of a right-angle cap: on the open lower left quarter of normals every face degenerates to the base point below a leftmost point of the cap, and on the open lower right quarter to the base point below a rightmost one.
The surface area measure of a right-angle cap vanishes on both open quarter arcs of lower normals, because there every face degenerates to a single base corner.
Outside the closed upper semicircle the surface area measure of a right-angle cap is carried
by the single downward normal 3π / 2, so any integrand vanishing there integrates to zero.
Cap / Reflection Geometry #
Image of a convex body under the cap reflection.
Equations
- MovingSofa.reflectedBody ω K = { carrier := ⇑(MovingSofa.capReflection ω) '' ↑K, convex' := ⋯, isCompact' := ⋯, nonempty' := ⋯ }
Instances For
Support values of a reflected body are indexed by reflected normal angles.
A reflected normal remains among the allowed cap normals.
Reflect a half-plane presentation when its allowed normals are transported.
Reflection preserves the standard cap half-plane presentation.
Reflection exchanges the normalized upper normal at ω with the vertical normal.
Reflection exchanges the vertical normal with the normalized upper normal at ω.
Reflection exchanges the two lower cap normals.
Reflection exchanges the two lower cap normals.
Reflection preserves the normalized cap conditions.
The cap reflection preserves the lower fan.
Reflection sends the complementary normal to its paired normal.
Reflection sends the complementary paired normal back to the original normal.
Reflection sends a paired normal to the complementary normal.
Reflection transports inward quadrants at complementary angles.
The preimage and image of a set agree under the involutive cap reflection.
The cap reflection preserves the real Lebesgue area of measurable sets.
The vertical reflection of a body has mirrored support values.
The vertical reflection mirrors normal projections.
Cap / Support Intersections #
Adjacent allowed support normals meet in the represented convex body.
Cap / Top Corner #
Every polygon cap of angle less than pi/2 contains the top parallelogram corner.
Cap / Vertical #
Moving sofa: related mathematical developments #
Analysis.SurfaceMeasure.ArcConvergence.
Analysis / Surface Measure / Arc Convergence #
Hausdorff convergence with fixed endpoint atoms preserves half-open surface integrals.
Preserving the two endpoint faces supplies the atomic hypotheses for arc convergence.
Moving sofa: related mathematical developments #
Convex.CurveCut.Convex.ArcCutArea.Convex.OuterCornerPath.
Convex / Curve Cut #
Convex / Arc Cut Area #
A supporting chord of a convex-body frontier cuts off a rectifiable oriented arc, and the closed signed area is the sum of the arc area and the oppositely oriented chord area.
The outer corner of a convex body as a path of bounded variation #
The outer corner of the rotating supporting hallway of a convex body K is
h_K(t) • u_t + h_K(t + π/2) • v_t. Support values are Lipschitz in the angle and bounded on a
compact interval, so this expression is a Lipschitz, hence continuous bounded-variation, path on
every compact interval of angles; and it is convex-linear in K because support values are.
These are the two hypotheses of Mamikon convexity for the middle summand of the sofa area.
The outer corner of a convex body traces a continuous path of bounded variation over every compact interval of angles.
The outer-corner paths of a convex body may be chosen convex-linearly in the body. The
barycentric operation on paths is bvPathCombination, spelled out here because it is defined
downstream of this module.
Moving sofa: related mathematical developments #
Geometry.Convex.HorizontalExtrema.
Geometry / Convex / Horizontal Extrema #
A horizontal extreme slice is a singleton when every defining normal has nonzero sine.
Moving sofa: related mathematical developments #
Gerver.Motion.Gerver.PaperPath.Gerver.PaperSet.Gerver.Parameters.Gerver.ParameterDictionary.Gerver.Partition.Gerver.ReversePhysicalDomain.Gerver.DirectRegularity.Gerver.LiteralSets.Gerver.LiteralConnected.Gerver.ParameterIdentification.Gerver.Contacts.Gerver.Niche.Roof.Gerver.ODEs.Gerver.OuterContacts.Gerver.StageRegularity.Gerver.Area.Grid.Gerver.Niche.RoofProperties.
Adapted from GerverSofaLean v1.1.0, F07UpstreamMotion (MIT).
The certified continuous rigid motion carrying Gerver’s sofa through the hallway.
Instances For
The paper's Gerver path and the vendor coordinate transport #
paperGerverPath is the certified direct five-phase Gerver path read through the vendor
coordinate identification GerverSofa.PartF.Coordinates.toPlane. This file records the
transport lemmas for that identification (derivatives, smoothness, continuity) and the
frame readers that express the moving frame normalVector/tangentVector in the same
coordinates.
The frame readers live here rather than in MovingSofa/Geometry/Basic.lean because their
statements mention toPlane, which Geometry/Basic.lean does not import; this is the
lowest module that sees both the vendor coordinates and MovingSofa.frame.
The certified direct five-phase Gerver path, taking the earlier branch at each switch.
Equations
Instances For
Transport along the coordinate identification #
The coordinate identification toPlane is a continuous linear map, so it transports
derivatives of plane-valued curves.
The coordinate identification toPlane preserves smoothness of plane-valued curves.
Frame readers #
The angular frame normal is the coordinate image of the standard trigonometric pair.
The angular frame tangent is the coordinate image of the rotated trigonometric pair.
The normal component of a body-frame vector rotated by t is its first coordinate.
The tangential component of a body-frame vector rotated by t is its second
coordinate.
The normal frame component of a plane point is the vendor scalar product of its
coordinate pair with the vendor normal u.
The tangent frame component of a plane point is the vendor scalar product of its
coordinate pair with the vendor tangent v.
The angular frame normal is a smooth function of the angle.
The angular frame tangent is a smooth function of the angle.
The paper path as a transported direct path #
The hypothesis ContDiff ℝ 1 (path GerverSofa.PartB.params) in the lemmas below is the
first conjunct of MovingSofa.gerver_direct_path_regularity, which lives in a later
module; passing it as a hypothesis keeps this file free of that dependency.
The paper path is the coordinate image of the certified direct path.
The paper path differentiates by transporting the derivative of the direct path.
The derivative of the paper path is the transported derivative of the direct path.
The paper path is continuous.
The paper path is continuously differentiable.
Gerver / Paper Set #
Gerver's paper-frame set, cut out by the explicit path of rotated hallways.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Gerver / Parameters #
The two Gerver switching angles and the right/left distinguished angles.
Equations
Instances For
The six endpoints of the five Gerver stages.
Equations
Instances For
The five closed stage intervals in their source order.
Equations
Instances For
The exact direct 22-equation Gerver system, with the certified phase-map convention.
Equations
Instances For
The exact closed rational box for the direct Gerver parameters.
Instances For
The exact box bounds the second-stage linear coefficient b₁ from below by -53/100.
The exact box bounds the fourth-stage linear coefficient d₁ from above by 33/25.
Gerver / Parameter Dictionary #
Bundle the forward and reverse dictionaries between reduced and full Romik parameters.
Equations
Instances For
Gerver / Partition #
The ten half-open Gerver phase intervals, indexed from zero.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The ten Gerver phase intervals, written out as explicit half-open real intervals.
Gerver / Reverse Physical Domain #
Matching and C¹ regularity of the direct Gerver path #
The vendor library assembles the Gerver path GerverSofa.Romik.path from five smooth
branches path1, …, path5 switched at φ < θ < π/2 - θ < π/2 - φ. This file supplies the
differential interface for those branches — each pathᵢ has derivative
rot t (alphaBetaᵢ p t) — and deduces from the direct equations that values and derivatives
agree at all four switches, hence that path p is continuously differentiable with
path p 0 = 0.
It also records, for each stage, that the glued path agrees with its analytic branch on the
closed stage interval and that deriv (path p) is the corresponding rot t (alphaBetaᵢ p t)
there, endpoints included.
Differential interface for the five direct branches #
Rotating a differentiable body-frame curve and translating it differentiates by the
product rule, contributing the infinitesimal rotation (z₁, z₂) ↦ (-z₂, z₁).
The first direct branch has body-frame velocity alphaBeta1.
The second direct branch has body-frame velocity alphaBeta2.
The third direct branch has body-frame velocity alphaBeta3.
The fourth direct branch has body-frame velocity alphaBeta4.
The fifth direct branch has body-frame velocity alphaBeta5.
Continuity of the body-frame velocity field on each branch, transported to the world frame by the rotation.
Continuity of the body-frame velocity field on each branch, transported to the world frame by the rotation.
Continuity of the body-frame velocity field on each branch, transported to the world frame by the rotation.
Continuity of the body-frame velocity field on each branch, transported to the world frame by the rotation.
Continuity of the body-frame velocity field on each branch, transported to the world frame by the rotation.
Equation 32 of the direct system. The remaining scalar consequences used here are
already extracted by the vendor in GerverSofa/KernelOnly/EndpointSymmetry.lean.
Reflection identities for the body-frame velocities #
With S (r, s) = (-s, -r) the direct equations give w₃(π/2 - t) = S w₃(t),
w₄(π/2 - t) = S w₂(t) and w₅(π/2 - t) = S w₁(t).
The middle branch velocity is anti-symmetric about π/4.
The fourth branch velocity reflects onto the second.
The fifth branch velocity reflects onto the first.
Branch selection on the closed stages #
Each stage interval is closed, so the two stages adjacent to a switch both contain it. The
glued path picks the earlier branch there, and the certified value-matching equations
say that this is also the later branch's value.
The glued direct path unfolds to the nested selection of its five analytic branches.
On the closed third stage [θ, π/2 - θ] the glued path is the third branch; at the left
endpoint this is the certified value match match_path23_of_equations.
On the closed fourth stage [π/2 - θ, π/2 - φ] the glued path is the fourth branch; at
the left endpoint this is the certified value match match_path34_of_equations.
On the closed fifth stage [π/2 - φ, π/2] the glued path is the fifth branch; at the
left endpoint this is the certified value match match_path45_of_equations.
Smoothness of the branches and of their body-frame velocities #
The first body-frame velocity pair is smooth on all of ℝ.
The first body-frame velocity pair is smooth on all of ℝ.
The first body-frame velocity pair is smooth on all of ℝ.
The first body-frame velocity pair is smooth on all of ℝ.
The first body-frame velocity pair is smooth on all of ℝ.
The stage derivatives, endpoints included #
A nondegenerate closed interval has a unique tangent direction at each of its points,
including its endpoints, so a C¹ function agreeing there with a differentiable curve
already has that curve's derivative at every point of the interval.
If the C¹ glued path agrees on a nondegenerate closed interval with a curve whose
derivative is rot s (W s), then that is its derivative everywhere on the interval,
endpoints included.
On the closed third stage the glued path has body-frame velocity alphaBeta3.
On the closed fourth stage the glued path has body-frame velocity alphaBeta4.
On the closed fifth stage the glued path has body-frame velocity alphaBeta5.
The five explicit Romik path branches for a parameter tuple.
Equations
Instances For
Gerver / Literal Sets #
The outer cap defined by all upper path support constraints and the horizontal base.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The union of strict forbidden inner corners above the horizontal base along the Gerver path.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The literal Gerver sofa obtained by removing its niche from its outer cap.
Instances For
Bundle the literal niche and sofa sets for comparison with the canonical definitions.
Equations
Instances For
The paper outer cap is the coordinate transport of the certified Romik cap K₀.
A point whose coordinate pair lies in the certified Romik cap K₀ lies in the paper
outer cap.
The paper literal niche is the coordinate transport of the certified Romik niche.
Gerver / Literal Connected #
Gerver / Parameter Identification #
The adapter's selected reverse parameter vector carries the paper's angle φ in its
phi field. This is true by definition — selected is built from the very quadruple that
defines GerversSofa.φ — but it is the only bridge from the vendor parameter vector to the
paper's stage times gerverStageTimes, so it is recorded as a named lemma rather than left
to an invisible unfolding at each use site.
The adapter's selected reverse parameter vector carries the paper's angle θ in its
theta field; see selected_phi for why this rfl is worth naming.
The two distinguished Gerver angles are interior and complementary.
The two distinguished angles are ordered: the certified bound φ ≤ 1/25 puts φ well below
π/4 = π/2 - π/4.
The stage times as certified angles #
gerverStageTimes is defined from the paper angles GerversSofa.φ and GerversSofa.θ,
while the certified Part C geometry is indexed by the vendor parameter fields
params.phi, params.theta and the derived angles eta, tau, T. The six lemmas
below are the dictionary between the two indexings; they are the only place where
gerver_parameter_identification is needed to see a stage time.
The zeroth stage time is the start of the rotation interval.
The first stage time is the certified first switching angle params.phi.
The second stage time is the certified second switching angle params.theta.
The third stage time is the certified reflected angle eta = T - params.theta.
The fifth stage time is the certified end T of the rotation interval.
Gerver / Contacts #
The four standard support-contact points determined by the Gerver path and its derivative.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Bundle the path velocity components and the four contact curves.
Equations
Instances For
The common shape of the four contact curves #
paperGerverContacts is an instance of a generic four-slot shape built from a base curve
and two scalar coefficient functions. Continuity and smoothness of the shape are proved
once here and reused for the ambient curve and for each analytic stage branch.
Identification with the certified piecewise contact data #
The Gerver niche roof #
The upper boundary of the paper's literal Gerver niche is a three-piece graph over the
rotation interval: the fourth contact curve up to the second stage time, the direct path run
backwards through the affine reversal gerverRoofReverseTime on the middle stage, and the
second contact curve from the third stage time on. gerverRoofCurve is that graph as a
function of an unrestricted real parameter and gerverNicheRoof its restriction to the
rotation interval; gerverRoofCurve_eq relates the two.
The affine reversal of the middle roof stage: it maps gerverStageTimes 2 to
gerverStageTimes 4 and gerverStageTimes 3 to gerverStageTimes 1, so it reparametrizes
the central part of the direct path backwards.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The Gerver niche roof as a curve of an unrestricted real parameter. On the rotation
interval it agrees with gerverNicheRoof (gerverRoofCurve_eq); the unrestricted form is
what the intermediate value theorem and continuous_if_le consume.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Gerver / ODEs #
Gerver / Outer Contacts #
Regularity of the certified Gerver stage data #
The five Gerver stages are nondegenerate: the six stage endpoints increase strictly from 0
to π / 2 (gerverStageTimes_strictMono), and gerverStageIntervals_zero through
gerverStageIntervals_four name the resulting closed stage intervals. The certified direct
path is continuously differentiable on the whole rotation interval
(contDiff_paperGerverPath), while each contact curve is only continuous globally
(continuous_paperGerverContact) and continuously differentiable on a single stage
(contDiffOn_paperGerverContact). Gluing two consecutive stages presents the two inner
contact curves on the parameter ranges where they touch the cap as continuous paths of bounded
variation (gerverRightContactBV, gerverLeftContactBV).
The second half of the file differentiates the two inner contact curves stagewise. Writing
the velocity components of the direct path as (α, β), the contact formulas are
B = x + α v and D = x - β u, so the product rule and the frame derivatives
hasDerivAt_normalVector, hasDerivAt_tangentVector give
B' = (β + α') v and D' = (α - β') u
(hasDerivWithinAt_paperGerverContacts_one, hasDerivWithinAt_paperGerverContacts_three).
Feeding the five analytic stage branches of paperGerverContactData_properties into these
two lemmas yields the signs of the two speeds on the stages where they are needed
(hasDerivWithinAt_paperGerverContacts_one_neg_smul,
hasDerivWithinAt_paperGerverContacts_three_pos_smul); the two nonconstant coefficients are
signed by the coarse box bounds gerverDirectBox_b1_lower_bound,
gerverDirectBox_d1_upper_bound and gerverStageTimes_two_le_seven_div_ten.
The last two sections record the consequences used downstream: the frame coordinates
s ↦ x s ⋅ u_s and s ↦ x s ⋅ v_s of the direct path are differentiable with derivatives
B ⋅ v and -D ⋅ u (hasDerivAt_inner_paperGerverPath_normalVector,
hasDerivAt_inner_paperGerverPath_tangentVector), and against a fixed frame direction outside
the stage the two inner contact curves are strictly monotone on each stage
(strictAntiOn_inner_paperGerverContacts_three, strictMonoOn_inner_paperGerverContacts_one).
The six Gerver stage endpoints increase strictly along the rotation interval.
The second Gerver stage time is at most 7/10. This coarse bound on the certified
switching angle θ is what the stage speed estimates below consume.
The first Gerver stage runs between the first two stage times.
The second Gerver stage runs between the second and third stage times.
The fourth Gerver stage runs between the fourth and fifth stage times.
The fifth Gerver stage runs between the last two stage times.
The certified direct Gerver path is continuously differentiable.
Each Gerver contact curve is continuous.
Each Gerver contact curve is continuously differentiable on each closed stage interval.
The two inner contact curves as bounded-variation paths #
The second Gerver contact curve, on the two stages [t₃, t₅] where it is an inner contact
of the cap, as a continuous path of bounded variation.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The fourth Gerver contact curve, on the two stages [t₀, t₂] where it is an inner contact
of the cap, as a continuous path of bounded variation.
Equations
- One or more equations did not get rendered due to their size.
Instances For
gerverRightContactBV is the second Gerver contact curve.
gerverLeftContactBV is the fourth Gerver contact curve.
Stage derivatives of the two inner contact curves #
The velocity components are the frame coordinates of the derivative of the direct path.
On a stage where the direct path has velocity components (α, β), the second contact
curve B = x + α v has derivative (β + α') v: the frame derivative v' = -u cancels the
normal component α u of x', leaving the tangential component β v and the derivative of
the coefficient.
On a stage where the direct path has velocity components (α, β), the fourth contact
curve D = x - β u has derivative (α - β') u; see
hasDerivWithinAt_paperGerverContacts_one for the shape of the computation.
On each of the last two stages the second contact curve moves strictly backwards along
the tangent direction: its one-sided derivative is a negative multiple of v_t. On the
fourth stage the tangential speed is d₁ - 1 - t/2, negative because t ≥ π/2 - θ > 4/5 and
d₁ ≤ 33/25; on the fifth it is the exact constant -1/2.
On each of the first two stages the fourth contact curve moves strictly forwards along
the normal direction: its one-sided derivative is a positive multiple of u_t. On the first
stage the normal speed is the exact constant 1/2; on the second it is 1 + b₁ - t/2,
positive because t ≤ θ ≤ 7/10 and b₁ ≥ -53/100.
Frame coordinates of the direct path #
The derivative of the direct Gerver path in the moving frame.
The angular derivative of the normal frame coordinate of the Gerver path is the tangent
coordinate of the second contact curve: with B = x + α v the frame derivative u' = v
contributes x ⋅ v and the normal component of x' contributes α.
The angular derivative of the tangent frame coordinate of the Gerver path is minus the
normal coordinate of the fourth contact curve: with D = x - β u the frame derivative
v' = -u contributes -x ⋅ u and the tangent component of x' contributes β.
Stagewise monotonicity of the inner contact curves against a fixed direction #
Against the tangent direction at a later angle c, the fourth Gerver contact curve is
strictly antitone on each of its first two stages: its stage speed is a positive multiple of
u_s, whose v_c coordinate is sin (s - c) < 0.
Against the normal direction at an earlier angle c, the second Gerver contact curve is
strictly monotone on each of its last two stages: its stage speed is a negative multiple of
v_s, whose u_c coordinate is sin (c - s) < 0.
Stage endpoints, grid angles and branch selection #
The certificate subdivides each of the five analytic stages of Gerver's sofa into
NN = 64 equal parts. This module carries the real-valued mirror of that grid:
gerverStageTime re-indexes the six stage endpoints by a natural number,
gerverGridTime m is the m-th grid angle, gerverContactPoint is the dictionary of the
four contact curves and the ambient path, and GerverAreaCert.stageOf m is the analytic
branch that the piecewise definitions select at the m-th angle. The soundness statements
endZ_sound and ttZ_sound say that the integer data of the certificate encloses these
real quantities; the remaining lemmas are the order facts the evaluator needs.
The six stage endpoints indexed by a natural number, constant past 5.
Equations
Instances For
The real grid angle at index m, mirroring GerverAreaCert.ttZ.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The curve selected by a certificate kind: 0 the path, 1 A, 2 B, 3 C,
4 D.
Equations
- MovingSofa.gerverContactPoint 0 = MovingSofa.paperGerverPath
- MovingSofa.gerverContactPoint 1 = fun (t : ℝ) => MovingSofa.paperGerverContacts t 0
- MovingSofa.gerverContactPoint 2 = fun (t : ℝ) => MovingSofa.paperGerverContacts t 1
- MovingSofa.gerverContactPoint 3 = fun (t : ℝ) => MovingSofa.paperGerverContacts t 2
- MovingSofa.gerverContactPoint x✝ = fun (t : ℝ) => MovingSofa.paperGerverContacts t 3
Instances For
The rotation interval starts at the first stage endpoint 0.
The first stage ends at φ.
The second stage ends at θ.
The third stage ends at η = π / 2 - θ.
The fourth stage ends at τ = π / 2 - φ.
The fifth stage ends at π / 2.
Order properties of the stage endpoints and the grid #
The five stage endpoints are strictly increasing.
The integer stage endpoints enclose the real ones.
The integer grid angles enclose the real ones.
The grid step is uniform across stage joins.
The grid angles are strictly increasing.
Strict monotonicity of the grid angles below the top index, from gerverGridTime_lt_succ.
Weak monotonicity of the grid angles below the top index, from gerverGridTime_lt_succ.
The grid angle at a stage boundary is the stage endpoint itself.
The grid ends at π / 2.
Every grid angle lies in the rotation interval.
The branch index is one of the five stages.
The grid angle does not exceed the right endpoint of its branch.
The grid angle strictly exceeds the left endpoint of its branch, except on the first branch.
Properties of the Gerver niche roof #
The main results of this file describe the upper boundary of the paper's literal Gerver
niche: the three graph pieces join up (gerver_niche_piece_endpoints), each piece stays
inside the outer cap (gerver_niche_roof_membership), the roof is a strictly monotone
positive graph (gerver_niche_roof_strictMono, gerver_niche_roof_positive), and the
niche is exactly the strict vertical region under that roof (gerver_niche_vertical_fills).
The three pieces are identified branch by branch in gerverNicheRoof_of_le_two,
gerverNicheRoof_mid and gerverNicheRoof_of_ge_three, each valid on the closed stage.
Alongside them sits the elementary API of the reverse-time reparametrization
(continuous_gerverRoofReverseTime, gerverRoofReverseTime_two,
gerverRoofReverseTime_three, gerverRoofReverseTime_mem_Icc) and the continuity of the
roof, in both its real-parameter and its restricted form (continuous_gerverRoofCurve,
continuous_gerverNicheRoof).
Every one of them is the certified Part C niche geometry read through the coordinate
dictionary GerverSofa.PartF.Coordinates.toPlane. The dictionary itself is supplied by
the public readers of the lower modules — paperGerverContacts_one_eq_toPlane and
paperGerverContacts_three_eq_toPlane for the contact curves, gerverStageTimes_zero
through gerverStageTimes_five for the stage times, and mem_gerverLiteralNiche_iff,
toPlane_mem_gerverOuterCap for the two literal sets. What remains here, and is kept
private, is the roof-specific part of the dictionary: the reverse-time reparametrization
and the identification of gerverNicheRoof with the certified upper arc.
The three graph pieces of the niche roof join up: the second contact curve at eta
meets the ambient path at params.phi, the fourth contact curve at params.theta meets
the ambient path at tau, and the two outer ends touch the wall.
The reverse-time reparametrization, and continuity of the roof #
The reverse-time reparametrization is affine, hence continuous.
The reverse-time map sends the start of the middle roof stage to the late path time.
The reverse-time map sends the end of the middle roof stage to the early path time.
The reverse-time map carries the middle roof interval into the central path interval.
The three graph pieces of the roof #
Up to the second stage time the niche roof is the fourth contact curve.
On the middle stage the niche roof is the reverse-time ambient path. The identification extends to the left endpoint of the stage by the piece-endpoint gluing.
From the third stage time on the niche roof is the second contact curve. The identification extends to the left endpoint of the stage by the piece-endpoint gluing.
On the rotation interval the real-parameter roof curve is the niche roof.
The roof curve is continuous: its three graph pieces join up at the two cut times, by the
two endpoint identities of gerver_niche_piece_endpoints.
The niche roof is continuous.
The first coordinate of the niche roof is strictly increasing, so the roof really is a graph over the horizontal axis.
Each of the three graph pieces of the niche roof stays inside the paper outer cap.
The strict region between the wall and the graph of f over the parameter set I.
Equations
Instances For
The paper literal niche is exactly the union of the three strict vertical fills under the three graph pieces of the niche roof.
Moving sofa: related mathematical developments #
Cap.Tail.Arcs.Cap.Tail.Space.Cap.CornerMeasure.Cap.CornerPaths.Cap.Tail.Canonical.
Cap / Tail / Arcs #
The directed convex boundary arcs used for the right and left tail bodies.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Cap / Tail / Space #
The real-angle inner-corner path of a cap.
Equations
Instances For
The two surface densities on the upper half-circle, with the top atom excluded.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The density, corner regularity and strict interior signs of the injectivity condition.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Right-angle caps satisfying injectivity and the cap-area threshold.
Equations
Instances For
A special cap and two convex tails satisfying the support constraints.
- cap : SpecialCapSpace
The special cap forming the central component of the triple.
- rightBody : ConvexBody Point
The convex body used as the right tail.
- leftBody : ConvexBody Point
The convex body used as the left tail.
- right_bound (t : ℝ) : t ∈ Set.Icc paperGerverConstants.2.1 (Real.pi / 2) → supportValue ↑↑↑self.cap ↑t + supportValue ↑self.rightBody ↑(Real.pi + t) ≤ 1
Instances For
Cap / Corner Measure #
The normal and tangent components of the inner-corner path derivative.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The density formed by joining the two signed corner-velocity components over [0, π].
Equations
- One or more equations did not get rendered due to their size.
Instances For
The measure on the real angle interval defined by the nonnegative corner density.
Equations
- MovingSofa.capCornerMeasure K = (MeasureTheory.volume.restrict (Set.Icc 0 Real.pi)).withDensity fun (s : ℝ) => ENNReal.ofReal (MovingSofa.capCornerDensity K s)
Instances For
Push the corner-density measure to angles modulo a full turn.
Equations
- MovingSofa.capCornerAngleMeasure K = MeasureTheory.Measure.map (fun (s : ℝ) => ↑s) (MovingSofa.capCornerMeasure K)
Instances For
Bundle the corner density and its real and angular measures.
Equations
Instances For
The corner measure of a special cap reads its density on the angular image of every
measurable subset of [0, π].
Regularity and signs of the corner density #
The injectivity condition makes the inner corner continuously differentiable on the closed quarter turn, so both frame coefficients of its velocity are continuous there; the strict interior signs then extend to the two endpoints by continuity. The corner density is the sum of the two branches extended by zero, whence its measurability and its bound.
The inner-corner velocity of a special cap is continuous on the cap domain.
Both frame components of the inner-corner velocity are continuous on the cap domain.
The corner density is bounded, being continuous on the two compact halves of the cap domain and zero outside.
Finiteness and atomlessness of the corner measure #
Cap / Corner Paths #
The inner-corner path restricted and bundled as a continuous BV path.
Equations
Instances For
The corner BV path between the two reflected Gerver switching angles.
Instances For
Cap / Tail / Canonical #
The closed half-planes above the right and left inner supporting walls.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The right and left canonical tail sets, before bundling their convex-body proofs.
Equations
- One or more equations did not get rendered due to their size.