Encyclopedia Gravity Gravity Null Cone Quadratic Tensor Class
ARTICLE 4 claims 3 theorems 1 open
Gravity Null Cone Quadratic Tensor Class
A theorem in linear algebra says that light-like directions alone can pin down a symmetric stress tensor up to a single ambiguity, a result the Recognition Science framework uses as a stepping stone.
The null cone rigidity
In the four-dimensional spacetime of special relativity, the null cone is the set of directions along which light travels: vectors k whose squared length, computed with the Minkowski metric η = diag(-1,1,1,1), is zero. A symmetric quadratic form, such as a stress-energy tensor, assigns a number to each such direction by contraction, k·T·k. The question is how much of the tensor this collection of numbers reveals.
The answer, proved in the framework's machine-checked library of formal theorems, is that for a symmetric 4×4 matrix T, knowing the value of the quadratic form on every null direction determines T up to adding a scalar multiple of the metric η itself. In symbols: if two symmetric matrices T and B give the same values on all null covectors, then T - B = λη for some real number λ. The theorem is proved in Lean 4 (null_quadratic_eq_implies_diff_scalar_eta, in IndisputableMonolith/Gravity/NullConeQuadraticTensorClass.lean), with no axioms beyond the standard three. This is a rigidity result: the null cone is a sharp probe, but it cannot see the part of the tensor that is proportional to the metric, because the metric itself vanishes on all null vectors.
The framework also proves the converse: if two symmetric matrices differ by a scalar multiple of η, they agree on all null directions. Together these two directions give an exact characterization, an if-and-only-if statement. A related theorem shows that the antisymmetric part of any matrix is invisible to this probe: contracting with a null vector gives zero for the antisymmetric part, so only the symmetrized matrix matters. The general class of matrices that produce the same null-cone values is therefore exactly the symmetrization of a matrix plus a scalar multiple of η.
In Recognition Science, this result is a Phase 5 algebraic prerequisite. It is not the construction of the geometric tensor G that the phase ultimately needs. The module explicitly states that it does not identify any matrix with Ricci or stress-energy, does not construct horizons or Unruh temperature, and does not close the Einstein field equation. The construction of a symmetric G from Recognition area and focusing ancestry, independently of a fixed stress tensor, remains open. What the module does establish is a clean algebraic fact: the null cone determines a symmetric tensor up to the metric ambiguity, and this is the platform on which the later, geometric step must stand.
THEOREM null_quadratic_eq_implies_diff_scalar_eta · IndisputableMonolith/Gravity/NullConeQuadraticTensorClass.lean
/--
Null-cone agreement of two symmetric quadratic forms determines their
difference as a scalar multiple of the Minkowski metric.
-/
theorem null_quadratic_eq_implies_diff_scalar_eta
(A B : Matrix (Fin 4) (Fin 4) ℝ)
(hA : Symmetric4 A)
(hB : Symmetric4 B)
(hnull : ∀ k, MinkowskiNull k → quadContr A k = quadContr B k) :
∃ lam : ℝ, ∀ i j, A i j - B i j = lam * minkowskiEta4 i j := by
obtain ⟨lam, hlam⟩ := null_quadratic_eq_of_diff_scalar_eta A B hA hB hnull
refine ⟨lam, ?_⟩
intro i j
have hij := congrFun (congrFun hlam i) j
-- `A = B + lam • η` at `(i,j)`.
change A i j = B i j + (lam • minkowskiEta4) i j at hij
simp only [Matrix.smul_apply, smul_eq_mul] at hij
linarith
THEOREM diff_scalar_eta_implies_null_quadratic_eq · IndisputableMonolith/Gravity/NullConeQuadraticTensorClass.lean
/-- Converse: a pure metric difference is invisible on the null cone. -/
theorem diff_scalar_eta_implies_null_quadratic_eq
(A B : Matrix (Fin 4) (Fin 4) ℝ) (lam : ℝ)
(hlam : ∀ i j, A i j - B i j = lam * minkowskiEta4 i j) :
∀ k, MinkowskiNull k → quadContr A k = quadContr B k := by
intro k hk
have hAB : A = B + lam • minkowskiEta4 := by
ext i j
have hij := hlam i j
simp only [Matrix.add_apply, Matrix.smul_apply, smul_eq_mul]
linarith
have hcontr := congrArg (fun M => quadContr M k) hAB
change quadContr A k = quadContr (B + lam • minkowskiEta4) k at hcontr
have hadd :
quadContr (B + lam • minkowskiEta4) k =
quadContr B k + quadContr (lam • minkowskiEta4) k := by
simp only [quadContr, Matrix.add_apply, add_mul, Finset.sum_add_distrib]
rw [hadd, quadContr_smul_eta_of_null lam k hk, add_zero] at hcontr
exact hcontr
THEOREM quadContr_antisymmetrize4_eq_zero · IndisputableMonolith/Gravity/NullConeQuadraticTensorClass.lean
theorem quadContr_antisymmetrize4_eq_zero
(A : Matrix (Fin 4) (Fin 4) ℝ) (k : Fin 4 → ℝ) :
quadContr (antisymmetrize4 A) k = 0 := by
have hA :
A = symmetrize4 A + antisymmetrize4 A := by
ext i j
simp only [symmetrize4, antisymmetrize4, Matrix.add_apply]
ring
have hadd :
quadContr A k =
quadContr (symmetrize4 A) k + quadContr (antisymmetrize4 A) k := by
have hcongr := congrArg (fun M => quadContr M k) hA
change quadContr A k =
quadContr (symmetrize4 A + antisymmetrize4 A) k at hcongr
have hsum :
quadContr (symmetrize4 A + antisymmetrize4 A) k =
quadContr (symmetrize4 A) k +
quadContr (antisymmetrize4 A) k := by
simp only [quadContr, Matrix.add_apply, add_mul, Finset.sum_add_distrib]
exact hcongr.trans hsum
linarith [quadContr_eq_quadContr_symmetrize4 A k, hadd]
What this page does not claim
This module does not identify a matrix with Ricci or stress-energy. This module does not construct horizons or Unruh temperature. This module does not close the Einstein field equation.
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/NullConeQuadraticTensorClass.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 null-cone rigidity theorem extend to the full geometric tensor G that Phase 5 requires?
- What physical content, if any, does the metric ambiguity λη carry in the Recognition Science account?
- How does the algebraic null-cone class relate to the Einstein field equation's need for a fixed stress tensor?
MACHINE LAYER · GROUNDED CLAIM TABLE · CLICK TO EXPAND
THEOREM null_quadratic_eq_implies_diff_scalar_eta · IndisputableMonolith/Gravity/NullConeQuadraticTensorClass.lean
/-- Null-cone agreement of two symmetric quadratic forms determines their difference as a scalar multiple of the Minkowski metric. -/ theorem null_quadratic_eq_implies_diff_scalar_eta (A B : Matrix (Fin 4) (Fin 4) ℝ) (hA : Symmetric4 A) (hB : Symmetric4 B) (hnull : ∀ k, MinkowskiNull k → quadContr A k = quadContr B k) : ∃ lam : ℝ, ∀ i j, A i j - B i j = lam * minkowskiEta4 i j := by obtain ⟨lam, hlam⟩ := null_quadratic_eq_of_diff_scalar_eta A B hA hB hnull refine ⟨lam, ?_⟩ intro i j have hij := congrFun (congrFun hlam i) j -- `A = B + lam • η` at `(i,j)`. change A i j = B i j + (lam • minkowskiEta4) i j at hij simp only [Matrix.smul_apply, smul_eq_mul] at hij linarithFor a symmetric 4×4 matrix T, knowing the value of the quadratic form on every null direction determines T up to adding a scalar multiple of the metric η itself. null_quadratic_eq_implies_diff_scalar_eta · IndisputableMonolith/Gravity/NullConeQuadraticTensorClass.leanTHEOREM diff_scalar_eta_implies_null_quadratic_eq · IndisputableMonolith/Gravity/NullConeQuadraticTensorClass.lean
/-- Converse: a pure metric difference is invisible on the null cone. -/ theorem diff_scalar_eta_implies_null_quadratic_eq (A B : Matrix (Fin 4) (Fin 4) ℝ) (lam : ℝ) (hlam : ∀ i j, A i j - B i j = lam * minkowskiEta4 i j) : ∀ k, MinkowskiNull k → quadContr A k = quadContr B k := by intro k hk have hAB : A = B + lam • minkowskiEta4 := by ext i j have hij := hlam i j simp only [Matrix.add_apply, Matrix.smul_apply, smul_eq_mul] linarith have hcontr := congrArg (fun M => quadContr M k) hAB change quadContr A k = quadContr (B + lam • minkowskiEta4) k at hcontr have hadd : quadContr (B + lam • minkowskiEta4) k = quadContr B k + quadContr (lam • minkowskiEta4) k := by simp only [quadContr, Matrix.add_apply, add_mul, Finset.sum_add_distrib] rw [hadd, quadContr_smul_eta_of_null lam k hk, add_zero] at hcontr exact hcontrIf two symmetric matrices differ by a scalar multiple of η, they agree on all null directions. diff_scalar_eta_implies_null_quadratic_eq · IndisputableMonolith/Gravity/NullConeQuadraticTensorClass.leanTHEOREM quadContr_antisymmetrize4_eq_zero · IndisputableMonolith/Gravity/NullConeQuadraticTensorClass.lean
theorem quadContr_antisymmetrize4_eq_zero (A : Matrix (Fin 4) (Fin 4) ℝ) (k : Fin 4 → ℝ) : quadContr (antisymmetrize4 A) k = 0 := by have hA : A = symmetrize4 A + antisymmetrize4 A := by ext i j simp only [symmetrize4, antisymmetrize4, Matrix.add_apply] ring have hadd : quadContr A k = quadContr (symmetrize4 A) k + quadContr (antisymmetrize4 A) k := by have hcongr := congrArg (fun M => quadContr M k) hA change quadContr A k = quadContr (symmetrize4 A + antisymmetrize4 A) k at hcongr have hsum : quadContr (symmetrize4 A + antisymmetrize4 A) k = quadContr (symmetrize4 A) k + quadContr (antisymmetrize4 A) k := by simp only [quadContr, Matrix.add_apply, add_mul, Finset.sum_add_distrib] exact hcongr.trans hsum linarith [quadContr_eq_quadContr_symmetrize4 A k, hadd]The antisymmetric part of any matrix is invisible to this probe: contracting with a null vector gives zero for the antisymmetric part. quadContr_antisymmetrize4_eq_zero · IndisputableMonolith/Gravity/NullConeQuadraticTensorClass.lean- OPENThe construction of a symmetric G from Recognition area and focusing ancestry, independently of a fixed stress tensor, remains open.