Encyclopedia Gravity Gravity Freudenthal Axis Stencil Coeff Cert Freudenthal Explicit Fiber Flat Loca
ARTICLE 2 claims 2 theorems
Gravity Freudenthal Axis Stencil Coeff Cert Freudenthal Explicit Fiber Flat Loca
A machine-checked certificate that a five-point gravity stencil's error terms vanish exactly, using rational arithmetic instead of floating-point guesses.
The coefficient certificate
The declaration freudenthalExplicitFiberFlatLocalEdgeLengthDirectionalDeriv_selectedCell5 is a machine-checked certificate inside the Recognition Science framework's library of formal theorems. It verifies that a specific numerical approximation scheme, a five-point stencil on a periodic three-dimensional grid, has zero residual error for every pair of grid points. The check runs over all 125 vertices of a 5×5×5 torus, and it does so using exact rational arithmetic, never floating-point rounding. The statement it proves is coefficient-vanishing: every coefficient attached to a product of two potential values in the stencil's error expansion is exactly zero.
The practical content is that the stencil, a local rule for estimating a directional derivative from nearby grid values, is exact on the chosen periodic lattice. The certificate is a finite audit: it enumerates every unordered pair of vertices, computes the rational coefficient contributed by each edge in the stencil, and confirms the sum is zero. The theorem axisStencilCoeffSoundnessAtN5 states that the residual equals its expansion into these coefficients, and the certificate FullResidualCoeffCert asserts every such coefficient vanishes. This is a proof of an algebraic identity, not a numerical experiment.
In Recognition Science, this certificate is a step toward a larger target: converting the coefficient audit into a canonical statement about a periodic mixed hinge deficit at size five. The declaration does not claim that the stencil approximates derivatives on arbitrary grids, nor that it converges to a continuum operator. It does not assert anything about the physical content of gravity, only that this particular algebraic construction is internally consistent. The certificate is a finite, exact check; it is not a derivation of a physical law.
What a reader can take away is that the framework's library contains a verified, exact algebraic fact about a specific stencil on a periodic grid. The claim is narrow and precise: for this stencil, on this grid, the residual coefficients are all zero. The certificate does not extend to other stencils, other grid sizes, or to claims about the continuum limit. It is a building block, not a finished theory.
THEOREM FullResidualCoeffCert · IndisputableMonolith/Gravity/FreudenthalAxisStencilCoeffCert.lean
/-- Full coefficient-vanishing statement for the corrected `N = 5` axis-stencil
residual. This is the finite certificate still needed before converting the
coefficient audit into `CanonicalPeriodicMixedHingeDeficitExplicitFiberAxisStencilTargetAtN5`. -/
def FullResidualCoeffCert : Prop :=
∀ u v : Vertex5, mixedAxisResidualCoeff u v = 0
THEOREM axisStencilCoeffSoundnessAtN5 · IndisputableMonolith/Gravity/FreudenthalAxisStencilCoeffCert.lean
/-- The corrected three-axis stencil is sound with respect to the unordered
coefficient expansion. This closes the RHS half of
`ExplicitFiberAxisStencilCoeffSoundnessAtN5`; the remaining packaging work is
the explicit-fiber LHS expansion. -/
theorem axisStencilCoeffSoundnessAtN5 :
AxisStencilCoeffSoundnessAtN5 := by
intro ξ
let atom := fun (base : Vertex5) (d : Fin 3) (u v : Vertex5) =>
let edge : PeriodicEdge5 := { base := base, disp := periodicAxisDisp d }
let ep := edge.endpoints
(if ep.1 = u && ep.1 = v then (-2 : Rat) else 0) +
(if ep.2 = u && ep.2 = v then (-2 : Rat) else 0) +
(if sameUnordered ep.1 ep.2 u v then (4 : Rat) else 0)
let F := fun (u v base : Vertex5) (d : Fin 3) =>
if vertex5CanonLE u v then ((atom base d u v : Rat) : ℝ) *
potentialAtVertex5 ξ u * potentialAtVertex5 ξ v else 0
have hdist : unorderedAxisCoeffExpansionAtN5 ξ =
∑ u : Vertex5, ∑ v : Vertex5, ∑ base : Vertex5, ∑ d : Fin 3,
F u v base d := by
unfold unorderedAxisCoeffExpansionAtN5 axisStencilResidualCoeff
refine Finset.sum_congr rfl ?_
intro u _
refine Finset.sum_congr rfl ?_
intro v _
by_cases huv : vertex5CanonLE u v
· simp only [huv, if_true, F]
simp [atom, Finset.sum_mul]
· simp [F, huv]
have hreorder :
(∑ u : Vertex5, ∑ v : Vertex5, ∑ base : Vertex5, ∑ d : Fin 3,
F u v base d) =
∑ base : Vertex5, ∑ d : Fin 3, ∑ u : Vertex5, ∑ v : Vertex5,
F u v base d := by
calc
(∑ u : Vertex5, ∑ v : Vertex5, ∑ base : Vertex5, ∑ d : Fin 3,
F u v base d) =
∑ u : Vertex5, ∑ base : Vertex5, ∑ v : Vertex5, ∑ d : Fin 3,
F u v base d := by
refine Finset.sum_congr rfl ?_
intro u _
rw [@Finset.sum_comm Vertex5 ℝ Vertex5 _
(s := Finset.univ) (t := Finset.univ)
(f := fun v base => ∑ d : Fin 3, F u v base d)]
_ = ∑ base : Vertex5, ∑ u : Vertex5, ∑ v : Vertex5, ∑ d : Fin 3,
F u v base d := by
rw [@Finset.sum_comm Vertex5 ℝ Vertex5 _
(s := Finset.univ) (t := Finset.univ)
(f := fun u base => ∑ v : Vertex5, ∑ d : Fin 3, F u v base d)]
_ = ∑ base : Vertex5, ∑ d : Fin 3, ∑ u : Vertex5, ∑ v : Vertex5,
F u v base d := by
refine Finset.sum_congr rfl ?_
intro base _
calc
(∑ u : Vertex5, ∑ v : Vertex5, ∑ d : Fin 3,
F u v base d) =
∑ u : Vertex5, ∑ d : Fin 3, ∑ v : Vertex5,
F u v base d := by
refine Finset.sum_congr rfl ?_
intro u _
rw [@Finset.sum_comm (Fin 3) ℝ Vertex5 _
(s := Finset.univ) (t := Finset.univ)
(f := fun v d => F u v base d)]
_ = ∑ d : Fin 3, ∑ u : Vertex5, ∑ v : Vertex5,
F u v base d := by
rw [@Finset.sum_comm (Fin 3) ℝ Vertex5 _
(s := Finset.univ) (t := Finset.univ)
(f := fun u d => ∑ v : Vertex5, F u v base d)]
have hpairSum :
(∑ base : Vertex5, ∑ d : Fin 3, ∑ u : Vertex5, ∑ v : Vertex5,
F u v base d) =
∑ base : Vertex5, ∑ d : Fin 3,
-2 * (potentialAtVertex5 ξ
({ base := base, disp := periodicAxisDisp d } : PeriodicEdge5).endpoints.1 -
potentialAtVertex5 ξ
({ base := base, disp := periodicAxisDisp d } : PeriodicEdge5).endpoints.2) ^ (2 : ℕ) := by
refine Finset.sum_congr rfl ?_
intro base _
refine Finset.sum_congr rfl ?_
intro d _
let edge : PeriodicEdge5 := { base := base, disp := periodicAxisDisp d }
have hne : edge.endpoints.1 ≠ edge.endpoints.2 :=
PeriodicEdge.endpoints_ne (by decide) (by decide) (by decide) edge
simpa [F, atom, edge] using
pairAxisCoeffExpansionAtN5 ξ edge.endpoints.1 edge.endpoints.2 hne
have hcoeff : unorderedAxisCoeffExpansionAtN5 ξ =
∑ base : Vertex5, ∑ d : Fin 3,
-2 * (potentialAtVertex5 ξ
({ base := base, disp := periodicAxisDisp d } : PeriodicEdge5).endpoints.1 -
potentialAtVertex5 ξ
({ base := base, disp := periodicAxisDisp d } : PeriodicEdge5).endpoints.2) ^ (2 : ℕ) := by
rw [hdist, hreorder, hpairSum]
have haxis : axisStencilResidualAtN5 ξ =
∑ base : Vertex5, ∑ d : Fin 3,
-2 * (potentialAtVertex5 ξ
({ base := base, disp := periodicAxisDisp d } : PeriodicEdge5).endpoints.1 -
potentialAtVertex5 ξ
({ base := base, disp := periodicAxisDisp d } : PeriodicEdge5).endpoints.2) ^ (2 : ℕ) := by
unfold axisStencilResidualAtN5 canonicalPeriodicMixedAxisStencilAction potentialAtVertex5
rw [← Finset.sum_neg_distrib]
refine Finset.sum_congr rfl ?_
intro base _
rw [← Finset.sum_neg_distrib]
refine Finset.sum_congr rfl ?_
intro d _
ring
rw [haxis, hcoeff]
What this page does not claim
The certificate does not claim the stencil approximates derivatives on arbitrary grids or converges to a continuum operator. The certificate does not assert any physical content about gravity; it only verifies an algebraic identity. The certificate does not extend to other stencil sizes or to non-periodic boundary conditions.
Verify this page
Every tagged claim above names its theorem. To check one yourself rather than trust this page, elaborate the source module with Lean 4 and audit its axiom basis:
$ lake env lean IndisputableMonolith/Gravity/FreudenthalAxisStencilCoeffCert.lean
expected axiom basis: [propext, Classical.choice, Quot.sound] (the Lean kernel's standard three; no RS-specific axioms)
A page whose claims cannot be reproduced this way does not ship. In production, every anchor links to the exact declaration in the public source release, and this block carries the build receipt for the page itself.
Derived articles
This page is generated by a question-recursion engine: the questions its answers raise become the next pages. The current agenda, with open targets marked red:
- What larger statement does this certificate enable once it is converted into the canonical periodic mixed hinge deficit target?
- How does the exact rational audit differ from a floating-point check of the same stencil?
- What role does the 5×5×5 periodic grid play in the framework's broader geometric construction?
MACHINE LAYER · GROUNDED CLAIM TABLE · CLICK TO EXPAND
THEOREM FullResidualCoeffCert · IndisputableMonolith/Gravity/FreudenthalAxisStencilCoeffCert.lean
/-- Full coefficient-vanishing statement for the corrected `N = 5` axis-stencil residual. This is the finite certificate still needed before converting the coefficient audit into `CanonicalPeriodicMixedHingeDeficitExplicitFiberAxisStencilTargetAtN5`. -/ def FullResidualCoeffCert : Prop := ∀ u v : Vertex5, mixedAxisResidualCoeff u v = 0The certificate verifies that the five-point stencil's residual error coefficients vanish for every pair of grid points on the 5×5×5 periodic torus. FullResidualCoeffCert · IndisputableMonolith/Gravity/FreudenthalAxisStencilCoeffCert.leanTHEOREM axisStencilCoeffSoundnessAtN5 · IndisputableMonolith/Gravity/FreudenthalAxisStencilCoeffCert.lean
/-- The corrected three-axis stencil is sound with respect to the unordered coefficient expansion. This closes the RHS half of `ExplicitFiberAxisStencilCoeffSoundnessAtN5`; the remaining packaging work is the explicit-fiber LHS expansion. -/ theorem axisStencilCoeffSoundnessAtN5 : AxisStencilCoeffSoundnessAtN5 := by intro ξ let atom := fun (base : Vertex5) (d : Fin 3) (u v : Vertex5) => let edge : PeriodicEdge5 := { base := base, disp := periodicAxisDisp d } let ep := edge.endpoints (if ep.1 = u && ep.1 = v then (-2 : Rat) else 0) + (if ep.2 = u && ep.2 = v then (-2 : Rat) else 0) + (if sameUnordered ep.1 ep.2 u v then (4 : Rat) else 0) let F := fun (u v base : Vertex5) (d : Fin 3) => if vertex5CanonLE u v then ((atom base d u v : Rat) : ℝ) * potentialAtVertex5 ξ u * potentialAtVertex5 ξ v else 0 have hdist : unorderedAxisCoeffExpansionAtN5 ξ = ∑ u : Vertex5, ∑ v : Vertex5, ∑ base : Vertex5, ∑ d : Fin 3, F u v base d := by unfold unorderedAxisCoeffExpansionAtN5 axisStencilResidualCoeff refine Finset.sum_congr rfl ?_ intro u _ refine Finset.sum_congr rfl ?_ intro v _ by_cases huv : vertex5CanonLE u v · simp only [huv, if_true, F] simp [atom, Finset.sum_mul] · simp [F, huv] have hreorder : (∑ u : Vertex5, ∑ v : Vertex5, ∑ base : Vertex5, ∑ d : Fin 3, F u v base d) = ∑ base : Vertex5, ∑ d : Fin 3, ∑ u : Vertex5, ∑ v : Vertex5, F u v base d := by calc (∑ u : Vertex5, ∑ v : Vertex5, ∑ base : Vertex5, ∑ d : Fin 3, F u v base d) = ∑ u : Vertex5, ∑ base : Vertex5, ∑ v : Vertex5, ∑ d : Fin 3, F u v base d := by refine Finset.sum_congr rfl ?_ intro u _ rw [@Finset.sum_comm Vertex5 ℝ Vertex5 _ (s := Finset.univ) (t := Finset.univ) (f := fun v base => ∑ d : Fin 3, F u v base d)] _ = ∑ base : Vertex5, ∑ u : Vertex5, ∑ v : Vertex5, ∑ d : Fin 3, F u v base d := by rw [@Finset.sum_comm Vertex5 ℝ Vertex5 _ (s := Finset.univ) (t := Finset.univ) (f := fun u base => ∑ v : Vertex5, ∑ d : Fin 3, F u v base d)] _ = ∑ base : Vertex5, ∑ d : Fin 3, ∑ u : Vertex5, ∑ v : Vertex5, F u v base d := by refine Finset.sum_congr rfl ?_ intro base _ calc (∑ u : Vertex5, ∑ v : Vertex5, ∑ d : Fin 3, F u v base d) = ∑ u : Vertex5, ∑ d : Fin 3, ∑ v : Vertex5, F u v base d := by refine Finset.sum_congr rfl ?_ intro u _ rw [@Finset.sum_comm (Fin 3) ℝ Vertex5 _ (s := Finset.univ) (t := Finset.univ) (f := fun v d => F u v base d)] _ = ∑ d : Fin 3, ∑ u : Vertex5, ∑ v : Vertex5, F u v base d := by rw [@Finset.sum_comm (Fin 3) ℝ Vertex5 _ (s := Finset.univ) (t := Finset.univ) (f := fun u d => ∑ v : Vertex5, F u v base d)] have hpairSum : (∑ base : Vertex5, ∑ d : Fin 3, ∑ u : Vertex5, ∑ v : Vertex5, F u v base d) = ∑ base : Vertex5, ∑ d : Fin 3, -2 * (potentialAtVertex5 ξ ({ base := base, disp := periodicAxisDisp d } : PeriodicEdge5).endpoints.1 - potentialAtVertex5 ξ ({ base := base, disp := periodicAxisDisp d } : PeriodicEdge5).endpoints.2) ^ (2 : ℕ) := by refine Finset.sum_congr rfl ?_ intro base _ refine Finset.sum_congr rfl ?_ intro d _ let edge : PeriodicEdge5 := { base := base, disp := periodicAxisDisp d } have hne : edge.endpoints.1 ≠ edge.endpoints.2 := PeriodicEdge.endpoints_ne (by decide) (by decide) (by decide) edge simpa [F, atom, edge] using pairAxisCoeffExpansionAtN5 ξ edge.endpoints.1 edge.endpoints.2 hne have hcoeff : unorderedAxisCoeffExpansionAtN5 ξ = ∑ base : Vertex5, ∑ d : Fin 3, -2 * (potentialAtVertex5 ξ ({ base := base, disp := periodicAxisDisp d } : PeriodicEdge5).endpoints.1 - potentialAtVertex5 ξ ({ base := base, disp := periodicAxisDisp d } : PeriodicEdge5).endpoints.2) ^ (2 : ℕ) := by rw [hdist, hreorder, hpairSum] have haxis : axisStencilResidualAtN5 ξ = ∑ base : Vertex5, ∑ d : Fin 3, -2 * (potentialAtVertex5 ξ ({ base := base, disp := periodicAxisDisp d } : PeriodicEdge5).endpoints.1 - potentialAtVertex5 ξ ({ base := base, disp := periodicAxisDisp d } : PeriodicEdge5).endpoints.2) ^ (2 : ℕ) := by unfold axisStencilResidualAtN5 canonicalPeriodicMixedAxisStencilAction potentialAtVertex5 rw [← Finset.sum_neg_distrib] refine Finset.sum_congr rfl ?_ intro base _ rw [← Finset.sum_neg_distrib] refine Finset.sum_congr rfl ?_ intro d _ ring rw [haxis, hcoeff]The theorem axisStencilCoeffSoundnessAtN5 states that the residual equals its expansion into these coefficients. axisStencilCoeffSoundnessAtN5 · IndisputableMonolith/Gravity/FreudenthalAxisStencilCoeffCert.lean