SilverSight/lakefile.lean
allaun 2ef30d8a82 feat(prime-lut): add PrimeLut reader with embedded + binary LUT backends
- SilverSight.PrimeLut module: pure API matching Research Stack PrimeLut.lean
- Embedded small LUT: first 168 primes, twin/safe subsets, all #eval witnesses
- BinaryLUT backend: reads primes.bin + primes.index via IO.FS.readBinFile
  for full 105M prime coverage (< 2^31)
- Added precomputed-math-data as git submodule at external/
- Registered in SilverSightFormal lake library

Build: 3307 jobs, 0 errors (lake build)
2026-07-03 05:00:22 -05:00

138 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.PrimeLut,
`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.SidonMirrorNotch,
`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"