Moving sofa: related mathematical developments #
Infrastructure.Analysis.Foundations.Development001.Infrastructure.Geometry.Foundations.Development001.Infrastructure.MathlibExtensions.Foundations.Development001.Infrastructure.Geometry.Foundations.Development002.
Moving sofa: related mathematical developments #
Analysis.Foundations.Development001.
Moving sofa: related mathematical developments #
Analysis.BoundedDensity.
Analysis / Bounded Density #
A finite measure carried by Set.Icc a b and dominated on that interval by the integral of
a bounded, almost everywhere strongly measurable nonnegative function f has an integrable real
density with respect to the Lebesgue measure on Set.Icc a b, and that density is bounded above
by f almost everywhere.
A finite measure carried by Set.Icc a b and dominated on that interval by the integral of
a bounded, almost everywhere strongly measurable nonnegative function has a measurable
ℝ≥0-valued density with respect to the Lebesgue measure on Set.Icc a b.
Moving sofa: related mathematical developments #
Classical.Foundations.Development001.
Moving sofa: related mathematical developments #
Classical.Area.
Planar area #
The real-valued Lebesgue area of a planar set, and its invariance under translation.
The Euclidean plane.
Equations
Instances For
The real-valued Lebesgue area of a planar set.
Equations
Instances For
Moving sofa: related mathematical developments #
ForMathlib.Algebra.Foundations.Development001.ForMathlib.Analysis.Foundations.Development001.ForMathlib.BoundedVariation.Foundations.Development001.ForMathlib.Convex.Foundations.Development001.ForMathlib.Geometry.Foundations.Development001.ForMathlib.MeasureTheory.Foundations.Development001.ForMathlib.Order.Foundations.Development001.ForMathlib.Topology.Foundations.Development001.ForMathlib.MeasureTheory.Foundations.Development002.
Moving sofa: related mathematical developments #
ForMathlib.Algebra.BigOperators.Triangle.ForMathlib.Algebra.Order.Fin.
Triangular rearrangement of a double sum over a Finset #
A double sum over s ×ˢ s splits into the closed lower triangle {(u, t) | u ≤ t} and its
transpose. The two pieces overlap exactly on the diagonal, so for a kernel vanishing there the
lower-triangular sum plus its transpose recovers the whole double sum.
Finset.sum_sum_Ioi_add_eq_sum_sum_off_diag is the Fintype and LocallyFiniteOrder analogue,
and Fin.sum_sum_eq_sum_triangle_add the Fin analogue; neither applies to a general Finset
of a plain LinearOrder.
For a kernel vanishing on the diagonal, the closed lower-triangular double sum plus the same sum with the two arguments swapped is the full double sum.
For Mathlib / Algebra / Order / Fin #
Moving sofa: related mathematical developments #
ForMathlib.Analysis.Calculus.Deriv.Shift.ForMathlib.Analysis.Calculus.FirstReturn.ForMathlib.Analysis.Calculus.Interval.ForMathlib.Analysis.Calculus.LocalExtr.OneSided.ForMathlib.Analysis.Complex.DiskIntegral.ForMathlib.Analysis.Convex.Basic.ForMathlib.Analysis.Convex.Deriv.ForMathlib.Analysis.Convex.Gauge.ForMathlib.Analysis.Convex.GaugeRescale.ForMathlib.Analysis.Convex.Radial.ForMathlib.Analysis.FiniteEnvelope.ForMathlib.Analysis.InnerProductSpace.Box.ForMathlib.Analysis.InnerProductSpace.Linear.ForMathlib.Analysis.Normed.Affine.ContinuousAffineMap.ForMathlib.Analysis.SpecialFunctions.Angle.ForMathlib.Analysis.SpecialFunctions.AngleLift.ForMathlib.Analysis.SpecialFunctions.Arctan.ForMathlib.Analysis.SpecificLimits.AlternatingBracket.ForMathlib.Analysis.SpecialFunctions.Trigonometric.
Shifting the base point of a derivative #
HasDerivAt.comp_add_const transports a derivative at a shifted base point to the shifted
function; this file records the converse implication, packaged as an Iff.
A derivative at a shifted base point is the derivative of the shifted function.
First return to a level #
A continuous real function that starts strictly below a level and reaches it has a smallest time at which it attains that level, and its derivative there is nonnegative.
For Mathlib / Analysis / Calculus / Interval #
Glue one-sided derivatives on a closed interval, including its endpoints.
A continuous derivative field on a uniquely differentiable set gives order-one regularity.
Glue two everywhere differentiable functions along the switch {s ≤ c}. If the values
and the derivatives agree at c, the glued function is differentiable everywhere and its
derivative is the analogous glue of the two derivative fields. At c itself the statement
is genuine two-sided differentiability, obtained from the two one-sided derivatives.
A globally defined continuous derivative field witnesses continuous differentiability.
Fermat's theorem for one-sided derivatives on the real line #
IsLocalMinOn.hasFDerivWithinAt_nonneg signs a derivative within a set against the positive
tangent cone of that set. On the real line the positive tangent cones of the two half-lines
at a are generated by 1 and by -1, which turns that statement into the two familiar
one-sided derivative tests at a one-sided minimum.
The forward direction belongs to the positive tangent cone of a right half-line.
The backward direction belongs to the positive tangent cone of a left half-line.
A right derivative at a minimum over a right half-line is nonnegative.
A left derivative at a minimum over a left half-line is nonpositive.
For Mathlib / Analysis / Complex / Disk Integral #
Inverse distance from zero is integrable on a complex disk centred at zero.
For Mathlib / Analysis / Convex / Basic #
For Mathlib / Analysis / Convex / Deriv #
Pointwise convergence of concave functions forces derivative convergence at a common differentiability point in the interior of an interval.
For Mathlib / Analysis / Convex / Gauge #
A direction of positive gauge has a unique positive multiple on the frontier.
Every nonzero direction has a unique positive multiple on the frontier of a bounded convex neighborhood of zero.
The reciprocal of a positive uniformly bounded-below Lipschitz function is Lipschitz.
The reciprocal gauge is Lipschitz on the unit sphere of a bounded convex neighborhood of zero.
Radial gauge rescaling is Lipschitz on the unit sphere.
For Mathlib / Analysis / Convex / Gauge Rescale #
Gauge rescaling identifies the unit sphere with the frontier of a bounded convex neighborhood.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The radial gauge homeomorphism sends a unit vector to its reciprocal-gauge multiple.
Translate the radial gauge homeomorphism by a fixed vector.
Equations
- translatedRadialGaugeHomeomorph hs h₀ hb o = (radialGaugeHomeomorph hs h₀ hb).trans (((Homeomorph.addLeft o).image (frontier s)).trans (Homeomorph.setCongr ⋯))
Instances For
The translated radial gauge homeomorphism has the expected affine formula.
The translated radial gauge homeomorphism is Lipschitz on the unit sphere.
A bounded convex set with an interior basepoint admits a positive Lipschitz radial parametrization of its frontier.
Radial exit points of a convex set #
From an interior base point of a compact convex set, every point of the set lies on a segment ending at a boundary point, and that boundary point is unique. These are the facts behind a radial decomposition of a convex body into cones over its boundary.
A point lying a fixed fraction of the way, less than all of it, from an interior point of a convex set towards a point of the set is itself an interior point.
From an interior base point, every point of a compact convex set lies on a segment ending at a boundary point: the radial exit point of its direction.
The radial exit point from an interior base point is unique.
For Mathlib / Analysis / Finite Envelope #
For Mathlib / Analysis / Inner Product Space / Box #
Linearity of a real inner product in its left argument #
Mathlib.Analysis.InnerProductSpace.Basic provides the continuous linear map
innerSL ℝ v = fun x ↦ ⟪v, x⟫; the bundled form of the symmetric slot is what the
half-space convexity lemmas convex_halfSpace_le and convex_halfSpace_ge consume.
x ↦ ⟪x, v⟫ is a linear map of a real inner product space.
For Mathlib / Analysis / Normed / Affine / Continuous Affine Map #
Precomposition by a fixed continuous affine map is continuous.
For Mathlib / Analysis / Special Functions / Angle #
For Mathlib / Analysis / Special Functions / Angle Lift #
Continuous real angle lifts of the same circle-valued map differ by a constant.
A cubic remainder bound for the arctangent #
Real.abs_arctan_sub_self_le complements Real.abs_arctan_le_abs by quantifying the
first-order approximation arctan s ≈ s near the origin.
First-order angle estimate. If W = (w0, w1) has norm nw > 0 and the displacement
d = (d0, d1) has norm nd with 2 * nd ≤ nw, then the principal angle between W and
W + d, in the arctangent form given by their cross and dot products, differs from its
linearization (w0 * d1 - w1 * d0) / nw ^ 2 by at most 6 * nd ^ 2 / nw ^ 2.
Two-sided bracketing of an alternating series with an antitone tail #
alternating_series_bracket_of_antitone_shift upgrades the one-sided Leibniz estimates
Antitone.alternating_series_le_tendsto and Antitone.tendsto_le_alternating_series to a
two-sided bracket for an alternating series whose term magnitudes are antitone only from an
even index 2 * N onwards: the sum then lies between the partial sums of 2 * N and of
2 * N + 1 terms. antitone_pow_div_factorial_two_mul_add is the antitonicity criterion
for the stride-two factorial quotients x ^ (2 * n + a) / (2 * n + a)! that the Taylor
series of the trigonometric functions produce.
Leibniz bracketing for an alternating series whose term magnitudes are antitone only
from index 2 * N onwards: the limit lies between the partial sums of 2 * N and of
2 * N + 1 terms.
For Mathlib / Analysis / Special Functions / Trigonometric #
Cotangent is antitone between its consecutive poles at negative pi and zero.
Leibniz bracketing of the sine by its Maclaurin partial sums: for 0 ≤ x with
x ^ 2 ≤ (4 * N + 2) * (4 * N + 3) the value Real.sin x lies between the partial sums of
2 * N and of 2 * N + 1 terms, the first of which undershoots and the second overshoots.
Leibniz bracketing of the cosine by its Maclaurin partial sums: for 0 ≤ x with
x ^ 2 ≤ (4 * N + 1) * (4 * N + 2) the value Real.cos x lies between the partial sums of
2 * N and of 2 * N + 1 terms, the first of which undershoots and the second overshoots.
Moving sofa: related mathematical developments #
ForMathlib.BoundedVariation.
For Mathlib / Bounded Variation #
The variation of a sum is at most the sum of the variations.
A sum of two functions of bounded variation has bounded variation.
Variation bounds the increments along a finite monotone partition.
Total variation bounds the sum of norms of increments on a finite partition.
Squared increments are bounded by the largest increment times the total variation.
A telescoping sum of increments with quadratic remainders is controlled by the largest increment times the total variation.
If the increments of a real function A agree with a linear functional of the
increments of a bounded variation path up to a quadratic remainder on all parameter
pairs closer than a fixed positive threshold, then the linear sums along any family of
partitions whose mesh tends to zero converge to the endpoint increment of A.
Bounded variation on two adjacent closed intervals gives bounded variation on their union.
A function on the order subtype Set.Icc a b has bounded variation everywhere as soon as
it has bounded variation on the closed interval between the two endpoints of that subtype.
Moving sofa: related mathematical developments #
ForMathlib.Convex.Body.BoundaryMeasure.ForMathlib.Convex.Body.Hausdorff.ForMathlib.Convex.Collinear.ForMathlib.Convex.Body.Segment.ForMathlib.Convex.Function.ForMathlib.Convex.Hausdorff.ForMathlib.Convex.Support.ForMathlib.Convex.Translation.
For Mathlib / Convex / Body / Boundary Measure #
The frontier of a planar convex body with nonempty interior has finite one-dimensional Hausdorff measure.
For Mathlib / Convex / Body / Hausdorff #
Eventual membership persists in a Hausdorff limit of convex bodies.
For Mathlib / Convex / Collinear #
A convex set with empty interior in dimension at most two is collinear.
For Mathlib / Convex / Body / Segment #
A nonsingleton planar convex body with empty interior is a nontrivial segment.
For Mathlib / Convex / Function #
A convex function stays below a bound before the right endpoint if the left endpoint is strictly below the bound and the right endpoint is at most the bound.
For Mathlib / Convex / Hausdorff #
Hausdorff limits of nonempty compact convex sets are convex.
For Mathlib / Convex / Support #
Support values of compact sets differ by at most their Hausdorff distance times the norm of the direction.
The support values of a compact set are Lipschitz in the direction, with constant equal to the maximum norm of a point in the set.
A convex body in a real inner product space is the intersection of its supporting half-spaces.
For Mathlib / Convex / Translation #
Translation of a convex body by a vector.
Equations
Instances For
Moving sofa: related mathematical developments #
ForMathlib.Geometry.Euclidean.Segment.
For Mathlib / Geometry / Euclidean / Segment #
Two unit vectors perpendicular to the same nonzero planar vector agree up to sign.
A transverse segment has zero length on a hyperplane.
A nondegenerate segment covered by finitely many hyperplanes lies in one of them.
Moving sofa: related mathematical developments #
ForMathlib.MeasureTheory.EuclideanSpace.ForMathlib.MeasureTheory.FiniteMeasure.Portmanteau.ForMathlib.MeasureTheory.FiniteMeasure.Restriction.ForMathlib.MeasureTheory.Angle.ForMathlib.MeasureTheory.Hausdorff.Arclength.ForMathlib.MeasureTheory.Hausdorff.Graph.ForMathlib.MeasureTheory.Hausdorff.PlanarGraph.ForMathlib.MeasureTheory.Integral.AtomicBounds.ForMathlib.MeasureTheory.Integral.IntervalExhaustion.ForMathlib.MeasureTheory.Integral.MovingIntervals.ForMathlib.MeasureTheory.Integral.Translation.ForMathlib.MeasureTheory.Measure.Atoms.ForMathlib.MeasureTheory.Measure.HaarNullSets.ForMathlib.MeasureTheory.Measure.Map.ForMathlib.MeasureTheory.Measure.WithDensity.ForMathlib.MeasureTheory.RegionBetween.ForMathlib.MeasureTheory.Measure.PlanarTrapezoid.ForMathlib.MeasureTheory.Measure.PlanarTriangle.ForMathlib.MeasureTheory.StieltjesDensity.ForMathlib.MeasureTheory.VectorMeasure.Interval.ForMathlib.MeasureTheory.VectorMeasure.WithDensity.ForMathlib.MeasureTheory.Volume.
For Mathlib / Measure Theory / Euclidean Space #
The volume of a closed coordinate box of the Euclidean plane.
The coordinates of a point of the Euclidean plane, listed second coordinate first.
Instances For
Reading the plane coordinates in the reversed order is measure preserving.
Portmanteau for finite measures: the open-set inequality #
Mathlib proves the open-set portmanteau inequality
MeasureTheory.ProbabilityMeasure.le_liminf_measure_open_of_tendsto for probability measures and
only the closed-set inequality MeasureTheory.FiniteMeasure.limsup_measure_closed_le_of_tendsto
for finite measures. This file supplies the missing open-set inequality for finite measures, by
combining the closed-set inequality on the complement with the convergence of the total masses.
Portmanteau for finite measures: weak convergence bounds the mass of an open set by the lower limit of the approximating masses.
For Mathlib / Measure Theory / Finite Measure / Restriction #
Weak convergence of finite measures and their restrictions implies weak convergence of the complementary restrictions.
A continuity set has convergent masses under weak convergence of finite measures.
Equal atoms on a finite set give equal restrictions to that set.
Removing finitely many fixed atoms preserves weak convergence.
Weak convergence is preserved by restriction to a measurable continuity set.
Fixed atoms on a finite set containing the frontier allow weak restriction convergence.
For Mathlib / Measure Theory / Angle #
Half-open real intervals have measurable angular images.
A Borel subset of a real interval of at most one turn has a Borel angular image.
Passing from an open arc to a half-open arc restores exactly its terminal atom.
Weak convergence with fixed endpoint atoms preserves integrals on half-open angular arcs.
Integration over the circle of directions #
A continuous function of a direction is integrable for every finite angular measure, the circle of directions being compact.
Angular measures reading a real density #
On a real window of at most one turn, the pushforward of a weighted measure along the angular projection gives the angular image of a measurable subset the integral of the weight over that subset.
Two angular measures that agree on the angular image of every measurable subset of a real window agree after restriction to that window's angular image.
Two angular measures reading extended-real weights on a real window agree after restriction to its angular image as soon as the weights agree almost everywhere on the window.
An angular measure reading a real density on a window agrees, after restriction to the window's angular image, with a sum of two angular measures whose densities add up to it almost everywhere.
For Mathlib / Measure Theory / Hausdorff / Arclength #
Hausdorff length of a continuous injective arc is its total variation.
The derivative of a planar Lipschitz curve is integrable on its interval.
Total variation of a planar Lipschitz curve is the integral of its speed.
Hausdorff length of a planar injective Lipschitz curve is the integral of its speed.
The image of a continuous injective planar arc of bounded variation is Lebesgue null.
For Mathlib / Measure Theory / Hausdorff / Graph #
Projected Hausdorff measure on a Lipschitz graph has speed as its density.
Weighted arclength formula for a planar Lipschitz graph on a compact interval.
For Mathlib / Measure Theory / Hausdorff / Planar Graph #
The graph image of the nondifferentiability set of a locally Lipschitz real function has zero one-dimensional Hausdorff measure, in isometric coordinates.
Weighted Hausdorff integration over an isometric planar graph equals the parameter integral weighted by its almost-everywhere speed.
For Mathlib / Measure Theory / Integral / Atomic Bounds #
A finite sum of atomic contributions is bounded by the integral of a nonnegative function.
For Mathlib / Measure Theory / Integral / Interval Exhaustion #
Integrals over compact intervals exhausting the interior converge to the integral over the full compact interval.
For Mathlib / Measure Theory / Integral / Moving Intervals #
Moving interval cutoffs preserve almost-everywhere convergence on the limiting interior.
Dominated convergence on intervals whose endpoints converge, using convergence only in the interior of the limiting interval.
A uniform bound on moving finite intervals suffices for dominated convergence.
For Mathlib / Measure Theory / Integral / Translation #
Integrability on a translated measurable set is preserved by translation.
Pushing a weighted restriction of Lebesgue measure forward along t ↦ t + c translates both
the set and the weight.
For Mathlib / Measure Theory / Measure / Atoms #
A membership that fails only on a countable set holds almost everywhere on the restriction of a measure with null singletons.
Along an injective parametrization, a finite-measure atom occurs only almost nowhere.
A measure carried by a finite set is the sum of its atomic contributions.
A measure carried by the image of a finite index set is bounded by the sum of atomic bounds over any index subset containing every index whose atom meets the measured set.
Almost every point of a half-open interval is interior #
Almost every point of a half-open interval, for a measure with null singletons, lies in one of the two open intervals cut out by an arbitrary intermediate point.
Almost every point of a half-open interval, for a measure with null singletons, lies in one of the two open intervals cut out by an arbitrary intermediate point.
Haar-null lines and inner-product level sets #
Lines and hyperplanes of a finite-dimensional real normed space carry no additive Haar mass. This file records the two convenient forms used when a planar region is exhausted by triangles up to the rays through finitely many vertices.
A line through the origin is a proper subspace once the ambient dimension exceeds one.
Any line in a space of dimension at least two is null for an additive Haar measure.
A countable union of lines through a common point is null.
A level set of a nonzero inner-product functional is null for an additive Haar measure.
For Mathlib / Measure Theory / Measure / Map #
If g is almost everywhere a left inverse of f, then pushing a measure forward along f
and then along g recovers it. This is the almost-everywhere form of
MeasurableEquiv.map_symm_map.
For Mathlib / Measure Theory / Measure / With Density #
An injective image of a weighted restriction preserves null singleton masses.
Pushing a weighted measure forward along a measurable map is linear in the weight: if w is
the pointwise combination a * w₁ + b * w₂, then the pushforward of μ.withDensity w is the
same combination of the pushforwards of μ.withDensity w₁ and μ.withDensity w₂.
For Mathlib / Measure Theory / Region Between #
The planar volume of the horizontal band between the graphs of f and g over s,
where the first coordinate is the one squeezed between the two graphs.
The half-open variant of volume_horizontalIcc.
A planar set whose second coordinate lies in [0, 1] and whose first coordinate is
squeezed between a continuous graph and its horizontal translate by c has volume at
most c. Only the upper bound is asserted, so no measurability of the set is needed.
The horizontal unit strip meets the band c ≤ a * x + b * y ≤ c + 1 in a
parallelogram of area 1 / |a|. Only the upper bound is asserted.
Planar trapezoids with horizontal parallel sides #
A convex planar set containing the four vertices of a trapezoid whose parallel sides are
the horizontal segments at heights 0 and 1 contains the whole trapezoid.
The planar area of the trapezoid cut from the horizontal band y₀ ≤ y ≤ y₁ by the two lines
x = a + b * y and x = c + d * y: the height of the band times the mean of the lengths of its
two horizontal sides.
The planar area of a trapezoid whose parallel sides are the horizontal segments
[l₀, r₀] × {0} and [l₁, r₁] × {1} is the mean of their lengths.
The area of a planar triangle #
The convex hull of three points of the Euclidean plane has area one half of the absolute determinant of the two edge vectors emanating from the first point. The proof transports the standard right triangle, whose area is computed by integration, along the linear map sending the coordinate basis to the two edge vectors.
The triangle spanned by the origin and two vectors of the Euclidean plane has area one half of the absolute determinant of their coordinates.
The area of a planar triangle is one half of the absolute coordinate determinant of its two edge vectors.
For Mathlib / Measure Theory / Stieltjes Density #
Equality of interval increments identifies a continuous BV function's vector measure.
Integrating on a subtype and a measurable preimage agrees with restricting both sets.
For Mathlib / Measure Theory / Vector Measure / Interval #
Agreement on half-open intervals and the whole space determines a vector measure.
Pulling an integrable density back along a measurable embedding gives its image integrals.
For Mathlib / Measure Theory / Vector Measure / With Density #
Integrating a bounded function against a real signed density multiplies the ordinary integrand by that density.
Integrating a continuous real function on a compact space against a signed density multiplies the ordinary integrand by that density.
For Mathlib / Measure Theory / Volume #
Moving sofa: related mathematical developments #
ForMathlib.Order.Infimum.ForMathlib.Order.IntervalPartition.
For Mathlib / Order / Infimum #
For Mathlib / Order / Interval Partition #
Adjacent half-open intervals of a finite monotone sequence cover its endpoint interval.
Moving sofa: related mathematical developments #
ForMathlib.Topology.Angle.ForMathlib.Topology.Order.Compact.ForMathlib.Topology.Order.Concatenation.ForMathlib.Topology.Order.Interval.ForMathlib.Topology.Order.IntervalExtension.
For Mathlib / Topology / Angle #
A continuous angle path starting at zero has a continuous real lift starting at zero.
For Mathlib / Topology / Order / Compact #
A positive continuous function has a positive uniform lower bound on a nonempty compact set.
For Mathlib / Topology / Order / Concatenation #
Concatenate two functions on [0, 1] on the interval [0, 2].
Equations
- Function.concatUnitIntervals x y t = if ↑t ≤ 1 then x (Set.projIcc 0 1 Function.concatUnitIntervals._proof_1 ↑t) else y (Set.projIcc 0 1 Function.concatUnitIntervals._proof_1 (↑t - 1))
Instances For
Concatenation is continuous when the endpoint values agree.
Joined paths have precisely the union of the two original ranges.
A strict cyclic cut preserves injectivity away from the final endpoint.
For Mathlib / Topology / Order / Interval #
Interval reversal is continuous.
Reversing a closed interval twice is the identity.
Interval reversal is surjective.
Replace the terminal value of a one-sided continuous function by its left limit.
Every compact real interval carries finite monotone partitions, with prescribed endpoints, whose mesh eventually falls below any positive threshold.
The increasing affine surjection between two nondegenerate closed intervals.
The decreasing affine surjection between two nondegenerate closed intervals: the increasing one reflected in the midpoint of its codomain.
For Mathlib / Topology / Order / Interval Extension #
The endpoint extension is surjective.
The endpoint extension is continuous.
Moving sofa: related mathematical developments #
ForMathlib.MeasureTheory.StieltjesTransport.ForMathlib.MeasureTheory.VectorMeasure.LocallyConstant.
For Mathlib / Measure Theory / Stieltjes Transport #
A monotone surjection of compact intervals preserves bounded variation.
The Stieltjes measure is preserved by continuous monotone surjective reparametrization.
The Stieltjes measure of a continuous BV function has no point masses.
The Stieltjes measure on a closed subinterval pushes forward to the half-open restriction.
An antitone surjection of compact intervals preserves bounded variation.
Reversing a continuous BV function negates its transported Stieltjes measure.
For Mathlib / Measure Theory / Vector Measure / Locally Constant #
Local constancy away from the initial endpoint gives a variation-null neighborhood.
Moving sofa: related mathematical developments #
Geometry.Foundations.Development001.Cap.Foundations.Development001.Polygon.Foundations.Development001.
Moving sofa: related mathematical developments #
Geometry.Plane.Geometry.Basic.Geometry.Frame.Geometry.NormalLines.Geometry.QuadrantBounds.Geometry.Subgraph.Geometry.Support.Geometry.Contacts.Geometry.FrameCalculus.
Geometry / Plane #
The two-dimensional real Euclidean space used for sofa geometry.
Equations
Instances For
Geometry / Basic #
The unit normal of the angular frame.
Equations
- MovingSofa.normalVector t = (MovingSofa.frame t).1
Instances For
The counterclockwise unit tangent of the angular frame.
Equations
Instances For
The support value; geometric results require a nonempty compact set.
Equations
- MovingSofa.supportValue s t = sSup ((fun (p : MovingSofa.Point) => inner ℝ p (MovingSofa.normalVector t)) '' s)
Instances For
The line with the given unit normal and signed offset.
Equations
- MovingSofa.normalLine t h = {p : MovingSofa.Point | inner ℝ p (MovingSofa.normalVector t) = h}
Instances For
Closed normal half-planes are closed, on either side of the boundary line.
Closed normal half-planes are convex, on either side of the boundary line.
Open normal half-planes are convex, on either side of the boundary line.
The supporting line and closed containing half-plane of a nonempty compact set.
Equations
Instances For
A closed supporting half-plane, read through the opposite normal direction.
Geometry / Frame #
Every unit vector is the normal vector of an angular frame.
Opposite real angles give opposite normal vectors.
Opposite real angles give opposite tangent vectors.
The inner product of two unit normals is the cosine of their angle difference.
A normal vector has squared length one.
A normal vector at an angle has squared length one.
A normal vector at a real angle has length one.
Adding pi to an angle reverses its normal vector.
The sine convolution kernel is the negative normal projection of the moving tangent.
The normal projection of a tangent vector is the sine of the angle difference.
The inner product of two unit tangents is the cosine of their angle difference.
Two points whose normal coordinates agree at two transverse angles coincide.
Each coordinate of the frame tangent is continuous in the angle.
The frame tangent is a unit vector.
Each coordinate of the frame tangent is bounded by one.
Geometry / Normal Lines #
A nontrivial segment has at most one normal direction strictly between zero and pi.
Opposite normal angles describe the same line with the opposite offset.
Geometry / Quadrant Bounds #
The planar region under the graph of a function #
For a b : ℝ and f : ℝ → ℝ this file describes the three planar regions between the
horizontal axis and the graph of f over [a, b]: closedSubgraph, which contains both the
base segment and the graph, strictSubgraph, which contains the base but not the graph, and
openSubgraph, which contains neither.
For a function continuous on [a, b], vanishing at a and b and positive in between, the
closed region is the closure of either smaller region (closure_openSubgraph,
closure_strictSubgraph) and the open region is its interior (interior_closedSubgraph).
The open subgraph omits the base, which the strict subgraph contains.
The strict subgraph omits the graph, which the closed subgraph contains.
The open subgraph is contained in the closed one.
The closed subgraph of a function continuous on the base interval is closed.
The open subgraph of a function continuous on the base interval is open.
The closed subgraph is the closure of the open one: interior graph points are limits from below, base points at interior horizontal coordinates are limits from above, and the two corners are limits of half-height points over the open base interval.
The open subgraph is the interior of the closed one.
Geometry / Support #
A compact convex body attains its support value in every normal direction.
Translating a nonempty compact set adds the normal component to its support value.
Translating a compact convex body adds the normal component of the translation to support.
Every point of a compact set lies below its support value.
A point of a convex body lies below each supporting line.
Containment in a closed normal half-plane bounds the support value.
Enlarging a nonempty set without increasing its directional upper bound preserves support.
Geometry / Contacts #
The exposed edge at a normal direction, including singleton edges.
Equations
- MovingSofa.exposedEdge K t = ↑K ∩ (MovingSofa.supportingLineHalfPlane (↑K) t).1
Instances For
The positive and negative tangent endpoints of an exposed edge.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The intersection point of two supporting lines at nonparallel normal directions.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Every exposed edge of a compact convex body is compact.
The positive tangent endpoint belongs to its exposed edge.
The negative tangent endpoint belongs to its exposed edge.
A singleton exposed face is both of its tangent endpoints.
The positive face vertex attains the largest tangent coordinate.
The negative face vertex attains the smallest tangent coordinate.
An exposed face is the segment joining its two tangent-extreme vertices.
An exposed face determines the support value and both of its endpoint vertices.
A support-line intersection in the body is the negative endpoint at the later normal.
A support-line intersection in the body is the positive endpoint at the earlier normal.
The first endpoint reaches the adjacent supporting-line intersection along a positive tangent ray.
The second endpoint reaches the adjacent supporting-line intersection against a positive tangent ray.
Faces at a reversed normal direction #
A body bounded below in a normal direction, with the bound attained, has the opposite support value in the reversed direction.
The face at a reversed normal direction consists of the points attaining the attained lower bound.
Faces between two supporting normals with a common contact point #
A point on two transverse supporting lines is their intersection.
Between two supporting normals less than a straight angle apart with a common contact point, every intervening face is that point.
Geometry / Frame Calculus #
The angular unit-normal parametrization is one-Lipschitz.
The angular unit-tangent parametrization is one-Lipschitz.
A combination of the rotating frame whose coefficients are globally Lipschitz and bounded on a set is Lipschitz on that set.
The angular derivative of a fixed normal projection is its tangent projection.
A contact point in a normal direction has the support derivative as tangent coordinate.
Moving sofa: related mathematical developments #
Cap.Basic.Cap.AngleDomain.Cap.Area.
Cap / Basic #
The normal directions of the two lower strip boundaries.
Instances For
A set represented by closed lower half-planes with allowed normal directions.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The normalized cap conditions, including its nonzero rotation-angle domain.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The space of caps at a fixed rotation angle.
Equations
Instances For
A nonempty finite set of angles strictly between zero and its rotation angle.
- angle : ℝ
The terminal rotation angle of the polygonal approximation.
The finite nonempty set of interior wall directions.
- nonempty : self.directions.Nonempty
Instances For
Polygon caps whose upper normals belong to the specified angle domain.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The fan above both lower strip boundaries.
Equations
- MovingSofa.capFan ω = MovingSofa.normalHalfPlane (↑ω) 0 true false ∩ MovingSofa.normalHalfPlane (↑(Real.pi / 2)) 0 true false
Instances For
The open inward quadrant of a supporting hallway is convex.
The niche is the union of inward quadrants clipped by the fan.
Equations
- MovingSofa.capNiche K = MovingSofa.capFan ω ∩ ⋃ t ∈ Set.Ioo 0 ω, MovingSofa.innerQuadrant (↑↑K) t
Instances For
The finite-angle niche uses the same fan clipping as the continuous niche.
Equations
- MovingSofa.polygonNiche Θ K = MovingSofa.capFan Θ.angle ∩ ⋃ t ∈ Θ.directions, MovingSofa.innerQuadrant (↑↑K) t
Instances For
Avoiding an inward quadrant means lying above one of its two inner walls.
Cap / Angle Domain #
Every upper normal of an angle set has strictly positive sine.
Cap / Area #
Cap area minus niche area, with real Lebesgue area as in the classical interface.
Equations
Instances For
The cap space at a right angle.
Equations
Instances For
The sofa area functional on the right-angle cap space.
Instances For
Moving sofa: related mathematical developments #
Polygon.AngleSet.Polygon.BooleanFunctions.Polygon.Height.Space.Polygon.Height.Bounds.Polygon.Height.RaisedSupport.Polygon.Nef.Basic.Polygon.Nef.CapConstruction.Polygon.Nef.Cells.Polygon.Nef.Height.Polygon.PerturbationBounds.Polygon.Polyline.Basic.Polygon.Polyline.Displacement.Polygon.Polyline.Graph.Polygon.Polyline.Measure.Polygon.Polyline.Projection.
Polygon / Angle Set #
A divisible grid refines the original grid.
Monotone dyadic grids have nested directions.
An interval longer than the mesh contains a grid direction.
An increasing sequence of grids eventually meets each interior open interval.
Polygon / Boolean Functions #
Boolean functions of finitely many Boolean variables.
Equations
- MovingSofa.BooleanFunction n = ((Fin n → Bool) → Bool)
Instances For
Changing inputs from false to true cannot change a true output to false.
Equations
Instances For
Formulas built from variables using only conjunction and disjunction.
- variable {n : ℕ} (i : Fin n) : PositiveBooleanFormula n
- conjunction {n : ℕ} (left right : PositiveBooleanFormula n) : PositiveBooleanFormula n
- disjunction {n : ℕ} (left right : PositiveBooleanFormula n) : PositiveBooleanFormula n
Instances For
Evaluate a positive formula under a Boolean assignment.
Equations
Instances For
Polygon / Height / Space #
Point sets obtained by translating a polygonal cap with the fixed angle data.
Equations
- MovingSofa.PolygonCapTranslateSpace Θ = { S : Set MovingSofa.Point // ∃ (K : MovingSofa.PolygonCapSpace Θ) (q : MovingSofa.Point), S = (fun (p : MovingSofa.Point) => p + q) '' ↑↑↑K }
Instances For
Real wall heights indexed by the finite angle domain.
Equations
- MovingSofa.PolygonHeightSpace Θ = (↑(MovingSofa.angleDomain Θ) → ℝ)
Instances For
Extend a wall-height function by zero outside its angle domain.
Equations
- MovingSofa.polygonHeightValue h t = if ht : t ∈ MovingSofa.angleDomain Θ then h ⟨t, ht⟩ else 0
Instances For
Intersect the two endpoint strips of unit width determined by the height data.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Cut the endpoint parallelogram by all upper wall half-planes.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Intersect the lower half-planes at the two endpoint directions.
Equations
- MovingSofa.polygonHeightFan h = ⋂ t ∈ {Θ.angle, Real.pi / 2}, MovingSofa.normalHalfPlane (↑t) (MovingSofa.polygonHeightValue h t - 1) true false
Instances For
Intersect the endpoint fan with the union of forbidden inner corners.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The real area of the cap minus the real area of its niche.
Equations
Instances For
Bundle the parallelogram, cap, fan, niche and area constructed from wall heights.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Take support values of a translated cap in the prescribed directions.
Equations
Instances For
The niche and area functional associated with a translated cap.
Equations
Instances For
Polygon / Height / Bounds #
A height cap satisfies each selected upper half-plane constraint.
The support of a reconstructed height cap is bounded by each defining height.
Unit width forces equality with the height of a distinguished strip.
Niches grow with their heights when the fan remains fixed.
Every polygon height niche is bounded.
Polygon / Height / Raised Support #
Increase one selected support height by the prescribed amount.
Equations
- MovingSofa.raisedPolygonSupport K t ε s = MovingSofa.supportValue ↑↑↑K ↑↑s + if s = t then ε else 0
Instances For
Polygon / Nef / Basic #
Normal direction, height and boundary conventions specifying a planar half-plane.
- angle : Real.Angle
The angle of the half-plane’s normal vector.
- height : ℝ
The scalar-product threshold defining the boundary line.
- upper : Bool
Select the side above the threshold when true, or below it when false.
- strict : Bool
Exclude the boundary line when true.
Instances For
The half-plane defined by the recorded normal, threshold and conventions.
Instances For
The line where the normal scalar product equals the recorded height.
Equations
Instances For
Evaluate a Boolean function on the point’s memberships in a finite family of sets.
Equations
Instances For
The set is a finite Boolean combination of planar half-planes.
Equations
- MovingSofa.IsNefPolygon X = ∃ (n : ℕ) (E : MovingSofa.BooleanFunction n) (H : Fin n → MovingSofa.PlanarHalfPlaneData), X = MovingSofa.booleanSet E fun (i : Fin n) => (H i).carrier
Instances For
A monotone Boolean representation uses the supplied walls with distinct boundary lines.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Polygon / Nef / Cap Construction #
The upper walls and two lower endpoint walls defining the polygonal cap.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The strict inner walls and two lower endpoint walls defining the polygonal niche.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Polygon / Nef / Cells #
Intersect the closed sides of each wall selected by the Boolean pattern.
Equations
Instances For
Switching the selected input from false to true switches the output to true.
Equations
- MovingSofa.Nef.IsActiveBooleanPattern E i P = (E (Function.update P i false) = false ∧ E (Function.update P i true) = true)
Instances For
All input patterns for which the selected Boolean variable is active.
Equations
Instances For
The set gained by making the selected wall universally true rather than false.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Polygon / Nef / Height #
Change one wall’s height by δ in a Boolean half-plane representation.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Polygon / Perturbation Bounds #
The polygonal cap with independently specified upper and lower wall heights.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The polygonal niche determined by independently specified lower wall heights.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Polygon / Polyline / Basic #
A finite vertex sequence whose horizontal coordinates strictly increase.
- edges : ℕ
The number of consecutive line segments in the polyline.
The ordered sequence of polyline vertices.
Instances For
The set is the carrier of a polyline with strictly increasing horizontal coordinates.
Equations
- MovingSofa.IsXMonotonePolyline S = ∃ (p : MovingSofa.XMonotonePolylineData), S = p.carrier
Instances For
Polygon / Polyline / Displacement #
The sine-weighted edge lengths telescope to the horizontal endpoint displacement.
A nonvertical segment has at most one normal angle strictly between zero and pi.
Grouping edge lengths by normal preserves the horizontal displacement identity.
Polygon / Polyline / Graph #
The point on the graph of a real-valued function above a given abscissa.
Equations
- MovingSofa.pointOnGraph f x = !₂[x, f x]
Instances For
An affine real-valued function is continuous.
A continuous function has a closed vertical epigraph.
The frontier of a continuous vertical epigraph is its graph.
A continuous finite selector of affine functions on a compact interval is a polyline.
Injective graph parametrizations preserve disjointness of parameter sets.
Polygon / Polyline / Measure #
Distinct increasing polyline segments meet only at a possible common endpoint.
The segments of an increasing polyline are almost disjoint for length measure.
A supporting-line slice has the sum of the lengths of its parallel segments.
The real length of a supporting-line slice is the sum of its parallel segment lengths.
Polygon / Polyline / Projection #
Every point of a polyline satisfies the bound by positive projected edge increments.
Grouping edge lengths by their unique normal preserves every weighted sum.
Positive normal projections bound every point of a polyline by its right endpoint.