IndisputableMonolith.Geometry.AffineIndepInterior
Infrastructure for tetrahedral face normals in Euclidean 3-space: coordinate vectors are cast to Mathlib's ℓ² inner-product type, adjacent face normals are built from edge-vector cross products, and linear independence of those edges forces the normals to be nonzero and non-parallel. Anyone proving dihedral cosines stay in (−1,1) or feeding Regge/Schläfli smoothness cites this. The module is mostly definitional plus elementary inner-product and cross-product lemmas.
claimMap coordinate triples into Euclidean $\mathbb{R}^3$ with the standard inner product; form adjacent face normals $n_i,n_j$ by cross products of edge vectors; prove that linear independence of the edge frame implies $n_i\neq 0$, $n_i\times n_j\neq 0$, and $\frac{n_i\cdot n_j}{\|n_i\|\|n_j\|}\notin\{\pm 1\}$.
background
Recognition Science geometry for discrete gravity works with tetrahedra whose edge lengths determine dihedral angles via the normalized inner product of outward face normals. The upstream DihedralCofactorFormula module sets that geometric cosine (normals from cross products, then the normalized pairing) as the Euclidean side of the Berger cofactor identity that will match Cayley–Menger cofactors.
This module supplies the Euclidean embedding layer: a cast toEuclidean3 that views a coordinate vector as Mathlib's ℓ² vector so inner products, norms, and scalar multiplications are the standard ones. Adjacent face normals are assembled from edge vectors; independence of those edges is the nondegeneracy hypothesis that keeps the tetrahedron from collapsing and keeps face normals well-defined and non-parallel.
The local setting is therefore the open cone of nondegenerate tetrahedral edge data, where dihedral cosines are strictly inside $(-1,1)$ and arccos is smooth.
proof idea
Definitional core: embed coordinates into Euclidean 3-space and record the usual identities (inner product of the cast equals the coordinate dot product; squared norm; homogeneity under scalar multiplication). Independence lemmas then show that if two edge vectors are linearly independent, the corresponding face normal (their cross product) is nonzero, and that adjacent face normals are linearly independent if and only if their cross product is nonzero. Separate lemmas convert linear independence into the strict inequalities that the normalized dot product is neither $+1$ nor $-1$, which is exactly the condition that arccos stays away from the branch points. No deep theorem is proved here; the module packages standard $\mathbb{R}^3$ linear algebra for downstream geometric analysis.
why it matters in Recognition Science
ReggeActionSmoothness imports this module because the full nonlinear Regge action needs the conformal edge chart to remain in the nondegenerate tetrahedral cone and the arccos arguments to stay away from $\pm 1$ so the finite action is smooth at the flat potential. SchlaefliTetrahedronProof likewise needs well-defined, nondegenerate dihedral data when it connects Cayley–Menger and dihedral derivatives to the local tetrahedral Schläfli package.
In the broader RS geometry stack this is the Euclidean nondegeneracy gate in front of the Berger cofactor formula and the closed-form Schläfli identity: without independent adjacent face normals the dihedral cosine is undefined or extremal, and smoothness or closed-form derivative identities fail. It does not itself state the cofactor or Schläfli theorems; it only guarantees the geometric hypotheses those theorems consume.
scope and limits
- Does not prove the Berger cofactor formula equating geometric and Cayley–Menger cosines.
- Does not establish the tetrahedral Schläfli identity or any Regge action formula.
- Does not treat dimensions other than Euclidean 3-space or non-tetrahedral simplices.
- Does not quantify edge-length charts or prove openness of the nondegenerate cone.
- Does not address Lorentzian signature or curved ambient metrics.
used by (2)
depends on (1)
declarations in this module (28)
-
def
toEuclidean3 -
theorem
inner_toEuclidean3 -
theorem
norm_toEuclidean3_sq -
theorem
sqrt_dot_self_mul_self_eq_norm_mul_norm -
theorem
toEuclidean3_smul -
theorem
smul_of_toEuclidean3_smul -
theorem
dot_div_sqrt_ne_one_of_linearIndependent -
theorem
dot_div_sqrt_ne_neg_one_of_linearIndependent -
def
adjacentFaceNormals -
def
AdjacentFaceNormalsIndependent -
theorem
faceNormal_ne_zero_of_edgeVectors_linearIndependent -
theorem
adjacentFaceNormalsIndependent_iff_cross_ne_zero -
theorem
adjacentFaceNormalsIndependent_of_cross_ne_zero -
theorem
shared_edge_face_normals_cross -
theorem
adjacentFaceNormals_cross_eq_triple_smul_edge -
theorem
faceNormals_independent_of_triple_ne_zero -
theorem
scalar_triple_ne_zero_of_linearIndependent -
theorem
coord_linearIndependent_of_euclidean -
theorem
adjacentFaceNormalsIndependent_of_triple_ne_zero -
theorem
basisEdgeVector_linearIndependent -
theorem
coordEdgeVector_from_base_linearIndependent -
theorem
edge_opposite_coord_triple_linearIndependent -
theorem
adjacentFaceNormalsIndependent_of_affineIndependent -
theorem
geometricDihedralCos_strict_interior_of_faceNormals_independent -
theorem
dihedralCos3Sq_strict_interior_of_faceNormals_independent -
theorem
geometricDihedralCos_strict_interior_of_affineIndependent -
theorem
dihedralCos3Sq_strict_interior_of_affineIndependent -
structure
RealizedNonDegenerateTet