Research-Stack/0-Core-Formalism/lean/external/OTOM/EnvironmentMechanics.lean

126 lines
4.3 KiB
Text

import Semantics.FixedPoint
import Semantics.OrthogonalAmmr
import Semantics.LandauerCompression
namespace Semantics.EnvironmentMechanics
open Semantics
open Semantics.OrthogonalAmmr
open Semantics.LandauerCompression
/--
Environment-level witness for bounded interaction structure retained after
compression. This is the proof-layer object that links a committed O-AMMR
summary to later mechanics claims.
-/
structure EnvironmentWitness where
summary : AmmrSummary
retainedOrder : Nat
interactionBudget : Q16_16
couplingBound : Q16_16
residualBudget : Q16_16
deriving Repr, Inhabited, DecidableEq
/--
How many retained basis directions can support the claimed interaction order.
-/
def retainedDirections (w : EnvironmentWitness) : Nat :=
Nat.min w.summary.shape.basisDim w.retainedOrder
/--
The witness carries enough retained directions to support the claimed order.
-/
def orderCovered (w : EnvironmentWitness) : Bool :=
w.retainedOrder ≤ w.summary.shape.basisDim
/--
The explicit long-range coupling contribution stays inside the interaction
budget.
-/
def boundedCoupling (w : EnvironmentWitness) : Bool :=
Q16_16.le w.couplingBound w.interactionBudget
/--
Residual interaction mass excluded from the retained basis also stays inside the
same budget.
-/
def boundedResidual (w : EnvironmentWitness) : Bool :=
Q16_16.le w.residualBudget w.interactionBudget
/--
Typed admissibility predicate for compressed summaries used in mechanics claims.
-/
def longRangeAdmissible (w : EnvironmentWitness) : Bool :=
dimensionConsistent w.summary &&
energyConsistent w.summary &&
orderCovered w &&
boundedCoupling w &&
boundedResidual w
/--
Bridge from a compression witness into an environment witness over the post-state.
-/
def witnessOfCompression
(compression : CompressionWitness)
(retainedOrder : Nat)
(interactionBudget couplingBound residualBudget : Q16_16) :
EnvironmentWitness :=
{ summary := compression.postSummary
, retainedOrder := retainedOrder
, interactionBudget := interactionBudget
, couplingBound := couplingBound
, residualBudget := residualBudget }
/--
If each constituent bound holds, the environment witness is admissible.
-/
theorem admissibleOfBounds (w : EnvironmentWitness)
(hDim : dimensionConsistent w.summary = true)
(hEnergy : energyConsistent w.summary = true)
(hOrder : orderCovered w = true)
(hCoupling : boundedCoupling w = true)
(hResidual : boundedResidual w = true) :
longRangeAdmissible w = true := by
simp [longRangeAdmissible, hDim, hEnergy, hOrder, hCoupling, hResidual]
/--
Compression-level bridge theorem: if the post-summary is admissible under the
provided budgets, the derived environment witness is admissible by definition.
-/
theorem witnessOfCompressionAdmissible
(compression : CompressionWitness)
(retainedOrder : Nat)
(interactionBudget couplingBound residualBudget : Q16_16)
(hDim : dimensionConsistent compression.postSummary = true)
(hEnergy : energyConsistent compression.postSummary = true)
(hOrder : retainedOrder ≤ compression.postSummary.shape.basisDim)
(hCoupling : Q16_16.le couplingBound interactionBudget = true)
(hResidual : Q16_16.le residualBudget interactionBudget = true) :
longRangeAdmissible
(witnessOfCompression compression retainedOrder
interactionBudget couplingBound residualBudget) = true := by
apply admissibleOfBounds
· simpa [witnessOfCompression]
· simpa [witnessOfCompression]
· simpa [witnessOfCompression, orderCovered] using hOrder
· simpa [witnessOfCompression, boundedCoupling] using hCoupling
· simpa [witnessOfCompression, boundedResidual] using hResidual
def sampleEnvironmentWitness : EnvironmentWitness :=
{ summary := samplePostSummary
, retainedOrder := 1
, interactionBudget := Q16_16.ofInt 2
, couplingBound := Q16_16.one
, residualBudget := Q16_16.one }
def sampleCompressionEnvironmentWitness : EnvironmentWitness :=
witnessOfCompression sampleWitness 1 (Q16_16.ofInt 2) Q16_16.one Q16_16.one
#eval retainedDirections sampleEnvironmentWitness
#eval orderCovered sampleEnvironmentWitness
#eval boundedCoupling sampleEnvironmentWitness
#eval boundedResidual sampleEnvironmentWitness
#eval longRangeAdmissible sampleEnvironmentWitness
#eval longRangeAdmissible sampleCompressionEnvironmentWitness
end Semantics.EnvironmentMechanics