SilverSight/lakefile.lean
allaun fda0c30c2a fix: fisherMetric50 bridge uses Pi.single (standard basis) not tangentBasis
The old bridge claimed fisherMetric50 p i j = fisherMetric p (tangentBasis i 0)
(tangentBasis j 0), which is WRONG — tangentBasis has a 1/p_0 cross-term.

Correct bridge: fisherMetric p (Pi.single i 1) (Pi.single j 1) = fisherMetric50 p i j
This is trivially true: ∑_k (δ_ik * δ_jk)/p_k = δ_ij/p_i.

Also fixed:
- Import syntax error (missing -/ closure)
- Import path: library.ChentsovFinite → CoreFormalism.ChentsovFinite
- Added BindingSiteHachimoji to lakefile

Note: ChentsovFinite.lean has broken Mathlib imports (pre-existing).
The h_fisher_basis proof is verified correct in isolation.
2026-06-23 15:15:42 -05:00

100 lines
3.1 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,
`CoreFormalism.Tactics,
`CoreFormalism.Q16_16Numerics,
`CoreFormalism.DynamicCanal,
`CoreFormalism.Bind,
`CoreFormalism.BraidBracket,
`CoreFormalism.BraidStrand,
`CoreFormalism.BraidCross,
`CoreFormalism.BraidField,
`CoreFormalism.SidonSets,
`CoreFormalism.SieveLemmas,
`CoreFormalism.InteractionGraphSidon,
`CoreFormalism.BraidEigensolid,
`CoreFormalism.BraidSpherionBridge,
`CoreFormalism.ChentsovFinite,
`CoreFormalism.HachimojiBase,
`CoreFormalism.HachimojiManifoldAxiom,
`CoreFormalism.HachimojiCodec,
`CoreFormalism.HachimojiLUT,
`CoreFormalism.HachimojiBridging,
`BindingSite.BindingSiteHachimoji
]
lean_lib «SilverSightRRC» where
srcDir := "formal"
roots := #[
`SilverSight.PIST.Spectral,
`SilverSight.PIST.Classify,
`SilverSight.PIST.Matrices250,
`SilverSight.PIST.SpectralWitness,
`SilverSight.RRCLogogramProjection,
`SilverSight.ReceiptCore,
`SilverSight.RRC.Emit,
`SilverSight.RRC.ReceiptDensity,
`SilverSight.RRC.PolyFactorIdentity,
`SilverSight.RRC.EntropyCandidates,
`SilverSight.RRC.Corpus250,
`SilverSight.AVMIsa.Types,
`SilverSight.AVMIsa.Value,
`SilverSight.AVMIsa.Instr,
`SilverSight.AVMIsa.State,
`SilverSight.AVMIsa.Step,
`SilverSight.AVMIsa.Run,
`SilverSight.AVMIsa.Emit,
`SilverSight.ProductSchema,
`SilverSight.ProductWireFormat,
`RRCLib.RRCEmit
]
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"