Encyclopedia Geometry Geometry Freudenthal Cube Triangulation
ARTICLE 4 claims 4 theorems
Geometry Freudenthal Cube Triangulation
A cube can be cut into six identical tetrahedra; a machine-checked library verifies the bookkeeping of that cut.
The cube's six tetrahedra
A Freudenthal triangulation is a standard way to divide a geometric shape into simpler pieces, simplices, that meet only along shared faces, edges, or vertices. For a single unit cube, the classic Freudenthal decomposition uses the body diagonal from one corner to the opposite corner to split the cube into exactly six tetrahedra. Each tetrahedron is the convex hull of four of the cube's eight vertices, and together the six fill the cube without gaps or overlaps.
The six tetrahedra are not arbitrary. They correspond to the monotone paths from vertex 0 to vertex 7, where the cube's vertices are labeled by their binary coordinates: 0 is (0,0,0), 1 is (1,0,0), 2 is (0,1,0), 3 is (1,1,0), 4 is (0,0,1), 5 is (1,0,1), 6 is (0,1,1), and 7 is (1,1,1). A monotone path increases the coordinates step by step, and each such path traces out one tetrahedron. This construction is classical and appears throughout computational geometry and finite element methods.
In Recognition Science, the framework models physical structure through a discrete record of events, a ledger, and the cube triangulation provides a concrete test object for the framework's geometric bookkeeping. The ledger instantiates the incidence bookkeeping class for this Freudenthal decomposition. It records, for each of the six tetrahedra, its six edges: three unit step edges, two face diagonals, and one body diagonal. The squared lengths of these edges are 1, 2, and 3 respectively, and the framework proves that each tetrahedron is nondegenerate, meaning its volume is nonzero.
The central result is a set of machine-checked theorems that verify the incidence structure is consistent. Every edge of every tetrahedron is assigned to a unique global edge, and the mapping between local and global edges is a bijection. The framework's library, a machine-checked collection of formal theorems, proves that the local squared edge length always equals the global squared edge length, and that the vertices of each local edge match the vertices of the corresponding global edge, possibly reversed. These theorems ensure the bookkeeping is exact: no edge is double-counted, no edge is missing, and the six tetrahedra fit together precisely as the classical construction requires.
What this establishes in plain language is that the framework's geometric incidence bookkeeping works on a nontrivial example. The cube triangulation is not a proof of any physical law; it is a verified instance showing that the framework's machinery can represent a standard geometric object without error. The value is as a test case: if the bookkeeping fails here, it would fail anywhere. Since the theorems pass, the framework has a solid foundation for more complex geometric structures.
THEOREM freudenthalCube · IndisputableMonolith/Geometry/FreudenthalCubeTriangulation.lean
/-- The finite Freudenthal cube triangulation. -/
def freudenthalCube : Triangulation3D where
nV := 8
nE := 19
nT := 6
edgeVerts := edgeVerts
tetVerts := tetVerts
edgeInTet := edgeInTet
tet := fun _ => freudenthalTet
THEOREM freudenthalTetSqEdges · IndisputableMonolith/Geometry/FreudenthalCubeTriangulation.lean
/-- The local squared-edge tuple for every Freudenthal tetrahedron in the unit
cube: three unit step edges, two face diagonals, and one body diagonal. -/
def freudenthalTetSqEdges : CayleyMengerPolynomial.SqEdges
| 0 => 1
| 1 => 2
| 2 => 3
| 3 => 1
| 4 => 2
| 5 => 1
THEOREM freudenthalTet · IndisputableMonolith/Geometry/FreudenthalCubeTriangulation.lean
/-- A unit-cube Freudenthal tetrahedron is nondegenerate. -/
def freudenthalTet : NonDegenerateTet where
sqEdge := freudenthalTetSqEdges
sqEdge_pos := by
intro i
fin_cases i <;> norm_num [freudenthalTetSqEdges]
cm_pos := by
rw [cm3_freudenthalTetSqEdges]
norm_num
THEOREM freudenthalCube_edgeSlotPartition · IndisputableMonolith/Geometry/FreudenthalCubeTriangulation.lean
/-- The Freudenthal cube has the intended unique/no-duplication local edge-slot
partition. -/
def freudenthalCube_edgeSlotPartition :
IncidenceEdgeSlotPartition freudenthalCube freudenthalCube_incidenceConsistent where
localEdgeOf := localEdgeOf
edgeInTet_iff := by
intro e τ f
exact edgeInTet_iff_localEdgeOf e τ f
What this page does not claim
The cube triangulation does not prove any physical law or derive any constant. The framework does not establish that the Freudenthal decomposition is the only possible triangulation of a cube. The framework's geometric bookkeeping is not shown to be complete for all possible tetrahedral meshes.
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/Geometry/FreudenthalCubeTriangulation.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:
- How does the Freudenthal triangulation generalize to higher-dimensional cubes?
- What role does this cube triangulation play in the framework's derivation of three spatial dimensions?
- How does the incidence bookkeeping scale to more complex triangulations, such as those with curved edges?
MACHINE LAYER · GROUNDED CLAIM TABLE · CLICK TO EXPAND
THEOREM freudenthalCube · IndisputableMonolith/Geometry/FreudenthalCubeTriangulation.lean
/-- The finite Freudenthal cube triangulation. -/ def freudenthalCube : Triangulation3D where nV := 8 nE := 19 nT := 6 edgeVerts := edgeVerts tetVerts := tetVerts edgeInTet := edgeInTet tet := fun _ => freudenthalTetThe Freudenthal decomposition of a unit cube uses the body diagonal to split the cube into exactly six tetrahedra. freudenthalCube · IndisputableMonolith/Geometry/FreudenthalCubeTriangulation.leanTHEOREM freudenthalTetSqEdges · IndisputableMonolith/Geometry/FreudenthalCubeTriangulation.lean
/-- The local squared-edge tuple for every Freudenthal tetrahedron in the unit cube: three unit step edges, two face diagonals, and one body diagonal. -/ def freudenthalTetSqEdges : CayleyMengerPolynomial.SqEdges | 0 => 1 | 1 => 2 | 2 => 3 | 3 => 1 | 4 => 2 | 5 => 1Each Freudenthal tetrahedron has squared edge lengths 1, 2, and 3 for its unit step edges, face diagonals, and body diagonal. freudenthalTetSqEdges · IndisputableMonolith/Geometry/FreudenthalCubeTriangulation.leanTHEOREM freudenthalTet · IndisputableMonolith/Geometry/FreudenthalCubeTriangulation.lean
/-- A unit-cube Freudenthal tetrahedron is nondegenerate. -/ def freudenthalTet : NonDegenerateTet where sqEdge := freudenthalTetSqEdges sqEdge_pos := by intro i fin_cases i <;> norm_num [freudenthalTetSqEdges] cm_pos := by rw [cm3_freudenthalTetSqEdges] norm_numThe framework proves that each Freudenthal tetrahedron is nondegenerate. freudenthalTet · IndisputableMonolith/Geometry/FreudenthalCubeTriangulation.leanTHEOREM freudenthalCube_edgeSlotPartition · IndisputableMonolith/Geometry/FreudenthalCubeTriangulation.lean
/-- The Freudenthal cube has the intended unique/no-duplication local edge-slot partition. -/ def freudenthalCube_edgeSlotPartition : IncidenceEdgeSlotPartition freudenthalCube freudenthalCube_incidenceConsistent where localEdgeOf := localEdgeOf edgeInTet_iff := by intro e τ f exact edgeInTet_iff_localEdgeOf e τ fThe incidence structure of the Freudenthal cube is consistent, with a unique mapping between local and global edges. freudenthalCube_edgeSlotPartition · IndisputableMonolith/Geometry/FreudenthalCubeTriangulation.lean