SilverSight/lakefile.lean
allaunthefox 22b0b55f37 feat: Lean CharPoly module + ClassifyN integration
formal/SilverSight/PIST/CharPoly.lean (new):
- Faddeev-LeVerrier algorithm for exact characteristic polynomial
- All integer arithmetic, no floats (fits integer-only doctrine)
- Newton identities: k·c_k = -sum(c_{k-i} · p_i)
- Newton's method for largest root (Q16_16 arithmetic)
- exactSpectralRadius: replaces powerIteration for exact computation
- matrixTraces, matPowers, matMulInt: integer matrix operations
- #eval witnesses for identity matrix

formal/SilverSight/PIST/ClassifyN.lean:
- Added classifyExactCharPoly: uses CharPoly.exactSpectralRadius
- Import SilverSight.PIST.CharPoly
- classifyExact retained for backward compatibility

lakefile.lean:
- Added SilverSight.PIST.CharPoly to library roots

This implements Fix 1 from docs/FIX_DESIGN.md: exact eigenvalue
computation via characteristic polynomial, replacing power iteration
for matrices with peripheral spectrum (ρ=1.0) where power iteration
fails to converge.
2026-07-01 21:21:21 +00:00

136 lines
4.4 KiB
Text

import Lake
open Lake DSL
open System
package «SilverSight» where
-- Settings applied to both builds and interactive editing
leanOptions := #[
⟨`pp.unicode.fun, true⟩ -- pretty-prints `fun a ↦ b`
]
-- Add any additional package configuration options here
@[default_target]
lean_lib «SilverSightCore» where
-- Add any library configuration options here
srcDir := "Core"
roots := #[`SilverSightCore, `SilverSight.FixedPoint, `SilverSight.Semantics.Schema, `SilverSight.Semantics.Layout, `SilverSight.Semantics.WireFormat, `SilverSight.Semantics.View, `SilverSight.Semantics.LayoutBridge, `SilverSight.Semantics.CanalLayout]
lean_lib «SilverSightFormal» where
srcDir := "formal"
roots := #[
`CoreFormalism.FixedPoint,
`SilverSight.FixedPointBridge,
`CoreFormalism.Tactics,
`CoreFormalism.Q16_16Numerics,
`CoreFormalism.DynamicCanal,
`CoreFormalism.Bind,
`CoreFormalism.BraidBracket,
`CoreFormalism.BraidStrand,
`CoreFormalism.BraidCross,
`CoreFormalism.BraidField,
`CoreFormalism.BraidStateN,
`CoreFormalism.SidonSets,
`CoreFormalism.SieveLemmas,
`CoreFormalism.InteractionGraphSidon,
`CoreFormalism.BraidEigensolid,
`CoreFormalism.BraidSpherionBridge,
`CoreFormalism.E8Sidon,
`CoreFormalism.GoormaghtighEnumeration,
`CoreFormalism.HachimojiBase,
`CoreFormalism.HachimojiCodec,
`CoreFormalism.HachimojiLUT,
`CoreFormalism.HachimojiBridging,
`CoreFormalism.HachimojiManifoldAxiom,
`CoreFormalism.ChentsovFinite,
`CoreFormalism.HopfFibration,
`SilverSight.WireFormat,
`SilverSight.ProductSchema,
`SilverSight.ProductWireFormat,
`SilverSight.Receipt,
`BindingSite.BindingSiteTypes,
`BindingSite.BindingSiteHachimoji,
`BindingSite.BindingSiteEntropy,
`BindingSite.BindingSiteCodec
]
lean_lib «SilverSightRRC» where
srcDir := "formal"
roots := #[
`SilverSight.HachimojiN8,
`SilverSight.HachimojiN8Bridge,
`SilverSight.HachimojiCharClass,
`SilverSight.PhiDNALayout,
`SilverSight.PhiConsistency,
`SilverSight.PhiPipelineReceipt,
`SilverSight.PIST.Spectral,
`SilverSight.PIST.SpectralN,
`SilverSight.PIST.MatrixN,
`SilverSight.PIST.CharPoly,
`SilverSight.PIST.FisherRigidity,
`SilverSight.PIST.FisherRigidityN,
`SilverSight.PIST.Classify,
`SilverSight.PIST.ClassifyN,
`SilverSight.PIST.Matrices250,
`SilverSight.PIST.UnifiedCovariant,
`SilverSight.PIST.CartanConnection,
`SilverSight.PIST.YangBaxter,
`SilverSight.PIST.Tdoku16D,
`SilverSight.PIST.CrossDomainSynthesis,
`SilverSight.PIST.MultiSurfacePacker,
`SilverSight.RRCLogogramProjection,
`SilverSight.ReceiptCore,
`SilverSight.RRC.Emit,
`SilverSight.RRC.ReceiptDensity,
`SilverSight.RRC.PolyFactorIdentity,
`SilverSight.RRC.EntropyCandidates,
`SilverSight.RRC.Q16_16Manifold,
`SilverSight.AVMIsa.Types,
`SilverSight.AVMIsa.Value,
`SilverSight.AVMIsa.Instr,
`SilverSight.AVMIsa.State,
`SilverSight.AVMIsa.Step,
`SilverSight.AVMIsa.TypeCheck,
`SilverSight.AVMIsa.TypeSafety,
`SilverSight.AVMIsa.Run,
`SilverSight.AVMIsa.Emit,
`SilverSight.AdjugateMatrix,
`SilverSight.ColdReviewer,
`SilverSight.Rollup,
`SilverSight.FeasibleSet.Theorem,
`SilverSight.FeasibleSet.QUBORelaxation,
`SilverSight.CollectiveIntelligence.CostTransparency,
`RRCLib.RRCEmit
]
-- Deprecated/Archived legacy library containing sorry statements
-- lean_lib «SilverSightPVGS» where
-- srcDir := "formal"
-- roots := #[
-- `PVGS_DQ_Bridge.section4_rrc_kernel
-- ]
lean_exe «rrc-emit-fixture» where
root := `RrcEmitFixture
srcDir := "exe"
lean_exe «q16-roundtrip» where
root := `Q16_16Roundtrip
srcDir := "exe"
-- Static C library for the Q16_16 roundtrip executable.
def cSrcDir : FilePath := FilePath.mk "c"
target q16_canonical.o pkg : FilePath := do
let oFile := pkg.buildDir / cSrcDir / "q16_canonical.o"
let srcJob ← inputFile (pkg.srcDir / cSrcDir / "q16_canonical.c") true
let flags := #["-fPIC", "-O2"]
buildO oFile srcJob flags
extern_lib q16_canonical pkg := do
let name := nameToStaticLib "q16_canonical"
let libFile := pkg.buildDir / cSrcDir / name
let oJob ← fetch <| pkg.target ``q16_canonical.o
buildStaticLib libFile #[oJob]
require mathlib from git
"https://github.com/leanprover-community/mathlib4.git" @ "v4.30.0-rc2"