Gerver sofa: related certificate and semantic modules #
GerverSofa.Foundation.Batch002.GerverSofa.KernelOnly.Foundation.Batch001.GerverSofa.KernelOnly.PartF.Semantics.Batch001.
Orientation-preserving rigid motions of the plane #
An element is represented by (c,s,tₓ,tᵧ) with c²+s²=1. Its linear
part is the rotation matrix [[c,-s],[s,c]], hence every value is an element
of SE(2) and not an arbitrary affine equivalence.
Identity element.
Equations
- GerverSofa.SE2.one = { c := 1, s := 0, tx := 0, ty := 0, unit := GerverSofa.SE2.one._proof_1 }
Instances For
Componentwise continuity is the topology-free representation of a path
in SE(2) used by the formal moving-sofa definition.
Equations
- GerverSofa.SE2.ContinuousPath g = ((Continuous fun (t : ℝ) => (g t).c) ∧ (Continuous fun (t : ℝ) => (g t).s) ∧ (Continuous fun (t : ℝ) => (g t).tx) ∧ Continuous fun (t : ℝ) => (g t).ty)
Instances For
Inversion preserves continuous SE(2) paths.
Supporting hallway and inverse motion #
World-frame hallway obtained from the standard hallway by frame.
Equations
- GerverSofa.supportingHallway frame = frame.act '' GerverSofa.hallway
Instances For
Set-level version of mem_supportingHallway_iff.
The concrete reduced and 22-dimensional Romik systems #
These are direct Lean transcriptions of equations (F1)--(F4) and of the independent equations (27)--(39), (41), (43) used by the companion verifier.
Four-dimensional reduced switching system.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The proposition that all four reduced equations vanish.
Equations
Instances For
Translation, phase, and switching-angle parameters of the five Romik branches.
- k11 : ℝ
Horizontal translation coefficient for phase 1.
- k12 : ℝ
Vertical translation coefficient for phase 1.
- k21 : ℝ
Horizontal translation coefficient for phase 2.
- k22 : ℝ
Vertical translation coefficient for phase 2.
- k31 : ℝ
Horizontal translation coefficient for phase 3.
- k32 : ℝ
Vertical translation coefficient for phase 3.
- k41 : ℝ
Horizontal translation coefficient for phase 4.
- k42 : ℝ
Vertical translation coefficient for phase 4.
- k51 : ℝ
Horizontal translation coefficient for phase 5.
- k52 : ℝ
Vertical translation coefficient for phase 5.
- a1 : ℝ
Coefficient 1 in the phase 1 closed formula.
- a2 : ℝ
Coefficient 2 in the phase 1 closed formula.
- b1 : ℝ
Coefficient 1 in the phase 2 closed formula.
- b2 : ℝ
Coefficient 2 in the phase 2 closed formula.
- c1 : ℝ
Coefficient 1 in the phase 3 closed formula.
- c2 : ℝ
Coefficient 2 in the phase 3 closed formula.
- d1 : ℝ
Coefficient 1 in the phase 4 closed formula.
- d2 : ℝ
Coefficient 2 in the phase 4 closed formula.
- e1 : ℝ
Coefficient 1 in the phase 5 closed formula.
- e2 : ℝ
Coefficient 2 in the phase 5 closed formula.
- phi : ℝ
First switching angle.
- theta : ℝ
Second switching angle.
Instances For
Phase 1 of the five-phase Gerver path.
Equations
Instances For
Phase 3 of the five-phase Gerver path.
Equations
- GerverSofa.Romik.path3 p t = GerverSofa.Romik.addK (GerverSofa.Romik.rot t (p.c1 - t, p.c2 + t)) p.k31 p.k32
Instances For
Phase 5 of the five-phase Gerver path.
Equations
Instances For
Body-frame derivative coefficients (alpha,beta) on phase 1.
Equations
Instances For
Rotate body-frame velocity coordinates into the world frame.
Equations
Instances For
World-frame velocity formula for phase 1.
Equations
Instances For
World-frame velocity formula for phase 2.
Equations
Instances For
World-frame velocity formula for phase 3.
Equations
Instances For
Romik's 22 independent scalar equations.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The proposition that all 22 independent equations vanish.
Equations
Instances For
The physical five-phase path on [0,π/2]. At a switching angle either
adjacent formula may be chosen; the certified matching equations prove they
coincide.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Linear normalization from unit time to physical rotation angle.
Equations
- GerverSofa.Romik.angle u = u * (Real.pi / 2)
Instances For
Standard-to-world frame q ↦ x(t)+R_t q for normalized time.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The normalized physical angle depends continuously on time.
Continuity of the five-phase path implies componentwise continuity of the
supporting SE(2) frame.
Continuity from the independent matching equations #
The four positional matching equations make the literal nested-if
five-phase path continuous whenever its switches are ordered.
Exact real boxes used by the Krawczyk certificates #
Every endpoint is written as an exact integer quotient. There are no binary floating-point constants in these definitions.
Interpret an integer numerator and natural denominator as a real quotient.
Equations
- GerverSofa.qR n d = ↑n / ↑d
Instances For
Input box X_a × X_b × X_phi × X_theta.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The direct 22-dimensional box Y × Phi × Theta.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The exact direct-system box orders the four physical switching times.
The certified box and the positional equations discharge the path continuity field needed by the moving-sofa assembly.
Concrete Gerver cap, niche and fixed sofa #
The definitions follow the manuscript literally. This file also proves the closedness part of the main topological certificate directly from the half-plane definitions; it does not use the numerical certificate or Baek's cap theory.
Euclidean scalar product in the fixed coordinate representation.
Equations
- GerverSofa.dot p q = p.1 * q.1 + p.2 * q.2
Instances For
The lower fan in the manuscript normalisation.
Equations
- GerverSofa.capFan = {q : GerverSofa.Point | 0 ≤ q.2}
Instances For
First rotating supporting half-plane.
Equations
- GerverSofa.supportHalfU p t = {q : GerverSofa.Point | GerverSofa.dot q (GerverSofa.u t) ≤ GerverSofa.dot (GerverSofa.Romik.path p t) (GerverSofa.u t) + 1}
Instances For
Second rotating supporting half-plane.
Equations
- GerverSofa.supportHalfV p t = {q : GerverSofa.Point | GerverSofa.dot q (GerverSofa.v t) ≤ GerverSofa.dot (GerverSofa.Romik.path p t) (GerverSofa.v t) + 1}
Instances For
The cap K₀ reconstructed from the five-phase path.
Equations
- GerverSofa.Romik.K0 p = {q : GerverSofa.Point | 0 ≤ q.2 ∧ ∀ t ∈ Set.Icc 0 (Real.pi / 2), q ∈ GerverSofa.supportHalfU p t ∩ GerverSofa.supportHalfV p t}
Instances For
Union of all forbidden inner quadrants at interior rotation times.
Equations
- GerverSofa.Romik.innerUnion p = {q : GerverSofa.Point | ∃ t ∈ Set.Ioo 0 (Real.pi / 2), q ∈ GerverSofa.Romik.innerQuadrantAt p t}
Instances For
The niche removed from the cap.
Equations
Instances For
The fixed Gerver candidate G = K₀ \ N(K₀).
Equations
Instances For
Closedness facts independent of the numerical certificate #
A fixed supporting half-plane is closed.
The other fixed supporting half-plane is closed.
K₀ is closed, before any support-maximisation or compactness argument.
Every instantaneous inner quadrant is open.
The union of all interior-time inner quadrants is open.
The cap lies in its fan by definition.
Since K₀ ⊆ capFan, removing the niche is the same as removing the open
union of forbidden quadrants.
The concrete fixed sofa candidate is closed for every parameter vector.
Algebraic hallway characterisation and endpoint assembly #
The inverse supporting frame has exactly the two signed wall coordinates used in the manuscript.
A point is in the supporting hallway iff its two wall coordinates lie in
Q⁺ but not simultaneously in the open inner quadrant Q⁻.
Gerver sofa dependency batch #
KernelOnly.AlternatingSeries.KernelOnly.Coordinates.KernelOnly.EndpointSymmetry.KernelOnly.Identification.KernelOnly.ReplayConsequences.KernelOnly.SoundnessInterfaces.KernelOnly.TranscendentalSoundness.KernelOnly.ADCoreSoundness.KernelOnly.ReducedADSoundness.KernelOnly.FullADSoundness.
Alternating-series kernel for the executable transcendental layer #
This file connects the exact rational partial sums used by ExactReplay to
Mathlib's real power-series theorems. The Taylor evaluator is intentionally
used only on arguments in [0, 1]; the range-reduction layer proves this
precondition before calling these results.
On [0,1], the unsigned sine Taylor terms decrease.
On [0,1], the unsigned cosine Taylor terms decrease.
On [0,1], the unsigned arctangent Taylor terms decrease.
Casting the executable cosine partial sum to ℝ gives the corresponding
Mathlib finite Taylor sum.
Casting the executable arctangent partial sum to ℝ gives the
corresponding Mathlib finite Taylor sum.
The 20-term sine partial sum is a lower bound and the 19-term partial sum
is an upper bound for every rational argument in [0,1].
The 20-term cosine partial sum is a lower bound and the 19-term partial
sum is an upper bound for every rational argument in [0,1].
Even/odd arctangent partial sums provide certified lower/upper bounds.
Coordinate equivalences for the certified systems #
The executable interval layer works with Fin n → ℝ, while the manuscript
layer uses named parameter records. These equivalences are the explicit,
kernel-checked bridge between the two representations.
Named reduced parameters as a four-vector in manuscript order.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Reduced system expressed in finite-vector coordinates.
Equations
Instances For
The reduced parameter box expressed in finite-vector coordinates.
Equations
Instances For
Transport a finite-vector uniqueness certificate back to named reduced parameters.
Equations
- GerverSofa.Reduced.uniqueSolutionOfVector c = { solution := GerverSofa.Reduced.coordEquiv.symm c.solution, solution_mem := ⋯, satisfies := ⋯, unique_iff := ⋯ }
Instances For
Named Romik parameters as a 22-vector in verifier order.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Direct Romik system expressed in finite-vector coordinates.
Equations
Instances For
The direct Romik box expressed in finite-vector coordinates.
Equations
Instances For
Transport a finite-vector uniqueness certificate back to named Romik parameters.
Equations
- GerverSofa.Romik.uniqueSolutionOfVector c = { solution := GerverSofa.Romik.coordEquiv.symm c.solution, solution_mem := ⋯, satisfies := ⋯, unique_iff := ⋯ }
Instances For
Endpoint symmetry derived from the direct 22-dimensional system #
The manuscript obtains the terminal condition x₂(π/2)=0 from the reflection
symmetry of the five phases. This file proves the required consequence
without introducing a symmetry assumption and without using numerical
approximations.
FIX12 keeps the BATCH11 mathematics and public theorem statements unchanged,
but factors the formula-level algebra into small coordinate identities. This
avoids asking ring to normalize the fully unfolded five-phase expressions in
one large proof term.
Exact parameter consequences of equations 27--34 #
Small definitional coordinate identities #
These are deliberately rfl: they expose only the second coordinate of one
phase at a time. Downstream algebra therefore operates on compact scalar
expressions rather than on the fully unfolded Point/rot/addK terms.
Formula-level reflection identities #
Translation constants forced by matching #
Terminal condition #
Identification with Romik's hallway-intersection reconstruction #
This is the set-theoretic part of Proposition prop:gerver. It uses only the
literal definitions and the two endpoint normalisations; the eighteen-piece
boundary statement remains a separate field of FullArticleCertificate.
Romik's fixed-frame reconstruction: initial arm, every supporting hallway, and the final transported vertical arm.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Convert a physical angle in [0,π/2] to normalized time.
Equations
- GerverSofa.Romik.normalizedTime t = t / (Real.pi / 2)
Instances For
Membership in every physical hallway excludes every open interior-time inner quadrant.
Conversely, Romik's hallway intersection lies in the concrete cap-minus-niche set.
Named consequences of the frozen kernel-only certificate #
These handles intentionally reason about the proof-carrying rational data, not
about re-running the expensive Krawczyk/grid search inside kernel reduction.
The latter remains available under ExactReplay.executable* for independent
diagnostic comparison.
Semantic interfaces for the executable interval certificate #
These definitions state, without hiding any mathematical assumption, the
bridges that turn the frozen rational replay into facts about Real.sin,
Real.cos, the two real systems, and their Jacobians. Concrete proof terms
for these interfaces are the remaining analytic part of the end-to-end
certificate; no axiom is declared here.
A rational interval list encloses a finite real vector coordinatewise.
Equations
- GerverSofa.EnclosesVec box x = (box.length = n ∧ ∀ (i : Fin n), (box.getD (↑i) (GerverSofa.RatInterval.point 0)).Contains (x i))
Instances For
A one-dimensional real derivative certificate in the classical
difference-quotient form. This is the exact real specialization of the
right-hand side of Mathlib's hasDerivAt_iff_tendsto_slope_zero: it states
that (f (x+t)-f x)/t tends to f' as t → 0, t ≠ 0.
Unlike storing raw HasDerivAt/DifferentiableAt, this proposition contains
no hidden AddCommGroup/Module instance path for the codomain ℝ; this
removes the instance diamond exposed by Lean 4.33 while retaining the full
mathematical meaning of an actual derivative.
Equations
- GerverSofa.RealDerivativeAt f f' x = Filter.Tendsto (fun (t : ℝ) => t⁻¹ * (f (x + t) - f x)) (nhdsWithin 0 {0}ᶜ) (nhds f')
Instances For
Exact analytic correctness required from the executable trigonometric layer. The domain is the physical range used by the Gerver certificate.
- sine_mem (z : RatInterval) (x : ℝ) : z.Contains x → 0 ≤ x → x ≤ Real.pi / 2 → (ExactReplay.sineInterval z).Contains (Real.sin x)
- cosine_mem (z : RatInterval) (x : ℝ) : z.Contains x → 0 ≤ x → x ≤ Real.pi / 2 → (ExactReplay.cosineInterval z).Contains (Real.cos x)
Instances For
Soundness of the exact transcendental interval evaluator #
This file proves the analytic trust bridge omitted by the executable replay:
- the alternating rational arctangent sums enclose the two Machin terms;
- the computed Machin interval encloses
Real.piand lies in the declared interval; - fixed-decimal rounding is outward;
- the small-argument Taylor intervals enclose
Real.sinandReal.cos; - complementary-angle reduction is sound on
[0, π/2]; - externally over-wide intervals fail closed to
[-1,1]rather than silently violating the Taylor precondition.
No project axiom and no floating-point literal occurs in this file.
Partial-sum interval consequences #
Machin identity and the declared interval for π #
The interval computed from the two exact arctangent Taylor certificates
contains the true value of π.
The executable declared interval agrees with the frozen manifest.
Outward decimal rounding #
Fixed-decimal floor rounding never exceeds the input rational.
Fixed-decimal ceiling rounding never lies below the input rational.
The exact 60-decimal conversion is outward in real semantics.
Small-argument sine and cosine #
Range reduction and fail-closed totality #
Physical clamping preserves every enclosed angle in [0,π/2].
Complementary-angle range reduction encloses π/2-x.
Universal fallback for sine.
Universal fallback for cosine.
Structural soundness of first-order interval automatic differentiation #
The executable ExactReplay.D object stores a value interval and one interval
for every first partial derivative. This file supplies the reusable semantic
induction for all constructors actually used by the 4D and 22D certificates.
The concrete systems are handled in a separate module by instantiating these
constructor theorems.
Smooth scalar models #
A scalar function together with its coordinate gradient and a proof that
those coordinates are the actual partial derivatives. The derivative witness
is stored as RealDerivativeAt, a first-principles real difference-quotient
limit. Constructor proofs temporarily move through Mathlib's HasDerivAt
API and immediately return to this instance-stable semantic proposition.
The real scalar function represented by the model.
The coordinate gradient of the scalar function.
- hasDeriv_update (x : Fin n → ℝ) (j : Fin n) : RealDerivativeAt (fun (t : ℝ) => self.value (Function.update x j t)) (self.gradient x j) (x j)
Instances For
Constant scalar model.
Equations
- GerverSofa.ScalarModel.const n c = { value := fun (x : GerverSofa.Vec n) => c, gradient := fun (x : GerverSofa.Vec n) (x_1 : Fin n) => 0, hasDeriv_update := ⋯ }
Instances For
Coordinate projection.
Equations
- GerverSofa.ScalarModel.var n k = { value := fun (x : GerverSofa.Vec n) => x k, gradient := fun (x : GerverSofa.Vec n) (j : Fin n) => if j = k then 1 else 0, hasDeriv_update := ⋯ }
Instances For
Pointwise addition.
Equations
Instances For
Pointwise negation.
Equations
Instances For
Pointwise subtraction.
Instances For
Pointwise multiplication.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Rational scaling.
Equations
- GerverSofa.ScalarModel.scale a f = { value := fun (x : GerverSofa.Vec n) => ↑a * f.value x, gradient := fun (x : GerverSofa.Vec n) (j : Fin n) => ↑a * f.gradient x j, hasDeriv_update := ⋯ }
Instances For
Sine composition.
Equations
Instances For
Cosine composition.
Equations
Instances For
Equations
Equations
Equations
Equations
Equations
The executable systems are written with notation, while constructor-level soundness lemmas produce the named operations above. These tiny simp bridges make that definitional equality explicit without unfolding the proof-carrying structures themselves.
Matching notation bridges for the executable dual intervals.
Semantic relation for the executable dual interval #
An executable dual interval encloses a smooth scalar model on a set.
Instances For
List access lemmas used by the AD constructors #
Constructor soundness #
Exact interval constant.
Rational point constant.
Coordinate variable read from an enclosing input interval.
Addition constructor.
Negation constructor.
Subtraction constructor.
Multiplication constructor and product rule.
Rational scaling constructor.
Concrete interval-AD soundness for the reduced 4D system #
This module instantiates the constructor-level AD theorem with equations
(F1)--(F4), proves that the frozen rational list is exactly the manuscript box,
and identifies the four smooth scalar models with Reduced.vectorSystem.
The four frozen rational intervals are exactly the named reduced box.
Scalar models matching the four reduced equations.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The model values are definitionally the manuscript reduced system after coordinate conversion.
Concrete interval-AD soundness for the direct 22D Romik system #
The direct system contains five trigonometric path pieces, three derivative
pieces and six matching pairs. To avoid 22 unrelated derivative proofs, this
file evaluates every expression in a proof-carrying dual object. Its first
projection is the exact executable ExactReplay.D; its second projection is a
smooth real scalar model; and its third field is the constructor-level
soundness theorem from ADCoreSoundness.
Exact identification of the 22D input box #
The 22 coordinates are kept as separate tiny lemmas. This is deliberately
chunked: expanding all 44 rational endpoint inequalities in one simp call
exhausts the default heartbeat budget even though every coordinate identity is
individually trivial.
The 22 frozen rational intervals are exactly the named direct-system box.
All four switching times used by the direct evaluator lie in [0,π/2].
Proof-carrying dual expressions #
One executable interval dual paired with its real semantic model.
- d : ExactReplay.D
The interval value and derivative data being certified.
- model : ScalarModel n
The real scalar function and gradient represented by the interval data.
Instances For
A constant scalar model with a certified interval enclosure.
Equations
- GerverSofa.Romik.SoundDual.const z c h = { d := GerverSofa.ExactReplay.D.const z n, model := GerverSofa.ScalarModel.const n c, sound := ⋯ }
Instances For
A rational constant represented by a singleton interval and zero gradient.
Equations
- GerverSofa.Romik.SoundDual.pointConst q = { d := GerverSofa.ExactReplay.D.pointConst q n, model := GerverSofa.ScalarModel.const n ↑q, sound := ⋯ }
Instances For
A coordinate projection with its certified input interval.
Equations
- GerverSofa.Romik.SoundDual.var input k h = { d := GerverSofa.ExactReplay.D.varD input (↑k) n, model := GerverSofa.ScalarModel.var n k, sound := ⋯ }
Instances For
Rational scaling with certified interval value and gradient enclosures.
Equations
- GerverSofa.Romik.SoundDual.scale q a = { d := GerverSofa.ExactReplay.D.scaleD q a.d, model := GerverSofa.ScalarModel.scale q a.model, sound := ⋯ }
Instances For
Equations
Equations
Equations
Equations
Equations
Small projection lemmas keep the simplifier away from the proof fields of
SoundDual. All are definitional equalities.
A certified physical angle, used to justify every sine/cosine constructor.
- dual : SoundDual n X
The certified scalar model for the angle variable.
Instances For
Named proof-carrying versions of all direct-system variables.
- k11 : SoundDual 22 X
Horizontal translation coefficient for phase 1 as a certified dual interval.
- k12 : SoundDual 22 X
Vertical translation coefficient for phase 1 as a certified dual interval.
- k21 : SoundDual 22 X
Horizontal translation coefficient for phase 2 as a certified dual interval.
- k22 : SoundDual 22 X
Vertical translation coefficient for phase 2 as a certified dual interval.
- k31 : SoundDual 22 X
Horizontal translation coefficient for phase 3 as a certified dual interval.
- k32 : SoundDual 22 X
Vertical translation coefficient for phase 3 as a certified dual interval.
- k41 : SoundDual 22 X
Horizontal translation coefficient for phase 4 as a certified dual interval.
- k42 : SoundDual 22 X
Vertical translation coefficient for phase 4 as a certified dual interval.
- k51 : SoundDual 22 X
Horizontal translation coefficient for phase 5 as a certified dual interval.
- k52 : SoundDual 22 X
Vertical translation coefficient for phase 5 as a certified dual interval.
- a1 : SoundDual 22 X
Coefficient 1 in the phase 1 closed formula as a certified dual interval.
- a2 : SoundDual 22 X
Coefficient 2 in the phase 1 closed formula as a certified dual interval.
- b1 : SoundDual 22 X
Coefficient 1 in the phase 2 closed formula as a certified dual interval.
- b2 : SoundDual 22 X
Coefficient 2 in the phase 2 closed formula as a certified dual interval.
- c1 : SoundDual 22 X
Coefficient 1 in the phase 3 closed formula as a certified dual interval.
- c2 : SoundDual 22 X
Coefficient 2 in the phase 3 closed formula as a certified dual interval.
- d1 : SoundDual 22 X
Coefficient 1 in the phase 4 closed formula as a certified dual interval.
- d2 : SoundDual 22 X
Coefficient 2 in the phase 4 closed formula as a certified dual interval.
- e1 : SoundDual 22 X
Coefficient 1 in the phase 5 closed formula as a certified dual interval.
- e2 : SoundDual 22 X
Coefficient 2 in the phase 5 closed formula as a certified dual interval.
Instances For
The 22 coordinate variables equipped with their input-enclosure proofs.
Equations
Instances For
Named first twenty variables in verifier order.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Exact proof-carrying π constant.
Equations
Instances For
First switching angle.
Equations
- GerverSofa.Romik.phiDual = { dual := GerverSofa.Romik.inputDual 20, physical := GerverSofa.Romik.phiDual._proof_1 }
Instances For
Second switching angle.
Equations
- GerverSofa.Romik.thetaDual = { dual := GerverSofa.Romik.inputDual 21, physical := GerverSofa.Romik.thetaDual._proof_1 }
Instances For
Reflected third switching angle π/2-θ.
Equations
- GerverSofa.Romik.etaDual = { dual := 1 / 2 * GerverSofa.Romik.piDual - GerverSofa.Romik.thetaDual.dual, physical := GerverSofa.Romik.etaDual._proof_1 }
Instances For
Reflected fourth switching angle π/2-φ.
Equations
- GerverSofa.Romik.tauDual = { dual := 1 / 2 * GerverSofa.Romik.piDual - GerverSofa.Romik.phiDual.dual, physical := GerverSofa.Romik.tauDual._proof_1 }
Instances For
Rotation of a proof-carrying body-frame vector.
Instances For
World-frame derivative piece.
Equations
- GerverSofa.Romik.pathPrimeDual j t p = GerverSofa.Romik.rotDual t (GerverSofa.Romik.alphaBetaDual j t p).1 (GerverSofa.Romik.alphaBetaDual j t p).2
Instances For
The complete proof-carrying direct system in manuscript order.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Public-shape unfold lemmas for the three derivative path pieces.
Systems.lean deliberately hides the helper pathPrimeFromAB. When system
is unfolded outside that file, the private helper survives as an inaccessible
constant, so ring cannot see that the right-hand side is just a rotation.
These rfl lemmas expose exactly the public normal form needed by the four
derivative-matching equations.
The semantic identification is split coordinatewise so each normalization
gets its own heartbeat budget. A single 22-way fin_cases <;> simp <;> ring
command is mathematically fine but deterministically exhausts 200000 heartbeats.
The real models carried by fullDualOutput are exactly the 22 manuscript
functions in finite-vector coordinates.
Gerver sofa dependency batch #
KernelOnly.PartF.F01AffineOrder.KernelOnly.PartF.F01PhaseAlgebra.KernelOnly.PartF.F01SetMotion.KernelOnly.PartF.F02Coordinates.KernelOnly.PartF.F04IntegralPrimitives.KernelOnly.PartF.F04IntegralEvaluation.KernelOnly.PartF.F05DictionaryEquations.KernelOnly.PartF.F06ReverseSystem.KernelOnly.PartF.F06FullReconstruction.
F01: the affine-order bridge for issue #5270 #
The two constructors are deliberately given different names. No upstream definition is changed or imported, and no theorem from the conjecture file is used. Both application conventions and the conversion between them are proved for an arbitrary linear isometry equivalence.
The Euclidean plane used for the continuous rigid-motion formulation.
Equations
Instances For
Affine isometries of the Euclidean plane.
Instances For
The ordered coordinate-basis orientation used by the pinned upstream
FormalConjecturesForMathlib/Geometry/2d.lean. Importing Mathlib alone
does not install that project's plane-orientation instance.
Equations
- GerverSofa.PartF.planeOriented = { positiveOrientation := (PiLp.basisFun 2 ℝ (Fin 2)).orientation }
The second instance supplied by the same upstream plane helper.
The topology used by the pinned MovingSofa.IsMovingSofa definition.
The composition currently implemented upstream: q ↦ R q + p.
Equations
Instances For
The documented composition: q ↦ R (q + p).
Equations
Instances For
Counterclockwise rotation of the oriented plane through angle t.
Equations
Instances For
Translate by the body-frame offset and then rotate through t.
Equations
Instances For
Rotate through t and then translate by the world position.
Equations
Instances For
F01: algebraic half of the integral-to-five-phase representation #
The coefficient dictionary and the five explicit body-frame branches come
from the 4 September integral-motion excerpt. They are compared to the
actual Romik.path1 ... Romik.path5 definitions, then assembled using the
same if boundaries as Romik.path.
This module does NOT evaluate the integrals: closedPath is explicitly
named as a closed-form candidate. Proving that the pinned integral path
equals it, and identifying dictionary d with the certified 22D tuple,
remain separate obligations. No such equality is assumed here.
The terminal rotation angle π/2.
Equations
Instances For
The auxiliary height parameter (a + θ - φ - 1) / 2.
Instances For
Phase 3 integration constant for the vertical primitive.
Equations
Instances For
Phase 3 integration constant for the horizontal primitive.
Equations
Instances For
Phase 2 integration constant for the vertical primitive.
Equations
Instances For
Phase 2 integration constant for the horizontal primitive.
Equations
Instances For
Phase 1 integration constant for the vertical primitive.
Equations
Instances For
Phase 1 integration constant for the horizontal primitive.
Equations
Instances For
Express all twenty-two Romik parameters in terms of the four reduced parameters.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The polynomial profile for phase 2 of the path.
Instances For
The polynomial profile for phase 3 of the path.
Instances For
The polynomial profile for phase 4 of the path.
Equations
Instances For
The closed rotation-path formula for phase 1.
Equations
Instances For
The closed rotation-path formula for phase 2.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The closed rotation-path formula for phase 3.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The closed rotation-path formula for phase 4.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The closed rotation-path formula for phase 5.
Equations
Instances For
The five-branch closed formula for the rotation path.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Exact assembly for the explicit closed path, including every switching endpoint. This is not yet the corresponding theorem for the integral path.
F01: supporting intersections and their continuous inverse motion #
Model.IsMovingSofa has the seven fields and the rigid-motion topology of
the upstream definition. This local, independently named model avoids
importing upstream conjectures with unfinished proof terms. Its concrete
instantiation for the integral Gerver path still needs the analytic bridge.
Intersect the endpoint hallway arms and all intermediate moving hallways.
Equations
- GerverSofa.PartF.frameIntersection F H V L = ⇑(F 0) '' H ∩ ⇑(F 1) '' V ∩ ⋂ (s : ↑unitInterval), ⇑(F s) '' L
Instances For
The hallway intersection parametrized by angles from zero to π/2.
Equations
Instances For
The hallway intersection generated by a path in body-frame coordinates.
Equations
- GerverSofa.PartF.bodySofa p H V L = GerverSofa.PartF.angleIntersection (fun (t : ℝ) => GerverSofa.PartF.bodyFrame t (p t)) H V L
Instances For
The hallway intersection generated by a path in world-frame coordinates.
Equations
- GerverSofa.PartF.worldSofa x H V L = GerverSofa.PartF.angleIntersection (fun (t : ℝ) => GerverSofa.PartF.worldFrame t (x t)) H V L
Instances For
Normalizing the physical angle does not change the intersection.
The union of the two perpendicular unit-width hallway arms.
Equations
Instances For
A nonempty closed connected set moving continuously between the hallway arms.
- isConnected : IsConnected S
- isClosed : IsClosed S
- continuous : Continuous m
- initial : S ⊆ horizontalHallway
- subset_hallway (s : ↑unitInterval) : ⇑(m s) '' S ⊆ hallway
- final : ⇑(m 1) '' S ⊆ verticalHallway
Instances For
F02: the coordinate homeomorphism #
The product Point = ℝ × ℝ and Plane = EuclideanSpace ℝ (Fin 2)
have the same coordinates and topology. Their norms differ. Accordingly,
the coordinate identification below is a linear equivalence and a
homeomorphism. Euclidean isometries are constructed separately.
Convert a pair of real coordinates to a Euclidean vector.
Equations
- GerverSofa.PartF.Coordinates.toPlane q = !₂[q.1, q.2]
Instances For
The coordinate homeomorphism between real pairs and the Euclidean plane.
Equations
Instances For
F04: literal integral data and its branch primitives #
The parameterized definitions below are the pinned upstream scalar integrals. The phase boundaries are preserved. Integrating across the jumps will use equality on open intervals, not an incorrect global continuity assertion for r.
The reflected second switching angle π/2 - θ.
Equations
Instances For
The integrand profile on phase 2.
Equations
Instances For
The integrand profile on phase 3.
Equations
Instances For
The integrand profile on phase 4.
Equations
Instances For
The piecewise phase profile used in the integral representation.
Equations
- One or more equations did not get rendered due to their size.
Instances For
One minus the cosine-weighted profile integral from t to the last switching angle.
Equations
- GerverSofa.PartF.Integrals.xi d t = 1 - ∫ (s : ℝ) in t..GerverSofa.PartF.Integrals.tau d, GerverSofa.PartF.Integrals.r d s * Real.cos s
Instances For
The sine-weighted profile integral from t to the last switching angle.
Equations
- GerverSofa.PartF.Integrals.zeta d t = ∫ (s : ℝ) in t..GerverSofa.PartF.Integrals.tau d, GerverSofa.PartF.Integrals.r d s * Real.sin s
Instances For
The rotation path expressed using the two profile integrals.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The derivative formula for the fourth phase profile.
Equations
Instances For
Horizontal primitive specialized to phase 1.
Equations
Instances For
Vertical primitive specialized to phase 1.
Equations
Instances For
Horizontal primitive specialized to phase 2.
Equations
- GerverSofa.PartF.Integrals.X2 d = GerverSofa.PartF.Integrals.primitiveX (GerverSofa.PartF.Phases.V2 d) (GerverSofa.PartF.Phases.g2 d) fun (x : ℝ) => 1 / 2
Instances For
Vertical primitive specialized to phase 2.
Equations
- GerverSofa.PartF.Integrals.Y2 d = GerverSofa.PartF.Integrals.primitiveY (GerverSofa.PartF.Phases.U2 d) (GerverSofa.PartF.Phases.g2 d) fun (x : ℝ) => 1 / 2
Instances For
Horizontal primitive specialized to phase 3.
Equations
- GerverSofa.PartF.Integrals.X3 d = GerverSofa.PartF.Integrals.primitiveX (GerverSofa.PartF.Phases.V3 d) (GerverSofa.PartF.Phases.g3 d) fun (x : ℝ) => 1
Instances For
Vertical primitive specialized to phase 3.
Equations
- GerverSofa.PartF.Integrals.Y3 d = GerverSofa.PartF.Integrals.primitiveY (GerverSofa.PartF.Phases.U3 d) (GerverSofa.PartF.Phases.g3 d) fun (x : ℝ) => 1
Instances For
Horizontal primitive specialized to phase 4.
Equations
Instances For
Vertical primitive specialized to phase 4.
Equations
Instances For
F05 repair: normalize only the scalar derivative, never typeclass arguments.
F04: evaluation of the literal integrals on all four closed intervals #
The fundamental theorem is applied to smooth branch primitives. Equality with the discontinuous integrand is required only on the open interval. Adjacent integrals are then added, using the proved matching values at every switch.
F05: the four-parameter dictionary satisfies the full 22 equations #
These polynomial certificates use the four reduced equations and the two trigonometric circle identities. No box membership or uniqueness is assumed. They do not identify the dictionary with the independently certified 22D root. The module is independent of the F04 integral evaluation.
Read back the four free parameters from the 22D representation.
Equations
Instances For
F06: reverse reduction from the full Romik equations #
This direction uses velocity matching and the two contact equations. It does not assume membership in either numerical box or any strict angle inequality.
F06: the reverse parameters determine the full solution #
Velocity matching determines the shape coefficients. Positional matching then determines each successive translation. No numerical enclosure is used.