Research-Stack/0-Core-Formalism/lean
Brandon Schneider 49e7422085 feat: Laplace cofactor identity formalized in AdjugateMatrix.lean
New section §11: A × adj(A) = det(A) × I

Cofactor identity infrastructure:
- cofactorSign: checkerboard (-1)^(i+j)
- cofactorProductEntry: Σ_k A[i][k] × adj(A)[k][j]
- Verified by #eval on identity, diag(2,1,...,1), permutation, zero-row, equal-rows

Proved theorems (by native_decide on concrete matrices):
- cofactor_identity_identity_diag: I × adj(I)[i,i] = det(I)
- cofactor_identity_identity_offdiag: I × adj(I)[i,j] = 0 for i≠j
- cofactor_identity_diag2: diag(2,1,...) × adj = det × I
- det_self_inverse_exact_diag2: diag(2,1,...) × inv = I

Optimization shortcuts (from user guidance):
- bestRow/bestCol: choose expansion line with most zeros
- hasZeroDeterminant: zero row / equal rows → det = 0
- isUpperTriangular/isLowerTriangular: det = product of diagonal
- triangularDet: product of diagonal for triangular matrices

General cofactor_identity: sorry (needs equal-rows→det=0 lemma)
det_self_inverse_exact_from_cofactor: sorry (proof sketch complete)
det_self_inverse: sorry (Q16_16 obstruction, documented)

lake build: 3300 jobs, 0 errors
2026-05-28 18:58:07 -05:00
..
conversions/hardware WIP: accumulated changes 2026-05-25 16:24:21 -05:00
external/OTOM WIP: accumulated changes 2026-05-25 16:24:21 -05:00
LeanGPT Remove legacy Python prototypes superseded by Lean formalization 2026-05-19 15:34:17 +00:00
Semantics feat: Laplace cofactor identity formalized in AdjugateMatrix.lean 2026-05-28 18:58:07 -05:00
CHAIN_ALL_REVIEW_REPORT.md initial: sovereign research stack (consolidated, weightless, and lfs-optimized) 2026-05-04 18:11:36 -05:00