diff --git a/config/formalism_relations.yaml b/config/formalism_relations.yaml index 27822fc0..1a4dc02a 100644 --- a/config/formalism_relations.yaml +++ b/config/formalism_relations.yaml @@ -583,6 +583,11 @@ edges: target: fep-009 kind: conceptual rationale: The finite blanket foundation proves a normalized conditional factorization and ties each transition row to it, but neither theorem consumes fep-005's finite partition declarations or fep-009's measure-theoretic conditional-independence declarations. A formal cross-topic edge awaits an explicit carrier bridge. + - source: fep-007 + target: fep-028 + kind: formal + rationale: With unit incoming messages and factor exp(-gamma * cost), fep-007's normalized sum-product message equals fep-028's support-aware softmax on the support embedded from the eight nodes into the ten policies, and fep-007's primary message-normalization theorem derives the unit sum of that softmax. The embedding and the exponential factor are explicit in the witness; no general belief-propagation or free-energy claim is made. Added 2026-10-08 (LEAN-8, issue 106). + witness: FEPComposed.fep007_normalizedMessage_is_fep028_softmax - source: fep-008 target: fep-028 kind: conceptual @@ -643,6 +648,11 @@ edges: target: fep-044 kind: conceptual rationale: The explicit quadratic Bregman instance and the alpha-divergence proxy are neighboring but mathematically distinct divergence families. + - source: fep-029 + target: fep-104 + kind: formal + rationale: fep-029's scalar quadratic Bregman divergence is the one-coordinate instance of the generic Bregman divergence of fep-104 with potential v0^2 and gradient 2*v0, and fep-104's mirror-descent three-point identity yields the scalar three-point law for it. Scalar case only; no claim about other potentials or the alpha-divergence proxy. Added 2026-10-08 (LEAN-8, issue 106). + witness: FEPComposed.fep029_quadraticBregman_is_fep104_scalar_instance - source: fep-030 target: fep-031 kind: conceptual @@ -696,6 +706,16 @@ edges: kind: formal rationale: The composed theorem uses fep-042's success count to construct fep-036's smoothed empirical prior before conjugate updating. Reviewed 2026-09-22 against the primary-qualified endpoint rule. The witness carries fep-036 through its reviewed supporting theorems `fep_fep036.FEP036.fep036_smoothedRate_pos` and `fep_fep036.FEP036.fep036_smoothedRate_lt_one` rather than the primary `fep_fep036.FEP036.fep036_smoothedRate_tendsto_of_empiricalRate`; the row stands unchanged. witness: FEPComposed.fep036_empiricalPosterior_closed + - source: fep-046 + target: fep-045 + kind: formal + rationale: A single stick-breaking fraction is the Bernoulli law of fep-045 (allocated weight is the true mass, residual is the false mass), and fep-046's mass-conservation theorem derives the normalization of fep-045's conjugate posterior mass function at the posterior parameter. One break only; no Dirichlet-process or infinite-series claim. Added 2026-10-08 (LEAN-8, issue 106). + witness: FEPComposed.fep046_single_break_is_fep045_bernoulli + - source: fep-050 + target: fep-049 + kind: formal + rationale: Discharging fep-050's second-law premise with fep-049's nonnegative quadratic entropy production derives the Landauer work bound. The identification of the erasure's total entropy change with the constitutive-law entropy production is an explicit premise (`hBalance`) of the witness, a modelling assumption rather than a consequence of either topic. Added 2026-10-08 (LEAN-8, issue 106). + witness: FEPComposed.fep050_landauer_work_bound_from_fep049_entropy_production - source: fep-051 target: fep-017 kind: formal_pairing diff --git a/docs/formalism-atlas.html b/docs/formalism-atlas.html index 13a34c46..31eae763 100644 --- a/docs/formalism-atlas.html +++ b/docs/formalism-atlas.html @@ -29,10 +29,10 @@ -

FEP Lean · deterministic generated projection

Formalism composition atlas

168 topics · 22 topic families · 146 authored relations. The compact SVG summarizes five broad areas and their data-driven families; the tables below preserve every canonical record without turning the static figure into a 168-card print sheet.

Evidence boundary. Counts describe canonical source coverage. Compilation evidence and full external-run evidence are separate receipt contracts. Deterministic numerical witnesses are explanatory non-proof evidence. They can expose finite sign, normalization, support, rank, identity, and contraction errors; they are neither Lean proof receipts nor empirical validation of the Free Energy Principle.

168 topics matched

Area, family, and relation summary

+

FEP Lean · deterministic generated projection

Formalism composition atlas

168 topics · 22 topic families · 150 authored relations. The compact SVG summarizes five broad areas and their data-driven families; the tables below preserve every canonical record without turning the static figure into a 168-card print sheet.

Evidence boundary. Counts describe canonical source coverage. Compilation evidence and full external-run evidence are separate receipt contracts. Deterministic numerical witnesses are explanatory non-proof evidence. They can expose finite sign, normalization, support, rank, identity, and contraction errors; they are neither Lean proof receipts nor empirical validation of the Free Energy Principle.

168 topics matched

Area, family, and relation summary

Formalism composition atlas summary Five broad areas summarize canonical topic families and semantic dispositions. Authored relation counts are reported separately from formal-module code dependencies. Counts describe canonical source coverage. Compilation evidence and full external-run evidence are separate receipt contracts. Deterministic numerical witnesses are explanatory non-proof evidence. They can expose finite sign, normalization, support, rank, identity, and contraction errors; they are neither Lean proof receipts nor empirical validation of the Free Energy Principle. -{"area_ids":["ActiveInference","BayesianMechanics","FEP","InfoGeometry","Thermodynamics"],"evidence_kind":"deterministic_numerical_witness_non_proof_evidence","family_ids":["closed-loop-policy-trees-and-efe","collective-and-multiagent-active-inference","control-and-planning-as-inference","core-active-inference","standalone-efe-formalizations","causal-blankets-and-interventions","core-bayesian-mechanics","finite-to-native-blanket-transfer","measure-bayesian-inversion","temporal-and-hierarchical-inference","core-free-energy","finite-sample-risk-and-calibration","learning-concentration-and-model-evidence","predictive-coding-and-generalized-coordinates","variational-duality-and-information-bounds","core-information-geometry","finite-exponential-family-dual-geometry","information-geometry-and-geometric-optimization","core-thermodynamics","geometric-mechanics-notation","path-space-stochastic-thermodynamics","two-state-continuous-time-thermodynamics"],"formal_alignment_counts":{"structural_analogue":1,"theorem_instance":16},"relation_counts":{"conceptual":8,"formal":20,"formal_pairing":118},"review_date":"2026-08-21","schema_version":3,"topic_count":168,"witness_count":17} +{"area_ids":["ActiveInference","BayesianMechanics","FEP","InfoGeometry","Thermodynamics"],"evidence_kind":"deterministic_numerical_witness_non_proof_evidence","family_ids":["closed-loop-policy-trees-and-efe","collective-and-multiagent-active-inference","control-and-planning-as-inference","core-active-inference","standalone-efe-formalizations","causal-blankets-and-interventions","core-bayesian-mechanics","finite-to-native-blanket-transfer","measure-bayesian-inversion","temporal-and-hierarchical-inference","core-free-energy","finite-sample-risk-and-calibration","learning-concentration-and-model-evidence","predictive-coding-and-generalized-coordinates","variational-duality-and-information-bounds","core-information-geometry","finite-exponential-family-dual-geometry","information-geometry-and-geometric-optimization","core-thermodynamics","geometric-mechanics-notation","path-space-stochastic-thermodynamics","two-state-continuous-time-thermodynamics"],"formal_alignment_counts":{"structural_analogue":1,"theorem_instance":16},"relation_counts":{"conceptual":8,"formal":24,"formal_pairing":118},"review_date":"2026-08-21","schema_version":3,"topic_count":168,"witness_count":17} Formalism composition atlas -168 canonical topics · 22 joined families · 146 authored relations · 71 maintained modules +168 canonical topics · 22 joined families · 150 authored relations · 71 maintained modules Data-driven family layout; full topic, relation, capability, and module records remain available in the companion accessible HTML tables. @@ -195,10 +195,10 @@ Conceptual 8 edges · 0 named witnesses - + Formal -20 edges · 20 named witnesses +24 edges · 24 named witnesses @@ -236,7 +236,7 @@ Formalism composition atlas -Five areas · 22 families · 146 relations +Five areas · 22 families · 150 relations 168 canonical topics · vertically completeno horizontal crop @@ -441,7 +441,7 @@ 8 edges · 0 witnessed Formal -20 edges · 20 witnessed +24 edges · 24 witnessed Formal Pairing 118 edges · 118 witnessed @@ -469,7 +469,7 @@ are neither Lean proof receipts nor empirical validation of the Free Energy Principle. -
Canonical topic table · 168 topics
All 168 canonical topics; filters hide rows without deleting evidence.
TopicAreaFamilyStatusPrimary theoremInvariantAssumptions / scopeNon-vacuityTheorems / definitions / imports
fep-001Variational Free Energy BoundFEPCore Free EnergyFormalizedfep001_variationalUpperBound_eq_iff
Read invariant

Surprisal plus Mathlib's native measure KL upper-bounds surprisal; for finite measures and finite surprisal, equality holds exactly when the approximate and exact posterior laws coincide.

Read assumptions

The inequality is unconditional in ENNReal. Gap separation requires finite measures, and bound equality additionally requires surprisal below infinity so additive cancellation is sound.

Read non-vacuity review

Matching finite posterior laws attain equality, while any unequal finite pair has a nonzero KL gap and hence a strict finite-surprisal remainder.

3 / 2 / 1
fep-002Variational Evidence Bound via KL DivergenceFEPCore Free EnergyFormalizedfep002_vfe_ge_surprisal
Read invariant

Variational free energy, defined as surprisal plus Mathlib KL divergence, upper-bounds surprisal and is exact at the posterior.

Read assumptions

The bound is unconditional over measures in a measurable space; exactness uses Mathlib's SigmaFinite assumption for KL self-divergence. The codomain is ENNReal, so infinite divergences are represented without a finiteness side condition.

Read non-vacuity review

Any sigma-finite posterior supplies the equality witness q = posterior, while distinct measures can produce a nonzero or infinite KL remainder.

5 / 1 / 2
fep-003Discounted Pragmatic CostActive InferenceCore Active InferenceFormalizedfep003_pragmaticCost_succ
Read invariant

Finite-horizon pragmatic cost is the discounted ENNReal sum of stage costs; horizon extension exposes the exact terminal increment, costs are pointwise monotone, and horizon extension is monotone.

Read assumptions

All costs and the discount live in ENNReal, so nonnegativity and infinity are represented directly. This is the pragmatic-cost input to EFE; epistemic value and its sign are owned by fep-021.

Read non-vacuity review

A positive stage cost at the newly exposed time adds the nonzero increment γ^T c_T; a zero horizon and pointwise-equal costs exercise the boundaries.

4 / 1 / 2
fep-004Finite Diagonal Fisher MetricInfo GeometryCore Information GeometryFormalizedfep004_fisherMetric_eq_zero_iff
Read invariant

A finite diagonal Fisher metric is symmetric and positive semidefinite under nonnegative information weights, and becomes positive definite under strictly positive weights.

Read assumptions

The information weights are explicit inputs rather than derived from a statistical family in this row. Positive definiteness requires every coordinate weight to be strictly positive; fep-038 computes the one-dimensional Bernoulli weight and the composed theorem identifies that specialization.

Read non-vacuity review

Any strictly positive nonconstant weight vector and nonzero tangent has positive norm, while the zero-characterization excludes every nonzero coordinate direction.

3 / 1 / 2
fep-005Four-Block State PartitionBayesian MechanicsCore Bayesian MechanicsFormalizedfep005_existsUnique_block
Read invariant

A function-valued assignment partitions a 20-state finite space into four pairwise-disjoint blocks, and every state belongs to exactly one block.

Read assumptions

Unconditional for any assignment Fin 20 → Fin 4. This establishes an exact finite partition only; it does not infer conditional independence or identify any block as a learned Markov blanket.

Read non-vacuity review

Constant and nonconstant assignments both instantiate the partition, while unique membership rules out overlap for every state.

4 / 1 / 3
fep-006Measurable Discrete-Time FlowFEPCore Free EnergyFormalizedfep006_iterateFlow_add
Read invariant

Iteration of one measurable state update defines a measurable discrete-time flow with identity at time zero, an exact additive semigroup law, and persistence of fixed points.

Read assumptions

Measurability of each time slice requires the one-step map to be measurable. The algebraic semigroup and fixed-point laws require no topology, invariant measure, differentiability, or continuous-time interpolation.

Read non-vacuity review

Identity, constant, and nontrivial measurable maps instantiate the flow; the additive law constrains every pair of horizons rather than a single composition.

4 / 1 / 2
fep-007Normalized Finite Sum-Product MessageActive InferenceCore Active InferenceFormalizedfep007_normalizedMessage_sum_one
Read invariant

Strictly positive local factors and incoming messages over a nonempty finite neighbor support define a nonnegative normalized sum-product message with support mass exactly one.

Read assumptions

Normalization requires a nonempty selected support and strict positivity of every factor and incoming message on it. The message is zero outside that support. This is one exact local update, not loopy-belief-propagation convergence or global marginal correctness.

Read non-vacuity review

Singleton and multi-neighbor supports produce positive normalizers; unequal factor-message products yield a genuinely nonuniform normalized message.

7 / 3 / 4
fep-008Finite Policy Objective MinimizerActive InferenceCore Active InferenceFormalizedfep008_exists_minG
Read invariant

A real-valued objective attains a minimum on a finite nonempty policy set.

Read assumptions

Existence requires only a finite nonempty policy set and an explicit real-valued objective. The theorem does not claim uniqueness of the policy; it separately proves that all minimizers agree in value.

Read non-vacuity review

A policy set with at least two policies and unequal objective values has a genuine selected minimizer; tied objectives exercise nonunique policies with equal minimum value.

4 / 0 / 4
fep-009Conditional Independence LawsBayesian MechanicsCore Bayesian MechanicsFormalizedfep009_condIndep_symm
Read invariant

Conditional independence of two σ-algebras given a third is symmetric under Mathlib's conditional-expectation-kernel definition.

Read assumptions

Conditional on a standard Borel measurable space, a finite measure, a conditioning σ-algebra below the ambient one, and the stated conditional-independence relation. The theorem is a law of conditional independence, not a learned Markov-blanket factorization.

Read non-vacuity review

fep009_condIndep_bot_right proves that every σ-algebra is conditionally independent of the trivial σ-algebra, so the relation is inhabited.

7 / 0 / 1
fep-010Detailed Balance Implies InvarianceBayesian MechanicsCore Bayesian MechanicsFormalizedfep010_reversible_invariant
Read invariant

A Markov kernel satisfying measure-theoretic detailed balance leaves its reference measure invariant.

Read assumptions

Conditional on Mathlib's IsMarkovKernel instance and IsReversible flow equality over all measurable set pairs. This proves stationarity, not a path-space fluctuation theorem or convergence to equilibrium.

Read non-vacuity review

fep010_identity_reversible and fep010_identity_invariant provide a concrete reversible Markov-kernel witness for every measure.

5 / 0 / 1
fep-011Surprise and Self-InformationFEPCore Free EnergyFormalizedfep011_surprise_eq_zero_iff
Read invariant

Negative-log self-information is nonnegative on positive probabilities at most one, additive on positive products, strictly antitone, and zero exactly at certainty.

Read assumptions

Positivity excludes the logarithmic boundary, and the probability interpretation additionally uses p≤1. Additivity is scalar and corresponds to product probabilities; no independence relation is inferred by the theorem.

Read non-vacuity review

Every p in (0,1) has strictly positive surprise, p=1 is the unique zero, and two positive factors exercise the additive law.

7 / 1 / 1
fep-012Finite Policy Shannon Entropy RegularizationFEPCore Free EnergyFormalizedfep012_entropyRegularizedCost_le_expectedCost
Read invariant

Finite Shannon policy entropy is nonnegative on unit-interval weights, vanishes for point policies, and at nonnegative temperature lowers expected cost by exactly its entropy reward.

Read assumptions

Entropy nonnegativity only requires each weight in [0,1]; normalization is supplied separately by a policy law such as fep-028 softmax. The theorem compares objectives and does not claim that softmax is the unique optimizer.

Read non-vacuity review

A point mass has zero entropy while a multi-policy interior law has positive terms; positive temperature yields a nonzero objective correction whenever entropy is positive.

7 / 3 / 4
fep-013Equilibrium Helmholtz Differential IdentitiesThermodynamicsCore ThermodynamicsFormalizedfep013_helmholtz_derivative_eq_neg_entropy
Read invariant

For differentiable U(T) and S(T), Helmholtz free energy has derivative U'−S−TS'; under the equilibrium first-law identity U'=TS', this reduces exactly to dF/dT=−S.

Read assumptions

The derivative law is conditional on pointwise differentiability and the explicitly stated equilibrium identity. It is a thermodynamic calculus identity, not a derivation of the first law or an identification with variational free energy.

Read non-vacuity review

The fep-040 Gaussian thermal entropy with U(T)=T/2 satisfies the premise at every positive temperature, yielding a compiled nonconstant physical witness.

6 / 1 / 3
fep-014KL Divergence: Non-Negativity, Identity, and Chain RuleInfo GeometryCore Information GeometryFormalizedfep014_kl_chain_rule
Read invariant

Mathlib KL divergence is nonnegative, vanishes exactly on equal finite measures, and obeys the composition-product chain rule for Markov kernels.

Read assumptions

Self-divergence uses SigmaFinite; zero-characterization and the chain rule use finite measures; the chain rule additionally requires Markov kernels. The pin separately exposes native measure-KL data processing under a Markov kernel as InformationTheory.klDiv_comp_right_le; fep-014 does not include that theorem in its maintained theorem surface.

Read non-vacuity review

Equal finite measures witness zero KL, unequal finite measures exercise the zero-characterization, and distinct Markov kernels give a nontrivial conditional term in the chain rule.

4 / 0 / 1
fep-015Measurable Variational IntegrandFEPCore Free EnergyFormalizedfep015_variationalIntegrand_measurable
Read invariant

A pointwise variational integrand built from measurable energy, approximate log density, and generative log density is measurable and remains so under measurable reparameterization and baseline shifts.

Read assumptions

All three real-valued ingredients and any reparameterization are assumed measurable. Measurability does not imply integrability, finite expectation, or existence of an optimizer, none of which is claimed.

Read non-vacuity review

Nonconstant measurable coordinate functions instantiate all three terms, and a nonidentity measurable reparameterization exercises the composition theorem.

3 / 1 / 1
fep-016Exact Scalar Quadratic Laplace KernelFEPCore Free EnergyFormalizedfep016_laplaceKernel_integral
Read invariant

A positive-precision scalar quadratic exponential is integrable and has the exact Gaussian normalizing integral sqrt(π/(precision/2)).

Read assumptions

Precision is strictly positive for the scientific integrability result. This is the exact scalar quadratic case underlying Laplace approximation; no approximation-error or higher-dimensional determinant theorem is claimed.

Read non-vacuity review

At precision two the kernel is exp(−x²) with normalizer sqrt(π), and every positive precision gives a nonconstant integrable density kernel.

7 / 1 / 1
fep-017Posterior Kernel ReconstructionBayesian MechanicsCore Bayesian MechanicsFormalizedfep017_posterior_joint_reconstruction
Read invariant

Mathlib's posterior is a Markov kernel whose composition with the predictive law reconstructs the swapped prior-likelihood joint law; for a Markov likelihood it also recovers the prior.

Read assumptions

Conditional on standard-Borel and nonempty latent structure plus finite prior and likelihood kernel. The Radon--Nikodym Bayes formula additionally uses countability of the latent space and standard-Borel observation structure. This is a regular posterior-kernel theorem, not a claim about learned or approximate posteriors.

Read non-vacuity review

Every posterior fibre has mass one, and the identity Markov kernel supplies a concrete prior-recovery witness; non-deterministic finite kernels exercise a nontrivial reconstructed joint law.

4 / 1 / 1
fep-018Bernoulli Fisher–Rao Coordinate DistanceInfo GeometryCore Information GeometryFormalizedfep018_fisherRaoDistance_eq_zero_iff
Read invariant

The Bernoulli Fisher--Rao coordinate distance is nonnegative, symmetric, separating on the probability interval, and satisfies the triangle inequality.

Read assumptions

Separation is restricted to Bernoulli parameters in [0,1], where square root and arcsine are injective. This is the closed-form one-dimensional Fisher--Rao distance, not a general geodesic-existence theorem for arbitrary statistical manifolds.

Read non-vacuity review

The endpoint parameters p = 0 and q = 1 have distinct coordinates, while every equal pair has zero distance.

4 / 2 / 3
fep-019Prior-Predictive Kernel CompositionBayesian MechanicsCore Bayesian MechanicsFormalizedfep019_priorPredictive_assoc
Read invariant

The native prior-predictive law preserves total mass for a Markov likelihood and sequential prediction equals measure composition by the composed kernels.

Read assumptions

Mass preservation requires a Markov likelihood; probability mass one additionally requires a probability prior. The associativity law is structural measure-kernel composition and does not assert model calibration or identifiability.

Read non-vacuity review

A probability prior and non-deterministic finite Markov likelihood yield a normalized non-Dirac predictive law; a second kernel exercises genuine sequential composition.

3 / 1 / 1
fep-020Two-State Markov RelaxationBayesian MechanicsCore Bayesian MechanicsFormalizedfep020_tendsto_uniform
Read invariant

A normalized symmetric two-state transition has the uniform stationary law; its exact n-step deviation is (1-2α)^n times the initial deviation and converges to zero for 0 < α < 1.

Read assumptions

Transition nonnegativity uses α in [0,1], while convergence uses the strict interior so |1-2α| < 1. This is an exact finite-state Markov relaxation model, not a discretized Langevin diffusion.

Read non-vacuity review

For α = 1/4 and any nonstationary initial mass, deviations contract geometrically by 1/2 at every step; at α = 1 the chain instead alternates and the strict-interior convergence premise excludes it.

7 / 2 / 4
fep-021EFE Epistemic–Pragmatic BalanceActive InferenceCore Active InferenceFormalizedfep021_efe_epistemic_balance
Read invariant

Expected free energy is pragmatic expected cost minus epistemic information value in ENNReal; under epistemic value at most cost, adding information back reconstructs cost, while EFE is monotone in cost and antitone in information.

Read assumptions

The truncated subtraction convention makes EFE nonnegative and requires an explicit epistemic≤pragmatic premise for exact reconstruction. It does not assert the alternative risk-plus-ambiguity identity without a generative-model derivation.

Read non-vacuity review

Strictly positive pragmatic cost with zero information yields positive EFE, equal cost and information yields zero, and intermediate information lowers EFE without changing sign.

5 / 1 / 1
fep-022Posterior-Predictive Kernel and Brier PropernessBayesian MechanicsCore Bayesian MechanicsFormalizedfep022_brier_eq_optimum_iff
Read invariant

Markov posterior and likelihood kernels compose into normalized posterior-predictive fibres, and expected Bernoulli Brier loss is uniquely minimized by the true event probability.

Read assumptions

Kernel normalization requires both components to be Markov. Brier properness is an exact real-algebra identity whose probabilistic interpretation restricts true and forecast masses to [0,1]. It is a proper one-event discrepancy, not an empirical calibration-frequency theorem.

Read non-vacuity review

Non-deterministic posterior and likelihood kernels produce nontrivial predictive true-event mass; every forecast q distinct from p incurs the strictly positive squared regret (q-p)^2.

4 / 3 / 2
fep-023Policy-Indexed Reachable LawsActive InferenceCore Active InferenceFormalizedfep023_reachable_normalized
Read invariant

The distributional affordance set is the image of available policies under their outcome-law map; policy-set inclusion is monotone and normalization of every policy law transfers to every reachable law.

Read assumptions

Reachability is policy-indexed one-step image semantics. Normalization is an explicit premise on available policy laws; no controllability, multi-step support closure, or topology on the law space is claimed.

Read non-vacuity review

Distinct policies may induce distinct normalized measures, while an empty policy set yields no reachable law and a singleton set yields its single law.

4 / 1 / 1
fep-024KL Regularization in ObjectivesInfo GeometryCore Information GeometryFormalizedfep024_klRegularizedObjective_exact
Read invariant

An ENNReal objective regularized by a nonnegative weight times native measure KL upper-bounds its base, is monotone in weight, recovers the base at zero weight, and is exact when approximation equals a sigma-finite prior.

Read assumptions

The codomain explicitly admits infinite objectives and KL values. Exactness at the prior uses sigma-finiteness; no differentiability or optimizer-existence claim is made.

Read non-vacuity review

Positive weight and unequal finite laws contribute a nonzero regularizer, while zero weight and matching laws independently exercise both exactness mechanisms.

4 / 1 / 1
fep-025Conserved Nonequilibrium Probability CurrentsThermodynamicsCore ThermodynamicsFormalizedfep025_cycleCurrent_stationary
Read invariant

For flux πᵢPᵢⱼ, forward-minus-reverse current is antisymmetric; row normalization plus π-stationarity derives zero divergence. A directed three-state transition with uniform stationary law has a nonzero divergence-free current.

Read assumptions

The general stationarity theorem explicitly requires normalized transition rows and a stationary real mass vector. The concrete witness is a finite deterministic cycle; no continuous-state NESS existence or thermodynamic force law is inferred here.

Read non-vacuity review

The clockwise three-state transition is nonidentity, preserves the uniform law, has current 1/3 on edge 0→1, and nevertheless has zero divergence at every state.

8 / 6 / 3
fep-026Negative-Log Prior ComplexityFEPCore Free EnergyFormalizedfep026_priorComplexity_eq_zero_iff
Read invariant

Negative-log prior complexity is additive on positive product densities, strictly antitone, and zero exactly at unit density.

Read assumptions

The input is a positive scalar prior-density value, not a normalized prior measure. Product additivity is exact; measure-valued relative complexity is owned by fep-014 and fep-024.

Read non-vacuity review

Every density in (0,1) has positive complexity, unit density is the unique positive zero, and unequal positive values exercise strict antitonicity.

7 / 1 / 1
fep-027Hierarchical Kernel FactorizationBayesian MechanicsCore Bayesian MechanicsFormalizedfep027_hierarchical_assoc
Read invariant

A parent measure and child kernel form a normalized hierarchical joint whose marginals recover the parent and prior predictive, and whose three-level factorization is associative up to product reassociation.

Read assumptions

Joint normalization requires a probability parent and Markov child; first- and second-marginal identities require the stated finite-kernel classes. The associativity theorem is exact for Mathlib composition products and does not impose causal identifiability.

Read non-vacuity review

A non-Dirac finite parent and state-dependent non-deterministic Markov child give a dependent normalized joint with distinct parent and predictive marginals; a third kernel exercises nontrivial reassociation.

4 / 1 / 1
fep-028Support-Aware Finite Softmax PolicyActive InferenceCore Active InferenceFormalizedfep028_softmax_sum_univ
Read invariant

Exponentiated policy scores on a nonempty selected support define a nonnegative full finite weight vector, vanish outside support, are pointwise at most one, and sum to one globally.

Read assumptions

Only support nonemptiness is required; inverse temperature and costs may be arbitrary reals. This proves an exact stochastic policy law but not optimality, sampling behavior, or a temperature limit.

Read non-vacuity review

A two-policy support with unequal costs gives unequal positive weights, while excluded policies have exact zero mass and the full ten-policy vector remains normalized.

7 / 1 / 2
fep-029Quadratic Bregman DivergenceInfo GeometryCore Information GeometryFormalizedfep029_quadraticBregman_eq_zero_iff
Read invariant

The scalar Bregman divergence generated by φ(x)=x² equals (x-y)², is nonnegative, and vanishes exactly when x=y.

Read assumptions

Unconditional over real x and y for the explicit quadratic generator; no general differentiable convex function, projection theorem, or mirror-descent convergence is claimed.

Read non-vacuity review

At x=1 and y=0 the divergence equals 1; at x=y it equals 0.

7 / 1 / 2
fep-030Maximum Entropy PrincipleThermodynamicsCore ThermodynamicsFormalizedfep030_binaryEntropy_max
Read invariant

Binary Shannon entropy in nats is globally at most log 2, with equality exactly at probability one half.

Read assumptions

The native Mathlib theorem is unconditional over real inputs because Real.binEntropy has a total extension; the scientific probability domain is [0,1]. This is the Bernoulli maximum-entropy principle, not the general constrained Jaynes problem.

Read non-vacuity review

The equality characterization proves attainment at p = 1/2 and strict loss at every other real input.

6 / 0 / 4
fep-031Finite Boltzmann–Gibbs WeightsThermodynamicsCore ThermodynamicsFormalizedfep031_gibbsProbability_sum_one
Read invariant

Positive exponential Gibbs weights normalize to a nonnegative mass function summing to one on any nonempty finite support.

Read assumptions

Conditional only on a nonempty selected support; β and energies are arbitrary reals. The row does not derive Gibbs weights from maximum entropy or bundle the result as a measure.

Read non-vacuity review

A singleton support has normalized mass one, while two unequal energies produce distinct positive normalized weights.

5 / 1 / 1
fep-032Exact Quadratic Gradient-Descent DynamicsFEPCore Free EnergyFormalizedfep032_quadraticUpdate_tendsto
Read invariant

Gradient descent on the centered scalar quadratic has an exact n-step iterate, nonincreasing energy for step sizes in [0,2], and converges globally to the center for steps in (0,2).

Read assumptions

The closed form is unconditional. Energy descent uses 0≤η≤2 and convergence uses the strict stability interval 0<η<2. This is an exact quadratic model, not a theorem for arbitrary smooth or convex objectives.

Read non-vacuity review

At η=1/2 every displacement halves, producing nontrivial geometric convergence; η=1 reaches the center in one step and the endpoints expose the non-strict boundary.

5 / 1 / 2
fep-033Finite-Horizon Bellman RecursionActive InferenceCore Active InferenceFormalizedfep033_bellman
Read invariant

A deterministic transition-aware finite-horizon value obeys an exact Bellman recursion with stage cost, discount, and terminal cost; it is monotone in both cost functions and has exact zero-cost and zero-discount boundaries.

Read assumptions

The transition is deterministic and the codomain is ENNReal. No stochastic policy optimization, discount-convergence limit, or infinite-horizon fixed point is claimed.

Read non-vacuity review

A nonconstant transition and positive discount propagate later-state terminal and stage costs, while zero discount isolates the immediate cost exactly.

4 / 1 / 1
fep-034Normalized Bayesian FilteringActive InferenceCore Active InferenceFormalizedfep034_filter_joint_reconstruction
Read invariant

A transition-composed predictive prior and native observation posterior reconstruct the swapped predicted-state/observation joint law, with probability mass one in every posterior fibre.

Read assumptions

Conditional on standard-Borel nonempty latent structure, a finite prior, and finite transition and observation kernels; prediction preserves total mass when the transition is Markov, and posterior recovery additionally requires a Markov observation kernel. This is a one-step exact filter, not a convergence or learned-state theorem.

Read non-vacuity review

A nonidentity finite Markov transition followed by a noisy observation kernel yields a nontrivial predictive prior and posterior; each posterior fibre has mass one rather than merely nonnegative unnormalized weight.

4 / 2 / 1
fep-035Jensen's Inequality for LogFEPCore Free EnergyFormalizedfep035_log_jensen_two_strict
Read invariant

For distinct positive inputs and strictly positive weights summing to one, the weighted average of logarithms is strictly below the logarithm of the weighted average.

Read assumptions

Conditional on x,y > 0, x ≠ y, a,b > 0, and a+b=1. This is the exact two-point strict Jensen law; finite-family and measure-integral variants are not claimed.

Read non-vacuity review

Witnessed by x = 1, y = 2, and a = b = 1/2.

7 / 0 / 1
fep-036Laplace-Smoothed Empirical Bernoulli PriorBayesian MechanicsCore Bayesian MechanicsFormalizedfep036_smoothedRate_tendsto_of_empiricalRate
Read invariant

A Mathlib finite binomial sampling law supplies admissible success counts; Laplace smoothing maps every outcome to an interior Bernoulli prior, is monotone in successes, and preserves the limit of any convergent empirical-frequency sequence.

Read assumptions

The finite sampling law requires p in [0,1]. Interiority uses the intrinsic count bound, and consistency transfer explicitly assumes convergence of the raw empirical frequency. The row does not prove the binomial law of large numbers, a finite-sample risk bound, or marginal-likelihood hyperparameter optimality.

Read non-vacuity review

Every count in Fin (n+1) is admitted by the estimator; zero successes in zero trials gives 1/2, nontrivial counts vary within (0,1), and the shrinkage factor tends to one while the pseudocount offset tends to zero.

8 / 4 / 4
fep-037Two-State Correlation–Response LawThermodynamicsCore ThermodynamicsFormalizedfep037_response_eq
Read invariant

For the symmetric two-state relaxation eigenvalue 1-2α, stationary autocorrelation obeys an exact recurrence and decays for 0<α<1; the discrete fluctuation--response kernel equals 2βα variance times the same geometric mode and also decays.

Read assumptions

Response is defined as inverse temperature times the one-step autocorrelation loss. Nonnegativity additionally restricts α≤1/2 and nonnegative inverse temperature and variance. This is an exact discrete two-state response law, not a microscopic Kubo derivation for general dynamics.

Read non-vacuity review

For α=1/4, positive β, and nonzero variance, lag-zero response is positive and both correlation and response decay geometrically by 1/2.

5 / 3 / 2
fep-038Bernoulli Fisher Information and Natural GradientInfo GeometryCore Information GeometryFormalizedfep038_fisherInformation_eq
Read invariant

The differentiated Bernoulli family has zero expected score and Fisher information 1/(p(1-p)); its inverse metric defines a dual natural gradient and is the pullback of the Euclidean metric along the Fisher--Rao coordinate.

Read assumptions

Metric positivity, inverse-metric duality, and the coordinate law require an interior Bernoulli parameter 0 < p < 1. This is a complete one-dimensional Bernoulli information geometry, not a general finite- or infinite-dimensional statistical manifold.

Read non-vacuity review

At p = 1/2 the Fisher information is 4, every nonzero tangent has positive metric norm, and the natural-gradient map rescales nonzero covectors by 1/4.

8 / 7 / 5
fep-039Four-Block Additive Free EnergyFEPCore Free EnergyFormalizedfep039_global_eq_zero_iff
Read invariant

Four local free-energy contributions aggregate additively and monotonically; under local nonnegativity, their global sum vanishes exactly when every local term vanishes.

Read assumptions

Additivity is unconditional over four real components. Zero separation requires each local term to be nonnegative. The composed partition theorem ties those four components to fep-005's exact state blocks.

Read non-vacuity review

A single positive local contribution makes the global quantity positive, while independent nonzero contributions exercise exact additivity.

5 / 1 / 3
fep-040Native Gaussian Law and Thermal Entropy ResponseBayesian MechanicsCore Bayesian MechanicsFormalizedfep040_thermalEntropy_hasDerivAt
Read invariant

Mathlib's real Gaussian law is normalized with its stated mean and variance; the one-dimensional closed-form entropy is strictly variance-monotone, differentiable with derivative 1/(2v), and under v=κT has derivative 1/(2T) and heat capacity 1/2.

Read assumptions

The native probability, mean, and variance theorems include the zero-variance Dirac boundary. Entropy monotonicity and derivatives require positive variance, and the thermal relation requires κ,T>0. The closed-form entropy is specified directly rather than rederived here as an integral of negative log density.

Read non-vacuity review

For unit scale and positive temperature, the Gaussian law is nondegenerate, its entropy response is nonzero, and the dimensionless heat capacity is exactly 1/2.

7 / 5 / 3
fep-041Expected Information Gain via Measure KLActive InferenceCore Active InferenceFormalizedfep041_expectedInformationGain_zero
Read invariant

Information gain is native measure-valued KL divergence: it is nonnegative, separates finite posterior and prior measures, and its predictive expectation vanishes when observations leave the posterior unchanged almost everywhere.

Read assumptions

KL separation requires finite measures. The zero expected-information theorem requires a sigma-finite prior and almost-everywhere posterior equality; it does not claim that every informative experiment has strictly positive expected gain.

Read non-vacuity review

An observation-independent posterior equal to the prior yields zero gain, while any unequal finite posterior/prior pair has nonzero KL by separation.

3 / 2 / 2
fep-042Bernoulli Sufficient-Statistic FactorizationBayesian MechanicsCore Bayesian MechanicsFormalizedfep042_likelihood_eq_of_stat_eq
Read invariant

The Bernoulli sequence likelihood factorizes exactly through success and failure counts, so samples with equal count statistics have identical likelihood for every parameter.

Read assumptions

The theorem is finite-sample and algebraic over a Boolean observation list. Its probabilistic interpretation restricts p to [0,1]; no completeness, asymptotic efficiency, or non-Bernoulli family is claimed.

Read non-vacuity review

Distinct orderings such as [true,false] and [false,true] have the same statistic and likelihood, while samples with different success counts generally differ for interior p.

2 / 4 / 2
fep-043Fermat Criticality and Quadratic CurvatureFEPCore Free EnergyFormalizedfep043_quadratic_critical_iff
Read invariant

Fermat's theorem makes every local minimum critical; for an exact positive-curvature quadratic, the derivative is the stated gradient, the center is the unique critical point and global minimizer, and the scalar Hessian is strictly positive.

Read assumptions

The general derivative-zero theorem uses Mathlib's local-minimum notion. Uniqueness and positive second derivative are proved only for the explicit scalar quadratic with a>0, not inferred for arbitrary differentiable objectives.

Read non-vacuity review

Every positive a and noncenter x has nonzero gradient and strictly larger energy than the center, while the Hessian 2a is nonzero everywhere.

6 / 2 / 4
fep-044Bernoulli Squared Hellinger DivergenceInfo GeometryCore Information GeometryFormalizedfep044_hellingerSq_eq_zero_iff
Read invariant

The squared Hellinger divergence between Bernoulli laws is nonnegative, symmetric, invariant under success/failure relabeling, and separates parameters on [0,1].

Read assumptions

Nonnegativity and symmetry are unconditional for the real-valued formula; the probability-divergence interpretation and separation theorem restrict both parameters to [0,1]. This is the Hellinger member of the alpha-divergence family, not a theorem for every alpha.

Read non-vacuity review

Equal Bernoulli parameters have zero divergence, while the endpoint laws p = 0 and q = 1 are separated.

4 / 1 / 2
fep-045Finite Bernoulli Conjugate ClosureBayesian MechanicsCore Bayesian MechanicsFormalizedfep045_bernoulli_posterior_closed
Read invariant

For a nonzero evidence normalizer, likelihood-times-Bernoulli-prior mass normalizes pointwise to another Bernoulli law at the Bayes-updated parameter.

Read assumptions

Closure is exact for a binary latent hypothesis and binary evidence likelihood. Interior prior and positive likelihood assumptions prove positive evidence and keep the updated parameter in [0,1]. This is a finite Bernoulli conjugate family, not Beta-density conjugacy.

Read non-vacuity review

Unequal positive likelihoods move an interior prior parameter while posterior mass still sums to one; equal likelihoods leave the prior parameter unchanged algebraically.

4 / 4 / 2
fep-046Finite Stick-Breaking Mass ConservationBayesian MechanicsCore Bayesian MechanicsFormalizedfep046_mass_conservation
Read invariant

For every finite stick-breaking sequence, allocated weights plus residual mass equal exactly one; unit-interval breaks keep the residual in [0,1].

Read assumptions

Mass conservation is a purely algebraic identity with no bounds. Residual nonnegativity and the unit upper bound require every break fraction in [0,1]. No infinite-series exhaustion or random-process law is claimed.

Read non-vacuity review

Multiple unequal interior breaks allocate several positive weights and a positive remainder, while a break of one exhausts all subsequent residual mass.

3 / 2 / 2
fep-047Compositional Finite Sum-Product PropagationActive InferenceCore Active InferenceFormalizedfep047_forward_compose
Read invariant

Finite sum-product forward propagation is matrix--vector multiplication: it preserves nonnegativity and order under nonnegative factors, has zero and identity laws, and composes exactly by matrix multiplication.

Read assumptions

Nonnegativity and monotonicity require entrywise nonnegative factors and inputs. Identity and composition are unconditional algebraic laws. The row proves exact finite propagation, not normalization or loopy fixed-point convergence.

Read non-vacuity review

Nonidentity dense matrices and nonconstant incoming vectors exercise genuine cross-state aggregation; two distinct factors exercise nontrivial composed propagation.

5 / 1 / 2
fep-048Contractive Policy Update UniquenessFEPCore Free EnergyFormalizedfep048_contraction_unique
Read invariant

Mathlib's global ContractingWith contract gives a unique fixed point on ℝ, and iterations of the concrete halving update converge to zero.

Read assumptions

ContractingWith packages a nonnegative Lipschitz coefficient strictly below one. Completeness and nonemptiness of ℝ discharge the Banach fixed-point assumptions; no claim is made for arbitrary noncontractive policy updates.

Read non-vacuity review

The nonconstant update x ↦ x/2 is certified with coefficient 1/2, has zero as its unique fixed point, and has iterates converging to zero from every real start.

8 / 1 / 3
fep-049Linear Constitutive Entropy ProductionThermodynamicsCore ThermodynamicsFormalizedfep049_entropyProduction_eq_zero_iff
Read invariant

Under Jᵢ=LᵢXᵢ, the flux--force pairing is a nonnegative quadratic form that separates equilibrium for Lᵢ>0. Independently, positive forward/reverse edge fluxes have production (f-r)log(f/r)≥0, with equality exactly at detailed balance.

Read assumptions

The finite constitutive law is diagonal and assumes nonnegative conductances. The edge theorem assumes strictly positive bidirectional fluxes so affinity is finite. Cross-coupled Onsager matrices and microscopic derivations remain outside the claim.

Read non-vacuity review

Any nonzero force under positive conductance produces positive quadratic entropy; unequal positive directed fluxes produce positive edge entropy, while equality of fluxes is the exact zero-production boundary.

5 / 4 / 3
fep-050Logical Erasure and the Landauer BoundThermodynamicsCore ThermodynamicsFormalizedfep050_landauer_work_bound
Read invariant

A noninjective reset maps an unbiased bit to a pure state and loses exactly kB log 2 entropy; nonnegative total entropy at positive temperature derives the corresponding heat bound, and work above heat derives the work bound.

Read assumptions

The derivation explicitly assumes the second-law total-entropy inequality, positive environmental temperature, and work at least as large as dissipated heat. It does not model a microscopic Hamiltonian or finite-time erasure protocol.

Read non-vacuity review

The reset identifies true and false, the unbiased-to-pure entropy change is exactly nonzero for kB > 0, and equality in the environmental balance saturates the Landauer threshold.

5 / 6 / 2
fep-051Likelihood-Ratio Reconstruction under Absolute ContinuityBayesian MechanicsMeasure Bayesian InversionFormalizedfep051_likelihoodRatio_reconstruction
Read invariant

A native Radon–Nikodym derivative reconstructs a target measure from its reference exactly when the target is absolutely continuous with respect to that reference.

Read assumptions

Both results require a measurable carrier and a HaveLebesgueDecomposition instance. The forward reconstruction additionally assumes target ≪ reference; the equivalence proves that this is the exact support condition and does not erase a singular component.

Read non-vacuity review

Taking target equal to reference supplies a reconstructible case, while any target with a nonzero singular component lies on the theorem's explicit failure boundary.

2 / 0 / 1
fep-052Posterior Density as a Likelihood TiltBayesian MechanicsMeasure Bayesian InversionConditional Proxyfep052_posterior_density_tilt
Read invariant

A posterior kernel is a prior measure tilted by the likelihood-to-predictive Radon–Nikodym derivative for predictive-almost-every observation.

Read assumptions

The native result assumes a finite prior, a finite likelihood kernel, a nonempty standard-Borel parameter space, countable generation between the parameter and observation spaces, and prior-almost-every likelihood domination. The countable specialization discharges domination but remains an almost-everywhere identity, not a pointwise formula on null observations.

Read non-vacuity review

Countable nonempty parameter spaces and finite Markov likelihoods instantiate the specialization without an authored domination proof; observations in a predictive null set remain intentionally unconstrained.

2 / 0 / 1
fep-053Kernel Bayesian-Inversion ReconstructionBayesian MechanicsMeasure Bayesian InversionFormalizedfep053_kernelBayes_joint_reconstruction
Read invariant

Bayesian inversion reconstructs the swapped prior-likelihood joint measure, and at every positive finite evidence atom posterior mass times evidence equals the corresponding joint atom.

Read assumptions

The measure theorem requires a finite prior and likelihood on a nonempty standard-Borel parameter space. The finite atom theorem additionally exposes strictly positive predictive evidence; it makes no normalized posterior claim at a zero-evidence atom.

Read non-vacuity review

Any informative finite likelihood with a positive predictive atom exercises the atom reconstruction, while the measure equality covers the complete swapped joint rather than only one selected observation.

2 / 0 / 1
fep-054Bayes Involution for Finite Joint LawsBayesian MechanicsMeasure Bayesian InversionConditional Proxyfep054_bayes_involution
Read invariant

Inverting a finite Markov likelihood twice returns the original likelihood prior-almost-everywhere, and one inversion followed by prediction reconstructs the prior exactly as a measure.

Read assumptions

The likelihood and prior are native finite kernels and measures, not only finite atom tables. Involution requires both parameter and observation carriers to be nonempty standard Borel and the likelihood to be Markov; its conclusion is almost-everywhere rather than pointwise kernel equality.

Read non-vacuity review

Every finite Markov likelihood on nonempty standard-Borel spaces satisfies exact prior reconstruction, while distinct versions of a posterior on null observations explain why involution is stated almost everywhere.

2 / 0 / 1
fep-055Composite-Kernel Bayesian InversionBayesian MechanicsMeasure Bayesian InversionConditional Proxyfep055_compositeKernel_bayesInversion
Read invariant

Bayesian inversion reverses a two-kernel composition into the corresponding composition of inversions, and the associated predictive law is exactly the chronological two-stage prediction.

Read assumptions

The prior and both kernels are finite, and the parameter and intermediate spaces are nonempty standard Borel. The inverse-kernel equality holds only almost everywhere under the final predictive law; predictive associativity itself is an unconditional measure equality under finiteness.

Read non-vacuity review

Two nonidentity finite kernels produce a genuine intermediate marginal and final predictive law, while final-predictive null observations retain the expected version ambiguity.

2 / 0 / 1
fep-056Standard-Borel Conditional-Kernel ReconstructionBayesian MechanicsMeasure Bayesian InversionFormalizedfep056_standardBorel_condKernel_reconstruction
Read invariant

Mathlib's canonical conditional kernel reconstructs a finite joint measure from its first marginal and is normalized at every conditioning value.

Read assumptions

The conditioned carrier must be nonempty standard Borel and the joint measure finite. This is the maintained standard-Borel disintegration theorem, not a claim that regular conditional probabilities exist on arbitrary measurable spaces.

Read non-vacuity review

Nonproduct finite joint measures are admitted, so reconstruction can retain genuine dependence; the Markov-kernel construction also specifies normalized values on marginal-null conditioning points.

2 / 0 / 1
fep-057Conditional-Expectation Tower through a KernelBayesian MechanicsMeasure Bayesian InversionFormalizedfep057_conditionalExpectation_tower
Read invariant

Integrating a conditional expectation against the conditioning marginal equals the original joint expectation, with a parallel extended-nonnegative tower law.

Read assumptions

The joint measure is finite and the conditioned carrier nonempty standard Borel. Real-valued observables must be integrable; extended-nonnegative observables need measurability but no separate integrability premise.

Read non-vacuity review

Dependent finite joints and nonconstant observables exercise genuine nested integration, while nonintegrable signed observables are excluded rather than assigned a spurious finite expectation.

2 / 0 / 1
fep-058Finite Gibbs Variational PrincipleFEPVariational Duality And Information BoundsFormalizedfep058_gibbsVariational_lower_bound
Read invariant

Finite Gibbs free energy is bounded below by minus the certified log partition, and the explicit normalized Gibbs law attains that bound.

Read assumptions

GibbsCertificate exposes strict support for reference and optimizer laws and the exact pointwise log-density identity. The theorem is finite and does not assert existence of such a certificate for arbitrary continuous potentials.

Read non-vacuity review

On every nonempty finite carrier, the uniform zero-potential certificate is full support and attains objective value zero, demonstrating compatible normalization and logarithmic assumptions.

3 / 0 / 1
fep-059Finite Donsker–Varadhan Equality with a Full-Support Gibbs OptimizerFEPVariational Duality And Information BoundsFormalizedfep059_donskerVaradhan_equality_iff
Read invariant

The finite Donsker–Varadhan objective is bounded by the certified log partition, with equality exactly at the supplied full-support Gibbs optimizer.

Read assumptions

The result is parameterized by GibbsCertificate, whose strict-support and log-density fields make the finite logarithmic boundary explicit. It does not extend the equality to arbitrary measures, unbounded potentials, or an optimizer whose existence has not been certified.

Read non-vacuity review

The uniform zero-potential certificate from the shared foundation supplies a normalized full-support optimizer; unequal candidates have a strictly positive KL gap and therefore cannot attain equality.

3 / 0 / 1
fep-060Coordinate ELBO DecompositionFEPVariational Duality And Information BoundsFormalizedfep060_coordinateELBO_decomposition
Read invariant

A finite joint ELBO separates exactly into a prior-coordinate score minus an expected conditional KL remainder, and that remainder is nonnegative.

Read assumptions

The decomposition assumes every reference-prior and reference-kernel atom is strictly positive so all logarithmic rewrites are sound. Conditional KL nonnegativity is proved for the project's totalized finite divergence, but no zero-reference extended-real interpretation is claimed.

Read non-vacuity review

Distinct actual and reference kernels yield a positive conditional remainder; matching kernels collapse only that coordinate penalty while leaving the prior-coordinate score visible.

2 / 0 / 1
fep-061Mean-Field Coordinate Free-Energy OptimumFEPVariational Duality And Information BoundsFormalizedfep061_meanFieldCoordinate_optimum_iff
Read invariant

Holding one supported mean-field factor fixed reduces the coordinate free energy exactly to finite KL, whose unique zero is the supported target factor.

Read assumptions

The fixed and target laws have full support on finite carriers. The theorem is a one-coordinate optimum with the other factor held fixed; it does not prove global convergence of alternating mean-field updates or handle continuous variational families.

Read non-vacuity review

A candidate different from the full-support target has strictly positive coordinate free energy, whereas selecting the target attains the exact zero optimum for any full-support fixed factor.

2 / 0 / 1
fep-062Fixed-Sample Importance-Weighted Jensen BoundFEPVariational Duality And Information BoundsFormalizedfep062_iidProduct_importanceJensen
Read invariant

For a positive fixed sample count and positive weights, the IID product-law expectation of the log sample-mean weight is at most the log of its expected sample-mean weight.

Read assumptions

The carrier is finite, NeZero excludes sample count zero, and every weight is strictly positive before Real.log is used. The positive-expectation witness additionally assumes a nonempty carrier and full-support sampling law.

Read non-vacuity review

Nonconstant positive importance weights on a nonempty finite carrier give a genuinely random positive sample mean; a one-sample law recovers the base finite Jensen inequality.

3 / 0 / 1
fep-063Finite-Channel KL Data-Processing InequalityFEPVariational Duality And Information BoundsConditional Proxyfep063_finiteChannel_klDataProcessing
Read invariant

Passing two finite full-support laws through the same strictly positive finite channel cannot increase their finite KL divergence.

Read assumptions

Input is nonempty, both input laws have strict support, and every channel atom is strictly positive; these conditions force reference-predictive support and avoid the project's totalized-log boundary. This is stronger support than the most general measure-theoretic data-processing theorem.

Read non-vacuity review

Any noisy positive channel acting on unequal full-support input laws exercises a genuine contraction comparison. Separate identity and complete-coarsening witnesses cover deterministic zero-entry channels: identity preserves finite KL and complete coarsening strictly reduces it for unequal laws. These do not weaken the support premises of the primary theorem or identify singular native infinity with the project's totalized finite convention.

4 / 0 / 1
fep-064Rate–Distortion Lagrangian Weak DualityFEPVariational Duality And Information BoundsStructural Proxyfep064_rateDistortion_weakDuality
Read invariant

Separately certified lower bounds on finite mutual information and expected distortion combine into a lower bound on their rate–distortion Lagrangian for every nonnegative multiplier. Supporting theorems now additionally establish an attained information minimum for every nonempty finite fixed-source distortion-feasible set, an actual Lagrangian-infimum weak-duality bound, and an attained strictly positive optimum at fair Boolean Hamming budget one quarter.

Read assumptions

The theorem assumes both component lower bounds rather than deriving a dual function. The supporting attainment theorem instead derives primal optimizer existence from compactness and the continuous zero-safe entropy expression for mutual information, requiring only a feasible finite joint with fixed source marginal. Infimum-derived weak duality requires nonnegative distortion and multiplier; zero-multiplier dual value requires a nonempty code alphabet. Neither general strong duality, dual attainment, a closed-form interior rate function, nor general optimizer uniqueness is claimed. The structural-proxy disposition and primary theorem remain unchanged: the primary theorem still assumes separately certified component lower bounds, while the independently reviewed supporting theorems establish finite optimizer attainment and infimum-derived weak duality.

Read non-vacuity review

Positive multipliers make both certified components contribute, while setting the multiplier to zero reduces the Lagrangian exactly to mutual information and gives dual value zero. A concrete quarter-crossover Boolean joint makes the interior budget feasible, while every independent fair-source joint has distortion one half, forcing the attained quarter-budget optimum positive. Negative budgets are infeasible, zero budget forces a unique diagonal joint, and half budget has two distinct independent information minimizers.

9 / 0 / 1
fep-065Controlled-Kernel NormalizationActive InferenceControl And Planning As InferenceFormalizedfep065_controlledKernel_normalization
Read invariant

Every action and source state in a finite controlled kernel selects a normalized next-state law.

Read assumptions

State and action carriers are finite and ControlledKernel is an action-indexed family of normalized FiniteKernel rows. No policy, controllability, stationarity, or infinite-horizon claim follows from row normalization alone.

Read non-vacuity review

Multiple actions may select distinct nondegenerate transition rows while each retains unit mass, so the action index is not definitionally irrelevant.

1 / 0 / 1
fep-066Action-Conditioned Bayesian Belief UpdateActive InferenceControl And Planning As InferenceFormalizedfep066_actionConditioned_bayes_reconstruction
Read invariant

A positive-evidence action-conditioned prediction and observation update is normalized and reconstructs its predicted state-observation joint mass.

Read assumptions

All carriers are finite and the selected action has strictly positive observation evidence. The normalized posterior is not constructed at zero evidence, and the theorem concerns one update rather than policy optimality.

Read non-vacuity review

Informative emissions after distinct action-conditioned transitions yield different posterior beliefs; the zero-evidence theorem pins the exact point where the normalized construction is unavailable.

3 / 0 / 1
fep-067Reachable Finite-Belief POMDP ReductionActive InferenceControl And Planning As InferenceStructural Proxyfep067_reachableBelief_policyValue_equivalence
Read invariant

Expanding a finite reachable-belief index into its interpreted finite law preserves every fixed finite-horizon feedback-policy value.

Read assumptions

ReachableBeliefPOMDP supplies a finite indexed carrier, an interpretation into FiniteLaw, and sound positive-evidence updates; DecidableEq is required for the belief index. This is not a finite enumeration of the full probability simplex or an infinite-horizon POMDP reduction.

Read non-vacuity review

The concrete Boolean reachable model proves an exact positive-evidence Bayes update between two belief indexes, and arbitrary horizons exercise recursive policy-value preservation.

2 / 0 / 1
fep-068Soft Bellman RecursionActive InferenceControl And Planning As InferenceFormalizedfep068_softBellman_recursion
Read invariant

On a nonempty finite action carrier, a positive-temperature soft Bellman partition is positive, its successor value is the exact temperature-scaled log-sum-exp backup, and that soft value is no larger than any hard action energy.

Read assumptions

State and action sets are finite, the action carrier is inhabited, and temperature is strictly positive before division, logarithmic aggregation, and the soft-minimum comparison. The statement is an exact finite-horizon recursion and pointwise hard/soft bound, not an infinite-horizon fixed-point or optimality-limit theorem.

Read non-vacuity review

Inhabited actions make the exponential partition strictly positive; nonconstant costs and action-dependent transition rows make multiple exponentiated action values contribute to the finite soft minimum.

1 / 0 / 1
fep-069KL-Control Desirability RecursionActive InferenceControl And Planning As InferenceStructural Proxyfep069_desirability_recursion
Read invariant

One finite desirability backup is an exponential state-cost tilt of a passive transition prediction and preserves nonnegativity.

Read assumptions

The theorem gives the algebraic KL-control desirability operator on a finite Markov kernel. It does not derive this operator from a path-space KL objective, prove an optimal controlled kernel, or establish convergence of iteration.

Read non-vacuity review

Nonzero costs and nonconstant nonnegative desirability produce a nontrivial tilted prediction, while zero cost and unit desirability form an exact normalized fixed point.

3 / 0 / 1
fep-070Control-as-Inference Policy PosteriorActive InferenceControl And Planning As InferenceStructural Proxyfep070_controlPosterior_reconstruction
Read invariant

A prior-weighted exponential action score normalizes to a control posterior whose mass reconstructs the unnormalized score.

Read assumptions

The action carrier is finite, precision and costs are real, and positivity of the exponential partition is supplied by the finite Boltzmann construction. The result is an exact algebraic posterior but does not derive its cost from a full generative observation model.

Read non-vacuity review

Unequal action costs and a supported prior reweight actions nonuniformly; identically zero costs return the prior exactly for every precision.

3 / 0 / 1
fep-071Sophisticated Expected-Free-Energy Backward InductionActive InferenceControl And Planning As InferenceConditional Proxyfep071_sophisticatedEFE_backward_step
Read invariant

Finite sophisticated expected-free-energy recursion reoptimizes after each observation-dependent belief update, and a two-stage witness strictly separates feedback from every fixed open-loop second action.

Read assumptions

Belief, action, and observation carriers are finite and Action is nonempty so each finite argmin exists. The theorem is a maintained finite-horizon recursion with an exact Boolean two-stage witness; it does not prove continuous-state or infinite-horizon sophisticated planning.

Read non-vacuity review

In the witness, false and true observations choose different continuation actions, and the resulting expected cost is strictly below that of either fixed Boolean continuation.

3 / 0 / 1
fep-072Hidden-Markov Forward Filtering RecursionBayesian MechanicsTemporal And Hierarchical InferenceFormalizedfep072_forward_filtering_recursion
Read invariant

One positive-evidence finite hidden-Markov filtering step reconstructs its predicted state-observation joint, with an exact asymmetric Boolean posterior witness.

Read assumptions

State and observation carriers are finite, transition and emission rows are normalized, and observed evidence is strictly positive. No filter is claimed at zero evidence and no continuous-state or Kalman–Bucy limit is inferred.

Read non-vacuity review

The asymmetric Boolean HMM assigns true posterior mass 20/23, while the zero-evidence theorem explicitly excludes an undefined normalization.

3 / 0 / 1
fep-073Backward Information-Message RecursionBayesian MechanicsTemporal And Hierarchical InferenceFormalizedfep073_backward_message_recursion
Read invariant

Finite backward information messages obey the exact future-observation recursion and preserve nonnegativity from one message to the preceding one.

Read assumptions

State and observation carriers are finite and transition and emission rows are normalized. Nonnegativity requires the supplied next message to be pointwise nonnegative; the theorem does not normalize messages or assert a limiting smoother.

Read non-vacuity review

A nonempty future-observation list and nonconstant emission kernel produce a state-dependent backward message rather than only the terminal unit message.

2 / 0 / 1
fep-074Forward–Backward Smoothing FactorizationBayesian MechanicsTemporal And Hierarchical InferenceFormalizedfep074_forwardBackward_smoothing_factorization
Read invariant

At positive normalizer, a finite smoothing marginal factors into forward law times backward information, and one-step forward and backward computations agree on observation evidence.

Read assumptions

The forward law is normalized, the backward message is nonnegative, and its weighted normalizer is strictly positive. The statement covers a finite factorization and does not assert positivity when all backward weights vanish.

Read non-vacuity review

Nonconstant backward messages reweight a nondegenerate forward law, while the evidence-agreement theorem connects independently expressed forward and backward one-step calculations.

2 / 0 / 1
fep-075Smoothing-Marginal NormalizationBayesian MechanicsTemporal And Hierarchical InferenceFormalizedfep075_smoothing_marginal_normalization
Read invariant

A nonnegative forward–backward product with positive normalizer defines a normalized finite smoothing marginal.

Read assumptions

The state carrier is finite, backward weights are pointwise nonnegative, and their forward expectation is strictly positive. The construction explicitly excludes a zero normalizer rather than selecting an arbitrary fallback law.

Read non-vacuity review

The Boolean smoother has unequal positive masses 7/46 and 39/46 whose sum is one; an identically zero backward message witnesses the excluded normalizer boundary.

3 / 0 / 1
fep-076One-Step Normalized Variational State UpdateBayesian MechanicsTemporal And Hierarchical InferenceFormalizedfep076_variational_state_update_normalized
Read invariant

A finite prior-weighted exponential energy tilt is normalized and reconstructs its unnormalized weight, with zero energy acting as the identity update.

Read assumptions

The state carrier is finite and the real exponential makes the partition positive without a separate support premise. This is one exact normalized update, not convergence of a variational optimization algorithm.

Read non-vacuity review

Nonconstant energies reweight any prior with supported alternatives, whereas the zero-energy boundary leaves every prior law unchanged.

3 / 0 / 1
fep-077Two-Level Hierarchical Predictive FactorizationBayesian MechanicsTemporal And Hierarchical InferenceFormalizedfep077_hierarchical_predictive_factorization
Read invariant

Two-level finite hierarchical prediction is exactly prediction through the chronological composition of its two normalized kernels.

Read assumptions

Upper, middle, and observation carriers are finite and both conditional maps are FiniteKernel values. The result establishes two-level factorization only, not identifiability of latent levels or an unbounded hierarchy.

Read non-vacuity review

Nonidentity upper and lower kernels with a nondegenerate top law produce a predictive mixture that genuinely sums over the intermediate level.

1 / 0 / 1
fep-078Bayesian Model-Averaging Predictive LawBayesian MechanicsTemporal And Hierarchical InferenceFormalizedfep078_modelAverage_predictive_law
Read invariant

Bayesian model averaging is the prior-weighted finite mixture of model predictive laws and remains normalized.

Read assumptions

Model and observation sets are finite, the model prior is normalized, and each model predictive row is normalized. No posterior model update, asymptotic selection, or continuous model class is claimed.

Read non-vacuity review

A nonuniform Boolean model prior and informative predictive kernel give the exact nontrivial true mass 13/20 while the complete mixture still sums to one.

3 / 0 / 1
fep-079Blanket Factorization and Conditional-Mutual-Information EquivalenceBayesian MechanicsCausal Blankets And InterventionsConditional Proxyfep079_blanketFactorization_iff_conditionalMutualInformation_zero
Read invariant

On a finite conditional-blanket carrier with full blanket support, vanishing conditional mutual information is equivalent to pointwise internal–external factorization.

Read assumptions

Blanket, internal, and external carriers are finite and every blanket atom is strictly positive for the equivalence. The static-model specialization proves zero conditional mutual information even with null blanket atoms, but the theorem does not identify a general physical Markov blanket.

Read non-vacuity review

Static finite blanket models instantiate exact conditional product rows, and the full-support premise ensures that no nonfactorizing row is hidden behind a zero blanket probability.

2 / 0 / 1
fep-080Shared-Conditional Mixture PreservationBayesian MechanicsCausal Blankets And InterventionsFormalizedfep080_sharedConditional_mixture_preservation
Read invariant

Convex mixing of two finite input laws commutes exactly with forming their joint laws when both components share the same conditional kernel.

Read assumptions

Input and output carriers are finite, the mixing weight lies in the closed unit interval, and both components use one identical normalized kernel. The result does not cover mixtures whose conditional mechanisms differ.

Read non-vacuity review

The half-mixture witness assigns mass one half to each Boolean atom, and distinct component laws may still produce a genuinely mixed joint after the shared kernel is applied.

2 / 0 / 1
fep-081Coupled-Subsystem Blanket CompositionBayesian MechanicsCausal Blankets And InterventionsStructural Proxyfep081_coupledSubsystem_blanketComposition
Read invariant

Two conditionally factorized subsystems retain zero paired-row mutual information under an arbitrarily coupled joint blanket law.

Read assumptions

Every carrier is finite and subsystem internal and external kernels factor by their own blanket coordinates. The conclusion is rowwise conditional mutual information for paired variables; it does not assert that the joint blanket factorizes or that the complete subsystems are marginally independent.

Read non-vacuity review

A diagonal Boolean blanket law has zero cross mass and strictly positive blanket mutual information, demonstrating genuine coupling despite exact within-row conditional factorization.

2 / 0 / 1
fep-082Finite Intervention-Kernel NormalizationBayesian MechanicsCausal Blankets And InterventionsFormalizedfep082_interventionKernel_normalization
Read invariant

A hard finite intervention kernel places unit mass on the chosen value, zero mass on every distinct value, and remains normalized in every context.

Read assumptions

Context and value carriers are finite and value equality is decidable. The kernel represents a deterministic do-assignment only; it does not by itself encode graph surgery, confounding assumptions, or interventional identifiability.

Read non-vacuity review

On any value carrier with two distinct elements, one receives mass one and the other mass zero independently of context, exercising both sides of the hard intervention.

3 / 0 / 1
fep-083Non-Descendant Intervention InvarianceBayesian MechanicsCausal Blankets And InterventionsConditional Proxyfep083_nonDescendant_intervention_invariance
Read invariant

Intervening on the root of the maintained ordered four-node model preserves the named non-descendant marginal while permitting a descendant marginal to change.

Read assumptions

The result is scoped to OrderedFourNodeModel with finite carriers and a decidable root; the non-descendant is structurally assigned an independent root law. It does not prove intervention invariance for arbitrary DAGs or derive the graph from observational conditional independences.

Read non-vacuity review

In the Boolean witness, changing the root intervention moves the mediator's true mass from zero to one while the non-descendant marginal remains exactly unchanged.

2 / 0 / 1
fep-084Ordered Finite Causal FactorizationBayesian MechanicsCausal Blankets And InterventionsFormalizedfep084_orderedFiniteCausal_factorization
Read invariant

The maintained four-node observational law is exactly its ordered product of two root laws and two parent-conditioned kernels, and that product normalizes.

Read assumptions

Root, non-descendant, mediator, and outcome carriers are finite and every component is a normalized finite law or kernel. The carrier records one fixed parent order rather than a general acyclic-graph factorization calculus.

Read non-vacuity review

Nondegenerate root laws and nonconstant mediator and outcome kernels yield a dependent joint whose normalization requires summing every ordered factor.

2 / 0 / 1
fep-085Local Markov Property from Ordered FactorizationBayesian MechanicsCausal Blankets And InterventionsConditional Proxyfep085_localMarkov_factorization_from_ordered
Read invariant

In the ordered four-node carrier, conditioning on the outcome's two parents factorizes the outcome from its non-parent predecessor root and forces their finite mutual information to zero.

Read assumptions

All carriers are finite and mediator evidence must be strictly positive. The result is a local statement for one authored ordering and parent set; it is not a proof of general d-separation, faithfulness, or native measurable conditional independence.

Read non-vacuity review

The Boolean model conditions on a mediator event of positive half mass and obtains zero mutual information, while a separate theorem marks zero mediator evidence as outside the conditional construction.

4 / 0 / 1
fep-086Precision-Weighted Prediction-Error EnergyFEPPredictive Coding And Generalized CoordinatesFormalizedfep086_precisionWeighted_zero_iff_exactPrediction
Read invariant

Nonnegative precision yields nonnegative scalar prediction-error energy, and under positive precision zero energy occurs exactly at exact prediction.

Read assumptions

The carrier is scalar real arithmetic. Nonnegativity needs precision at least zero and separation needs precision strictly positive; zero precision cannot distinguish any estimate from the observation.

Read non-vacuity review

Observation one, estimate zero, and precision two have exact unit energy, so the energy and its separating zero condition are not vacuous.

3 / 0 / 1
fep-087Hierarchical Predictive-Coding Energy DecompositionFEPPredictive Coding And Generalized CoordinatesFormalizedfep087_hierarchicalPredictiveCoding_decomposition
Read invariant

Finite hierarchical predictive-coding energy decomposes into the zeroth precision-weighted error plus all successor-level errors and is nonnegative when every precision is nonnegative.

Read assumptions

The hierarchy is finite and energies are explicit scalar quadratics. Nonnegativity requires pointwise nonnegative precision; the result does not model neural implementation, learned precision, or an infinite hierarchy.

Read non-vacuity review

A concrete two-level hierarchy has both levels contribute and evaluates to eleven, ruling out a decomposition that silently drops the upper level.

3 / 0 / 1
fep-088Prediction-Error Gradient IdentityFEPPredictive Coding And Generalized CoordinatesFormalizedfep088_predictionError_gradient_identity
Read invariant

Differentiating scalar precision-weighted prediction-error energy with respect to the estimate gives exactly minus precision times signed prediction error.

Read assumptions

The theorem is an exact HasDerivAt statement for a scalar quadratic and requires no positivity assumption for differentiation. It does not assert a gradient for a nonlinear decoder, a vector network, or a stochastic process.

Read non-vacuity review

At precision two, observation one, and estimate zero, the named gradient is exactly minus two and therefore drives a nontrivial correction.

3 / 0 / 1
fep-089Finite Generalized-Coordinate Shift SemigroupFEPPredictive Coding And Generalized CoordinatesFormalizedfep089_finiteJet_shift_semigroup
Read invariant

Natural-number shifts on a finite generalized-coordinate jet compose associatively, with the highest retained coordinate shifting into an explicit zero truncation boundary.

Read assumptions

Generalized coordinates are finite jets represented by finitely supported coefficients. The semigroup is discrete and exact; no analytic infinite jet, time derivative, or continuous-flow convergence is claimed.

Read non-vacuity review

A first-order jet moves velocity into the position coordinate while its terminal velocity coordinate becomes zero, visibly exercising the truncation.

3 / 0 / 1
fep-090Finite-Jet Generalized-Filtering Correction EquationFEPPredictive Coding And Generalized CoordinatesFormalizedfep090_finiteJet_generalizedFiltering_correctionEquation
Read invariant

One finite-jet generalized-filtering Euler step equals the current coordinate plus a truncated shift minus the certified quadratic energy gradient.

Read assumptions

Step size and coordinate precisions are real and the jet order is finite. The pointwise correction has an exact scalar derivative witness, but the theorem does not identify an infinite generalized flow or prove stability of repeated coupled-jet updates.

Read non-vacuity review

A concrete first-order half-step gives exact nonzero corrections 3/2 and 1/2 at the two retained coordinates, while the top-coordinate theorem removes the truncated shift term.

4 / 0 / 1
fep-091Precision Modulation of Prediction ErrorFEPPredictive Coding And Generalized CoordinatesFormalizedfep091_precisionModulation_energy_mono
Read invariant

Increasing nonnegative precision cannot decrease a fixed scalar prediction-error energy, and scaling precision scales its exact gradient by the same factor.

Read assumptions

Energy monotonicity assumes a nonnegative lower precision and an ordered upper precision. Gradient scaling is algebraic for arbitrary real scale, including negative values, but only nonnegative precision retains an energy weighting interpretation.

Read non-vacuity review

Doubling precision from one to two at a unit prediction error exactly doubles the energy and makes the inequality strict.

3 / 0 / 1
fep-092Quadratic Predictive-Coding ConvergenceFEPPredictive Coding And Generalized CoordinatesFormalizedfep092_quadraticPredictiveCoding_error_tendsto_zero
Read invariant

Exact scalar quadratic prediction updates contract energy by the squared factor one minus step size, strictly decrease positive-precision nonzero error for step sizes in the open interval zero to two, and drive error to zero.

Read assumptions

Convergence requires 0 < stepSize < 2; strict descent additionally requires positive precision and unequal target and estimate. The result is scalar and exact-quadratic, not a convergence theorem for nonlinear predictive-coding networks.

Read non-vacuity review

At precision two and half-step size, a unit error has energy one, moves to estimate one half, and drops to energy one quarter.

4 / 0 / 1
fep-093Forward and Reverse Finite Path-Law RatioThermodynamicsPath Space Stochastic ThermodynamicsFormalizedfep093_forward_reverse_pathLaw_ratio
Read invariant

A finite forward path law is reconstructed pointwise from its supported reverse-aligned law and likelihood ratio, while both path laws normalize and path reversal is involutive.

Read assumptions

The path carrier is finite and reverse-aligned mass must be strictly positive for the ratio reconstruction. FinitePathProtocol stores normalized laws and an involution; it does not derive reversal or reverse dynamics from a microscopic process.

Read non-vacuity review

Unequal full-support forward and reverse-aligned laws yield nonunit path ratios, while an involution with a two-path swap exercises a genuine reversal.

3 / 0 / 1
fep-094Entropy Production as Path KLThermodynamicsPath Space Stochastic ThermodynamicsStructural Proxyfep094_entropyProduction_as_pathKL
Read invariant

Mean finite path entropy production is the KL divergence from the forward to reverse-aligned path law, is nonnegative, and under full support equals the forward expectation of the pointwise log ratio.

Read assumptions

The primary equality is the maintained definition of entropyProduction. Expected-log-ratio expansion requires strict support of both path laws, and the project's totalized real KL is not an extended divergence at zero reverse mass.

Read non-vacuity review

The compiled irreversible Boolean protocol has unequal full-support path laws and therefore supplies positive, rather than merely nonnegative, production in the later dissipation topic.

3 / 0 / 1
fep-095Detailed Fluctuation SymmetryThermodynamicsPath Space Stochastic ThermodynamicsConditional Proxyfep095_detailedFluctuation_symmetry
Read invariant

Under full path support, reverse-aligned mass times exponential pointwise entropy production reconstructs forward mass, and an exchanging reversal makes entropy production antisymmetric.

Read assumptions

Forward and reverse-aligned laws are strictly positive. Antisymmetry further assumes that the recorded involution exchanges the two aligned laws in both directions; these exchange laws are not derived from protocol dynamics.

Read non-vacuity review

A two-path protocol with swapped unequal full-support masses has nonzero pointwise entropy production whose sign reverses on the paired path.

2 / 0 / 1
fep-096Integral Fluctuation TheoremThermodynamicsPath Space Stochastic ThermodynamicsFormalizedfep096_integralFluctuation_theorem
Read invariant

The forward expectation of exponential negative pointwise entropy production equals one for normalized finite full-support forward and reverse path laws.

Read assumptions

The path carrier is finite and both path laws have strict support, so the likelihood ratio and logarithm are ordinary real values. The theorem does not treat singular path measures or continuous-time trajectories.

Read non-vacuity review

Unequal full-support path laws produce nonconstant entropy-production values whose weighted exponentials still normalize exactly to one.

1 / 0 / 1
fep-097Finite Jarzynski EqualityThermodynamicsPath Space Stochastic ThermodynamicsConditional Proxyfep097_finiteJarzynski_equality
Read invariant

A normalized finite exponential-work protocol has work average equal to the exponential of negative inverse temperature times free-energy difference.

Read assumptions

HasJarzynskiNormalization explicitly packages positive beta and the identity that the expectation of exp(-beta times (work minus free-energy difference)) equals one. The theorem algebraically extracts Jarzynski's equality from this normalization; it does not derive that premise from microscopic reversibility.

Read non-vacuity review

Nonconstant finite work values can satisfy the normalization after choosing a compatible free-energy difference, while beta positivity excludes the zero-temperature-parameter collapse.

1 / 0 / 1
fep-098Local Detailed Balance and Current CancellationThermodynamicsPath Space Stochastic ThermodynamicsFormalizedfep098_localDetailedBalance_currentCancellation
Read invariant

Detailed balance cancels every oriented finite probability current, while a zero reverse rate is exposed as a totalized-log affinity boundary.

Read assumptions

The law and transition kernel are normalized finite carriers and current cancellation assumes IsReversible. The zero-rate theorem reports the project's real-log value zero and must not be read as a finite extended-real affinity.

Read non-vacuity review

Symmetric positive bidirectional transitions give exact zero current under a reversible law, whereas a one-way edge exercises the separately labeled zero-reverse-rate boundary.

2 / 0 / 1
fep-099Reversible-Chain One-Step KL DissipationThermodynamicsPath Space Stochastic ThermodynamicsFormalizedfep099_reversibleChain_oneStep_KL_dissipation
Read invariant

One strictly positive reversible finite Markov step cannot increase KL to its stationary law; the identity transition saturates equality and an explicit irreversible path protocol has positive entropy production.

Read assumptions

State is finite and nonempty, actual and stationary laws have full support, every transition atom is positive, and detailed balance supplies stationarity. The result is one-step dissipation, not strict contraction for every nonidentity kernel or a continuous-time entropy-production theorem.

Read non-vacuity review

The identity kernel proves the exact reversible equality boundary, while the unequal full-support Boolean path witness proves strictly positive production away from reversibility.

3 / 0 / 1
fep-100Categorical Fisher Positivity on Simplex TangentsInfo GeometryInformation Geometry And Geometric OptimizationConditional Proxyfep100_categoricalFisher_simplexTangent_positivity
Read invariant

The inherited Fisher metric is strictly positive on every certified nonzero categorical simplex tangent under full support, while a duplicated-score model exhibits an explicit nonzero null direction.

Read assumptions

CategoricalFisherCarrier packages a full-support law, an existing ScoreModel, and exact metric and lowering-map representations on simplex tangents. The general positivity theorem depends on this certificate. A separate genuine Fin 2 categorical construction proves that its one-dimensional simplex tangent space is spanned by (1,-1) and is positive definite there; no claim is made that every arbitrary score parameterization is full rank.

Read non-vacuity review

The explicit Fin 2 categorical law and nonzero tangent (1,-1) have Fisher energy exactly four, and every Fin 2 simplex tangent is a multiple of that direction. Duplicated score coordinates separately give a nonzero tangent with zero Fisher energy.

5 / 0 / 1
fep-101Fisher Pullback under ReparameterizationInfo GeometryInformation Geometry And Geometric OptimizationFormalizedfep101_fisherPullback_reparameterization
Read invariant

Pulling the existing finite Fisher metric through a composite Jacobian equals successive pullback, and every such pullback is positive semidefinite.

Read assumptions

Outcome and coordinate carriers are finite and Jacobians are finite real matrices. No invertibility is needed for pullback or semidefiniteness, so a rank-deficient chart may retain null directions; positive definiteness is not claimed here.

Read non-vacuity review

Nonidentity rectangular Jacobians exercise genuine reparameterization, while a rank-deficient matrix demonstrates why the conclusion is nonnegative rather than strictly positive.

2 / 0 / 1
fep-102Unbiased Scalar Cramér–Rao Bound under Score RegularityInfo GeometryInformation Geometry And Geometric OptimizationFormalizedfep102_unbiasedScalar_cramerRao
Read invariant

Finite unbiased scalar estimation under score regularity and positive Fisher information satisfies variance times Fisher information at least one.

Read assumptions

ScalarCramerRaoCertificate explicitly records centered unbiasedness, unit estimator–score covariance, and strictly positive scalar Fisher information for an existing one-parameter ScoreModel. The theorem does not derive score regularity by differentiating a parameterized family or cover biased estimators.

Read non-vacuity review

Positive Fisher information rules out an identically zero score, and unit score covariance rules out a constant centered estimator, so the Cauchy–Schwarz bound cannot be discharged by a degenerate zero product.

1 / 0 / 1
fep-103Natural-Gradient Equivariance under an Invertible Full-Rank ChartInfo GeometryInformation Geometry And Geometric OptimizationFormalizedfep103_naturalGradient_equivariance
Read invariant

Under invertible Fisher and chart matrices, the natural gradient transports equivariantly so lowering the chart-coordinate vector yields the pulled-back covector.

Read assumptions

The finite ScoreModel Fisher matrix and square chart Jacobian each carry an Invertible instance. Rank-deficient metrics or charts are excluded because the natural-gradient and chart-coordinate inverses would not be uniquely defined. The supporting weighted Cauchy–Schwarz theorem requires positive right energy.

Read non-vacuity review

Nonidentity invertible charts change vector coordinates while preserving the lowered covector law; the proof spike also excludes a zero-energy right vector before deriving its finite weighted inequality.

2 / 0 / 1
fep-104Mirror-Descent Three-Point IdentityInfo GeometryInformation Geometry And Geometric OptimizationFormalizedfep104_mirrorDescent_threePoint_identity
Read invariant

The algebraic Bregman expression associated with supplied potential and gradient data obeys the exact three-point identity used by mirror descent.

Read assumptions

The coordinate carrier is finite and potential and gradient are arbitrary supplied functions. The identity is algebraic and assumes neither convexity nor that the gradient is the derivative of the potential; those extra properties are required before interpreting every term as a nonnegative divergence or an algorithmic descent guarantee.

Read non-vacuity review

Distinct left, middle, and right vectors with a nonconstant supplied gradient give nonzero pairing and divergence differences while retaining exact equality.

1 / 0 / 1
fep-105Bregman Pythagorean Law for an Affine Information ProjectionInfo GeometryInformation Geometry And Geometric OptimizationConditional Proxyfep105_affineProjection_bregmanPythagorean
Read invariant

An affine projection certificate yields exact Bregman Pythagorean splitting, and a nonnegative residual divergence makes the certified projection a minimizer over the maintained affine set.

Read assumptions

AffineBregmanProjection explicitly supplies projection membership and gradient-difference orthogonality for every candidate. Minimization separately assumes residual Bregman nonnegativity. Existence, uniqueness, convexity, and differentiability of the projection are not derived.

Read non-vacuity review

Candidates distinct from the projection can have a positive residual term, producing a strict objective gap; zero residual gives the exact equality boundary without proving uniqueness.

2 / 0 / 1
fep-106Replicator–Natural-Gradient EquivalenceInfo GeometryInformation Geometry And Geometric OptimizationConditional Proxyfep106_replicator_naturalGradient_equivalence
Read invariant

On a certified categorical Fisher carrier, the replicator vector is the natural gradient of centered fitness and has zero total mass.

Read assumptions

CategoricalFisherCarrier supplies full support and the exact bridge from the existing ScoreModel lowering map to categorical coordinates. The result is an instantaneous finite-simplex vector-field identity, not positivity preservation or convergence of a time-integrated replicator flow.

Read non-vacuity review

The explicit full-support Fin 2 categorical law with nonconstant fitness yields a nonzero mass-conserving replicator vector and satisfies the inherited natural-gradient predicate; constant fitness produces the exact zero field boundary.

3 / 0 / 1
fep-107Product-Agent Generative LawActive InferenceCollective And Multiagent Active InferenceFormalizedfep107_productAgent_generative_mass
Read invariant

Independent product priors and product observation kernels yield a normalized joint kernel whose generative mass factors exactly into the two agent-level generative masses.

Read assumptions

Both state and observation carriers are finite and each component law and kernel is normalized. Independence is built into FiniteLaw.product and the productKernel coordinate definition; the theorem does not infer independence from an arbitrary coupled multiagent law.

Read non-vacuity review

Nondegenerate component priors and nonconstant component kernels make all four coordinates contribute to joint mass while product-kernel normalization still requires summing over every paired observation.

2 / 0 / 1
fep-108Additive Collective Variational Free EnergyActive InferenceCollective And Multiagent Active InferenceFormalizedfep108_collectiveVFE_additive
Read invariant

Variational free energy of independent product laws with additive cost is exactly the sum of the two agent-level free energies.

Read assumptions

State carriers are finite, both reference factors have full support, actual and reference joint laws are products, and joint cost is additive. The result does not discard a dependence or interaction term for a coupled law or nonadditive cost.

Read non-vacuity review

Unequal actual and reference factors with nonconstant component costs make both KL and expectation terms contribute, while the separate product-cost theorem isolates the expectation part of additivity.

2 / 0 / 1
fep-109Independent-Agent Expected-Free-Energy AdditivityActive InferenceCollective And Multiagent Active InferenceFormalizedfep109_independentEFE_additive
Read invariant

Expected free energy of product predictive and preference laws with additive ambiguity equals the sum of independent agent-level expected free energies.

Read assumptions

Both finite preference factors have full support, predictive and preference joint laws are products, and ambiguity is coordinate-additive. No additivity is claimed for statistically coupled agents, shared outcomes, or a nonseparable ambiguity functional.

Read non-vacuity review

Distinct predictive and preference factors yield nonzero risk terms, while nonconstant ambiguity functions make both component expectations contribute to the collective value.

2 / 0 / 1
fep-110Unit-Weight Product-of-Experts Pool NormalizationActive InferenceCollective And Multiagent Active InferenceFormalizedfep110_unitWeightProductOfExpertsPool_normalized
Read invariant

The unit-weight finite product-of-experts pool is the normalized pointwise product of two laws and has total mass one whenever its normalizer is positive.

Read assumptions

The state carrier is finite and the pointwise-product normalizer must be strictly positive. Disjoint supports are excluded. This unit-weight product uses exponents one, not the one-half exponents of an equal-weight logarithmic pool, and no externally Bayesian pooling property is claimed.

Read non-vacuity review

Two distinct overlapping laws produce a pooled distribution different from either input; the positive-overlap premise visibly excludes the disjoint point mass boundary.

2 / 0 / 1
fep-111Consensus Mass ConservationActive InferenceCollective And Multiagent Active InferenceFormalizedfep111_consensus_pointwise_mass_conserved
Read invariant

The specified doubly stochastic two-agent consensus update conserves combined mass at every state and therefore preserves total combined mass two.

Read assumptions

The state carrier is finite and both inputs are normalized FiniteLaw values. Conservation is for the maintained two-agent mixing operator; it does not establish consensus, stationarity, or conservation for arbitrary interaction matrices.

Read non-vacuity review

Unequal input laws redistribute statewise mass between agents while the exact pointwise sum remains fixed and the two output laws each remain normalized.

2 / 0 / 1
fep-112Contractive Belief-Consensus ConvergenceActive InferenceCollective And Multiagent Active InferenceFormalizedfep112_consensus_converges
Read invariant

Iterating the maintained strictly stochastic two-agent update halves each atomwise belief gap and drives pointwise disagreement to zero.

Read assumptions

State is finite and consensus uses the fixed one-quarter/three-quarter mixing matrix encoded by consensusLeft and consensusRight. Convergence is pointwise for two agents; no arbitrary network topology, time-varying weights, or rate in a global probability metric is claimed.

Read non-vacuity review

Opposite Boolean point masses begin with unit gap, retain positive gap one half after one update, and satisfy a strict decrease rather than a zero-gap tautology.

3 / 0 / 1
fep-113Coupled-Agent Potential DescentActive InferenceCollective And Multiagent Active InferenceFormalizedfep113_coupledPotential_strict_descent
Read invariant

The maintained consensus coupling quarters atomwise quadratic disagreement potential and decreases it strictly whenever the two input masses differ at that atom.

Read assumptions

State is finite and the potential is the exact scalar square of the two-agent atomwise gap under the fixed consensus operator. Strictness requires explicit separation; the theorem does not cover a general coupled free-energy functional or nonlinear multiagent dynamics.

Read non-vacuity review

Any state at which the two laws assign unequal mass has positive initial potential and a strictly smaller positive quarter-potential after one update.

2 / 0 / 1
fep-114Sub-Gaussian Empirical-Mean Tail BoundFEPLearning Concentration And Model EvidenceFormalizedfep114_subGaussian_empiricalMean_tail
Read invariant

A finite independent family with certified sub-Gaussian moment-generating functions satisfies the explicit exponential upper-tail bound for its summed empirical-mean event.

Read assumptions

Observables are indexed by Fin sampleCount, are independent under the supplied measure, and each has a nonnegative sub-Gaussian proxy variance. Deviation is nonnegative. The theorem neither assumes IID data nor asserts an asymptotic law; a positive sample count is needed for the usual empirical-mean interpretation even though real division is totalized at zero.

Read non-vacuity review

Multiple independent nonconstant centered observables with positive proxy variances give a nontrivial exponentially decaying bound as deviation grows.

2 / 0 / 1
fep-115Simultaneous Finite-Alphabet Frequency BoundFEPLearning Concentration And Model EvidenceFormalizedfep115_simultaneous_frequency_bound
Read invariant

Per-symbol empirical-frequency failure bounds combine by a finite union bound into an alphabet-wide failure probability bounded by alphabet size times the per-symbol rate.

Read assumptions

The sampling measure is a probability measure, the alphabet is finite with decidable equality, sample count is nonzero, and every symbol has the supplied probability bound. No independence or concentration rate is inferred beyond those per-symbol premises.

Read non-vacuity review

A multi-symbol alphabet and positive sample count make the union contain genuinely distinct two-sided normalized-count deviation events.

2 / 0 / 1
fep-116Finite-Hypothesis PAC-Bayes Loss-Gap BoundFEPLearning Concentration And Model EvidenceFormalizedfep116_finitePACBayes_with_confidence
Read invariant

For any finite posterior, a Gibbs certificate whose potential is inverse temperature times the population-minus-empirical loss gap converts a certified log-MGF budget into an empirical-loss plus KL-complexity population-loss bound.

Read assumptions

Hypotheses are finite; inverse temperature is positive; the Gibbs reference equals the prior and carries full support; confidence lies in (0,1); and the certificate log partition is bounded by log(confidence^-1). The theorem is deterministic conditional on this log-MGF premise and does not itself prove that the premise holds with high probability over data.

Read non-vacuity review

Unequal posterior and prior laws contribute a finite KL penalty, nonzero loss gaps enter through the certified potential, and smaller confidence increases the explicit log(confidence^-1) budget.

2 / 0 / 1
fep-117Posterior-Odds Multiplicative RecursionFEPLearning Concentration And Model EvidenceFormalizedfep117_posteriorOdds_recursion
Read invariant

At positive evidence, posterior odds equal prior odds times the likelihood ratio, and a zero-prior hypothesis retains zero posterior mass.

Read assumptions

Hypothesis and evidence carriers are finite. Total evidence, the reference prior mass, and the reference likelihood must be strictly positive before forming ordinary real odds. The zero-prior theorem marks lack of posterior support rather than permitting recovery by conditioning.

Read non-vacuity review

Unequal positive likelihoods move the favored-to-reference odds multiplicatively, while a separate zero-prior hypothesis remains exactly absent from the posterior.

2 / 0 / 1
fep-118Exponential Posterior Concentration from a Likelihood GapFEPLearning Concentration And Model EvidenceFormalizedfep118_posteriorGap_concentration
Read invariant

A nonnegative per-observation likelihood gap yields an explicit exponential finite-sample upper bound on inferior two-hypothesis posterior weight.

Read assumptions

Good prior and likelihood weights are strictly positive, bad weights and the gap are nonnegative, and bad likelihood is bounded by exp(-gap) times good likelihood. These are scalar two-hypothesis weights, not a theorem of consistency for an arbitrary normalized model class.

Read non-vacuity review

Equal priors with likelihood ratio three to one give exact inferior posterior mass one tenth after two observations, so the posterior is positive yet genuinely concentrated.

2 / 0 / 1
fep-119Bayesian-Mixture Log-Loss Regret BoundFEPLearning Concentration And Model EvidenceFormalizedfep119_mixtureLogLoss_regret
Read invariant

Finite Bayesian-mixture evidence dominates every nonnegative component contribution, so mixture log loss is at most selected-component log loss plus its exact negative-log-prior penalty.

Read assumptions

Hypotheses are finite, all component likelihood weights are nonnegative, and the selected prior and likelihood weights are strictly positive before logarithms are compared. No sequential regret sum, stochastic calibration, or asymptotic optimality is claimed.

Read non-vacuity review

A positive selected component contributes strictly to mixture evidence, and a prior below one produces a positive finite complexity penalty rather than a vacuous zero term.

2 / 0 / 1
fep-120Bayes-Factor Multiplicativity and Model-Evidence UpdateFEPLearning Concentration And Model EvidenceFormalizedfep120_bayesFactor_multiplicative_update
Read invariant

Explicitly factorized evidence ratios multiply, and sequential model-odds updates equal one update using product evidence.

Read assumptions

Both reference evidence factors must be nonzero for multiplicativity in the real field. Evidence factorization is supplied algebraically and does not establish probabilistic independence. At a zero denominator, totalized real division returns zero rather than an infinite Bayes factor.

Read non-vacuity review

Evidence three quarters versus one quarter maps unit prior odds to three, and the separate zero-reference theorem pins the exact unsupported comparison boundary.

3 / 0 / 1
fep-121Laplace-Smoothing Error IdentityFEPFinite Sample Risk And CalibrationFormalizedfep121_laplaceError_identity
Read invariant

For a positive finite sample, add-one smoothing decomposes forecast error into contracted empirical error plus an exact target-dependent offset.

Read assumptions

The success count and sample count are natural numbers, sample count is positive, successes do not exceed it, and the target lies in the unit interval. The theorem is an algebraic identity, not a stochastic consistency or posterior-contraction result.

Read non-vacuity review

The shrinkage coefficient lies in the unit interval and the separate boundary witness in fep-122 shows that the offset can be nonzero.

2 / 0 / 1
fep-122Laplace-Smoothing Bias BoundFEPFinite Sample Risk And CalibrationFormalizedfep122_laplaceBias_abs_le
Read invariant

The absolute target-dependent Laplace offset is at most one pseudo-count divided by the smoothed sample size.

Read assumptions

The target is confined to the closed unit interval. The bound controls the deterministic smoothing offset and does not identify statistical bias under an unspecified sampling distribution.

Read non-vacuity review

At sample count two and target zero, the offset equals one quarter and is explicitly nonzero.

2 / 0 / 1
fep-123Absolute-Error Transfer through Laplace SmoothingFEPFinite Sample Risk And CalibrationFormalizedfep123_laplaceAbsoluteError_le
Read invariant

An absolute empirical-error certificate transfers through add-one smoothing with the exact shrinkage coefficient and one-pseudo-count offset.

Read assumptions

Sample count is positive, successes are bounded by it, the target is in the unit interval, and the raw empirical error already has a supplied bound. No probability tail rate is inferred in this row.

Read non-vacuity review

The source error may be positive and the smoothing offset remains visible; the theorem also proves that any supplied error upper bound is nonnegative.

2 / 0 / 1
fep-124Squared-Risk Transfer through Laplace SmoothingFEPFinite Sample Risk And CalibrationFormalizedfep124_laplaceSquaredError_le
Read invariant

Squared add-one error is bounded pointwise by twice the contracted empirical squared error plus twice the squared pseudo-count offset, and the inequality integrates under every normalized finite sampling law.

Read assumptions

Sample count is positive, each success count is bounded by it, and the target is in the unit interval. The factor-two inequality is conservative and finite-law expectation is not an asymptotic risk claim.

Read non-vacuity review

Nonzero empirical error and nonzero boundary offset both contribute to the integrated upper bound under a nondegenerate finite sampling law.

2 / 0 / 1
fep-125Bernoulli Brier Excess-Risk IdentityFEPFinite Sample Risk And CalibrationFormalizedfep125_brierExcess_eq_sqError
Read invariant

Bernoulli Brier excess risk relative to the true probability is exactly the squared forecast error.

Read assumptions

The identity is polynomial and therefore holds over real target and forecast inputs; the probability interpretation requires both to lie in the unit interval, which is supplied by downstream statistical uses.

Read non-vacuity review

A forecast unequal to the target has positive squared excess, while the self-forecast boundary has exactly zero excess.

2 / 0 / 1
fep-126Finite-Law Laplace Brier-Risk BoundFEPFinite Sample Risk And CalibrationFormalizedfep126_laplaceBrierRisk_le
Read invariant

Finite-law expected Brier excess for the add-one forecast inherits the squared-error transfer bound.

Read assumptions

Sampling uses the normalized FiniteLaw carrier, sample count is positive, success counts are bounded, and the target is in the unit interval. This is an expected finite-model inequality, not an empirical performance report.

Read non-vacuity review

A sampling law with mass on outcomes having unequal success counts produces a genuine weighted risk while retaining total mass one.

2 / 0 / 1
fep-127Concentration-Event Transfer through SmoothingFEPFinite Sample Risk And CalibrationFormalizedfep127_laplaceBadEvent_subset
Read invariant

A smoothed deviation beyond the transferred threshold is contained in the corresponding raw empirical-deviation event, so any supplied finite-law probability bound transfers monotonically.

Read assumptions

Sample count is positive, success counts are bounded, the target is in the unit interval, and a raw event-probability bound is supplied. The theorem composes with concentration results but does not derive their assumptions or rates itself.

Read non-vacuity review

The smoothed and raw events are distinct whenever the shrinkage and offset change the threshold, and the finite-law monotonicity result applies to any nonzero failure bound.

2 / 0 / 1
fep-128Observation-Contingent Policy-Tree RecursionActive InferenceClosed Loop Policy Trees And EFEFormalizedfep128_policyTreeValue_node
Read invariant

A finite policy-tree node equals its stage cost plus the observation-law weighted values of observation-contingent continuation trees.

Read assumptions

Belief, action, and observation carriers are finite and the horizon is a natural-number depth. Observation laws and deterministic belief updates are supplied by the model; no infinite-horizon or continuous-belief claim is made.

Read non-vacuity review

A successor node can choose different continuation trees after different observations, whereas the depth-zero carrier has exactly zero value.

2 / 0 / 1
fep-129Finite Policy-Tree Bellman MinimumActive InferenceClosed Loop Policy Trees And EFEFormalizedfep129_optimalTreeValue_eq_min
Read invariant

Backward induction exposes an exact finite-action Bellman minimum of stage cost plus observation-weighted optimal continuation.

Read assumptions

The action carrier is finite and nonempty, and belief and observation carriers are finite. The result is one finite-horizon recursion, not a contraction or fixed-point theorem.

Read non-vacuity review

The selected action is proved no worse than every explicit alternative at each node rather than merely being named as an argmin.

2 / 0 / 1
fep-130Optimal Finite Policy-Tree ExistenceActive InferenceClosed Loop Policy Trees And EFEFormalizedfep130_exists_optimalPolicyTree
Read invariant

Every finite-depth, finite-carrier policy-tree problem with a nonempty action set has a concrete backward-inducted tree attaining the recursive optimum.

Read assumptions

All carriers and the horizon are finite and the action carrier is nonempty. Existence does not extend to unbounded horizon, arbitrary measurable policy spaces, or continuous beliefs.

Read non-vacuity review

The witness is an actual depth-indexed tree and is compared with every other tree on the same finite carrier.

2 / 0 / 1
fep-131Open-Loop Plan Embedding into Policy TreesActive InferenceClosed Loop Policy Trees And EFEFormalizedfep131_openLoopEmbedding_value
Read invariant

Reusing the same continuation after every observation embeds an open-loop action plan into the policy-tree carrier without changing its recursive value.

Read assumptions

The comparison uses the same model, belief, and finite depth. Open-loop plans ignore observations by construction; the theorem does not identify arbitrary state-feedback policies with open-loop sequences.

Read non-vacuity review

At positive depth the embedding duplicates a common continuation across all observation branches; at depth zero both carriers reduce to their unique leaf.

2 / 0 / 1
fep-132Closed-Loop Policy-Tree Dominance over Open LoopActive InferenceClosed Loop Policy Trees And EFEFormalizedfep132_optimalTree_le_openLoop
Read invariant

The optimal observation-contingent finite policy tree is no worse than every open-loop plan embedded at the same depth.

Read assumptions

Actions are finite and nonempty, all other carriers are finite, and both sides share one finite horizon and cost model. No infinite-horizon POMDP dominance is claimed.

Read non-vacuity review

The strict Boolean witness in fep-134 demonstrates that the inequality can be strict rather than only equality under an observation-irrelevant model.

2 / 0 / 1
fep-133Treewise Expected-Free-Energy DecompositionActive InferenceClosed Loop Policy Trees And EFEFormalizedfep133_policyTree_efe_eq_risk_add_ambiguity
Read invariant

The one-step full-support expected-free-energy identity lifts through every branch of a finite policy tree, and the corresponding optimal values agree.

Read assumptions

Every belief-indexed finite generative model satisfies the maintained FullSupport contract. Belief updates and horizons are finite; the theorem transports the existing risk-plus-ambiguity identity and does not establish its empirical adequacy.

Read non-vacuity review

The induction ranges over observation-contingent continuations and the optimal-value theorem compares independently constructed minimizing trees.

2 / 0 / 1
fep-134Strict Boolean Feedback AdvantageActive InferenceClosed Loop Policy Trees And EFEFormalizedfep134_boolFeedback_strictlyBetter
Read invariant

In the explicit two-step Boolean model, observation-contingent feedback has value zero while every fixed open-loop second action has value one half.

Read assumptions

This is a finite exact counterexample on fair Boolean observations and a mismatch terminal cost. It demonstrates possible feedback advantage, not a universal quantitative gap for active-inference agents.

Read non-vacuity review

The continuation action provably differs between false and true observations and the strict gap is exactly one half.

2 / 0 / 1
fep-135Finite-Law Measure EmbeddingBayesian MechanicsFinite To Native Blanket TransferFormalizedfep135_embeddedLaw_apply_singleton
Read invariant

A normalized finite law embeds as a weighted sum of Dirac measures that preserves every singleton mass and has native measure mass one.

Read assumptions

The carrier is finite with its discrete measurable space. Finite real masses enter the native nonnegative-extended-real measure through ENNReal.ofReal; normalization and nonnegativity are inherited from FiniteLaw.

Read non-vacuity review

Any nonuniform finite law gives distinct native singleton masses while the full measure remains normalized.

2 / 0 / 1
fep-136Finite-Law Embedding Injectivity and Expectation TransferBayesian MechanicsFinite To Native Blanket TransferFormalizedfep136_embeddedLaw_injective
Read invariant

Equality of native weighted-Dirac measures reflects equality of the source finite laws, and native integration agrees exactly with the finite weighted expectation sum.

Read assumptions

The carrier is finite and discretely measurable and observables are real-valued. Finiteness supplies integrability; no general integration or measure-equivalence theorem is inferred.

Read non-vacuity review

Distinct point masses remain distinguishable by singleton evaluation and a nonconstant observable produces the same nontrivial expectation on both carriers.

2 / 0 / 1
fep-137Embedded Finite-Kernel CompositionBayesian MechanicsFinite To Native Blanket TransferFormalizedfep137_embeddedPredictive_eq_comp
Read invariant

Embedding finite prediction equals native composition of the embedded finite kernel with the embedded prior measure.

Read assumptions

Input and output carriers are finite and discretely measurable and each kernel row is normalized. The theorem is a carrier-transport identity, not a general disintegration or arbitrary-kernel approximation result.

Read non-vacuity review

A nondegenerate prior and a state-dependent finite kernel yield a genuine mixture whose native singleton masses agree with finite prediction.

1 / 0 / 1
fep-138Markov-Blanket Rectangle FactorizationBayesian MechanicsFinite To Native Blanket TransferFormalizedfep138_staticJoint_rectangle_factorization
Read invariant

Every singleton rectangle of blanket, internal, and external coordinates in the embedded static joint has the exact blanket-marginal times two conditional-mass factorization.

Read assumptions

All four carriers are finite and discretely measurable and the static model supplies normalized blanket and conditional laws. The theorem covers the discrete singleton generator and does not by itself state Mathlib conditional independence.

Read non-vacuity review

The correlated Boolean model contains two distinct positive blanket/joint atoms while retaining point-mass internal and external conditional rows.

1 / 0 / 1
fep-139Native Markov-Blanket Conditional IndependenceBayesian MechanicsFinite To Native Blanket TransferFormalizedfep139_staticJoint_condIndepFun
Read invariant

The embedded finite blanket factorization satisfies Mathlib's native CondIndepFun predicate for internal and external coordinates conditioned on the sensory-active blanket coordinate.

Read assumptions

Internal and external carriers are nonempty; all carriers are finite, standard Borel through their discrete measurable structures, and the static model supplies exact normalized factorized rows. The proof identifies authored kernels with native conditional distributions and does not infer the result from zero finite mutual information.

Read non-vacuity review

A Boolean model has two positive correlated blanket regimes and two distinct positive joint atoms; conditional independence is therefore not obtained by collapsing the whole measure to one point.

2 / 0 / 1
fep-140Conditional Independence under Measurable CoarseningBayesian MechanicsFinite To Native Blanket TransferFormalizedfep140_condIndepFun_measurableImages
Read invariant

Native blanket conditional independence is preserved under measurable images of both internal and external coordinates.

Read assumptions

The source blanket theorem retains its finite, discrete, nonempty endpoint hypotheses and both image maps are explicitly measurable. The result is Mathlib's composition law and does not cover transformations of the conditioning coordinate.

Read non-vacuity review

Identity maps recover fep-139, while noninjective measurable coarsenings can merge endpoint states without invalidating conditional independence.

1 / 0 / 1
fep-141Native Blanket-Transition ClosureBayesian MechanicsFinite To Native Blanket TransferFormalizedfep141_prediction_preserves_nativeBlanket
Read invariant

Every authored factorized transition row induces a next-state embedded law whose internal and external coordinates are natively conditionally independent given its next blanket.

Read assumptions

All carriers are finite and discretely measurable and internal and external carriers are nonempty. The theorem is rowwise for one supplied current state; arbitrary mixtures over current-state uncertainty require additional hypotheses and are not claimed.

Read non-vacuity review

A transition row may assign multiple positive next blanket regimes and nonconstant conditional endpoint laws while retaining the proved rowwise factorization.

1 / 0 / 1
fep-142Finite Exponential-Family Normalization and SupportInfo GeometryFinite Exponential Family Dual GeometryFormalizedfep142_exponentialFamily_sum_one
Read invariant

Strictly positive base weights normalize the finite scalar exponential family to a full-support probability law at every natural parameter.

Read assumptions

The outcome carrier is finite and nonempty, base weights are strictly positive, and the sufficient statistic is real valued. No arbitrary manifold or multidimensional family is claimed.

Read non-vacuity review

The maintained nonconstant three-state family supplies unequal supported masses away from zero while retaining exact normalization.

2 / 0 / 1
fep-143Affine Exponential-Family Log-Density RatioInfo GeometryFinite Exponential Family Dual GeometryFormalizedfep143_logDensityRatio_eq
Read invariant

The supported log-density ratio between two parameters is affine in the sufficient statistic with the exact log-partition difference.

Read assumptions

Finiteness, nonemptiness, and strict base-weight support make every logarithm ordinary and finite. The result is scalar and does not assert an extended-real identity at zero support.

Read non-vacuity review

A nonconstant statistic and distinct parameters produce outcome-dependent log-density ratios.

1 / 0 / 1
fep-144Finite Log-Partition GradientInfo GeometryFinite Exponential Family Dual GeometryFormalizedfep144_logPartition_hasDerivAt
Read invariant

The derivative of the finite scalar log-partition function equals the mean sufficient statistic.

Read assumptions

The proof differentiates a finite sum of positive exponential weights and uses the positive partition denominator. It makes no infinite-sum exchange or general smooth-manifold claim.

Read non-vacuity review

The three-state statistic gives a nonconstant finite log-partition function whose mean changes with the parameter.

1 / 0 / 1
fep-145Centered Exponential-Family Score IdentityInfo GeometryFinite Exponential Family Dual GeometryFormalizedfep145_score_eq_statistic_sub_mean
Read invariant

The scalar score is the sufficient statistic centered by its family mean and therefore has exactly zero expectation.

Read assumptions

The score is defined on the finite full-support exponential family. This is a natural-parameter derivative identity, not a general score-regularity theorem for arbitrary likelihoods.

Read non-vacuity review

A nonconstant statistic yields positive and negative centered scores across outcomes while their normalized weighted mean cancels exactly.

2 / 0 / 1
fep-146Log-Partition Hessian–Variance–Fisher IdentityInfo GeometryFinite Exponential Family Dual GeometryFormalizedfep146_logPartition_secondDeriv_eq_variance
Read invariant

Differentiating the log-partition mean coordinate gives statistic variance, which equals scalar Fisher information; a concrete three-state family has variance two thirds at zero.

Read assumptions

The result is the derivative of the already-proved first-derivative mean coordinate on a finite scalar family. Strict positivity is witnessed for a named nonconstant family and is not inferred for constant statistics.

Read non-vacuity review

The statistic (0,1,2) under unit base weights has variance two thirds, whereas every constant statistic has exactly zero variance and Fisher information.

4 / 0 / 1
fep-147Exponential-Family KL–Bregman IdentityInfo GeometryFinite Exponential Family Dual GeometryFormalizedfep147_exponentialFamily_KL_eq_bregman
Read invariant

Finite KL between two members of the same supported scalar exponential family equals the oriented Bregman divergence of the log-partition potential.

Read assumptions

The carrier is finite and nonempty and strict base support supplies the logarithmic KL identity. The project finiteKL convention is totalized, but this theorem stays inside its ordinary full-support regime.

Read non-vacuity review

The companion three-state family has Fisher variance 2/3 at zero while the constant-statistic family has zero variance, so the underlying carrier has both curved and degenerate instances. Equal parameters give the zero-KL boundary by the shared finite-KL separation theorem; this row does not add a separate strict-KL witness for unequal parameters.

2 / 0 / 1
fep-148Natural-to-Mean Coordinate InjectivityInfo GeometryFinite Exponential Family Dual GeometryFormalizedfep148_meanParameter_strictMono
Read invariant

Positive statistic variance throughout a closed interval makes the natural-to-mean coordinate map strictly monotone and injective there.

Read assumptions

Variance positivity is an explicit interval premise. The theorem is local to a stated scalar interval and does not assert global dual-flat coordinates or positivity for degenerate statistics.

Read non-vacuity review

The three-state family supplies a strictly positive variance point, while the constant-statistic boundary shows why the positivity premise matters.

2 / 0 / 1
fep-149Two-State Continuous-Time Markov KernelThermodynamicsTwo State Continuous Time ThermodynamicsFormalizedfep149_twoStateSemigroup_rowSum
Read invariant

Positive two-state rates define a nonnegative transition matrix with every row summing to one for nonnegative time.

Read assumptions

The state carrier is Boolean, both rates are strictly positive, and time is nonnegative. This is an exact two-state kernel rather than a general continuous-time Markov-chain construction.

Read non-vacuity review

The benchmark rates seven tenths and three tenths give decay rate one and a nonuniform stationary law.

3 / 0 / 1
fep-150Continuous-Time Identity at ZeroThermodynamicsTwo State Continuous Time ThermodynamicsFormalizedfep150_twoStateSemigroup_zero
Read invariant

The exact two-state continuous-time transition matrix is the identity at time zero.

Read assumptions

Both rates remain strictly positive through the maintained rate structure. The equality is entrywise on the Boolean carrier.

Read non-vacuity review

Diagonal entries equal one and off-diagonal entries equal zero, so the result distinguishes all four transition entries.

1 / 0 / 1
fep-151Two-State Chapman–Kolmogorov SemigroupThermodynamicsTwo State Continuous Time ThermodynamicsFormalizedfep151_twoStateSemigroup_add
Read invariant

The exact two-state transition matrices satisfy the Chapman–Kolmogorov additive semigroup law entrywise.

Read assumptions

Both times are nonnegative and rates are strictly positive. Composition is the finite Boolean matrix sum and no path-space or general generator existence theorem is inferred.

Read non-vacuity review

Positive unequal rates and positive times produce nonidentity kernels whose matrix product still equals the transition at summed time.

1 / 0 / 1
fep-152Two-State Continuous-Time Master EquationThermodynamicsTwo State Continuous Time ThermodynamicsFormalizedfep152_twoStateSemigroup_hasDerivAt
Read invariant

Every transition entry is differentiable and its derivative equals both the generator-times-transition and transition-times-generator finite sums.

Read assumptions

The generator and transition matrices are the maintained explicit Boolean formulas. This proves the forward and backward master equations for one two-state semigroup, not a general CTMC existence theorem.

Read non-vacuity review

Positive unequal rates give nonzero off-diagonal derivatives away from stationarity and exercise both left and right generator products.

1 / 0 / 1
fep-153Continuous-Time Stationarity and Detailed BalanceThermodynamicsTwo State Continuous Time ThermodynamicsFormalizedfep153_twoStateSemigroup_stationary
Read invariant

The explicit stationary law is invariant under every nonnegative-time transition and satisfies detailed balance entrywise.

Read assumptions

Both rates are strictly positive and time is nonnegative. Reversibility is proved only for this exact two-state family and does not cover driven or nonequilibrium generators.

Read non-vacuity review

Unequal benchmark rates produce a nonuniform stationary law while still balancing the two opposing fluxes.

2 / 0 / 1
fep-154Exact Two-State Exponential RelaxationThermodynamicsTwo State Continuous Time ThermodynamicsFormalizedfep154_twoStateRelaxation_exact
Read invariant

The true-state mass of any initial Boolean law relaxes toward stationarity by the exact factor exp(-(a+b)t).

Read assumptions

Rates are positive, time is nonnegative, and prediction uses the explicit two-state transition. This is exact finite-state relaxation, not a mixing theorem for arbitrary chains.

Read non-vacuity review

The benchmark point mass differs from the nonuniform stationary law, so the decaying deviation starts nonzero.

2 / 0 / 1
fep-155Exact Two-State Quadratic Lyapunov DecayThermodynamicsTwo State Continuous Time ThermodynamicsFormalizedfep155_twoStateLyapunov_exact
Read invariant

Squared deviation from stationarity decays by exp(-2(a+b)t), and its exact derivative is minus twice the decay rate times the Lyapunov value.

Read assumptions

The Lyapunov function is the scalar square of the true-state mass deviation for the explicit two-state semigroup. It is not a general entropy-production or physical free-energy theorem.

Read non-vacuity review

The benchmark nonstationary point mass has a strictly negative Lyapunov derivative at time zero.

3 / 0 / 1
fep-156Planning as Inference: the EFE Policy-Selection BridgeActive InferenceStandalone EFE FormalizationsFormalizedfep156_boltzmann_control_posterior_minimizes_efe
Read invariant

On a finite policy carrier with fixed precision, the KL-regularized control objective (expected EFE plus inverse-precision KL to the prior) is minimized exactly by the Boltzmann control posterior proportional to prior * exp(-gamma * G); the minimized value is -gamma^-1 log Z, the EFE splits as risk plus ambiguity, and the finite and treewise argmin views agree.

Read assumptions

The bridge is a finite-carrier Gibbs/Donsker-Varadhan statement about the EFE control objective; it is not a general planning algorithm or a continuous-action result, and the policy-tree agreement is restricted to the treewise value surface of the policy_tree module.

Read non-vacuity review

The finite argmin exists and attains the closed-form Boltzmann value -gamma^-1 log Z for nonempty policy sets.

9 / 0 / 1
fep-157The Perception-Action Loop as a Closed-Loop Active-Inference TheoremActive InferenceStandalone EFE FormalizationsFormalizedfep157_loop_invariant_surprisal_bound
Read invariant

Each closed-loop perception-action step is non-increasing in belief surprisal: the step's KL splits exactly into predictive and posterior parts, prediction contracts the predictive distribution (Dobrushin), and the loop invariant bounds surprisal by its initial value plus accumulated expected free energy; the loop's fixed point is the Boltzmann control posterior and equals the policy posterior of the control-as-inference view.

Read assumptions

The loop is a finite-state kernel composition; positivity statements assume full-support likelihoods and supporting posteriors, and the contraction is the finite Dobrushin-coefficient statement, not a continuous-state or neural-implementation claim.

Read non-vacuity review

The strict step-wise KL decrease holds on the full-likelihood witness kernels, and at the fixed point the loop posterior coincides with the Boltzmann control posterior.

13 / 0 / 1
fep-158Bayesian Model ReductionActive InferenceStandalone EFE FormalizationsFormalizedfep158_reduction_free_energy_monotone
Read invariant

Masking evidence never lowers the model evidence: the reduced model's evidence free energy dominates the full model's, the reduced posterior obeys the multiplicative Bayes-odds law with the evidence weight and reconstructs the full posterior through the evidence ratio, and the Gibbs-certificate excess over the optimizer is exactly the KL divergence to it.

Read assumptions

The reduction statements hold for finite measure spaces with the pinned Donsker-Varadhan duality; the Gaussian log Bayes factor is stated in the pinned natural chart of the information-geometry module and is not a generic asymptotic model-selection claim.

Read non-vacuity review

The masked predictive is bounded by the full evidence, and the reduced posterior reconstructs the full posterior exactly through the evidence ratio.

10 / 0 / 1
fep-159EFE and Entropy-Production Time-Scale SeparationActive InferenceStandalone EFE FormalizationsFormalizedfep159_epistemic_gain_bounded_by_affinity
Read invariant

The two-state belief information gap is bounded by the entropy-production rate scaled by the relaxation time (gain at most production/decay), the evolved gap contracts to the invariant measure no slower than the relaxation timescale, the one-slice path-space entropy production equals (1 - rho) * sigma / decay, and under the 1/eps rate scaling the evolved gain after any fixed positive action time vanishes.

Read assumptions

All statements are for the explicit two-state continuous-time semigroup and its scaled one-parameter family; the slice-path identity is the one-slice restriction of the path-thermodynamics production, not a general path-space theorem. The ness_flow import is an orphan-adoption marker with no mathematical dependence.

Read non-vacuity review

The bound is attained by the stationary law for the benchmark rates, and the fast-relaxation limit exhibits the vanishing exactly.

9 / 0 / 1
fep-160Helmholtz–Ao Decomposition of Nonequilibrium Steady CurrentsActive InferenceStandalone EFE FormalizationsFormalizedfep160_aoDecomposition
Read invariant

On a finite state space with a full-support stationary law, every rate field decomposes exactly into a reversible part (detailed-balanced relative to the law) plus a circulation part (skew in the law-weighted sense); the stationary edge current equals twice the law-weighted circulation part, the reversible part carries no current, removing the circulation part is exactly detailed balance, the log-affinity splits into the Ao-potential drop plus the skew force, stationarity makes the node divergence of the stationary current vanish, and the directed three-cycle witness is stationary, divergence-free, and circulating.

Read assumptions

All statements are finite-carrier algebra: the Ao potential is the pointwise -log p* mass field and is deliberately distinct from the thermodynamic Helmholtz free energy of fep-013; the continuum Fokker-Planck equation, a state-dependent diffusion matrix field, and SDE noise are not formalized. Stationarity and the probability current reuse the established FEP.ContinuousTimeMarkov generator contract.

Read non-vacuity review

The decomposition is unconditional for every rate field under the full-support hypothesis, and the directed three-cycle exhibits a genuine NESS whose circulation part is 1/2 at the forward edge.

13 / 3 / 1
fep-161Skew Bilinear Cancellation of the Trace and Quadratic TermsThermodynamicsGeometric Mechanics NotationFormalizedfep161_skewTrace_eq_zero
Read invariant

A skew-symmetric matrix contracted against a symmetric matrix has zero trace, and a skew-symmetric matrix annihilates its own quadratic form: the two algebraic cancellations behind the manuscript's solenoidal expansion, holding unconditionally on the stated symmetry hypotheses.

Read assumptions

Plain finite real matrices indexed by Fin n with explicit pointwise symmetry hypotheses; no continuum Hessian, no smoothness structure, and no numerical witness is claimed.

Read non-vacuity review

Both cancellations are exact identities on their hypothesis classes, witnessed by any nonzero skew matrix against a nonzero symmetric one.

2 / 0 / 1
fep-162The Discrete Hessian as a Symmetrization ConstructionThermodynamicsGeometric Mechanics NotationFormalizedfep162_skewTrace_symmetrize_eq_zero
Read invariant

Symmetrization of raw mixed-difference data constructs a symmetric discrete Hessian (the finite Clairaut property as a construction), the trace cancellation holds against the constructed matrix with no hypothesis on the raw data, and on already-symmetric data the construction is the identity.

Read assumptions

The construction replaces the continuum Clairaut theorem by finite algebra; it does not claim differentiability, a continuum Hessian, or convergence of mixed-difference quotients.

Read non-vacuity review

The symmetrized matrix is symmetric for every input and coincides with the given matrix exactly on the symmetric subclass.

3 / 0 / 1
fep-163The Three-Term Solenoidal Expansion and Its Conditional DropThermodynamicsGeometric Mechanics NotationFormalizedfep163_solenoidal_expansion
Read invariant

The weighted divergence of the candidate current decomposes exactly into the trace slot, the transport-divergence slot, and the density coupling slot; under the stationary coupling the identity reads tr(Q H) - g^T Q g + (div Q)^T g; both cancellable terms die on the skew and symmetric hypotheses, and the remaining drop holds only under an explicit extra hypothesis (orthogonality or spatially constant Q), with a concrete remainder datum where it does not.

Read assumptions

Directional derivative data is explicit (H for the Hessian slot, DQ for the transport-divergence slot); the coupling is an explicit hypothesis, not a solved PDE; the weighted divergence is defined by the exact Leibniz decomposition rather than a discretization of Fokker-Planck.

Read non-vacuity review

The remainder witness evaluates to exactly 1 on concrete two-direction derivative data, so the unconditional drop is not vacuously unreachable.

5 / 1 / 1
fep-164Graph Divergence of the Candidate Solenoidal CurrentThermodynamicsGeometric Mechanics NotationFormalizedfep164_graphDecomposition
Read invariant

On a finite node set the node divergence of the skew transport field is twice its row sum; the node divergence of the edge current splits into the transport slot plus the discrete-divergence slot; and the weighted node divergence obeys an exact Leibniz rule whose p-residual does not vanish by skewness alone.

Read assumptions

Edge fields are plain real matrices with the flux convention W i j = flux i to j; the weighted statements assume a strictly positive density; no continuum graph limit or first-order asymptotic identification is claimed.

Read non-vacuity review

The decomposition and the Leibniz rule are exact on every finite node set, and the residual term is generically nonzero by nodeDiv_skew.

4 / 0 / 1
fep-165Necessity Witness for the Unconditional Solenoidal DropThermodynamicsGeometric Mechanics NotationFormalizedfep165_witness_drop_fails
Read invariant

For the exact 2-node transport matrix [[0,1],[-1,0]] and gradient (1,0) the candidate current is (0,-1), the discrete divergence of the transport field is (2,-2), the node divergence of the current is (1,-1), and in particular equals 1 at node 0: the unconditional solenoidal drop is false, and neither the orthogonality nor the constant-Q hypothesis is available on this witness.

Read assumptions

A concrete finite counterexample only; it shows the manuscript's honesty guard is necessary rather than decorative and claims nothing about systems satisfying the extra hypotheses of fep-163.

Read non-vacuity review

The witness evaluates to exactly 1 at node 0, refuting the unconditional drop on its exact hypothesis class.

5 / 0 / 1
fep-166Uniqueness of the Law-Weighted Reversible/Circulation SplitActive InferenceStandalone EFE FormalizationsFormalizedfep166_split_unique
Read invariant

Any competing pair S, A with W = S + A, p-weighted reversibility of S and p-weighted skewness of A coincides pointwise with the canonical symmetricPart and circulationPart of the rate field; the reversible boundary is in uniqueness form (a p-reversible field has the split (W, 0)), and on the concrete two-state datum the constraint-satisfying split is the canonical one with genuinely nonzero forward circulation 1/2 and strictly negative reverse entry -1/4.

Read assumptions

Positivity of the finite law is the only analytic input and licenses the divisions; no stationarity hypothesis, no generator contract, and no nonnegativity claim for the circulation part enter the statements.

Read non-vacuity review

The t-0060 datum with weight law p = (1/3, 2/3) and rate entries 1, 5/2, 3/4, and -1 satisfies every constraint clause, its split is forced to be the canonical one, and the circulation entries 1/2 and -1/4 are computed exactly, so the uniqueness characterization is exercised on nontrivial data.

7 / 0 / 1
fep-167Frobenius Least-Squares Projection of the SymmetrizerThermodynamicsGeometric Mechanics NotationFormalizedfep167_frobenius_pythagoras
Read invariant

For symmetric S the squared Frobenius norm splits exactly as ||H - S||^2 = ||H - symmetrize H||^2 + ||symmetrize H - S||^2, the symmetrizer minimizes the squared distance among symmetric matrices with equality exactly at the symmetrizer, the symmetric minimizer is unique, and the concrete nonsymmetric datum [[0,1],[0,0]] carries residual exactly 1/2.

Read assumptions

Matrix projection only, no differentiability, no continuum Clairaut theorem, no Bregman-projection existence/uniqueness claim.

Read non-vacuity review

The residual example evaluates to exactly 1/2 on nonsymmetric data, and symmetric data attains the zero residual exactly at the symmetrizer, so both the strict and the degenerate boundary are realized.

4 / 0 / 1
fep-168Quantitative Control of the Uncancelled Divergence RemainderThermodynamicsGeometric Mechanics NotationFormalizedfep168_weightedDivergence_eq_remainderDot
Read invariant

On the fep-163 carrier the weighted divergence equals dot (divQ DQ) g under the cancellation hypotheses, the squared Cauchy-Schwarz budget (weightedDivergence)^2 <= (sum r_i^2)(sum g_i^2) bounds the uncancelled remainder with its abs-product corollary, and equality is attained on aligned nonzero data with norm(g)^2 = 1.

Read assumptions

Quantitative budget on the fep-163 finite derivative-data carrier; the coupling hypothesis is sufficient-not-necessary (slot = dot(Qg, dlogp)); no PDE-discretization or entropy-production claim.

Read non-vacuity review

The aligned datum Q = [[0,1],[-1,0]], H = diag(1, 2), DQ with divQ (1, 0), and g = (1, 0) attains the budget with equality, while the pinned remainderG = (1, 1) datum is strict with gap 1, so both the equality and the strict boundary are realized.

4 / 0 / 1
Exact authored relation table · 146 relations

Complete relation cards show rationale and exact witnesses.

All 146 authored scientific relations; relation kind filtering applies here.
SourceKindTargetRationaleExact witness
fep-002Formalfep-014The composed theorem expands fep-002 variational free energy by invoking fep-014's composition-product KL chain rule.FEPComposed.fep002_vfe_compProd_chain_rule
fep-003Formalfep-021The composed theorem feeds fep-003's discounted ENNReal pragmatic cost directly into fep-021's EFE convention and proves the exact epistemic balance.FEPComposed.fep003_pragmaticCost_efe_balance
fep-004Formalfep-038The composed theorem specializes fep-004's finite positive-weight Fisher metric to the one-coordinate Bernoulli information weight computed by fep-038. Reviewed 2026-09-22 against the primary-qualified endpoint rule. The witness carries both endpoints through their Fisher-metric definitions (`fep_fep004.FEP004.fep004_fisherMetric`, `fep_fep038.FEP038.fep038_fisherMetric`) without invoking either topic's reviewed theorems; the row stands unchanged.FEPComposed.fep004_bernoulliMetric_specialization
fep-005Conceptualfep-009The finite blanket foundation proves a normalized conditional factorization and ties each transition row to it, but neither theorem consumes fep-005's finite partition declarations or fep-009's measure-theoretic conditional-independence declarations. A formal cross-topic edge awaits an explicit carrier bridge.—
fep-008Conceptualfep-028Finite argmin existence and finite softmax normalization represent deterministic and stochastic policy-selection layers.—
fep-011Formalfep-026The composed theorem identifies self-information and scalar prior complexity as the same negative-log functional, fixing their shared sign convention.FEPComposed.fep026_priorComplexity_is_fep011_surprise
fep-012Formalfep-028The composed theorem supplies fep-012's entropy-regularized policy objective with fep-028's globally normalized unit-interval softmax law. Reviewed 2026-09-22 against the primary-qualified endpoint rule. The witness carries fep-028 through its reviewed supporting theorems `fep_fep028.FEP028.fep028_softmax_nonneg` and `fep_fep028.FEP028.fep028_softmax_le_one` rather than the primary `fep_fep028.FEP028.fep028_softmax_sum_univ`; the row stands unchanged.FEPComposed.fep012_softmax_entropyRegularizedCost_le
fep-013Conceptualfep-002Relating Helmholtz and variational free energy requires an explicit energy map and scaling beyond either current scalar definition.—
fep-013Formalfep-040The composed theorem instantiates the equilibrium Helmholtz derivative law with fep-040's Gaussian thermal entropy and the compatible internal energy U(T)=T/2.FEPComposed.fep013_gaussianHelmholtz_derivative
fep-016Conceptualfep-032A nonnegative quadratic residual and a scalar descent contraction are complementary local pieces of a quadratic optimization argument.—
fep-017Conceptualfep-045The native posterior-kernel laws provide normalized Bayesian semantics, while fep-045 must still prove closure of a named conjugate family.—
fep-021Formalfep-041The composed theorem inserts fep-041's native KL information gain into fep-021's ENNReal EFE convention and proves the exact epistemic balance.FEPComposed.fep021_informationGain_balance
fep-022Formalfep-027The composed theorem realizes the posterior-predictive kernel as a hierarchical child kernel and identifies its marginal with sequential prediction.FEPComposed.fep022_predictive_is_hierarchical_marginal
fep-024Formalfep-014The composed theorem identifies fep-024's weighted regularizer with fep-014's native measure-valued KL divergence and its nonnegativity law.FEPComposed.fep024_regularizer_is_fep014_kl
fep-025Formalfep-049The composed theorem feeds fep-025's antisymmetric probability-current field into fep-049's nonnegative linear-resistance entropy-production law. Reviewed 2026-09-22 against the primary-qualified endpoint rule. The witness carries fep-049 through its reviewed supporting theorem `fep_fep049.FEP049.fep049_entropyProduction_nonneg` rather than the primary `fep_fep049.FEP049.fep049_entropyProduction_eq_zero_iff`; the row stands unchanged.FEPComposed.fep025_current_dissipation_nonneg
fep-027Formalfep-019The composed theorem identifies fep-027's child marginal with fep-019's prior-predictive measure-kernel composition.FEPComposed.fep027_priorPredictive_is_fep019
fep-029Conceptualfep-044The explicit quadratic Bregman instance and the alpha-divergence proxy are neighboring but mathematically distinct divergence families.—
fep-030Conceptualfep-031A general constrained maximum-entropy derivation of Gibbs laws remains outside the binary zero-inverse-temperature theorem.—
fep-031Formalfep-030The composed theorem rewrites the binary Gibbs law at zero inverse temperature to one half and invokes fep-030's entropy equality characterization.FEPComposed.fep031_zeroBeta_binary_maxEntropy
fep-032Formalfep-043The composed theorem identifies a gradient step on fep-043's exact quadratic landscape with fep-032's globally convergent centered update at effective step size 2aη.FEPComposed.fep032_update_is_fep043_gradientStep
fep-034Conceptualfep-047The normalized one-step kernel filter and the finite sum-product forward message occupy adjacent exact-inference layers.—
fep-034Formalfep-017The composed theorem identifies the transition-observation filter with fep-017's native posterior at the transition-predicted prior.FEPComposed.fep034_filter_is_fep017_posterior
fep-036Formalfep-045The composed theorem feeds fep-036's interior smoothed count estimate into fep-045's exact normalized conjugate update. Reviewed 2026-09-22 against the primary-qualified endpoint rule. The witness carries fep-036 through its reviewed supporting theorems `fep_fep036.FEP036.fep036_smoothedRate_pos` and `fep_fep036.FEP036.fep036_smoothedRate_lt_one` rather than the primary `fep_fep036.FEP036.fep036_smoothedRate_tendsto_of_empiricalRate`; the row stands unchanged.FEPComposed.fep036_empiricalPosterior_closed
fep-037Formalfep-020The composed theorem identifies fep-037's autocorrelation mode with the exact deviation mode of fep-020's normalized two-state Markov evolution.FEPComposed.fep037_autocorrelation_tracks_fep020
fep-038Formal Pairingfep-018The composed theorem couples fep-038's positive Bernoulli Fisher tangent metric to fep-018's separating Fisher--Rao coordinate distance. Reviewed 2026-09-22 against the primary-qualified endpoint rule. The witness carries fep-038 through its reviewed supporting theorem `fep_fep038.FEP038.fep038_fisherMetric_pos` rather than the primary `fep_fep038.FEP038.fep038_fisherInformation_eq`; the row stands unchanged.FEPComposed.fep038_fisherRao_separation
fep-039Formalfep-005The composed theorem aggregates state energies over fep-005's four unique partition fibres and proves that fep-039's local-energy sum conserves total state energy.FEPComposed.fep039_partitionEnergy_conservation
fep-041Formalfep-014The composed theorem identifies fep-041 information gain with the native KL divergence and invokes fep-014's finite-measure separation law.FEPComposed.fep041_informationGain_is_fep014_kl
fep-042Formalfep-036The composed theorem uses fep-042's success count to construct fep-036's smoothed empirical prior before conjugate updating. Reviewed 2026-09-22 against the primary-qualified endpoint rule. The witness carries fep-036 through its reviewed supporting theorems `fep_fep036.FEP036.fep036_smoothedRate_pos` and `fep_fep036.FEP036.fep036_smoothedRate_lt_one` rather than the primary `fep_fep036.FEP036.fep036_smoothedRate_tendsto_of_empiricalRate`; the row stands unchanged.FEPComposed.fep036_empiricalPosterior_closed
fep-051Formal Pairingfep-017Radon--Nikodym reconstruction and posterior joint reconstruction are the measure-level reconstruction laws on either side of Bayesian inversion.FEPComposed.fep051_rn_reconstruction_refines_fep017
fep-052Formal Pairingfep-017On a countable latent carrier, both topic surfaces certify the same predictive-almost-everywhere likelihood-ratio representation.FEPComposed.fep052_posterior_tilt_is_fep017_posterior
fep-053Formal Pairingfep-017Kernel Bayes and fep-017 reconstruct the same swapped joint law, with the new topic keeping the native posterior notation visible.FEPComposed.fep053_joint_reconstruction_extends_fep017
fep-054Formal Pairingfep-017Native double Bayesian inversion recovers the original likelihood almost everywhere, while the fep-017 posterior recovers the prior after a Markov likelihood; the pairing keeps these two sides of involution distinct.FEPComposed.fep054_involution_of_fep017_posterior
fep-055Formal Pairingfep-019Composite Bayesian inversion uses exactly the chronological predictive law identified by fep-019's measure--kernel associativity theorem.FEPComposed.fep055_composite_inversion_uses_fep019
fep-056Formal Pairingfep-017Standard-Borel disintegration reconstructs its joint, while fep-017 certifies the corresponding posterior reconstruction for an arbitrary finite likelihood model.FEPComposed.fep056_disintegration_supplies_fep017
fep-057Formal Pairingfep-015The conditional-expectation tower integrates any integrable observable; fep-015 supplies measurability for its canonical variational integrand.FEPComposed.fep057_tower_integrates_fep015
fep-058Formal Pairingfep-001The finite Gibbs lower bound and fep-001's native KL upper bound expose the same nonnegative-gap architecture without equating their scalar carriers.FEPComposed.fep058_gibbs_gap_is_fep001_kl
fep-059Formal Pairingfep-001Equality in the finite Donsker--Varadhan bound and zero native KL each separate the relevant optimizer, with their distinct support regimes visible.FEPComposed.fep059_dv_equality_is_fep001_exactness
fep-060Formalfep-002The coordinate decomposition supplies the nonnegative remainder required by fep-002 and therefore turns the finite joint ELBO into an actual bound.FEPComposed.fep060_coordinate_elbo_refines_fep002
fep-061Formal Pairingfep-014Finite mean-field optimality and measure-native KL exactness are recorded together while preserving their intentionally different zero-mass semantics.FEPComposed.fep061_meanField_gap_is_fep014_kl
fep-062Formal Pairingfep-035The fixed-sample IWAE inequality and fep-035's strict two-point Jensen law expose respectively the weak and strict finite logarithmic boundaries.FEPComposed.fep062_iwae_jensen_uses_fep035
fep-063Formal Pairingfep-014Finite-channel contraction is paired with the native nonnegativity of the pre-channel KL quantity; no unsupported finite-to-measure identification is introduced.FEPComposed.fep063_channel_dpi_bounds_fep014
fep-064Formal Pairingfep-041Rate--distortion weak duality is accompanied by the measure-native nonnegativity law for the mutual-information ingredient's KL semantics.FEPComposed.fep064_rateDistortion_uses_fep041_mutualInformation
fep-065Formal Pairingfep-023Controlled transition rows and every reachable policy law obey their respective normalization contracts.FEPComposed.fep065_controlledKernel_extends_fep023_normalization
fep-066Formal Pairingfep-034A finite action-conditioned update reconstructs its predicted joint, while the native fep-034 filter reconstructs the corresponding measure joint.FEPComposed.fep066_action_update_refines_fep034_filter
fep-067Formal Pairingfep-023Reachable-belief reduction preserves policy value, alongside the original set-level witness that an available policy has a reachable law.FEPComposed.fep067_reachableBelief_refines_fep023
fep-068Formal Pairingfep-033The finite positive-temperature theorem supplies a positive partition, exact soft Bellman successor recursion, and actionwise soft-value bound; it is paired with the original transition-aware Bellman successor equation without claiming carrier equivalence.FEPComposed.fep068_softBellman_extends_fep033
fep-069Formal Pairingfep-031A desirability backup combines a normalized passive prediction with the strictly positive Gibbs weight certified by fep-031.FEPComposed.fep069_desirability_combines_fep031_weights
fep-070Formal Pairingfep-028The prior-weighted control posterior and the original support-aware softmax are both exactly normalized finite action selectors. Reviewed 2026-09-22 against the primary-qualified endpoint rule. The witness carries fep-028 through its reviewed supporting theorem `fep_fep028.FEP028.fep028_softmax_probs_sum_one` rather than the primary `fep_fep028.FEP028.fep028_softmax_sum_univ`; the row stands unchanged.FEPComposed.fep070_controlPosterior_refines_fep028_softmax
fep-071Formal Pairingfep-033Sophisticated EFE and the original Bellman value each recompute a continuation at the successor horizon; only the former conditions on future observations.FEPComposed.fep071_sophisticatedEFE_extends_fep033
fep-072Formal Pairingfep-034The finite forward-filter atom reconstruction and the native fep-034 joint reconstruction record the same predict-then-condition architecture.FEPComposed.fep072_forward_filter_refines_fep034
fep-073Formal Pairingfep-047Backward information recursion and the original sum-product composition law jointly certify temporal message composition in their native carriers.FEPComposed.fep073_backward_message_composes_fep047
fep-074Formal Pairingfep-034Finite forward--backward smoothing reconstructs its weighted atom while the native fep-034 posterior reconstructs the predicted observation joint.FEPComposed.fep074_smoothing_reconstructs_fep034_filter
fep-075Formal Pairingfep-034Positive-normalizer finite smoothing and every native fep-034 posterior fiber each carry exactly unit mass.FEPComposed.fep075_smoothing_normalization_extends_fep034
fep-076Formal Pairingfep-028A prior-weighted variational state update and the original finite softmax both produce normalized exponential-tilt laws. Reviewed 2026-09-22 against the primary-qualified endpoint rule. The witness carries fep-028 through its reviewed supporting theorem `fep_fep028.FEP028.fep028_softmax_probs_sum_one` rather than the primary `fep_fep028.FEP028.fep028_softmax_sum_univ`; the row stands unchanged.FEPComposed.fep076_variational_update_refines_fep028_softmax
fep-077Formal Pairingfep-027Finite two-level predictive composition and native three-level composition both expose the same associativity seam without conflating their carriers.FEPComposed.fep077_hierarchical_predictive_extends_fep027
fep-078Formal Pairingfep-019Finite Bayesian model averaging and native sequential prediction each make their mixture/composition law explicit.FEPComposed.fep078_model_average_composes_fep019
fep-079Formal Pairingfep-009Finite blanket factorization is characterized by zero conditional mutual information, while fep-009 supplies the nonnegative product-mass primitive. Reviewed 2026-09-22 against the primary-qualified endpoint rule. The witness carries fep-009 through its reviewed supporting theorem `fep_fep009.FEP009.fep009_joint_product_nonneg` rather than the primary `fep_fep009.FEP009.fep009_condIndep_symm`; the row stands unchanged.FEPComposed.fep079_blanket_cmi_refines_fep009
fep-080Formal Pairingfep-019Mixing a shared finite conditional law commutes with joint formation, alongside fep-019's native sequential-prediction associativity.FEPComposed.fep080_shared_mixture_preserves_fep019_prediction
fep-081Formal Pairingfep-009Coupled blankets retain zero conditional mutual information within each conditional row, together with fep-009's product-mass nonnegativity. Reviewed 2026-09-22 against the primary-qualified endpoint rule. The witness carries fep-009 through its reviewed supporting theorem `fep_fep009.FEP009.fep009_joint_product_nonneg` rather than the primary `fep_fep009.FEP009.fep009_condIndep_symm`; the row stands unchanged.FEPComposed.fep081_coupled_blanket_composes_fep009
fep-082Formal Pairingfep-023Every hard intervention row is normalized, as is every reachable law under the original fep-023 normalization premise.FEPComposed.fep082_intervention_normalization_extends_fep023
fep-083Formal Pairingfep-009Ordered intervention preserves the named non-descendant marginal; fep-009 simultaneously records monotonicity for any nested measurable events. Reviewed 2026-09-22 against the primary-qualified endpoint rule. The witness carries fep-009 through its reviewed supporting theorem `fep_fep009.FEP009.fep009_likelihood_mono` rather than the primary `fep_fep009.FEP009.fep009_condIndep_symm`; the row stands unchanged.FEPComposed.fep083_intervention_invariance_refines_fep009
fep-084Formal Pairingfep-027The finite ordered four-node density and the native three-level hierarchy both expose their complete product factorization.FEPComposed.fep084_ordered_factorization_extends_fep027
fep-085Formal Pairingfep-009The ordered finite carrier yields zero local mutual information at positive evidence, while fep-009 supplies an inhabited native conditional-independence boundary against the trivial sigma algebra. Reviewed 2026-09-22 against the primary-qualified endpoint rule. The witness carries fep-009 through its reviewed supporting theorem `fep_fep009.FEP009.fep009_condIndep_bot_right` rather than the primary `fep_fep009.FEP009.fep009_condIndep_symm`; the row stands unchanged.FEPComposed.fep085_local_markov_refines_fep009
fep-086Formal Pairingfep-016Precision energy is nonnegative both in the predictive-coding definition and in fep-016's unhalved weighted-quadratic primitive.FEPComposed.fep086_precision_energy_refines_fep016
fep-087Formal Pairingfep-039A hierarchical prediction-error sum decomposes by level, while fep-039 certifies additivity of a four-block global free energy.FEPComposed.fep087_hierarchical_energy_extends_fep039
fep-088Formal Pairingfep-043The predictive-error derivative and fep-043's quadratic derivative are the same scalar geometry at curvature `precision / 2`.FEPComposed.fep088_prediction_gradient_extends_fep043
fep-089Formal Pairingfep-006Finite-jet shifts satisfy their native additive law and instantiate fep-006's generic discrete-flow semigroup under one-degree shifting.FEPComposed.fep089_finite_jet_shift_specializes_fep006
fep-090Formal Pairingfep-043A generalized-filter correction exposes its shift-minus-gradient equation; the same coordinate gradient is backed by fep-043's exact quadratic derivative.FEPComposed.fep090_generalized_correction_combines_fep043
fep-091Formal Pairingfep-016Precision modulation is monotone in the predictive energy and specializes fep-016's nonnegative weighted quadratic at the lower precision.FEPComposed.fep091_precision_modulation_refines_fep016
fep-092Formal Pairingfep-032On the shared stability interval, predictive error tends to zero and the equivalent centered quadratic iteration from fep-032 tends to its target.FEPComposed.fep092_quadratic_convergence_specializes_fep032
fep-093Formal Pairingfep-010The supported forward/reverse ratio reconstructs path mass, while the identity kernel supplies the original catalogue's concrete reversibility witness on an arbitrary measure carrier.FEPComposed.fep093_path_ratio_extends_fep010_reversal
fep-094Formal Pairingfep-049Path entropy production is exactly finite KL, alongside the original nonnegative quadratic entropy-production certificate. Reviewed 2026-09-22 against the primary-qualified endpoint rule. The witness carries fep-049 through its reviewed supporting theorem `fep_fep049.FEP049.fep049_entropyProduction_nonneg` rather than the primary `fep_fep049.FEP049.fep049_entropyProduction_eq_zero_iff`; the row stands unchanged.FEPComposed.fep094_path_kl_refines_fep049_entropy_production
fep-095Formal Pairingfep-010Detailed finite fluctuation symmetry and native kernel reversibility each recover their corresponding forward or invariant law.FEPComposed.fep095_fluctuation_symmetry_extends_fep010_reversibility
fep-096Formal Pairingfep-049The integral fluctuation normalization is paired with the original exact flux--force representation of nonnegative entropy production. Reviewed 2026-09-22 against the primary-qualified endpoint rule. The witness carries fep-049 through its reviewed supporting theorem `fep_fep049.FEP049.fep049_flux_force_identity` rather than the primary `fep_fep049.FEP049.fep049_entropyProduction_eq_zero_iff`; the row stands unchanged.FEPComposed.fep096_integral_fluctuation_refines_fep049
fep-097Formal Pairingfep-013The finite Jarzynski normalization and the original Helmholtz difference identity are retained as separate assumptions, avoiding a microscopic-energy identification that neither theorem proves.FEPComposed.fep097_jarzynski_extends_fep013_helmholtz
fep-098Formal Pairingfep-025Finite detailed balance cancels local current, while the original matrix current remains antisymmetric on every oriented edge.FEPComposed.fep098_local_current_refines_fep025
fep-099Formal Pairingfep-014Reversible finite-channel KL dissipation is accompanied by both native KL nonnegativity and the native reversible-kernel stationarity consequence.FEPComposed.fep099_reversible_kl_dissipation_links_fep010_fep014
fep-100Formal Pairingfep-004Full-support categorical Fisher positivity strengthens the original diagonal Fisher metric's positive-semidefinite certificate.FEPComposed.fep100_categorical_fisher_refines_fep004
fep-101Formal Pairingfep-038Finite-matrix Fisher pullback composition extends the original scalar Bernoulli pullback identity without asserting a global chart theorem. Reviewed 2026-09-22 against the primary-qualified endpoint rule. The witness carries fep-038 through its reviewed supporting theorem `fep_fep038.FEP038.fep038_fisherMetric_pullback` rather than the primary `fep_fep038.FEP038.fep038_fisherInformation_eq`; the row stands unchanged.FEPComposed.fep101_fisher_pullback_extends_fep038
fep-102Formal Pairingfep-038The finite scalar Cramér--Rao certificate includes explicit score regularity, while fep-038 supplies its concrete centered Bernoulli score case. Reviewed 2026-09-22 against the primary-qualified endpoint rule. The witness carries fep-038 through its reviewed supporting theorem `fep_fep038.FEP038.fep038_expectedScore_zero` rather than the primary `fep_fep038.FEP038.fep038_fisherInformation_eq`; the row stands unchanged.FEPComposed.fep102_cramer_rao_uses_fep038_score_geometry
fep-103Formal Pairingfep-038Natural-gradient equivariance under an invertible chart extends the original one-dimensional Fisher/natural-gradient duality. Reviewed 2026-09-22 against the primary-qualified endpoint rule. The witness carries fep-038 through its reviewed supporting theorem `fep_fep038.FEP038.fep038_naturalGradient_duality` rather than the primary `fep_fep038.FEP038.fep038_fisherInformation_eq`; the row stands unchanged.FEPComposed.fep103_natural_gradient_extends_fep038
fep-104Formal Pairingfep-024The mirror-descent three-point identity is paired with the original native KL-regularized lower bound without identifying Bregman and KL divergences.FEPComposed.fep104_mirror_descent_refines_fep024
fep-105Formal Pairingfep-044The affine Bregman projection satisfies its exact Pythagorean identity, while fep-044 records nonnegativity for the concrete Bernoulli Hellinger case.FEPComposed.fep105_bregman_projection_extends_fep044
fep-106Formal Pairingfep-038Replicator dynamics is a categorical natural gradient; the original Bernoulli natural-gradient duality and finite softmax normalization remain visible as its scalar and discrete-selection neighbors. Reviewed 2026-09-22 against the primary-qualified endpoint rule. The witness carries fep-038 through its reviewed supporting theorem `fep_fep038.FEP038.fep038_naturalGradient_duality` rather than the primary `fep_fep038.FEP038.fep038_fisherInformation_eq`; the row stands unchanged.FEPComposed.fep106_replicator_links_fep028_fep038
fep-107Formal Pairingfep-027Independent product-agent generative mass factorizes pointwise, while the original native hierarchical joint remains normalized under probability and Markov assumptions.FEPComposed.fep107_product_agent_extends_fep027_hierarchy
fep-108Formal Pairingfep-039Product-law collective VFE additivity extends the original four-block global free-energy additivity law without identifying their scalar models.FEPComposed.fep108_collective_vfe_extends_fep039_additivity
fep-109Formal Pairingfep-021Independent-agent EFE additivity is paired with the original truncated EFE sign convention and its exact epistemic-balance premise.FEPComposed.fep109_independent_efe_extends_fep021
fep-110Formal Pairingfep-028Positive-normalizer unit-weight product-of-experts pooling and nonempty-support softmax each expose exact finite normalization; the pairing does not identify their weighting conventions. Reviewed 2026-09-22 against the primary-qualified endpoint rule. The witness carries fep-028 through its reviewed supporting theorem `fep_fep028.FEP028.fep028_softmax_probs_sum_one` rather than the primary `fep_fep028.FEP028.fep028_softmax_sum_univ`; the row stands unchanged.FEPComposed.fep110_product_of_experts_refines_fep028_normalization
fep-111Formal Pairingfep-025The two-agent consensus step conserves pointwise mass; the original antisymmetric-current theorem conserves total divergence.FEPComposed.fep111_consensus_mass_extends_fep025_conservation
fep-112Formal Pairingfep-048Atomwise consensus disagreement converges to zero, extending the original concrete halving-contraction convergence witness.FEPComposed.fep112_consensus_convergence_extends_fep048_contraction
fep-113Formal Pairingfep-032Nonzero consensus disagreement gives strict coupled-potential descent, alongside the original stable-step quadratic-energy descent law.FEPComposed.fep113_coupled_potential_refines_fep032_descent
fep-114Formal Pairingfep-036The finite-sample sub-Gaussian tail certificate is paired with the original strict positivity of a Laplace-smoothed empirical rate. Reviewed 2026-09-22 against the primary-qualified endpoint rule. The witness carries fep-036 through its reviewed supporting theorem `fep_fep036.FEP036.fep036_smoothedRate_pos` rather than the primary `fep_fep036.FEP036.fep036_smoothedRate_tendsto_of_empiricalRate`; the row stands unchanged.FEPComposed.fep114_subgaussian_tail_refines_fep036_empirical_rate
fep-115Formal Pairingfep-042The simultaneous finite-alphabet frequency bound is paired with the original exact Bernoulli likelihood factorization through finite counts.FEPComposed.fep115_frequency_union_bound_extends_fep042_counts
fep-116Formal Pairingfep-001The finite posterior loss-gap bound, conditional on a certified log-MGF budget, is paired with fep-001's measure-native variational upper bound without equating finite real KL and native extended KL.FEPComposed.fep116_pac_bayes_refines_fep001_variational_bound
fep-117Formal Pairingfep-017Finite posterior odds obey Bayes multiplication, while the measure-native fep-017 posterior reconstructs its complete swapped joint law.FEPComposed.fep117_posterior_odds_extends_fep017_bayes
fep-118Formal Pairingfep-045A finite likelihood gap bounds inferior posterior mass exponentially, while the original Bernoulli update remains normalized for every parameter.FEPComposed.fep118_posterior_concentration_extends_fep045_update
fep-119Formal Pairingfep-026Mixture log-loss regret exposes the selected model's prior penalty, and fep-026 proves that negative-log complexity is additive for the same positive prior-likelihood product.FEPComposed.fep119_mixture_log_loss_refines_fep026_complexity
fep-120Formal Pairingfep-019Multiplicative Bayes factors agree with sequential odds updates, while fep-019 records associativity for the corresponding native predictive chain.FEPComposed.fep120_bayes_factor_update_extends_fep019_prediction
fep-121Formal Pairingfep-036The exact finite-sample Laplace error decomposition and the earlier smoothed-rate identity are retained together without treating smoothing as an unbiased estimator. Reviewed 2026-09-22 against the primary-qualified endpoint rule. The witness carries fep-036 through its reviewed supporting theorem `fep_fep036.FEP036.fep036_smoothedRate_eq_shrunkEmpirical` rather than the primary `fep_fep036.FEP036.fep036_smoothedRate_tendsto_of_empiricalRate`; the row stands unchanged.FEPComposed.fep121_laplaceError_extends_fep036
fep-122Formal Pairingfep-036The explicit pseudo-count bias bound and the earlier strict-positivity result jointly expose both the benefit and finite-sample offset of add-one smoothing. Reviewed 2026-09-22 against the primary-qualified endpoint rule. The witness carries fep-036 through its reviewed supporting theorem `fep_fep036.FEP036.fep036_smoothedRate_mem_Ioo` rather than the primary `fep_fep036.FEP036.fep036_smoothedRate_tendsto_of_empiricalRate`; the row stands unchanged.FEPComposed.fep122_laplaceBias_extends_fep036
fep-123Formal Pairingfep-036The deterministic absolute-error transfer is paired with the original smoothed-rate formula, with its empirical-error premise kept explicit. Reviewed 2026-09-22 against the primary-qualified endpoint rule. The witness carries fep-036 through its reviewed supporting theorem `fep_fep036.FEP036.fep036_smoothedRate_eq_shrunkEmpirical` rather than the primary `fep_fep036.FEP036.fep036_smoothedRate_tendsto_of_empiricalRate`; the row stands unchanged.FEPComposed.fep123_laplaceAbsoluteError_extends_fep036
fep-124Formal Pairingfep-114Finite-law squared-risk transfer and the supplied sub-Gaussian tail certificate are checked together without inferring one premise from the other.FEPComposed.fep124_laplaceSquaredRisk_combines_fep036_fep114
fep-125Formal Pairingfep-022Exact Bernoulli Brier excess equals squared forecast error, while fep-022 retains the separate preference-risk decomposition used by the earlier active-inference carrier.FEPComposed.fep125_brierExcess_refines_fep022
fep-126Formal Pairingfep-022Expected Laplace-smoothed Brier excess inherits the finite squared-risk bound and is paired with fep-022's one-step risk decomposition without conflating their carriers.FEPComposed.fep126_laplaceBrierRisk_combines_fep022_fep036
fep-127Formal Pairingfep-114Event inclusion transfers any supplied empirical tail bound to the smoothed estimator, while fep-114 records a concrete sub-Gaussian source of such a bound under its own hypotheses.FEPComposed.fep127_laplaceConcentration_combines_fep036_fep114
fep-128Formal Pairingfep-071Observation-contingent policy-tree recursion and sophisticated-EFE backward recursion both expose finite-horizon continuation values while retaining distinct model carriers.FEPComposed.fep128_policyTreeRecursion_extends_fep071
fep-129Formal Pairingfep-033Exact finite-action tree minimization extends the earlier scalar Bellman recursion with belief and observation-contingent continuation structure.FEPComposed.fep129_policyTreeBellman_extends_fep033
fep-130Formal Pairingfep-008A concrete attaining finite policy tree is paired with the original finite policy minimizer, making the stronger depth-indexed carrier and its nonempty-action premise explicit.FEPComposed.fep130_optimalPolicyTree_extends_fep008
fep-131Formal Pairingfep-033The value-preserving embedding of a fixed action plan into a policy tree is paired with the earlier dynamic-programming recursion at equal finite horizon.FEPComposed.fep131_openLoopEmbedding_extends_fep033
fep-132Formal Pairingfep-071Closed-loop tree optimality dominates every embedded open-loop plan, while fep-071 supplies the earlier two-stage feedback-sensitive EFE recursion.FEPComposed.fep132_closedLoopDominance_extends_fep071
fep-133Formal Pairingfep-021The risk-plus-ambiguity EFE identity is lifted through every finite policy-tree branch and paired with the earlier one-step expected-free-energy balance.FEPComposed.fep133_treewiseEFE_extends_fep021
fep-134Formal Pairingfep-071The exact Boolean policy-tree witness proves a strict one-half feedback advantage and is paired with fep-071's independent two-stage feedback witness.FEPComposed.fep134_feedbackWitness_extends_fep071
fep-135Formal Pairingfep-017Weighted Dirac embedding preserves every finite singleton mass and total mass, while fep-017 supplies the native posterior reconstruction law on an arbitrary measure carrier.FEPComposed.fep135_embeddedLaw_extends_fep017
fep-136Formal Pairingfep-015Native integration of an embedded finite law equals its weighted sum, paired with fep-015's measurable variational-integrand surface on the native carrier.FEPComposed.fep136_embeddedExpectation_extends_fep015
fep-137Formal Pairingfep-019The finite-to-native predictive commuting square and fep-019's native sequential-prediction associativity are checked together without hiding either kernel orientation.FEPComposed.fep137_embeddedPredictive_extends_fep019
fep-138Formal Pairingfep-079Native singleton-rectangle factorization is paired with the finite conditional-factorization characterization from which its embedded masses are constructed.FEPComposed.fep138_rectangleFactorization_extends_fep079
fep-139Formal Pairingfep-009The embedded blanket joint satisfies Mathlib CondIndepFun for its actual coordinates, and fep-009 supplies the native symmetry law for that conditional-independence predicate.FEPComposed.fep139_nativeCondIndep_connects_fep009_fep079
fep-140Formal Pairingfep-009Measurable endpoint coarsenings preserve native blanket CondIndepFun, alongside fep-009's general conditional-independence symmetry theorem.FEPComposed.fep140_measurableCoarsening_extends_fep009
fep-141Formal Pairingfep-080Every factorized transition row inherits native blanket conditional independence, while fep-080 retains the separate finite shared-mixture prediction law.FEPComposed.fep141_blanketTransition_extends_fep080
fep-142Formal Pairingfep-031A positive-base finite exponential family is normalized for every natural parameter, paired with the original finite maximum-entropy normalization witness.FEPComposed.fep142_exponentialNormalization_extends_fep031
fep-143Formal Pairingfep-026Supported exponential-family log-density ratios have an exact affine form, while fep-026 retains the separate negative-log product-complexity identity.FEPComposed.fep143_logDensityRatio_extends_fep026
fep-144Formal Pairingfep-040The finite log-partition derivative equals the mean sufficient statistic, paired with fep-040's exact Gaussian thermodynamic derivative on its distinct carrier.FEPComposed.fep144_logPartitionGradient_extends_fep040
fep-145Formal Pairingfep-038The derived exponential-family score is centered exactly, extending the abstract centered-score contract used by the earlier Fisher-geometry topic. Reviewed 2026-09-22 against the primary-qualified endpoint rule. The witness carries fep-038 through its reviewed supporting theorem `fep_fep038.FEP038.fep038_expectedScore_zero` rather than the primary `fep_fep038.FEP038.fep038_fisherInformation_eq`; the row stands unchanged.FEPComposed.fep145_centeredScore_extends_fep038
fep-146Formal Pairingfep-100Scalar Fisher information is derived as sufficient-statistic variance with positive and zero-curvature witnesses, paired with the earlier categorical tangent-space metric.FEPComposed.fep146_fisherVariance_extends_fep100
fep-147Formal Pairingfep-014Supported finite KL inside the exponential family equals an oriented log-partition Bregman divergence, paired with the original native KL separation theorem.FEPComposed.fep147_KLBregman_connects_fep014_fep104
fep-148Formal Pairingfep-103Positive variance makes the natural-to-mean coordinate injective on the stated interval, paired with fep-103's invertible-chart natural-gradient equivariance.FEPComposed.fep148_meanCoordinate_extends_fep103
fep-149Formal Pairingfep-020Positive rates generate a normalized nonnegative Boolean continuous-time kernel, paired with the original discrete-time Markov evolution law.FEPComposed.fep149_continuousKernel_extends_fep020
fep-150Formal Pairingfep-006The exact real-time Boolean semigroup is the identity at zero, alongside fep-006's general natural-time iterate identity.FEPComposed.fep150_semigroupZero_extends_fep006
fep-151Formal Pairingfep-006Chapman--Kolmogorov addition for the explicit real-time semigroup is paired with the original natural-time iterate addition law.FEPComposed.fep151_semigroupAdd_extends_fep006
fep-152Formal Pairingfep-020Every Boolean transition entry solves the two-sided continuous-time master equation, paired with the earlier discrete finite-state evolution contract.FEPComposed.fep152_masterEquation_extends_fep020
fep-153Formal Pairingfep-010The nonuniform stationary law satisfies exact continuous-time detailed balance, alongside the original native reversible-kernel stationarity theorem.FEPComposed.fep153_continuousDetailedBalance_extends_fep010
fep-154Formal Pairingfep-020Boolean true-state mass relaxes exponentially to stationarity, paired with the original discrete transition evolution without claiming a general mixing-rate theorem.FEPComposed.fep154_continuousRelaxation_extends_fep020
fep-155Formal Pairingfep-032Squared deviation from stationarity has an exact strictly negative benchmark derivative, paired with fep-032's discrete quadratic-descent certificate without calling either physical free energy.FEPComposed.fep155_lyapunovDecay_extends_fep032
fep-156Formal Pairingfep-021The exact Boltzmann-form control posterior minimizes the expected free energy with its uniqueness certificate, paired with fep-021's truncated-EFE epistemic-plus-pragmatic balance as the sign-convention ancestor, without claiming continuous-state or infinite-action optimality.FEPComposed.fep156_boltzmannControlPosterior_extends_fep021_efeBalance
fep-157Formal Pairingfep-065The perception-action loop's invariant surprisal bound factors through one action-conditioned controlled-kernel step, paired with fep-065's row-normalization law, without claiming a general POMDP fixed-point theorem.FEPComposed.fep157_loopInvariant_extends_fep065_controlledKernel
fep-158Formal Pairingfep-058Masked evidence never lowers evidence free energy, paired with fep-058's exact Gibbs lower bound on the same finiteKL and gibbsFreeEnergy carriers, without claiming a variational characterization of arbitrary model reductions.FEPComposed.fep158_reductionFreeEnergy_extends_fep058_gibbsLowerBound
fep-159Formal Pairingfep-153The finite KL divergence of the EFE time-scale separation is bounded by the log-affinity of its two-state rate carrier, paired with fep-153's nonuniform stationary semigroup law, without claiming a physical entropy-production identity.FEPComposed.fep159_epistemicGain_extends_fep153_stationary
fep-160Formal Pairingfep-025The Helmholtz–Ao decomposition's stationary current is carried entirely by the circulation part and its node divergence vanishes under stationarity, paired with fep-025's edge-current divergence law and nonzero cycle current, without identifying the finite rate-field ansatz with a continuum Fokker-Planck solution.FEPComposed.fep160_aoNess_extends_fep025_current
fep-161Formal Pairingfep-160The plain-matrix trace and quadratic cancellations are paired with the rate-field decomposition whose skew clause they justify, without deriving the finite carrier's law-weighted skewness from the plain pointwise property.FEPComposed.fep161_skewCancellation_extends_fep160_aoNess
fep-162Formal Pairingfep-161The symmetrization construction discharges exactly the symmetric-matrix hypothesis of the trace cancellation it is paired with, without claiming a continuum Clairaut theorem or smooth Hessian.FEPComposed.fep162_clairautSymmetrize_extends_fep161_skewCancellation
fep-163Formal Pairingfep-025The exact three-term weighted-divergence expansion and its conditional drop are paired with fep-025's node-divergence current carrier, without asserting that the continuum first-order step has a finite graph analogue.FEPComposed.fep163_solenoidalExpansion_extends_fep025_current
fep-164Formal Pairingfep-025The graph-plane decomposition and weighted Leibniz rule of the candidate current are paired with fep-025's edge-current node divergence, without equating the plain flux-matrix residual with a transition-row stationarity identity.FEPComposed.fep164_graphCurrent_extends_fep025_current
fep-165Formal Pairingfep-025The compiled 2-node counterexample refuting the unconditional solenoidal drop is paired with fep-025's divergence-free cycle witness, jointly bounding exactly what stationarity and antisymmetry imply.FEPComposed.fep165_necessityWitness_extends_fep025_current
fep-166Formal Pairingfep-160The competing-pair uniqueness of the law-weighted split is paired with fep-160's unconditional existence decomposition, so on the same finite rate-field carrier the canonical split exists and any constraint-satisfying competitor coincides with it, without introducing a stationarity hypothesis or a nonnegativity claim for the circulation part.FEPComposed.fep166_splitUnique_extends_fep160_aoNess
fep-167Formal Pairingfep-162The Frobenius least-squares projection layer is paired with fep-162's algebraic symmetrization construction, so the constructed discrete Hessian is exactly the unique symmetric minimizer, without claiming a continuum Clairaut theorem or a general Bregman-projection existence result.FEPComposed.fep167_frobeniusProjection_extends_fep162_clairautSymmetrize
fep-168Formal Pairingfep-163The quantitative remainder budget is paired with fep-163's exact three-term expansion, so the uncancelled divergence remainder is bounded and its equality case attained instead of being assumed to vanish, without an unconditional-drop claim.FEPComposed.fep168_remainderBound_extends_fep163_solenoidalExpansion
Retained capability table · 50 records

Swipe horizontally to inspect every column.

50 retained capability records preserve resolved and open history.
CapabilityStatusRequired surfaceDeclaration evidenceBlocked topics
cap-active-inference-generative-modelPolicy-conditioned active-inference modelSatisfiedOne normalized finite carrier owns policy-conditioned state prediction, outcome generation, exact posterior state, preferences, pragmatic cost, epistemic value, and expected free energy.FEP.ActiveInference.expectedFreeEnergy_eq_risk_add_ambiguity, FEP.ActiveInference.posteriorState_mul_evidence, FEP.ActiveInference.predictedJoint_fstMarginal_mass—
cap-causal-intervention-invariantsFinite causal-blanket and intervention invariantsSatisfiedFinite normalized carriers prove blanket factorization equivalent to zero conditional mutual information, intervention-kernel normalization, non-descendant invariance in the stated four-node model, a correlated non-factorizing witness, and an explicit zero-evidence boundary. These results do not assert a measure-theoretic do-calculus or causal identification beyond the encoded finite graph.FEP.CausalDynamics.conditionalMutualInformation_eq_zero_iff_factorizes, FEP.CausalDynamics.interventionKernel_sum_one, FEP.CausalDynamics.localMarkov_zeroEvidence_boundary, FEP.CausalDynamics.nonDescendant_intervention_invariant, fep_fep081.FEP081.fep081_correlatedBlanket_nonvacuity, fep_fep083.FEP083.fep083_fourNode_descendantChange_nonDescendantPreservation, fep_fep085.FEP085.fep085_zeroEvidence_boundary—
cap-closed-loop-policy-treesFinite closed-loop policy treesSatisfiedDepth-indexed finite policy trees admit exact observation-contingent value recursion, backward-induction minima, attaining optimal trees, value-preserving open-loop embeddings, and a full-support recursive EFE decomposition. A two-stage Boolean witness has observation-dependent continuation actions, value zero, and a strict one-half advantage over every fixed continuation; no infinite-horizon or continuous-belief optimality is claimed.FEP.PolicyTrees.boolFeedbackTree_strictlyBetter, FEP.PolicyTrees.exists_optimalPolicyTree, FEP.PolicyTrees.openLoopEmbedding_value, FEP.PolicyTrees.optimalTree_le_openLoop, FEP.PolicyTrees.policyTree_efe_eq_risk_add_ambiguity, fep_fep134.FEP134.fep134_feedback_continuation_changes—
cap-collective-consensus-invariantsFinite collective inference and consensus invariantsSatisfiedExplicit finite product-agent laws prove joint normalization, VFE and EFE additivity under independence, normalized unit-weight product-of-experts pooling, consensus-mass conservation, strict stochastic contraction and convergence with a nonzero Boolean witness, and descent of a coupled quadratic potential. No theorem attributes emergent agency or consciousness to the collective.FEP.CollectiveInference.boolConsensus_nonzero_strict_witness, FEP.CollectiveInference.collectiveVFE_additive, FEP.CollectiveInference.consensusMass_conserved, FEP.CollectiveInference.consensus_gap_tendsto_zero, FEP.CollectiveInference.coupledPotential_strict_descent, FEP.CollectiveInference.independentEFE_additive, FEP.CollectiveInference.productAgent_joint_mass, FEP.CollectiveInference.unitWeightProductOfExpertsPool_sum_one—
cap-conditional-independenceFinite factorization and conditional-independence lawsSatisfiedThe finite blanket carrier proves pointwise conditional factorization and zero conditional mutual information; separately, the measure-theoretic topic proves symmetry and a trivial-sigma-algebra instance of Mathlib CondIndep. No theorem yet transfers the finite factorization to sigma-algebra CondIndep or constructs a regular conditional probability bridge.FEP.MarkovBlanket.conditional_internal_external_factorization, FEP.MarkovBlanket.conditional_mutualInformation_zero, fep_fep009.FEP009.fep009_condIndep_bot_right, fep_fep009.FEP009.fep009_condIndep_symm—
cap-conjugacy-lawsConjugate-family lawsSatisfiedA likelihood/prior family with a proved posterior closure and parameter-update theorem.fep_fep045.FEP045.fep045_bernoulli_posterior_closed, fep_fep045.FEP045.fep045_evidence_pos, fep_fep045.FEP045.fep045_posteriorParameter_mem_unit, fep_fep045.FEP045.fep045_posterior_mass_one—
cap-continuous-time-thermodynamicsExact two-state continuous-time dynamicsSatisfiedPositive forward and backward rates generate an explicit normalized nonnegative Boolean transition semigroup, an exact generator and two-sided master equation, a nonuniform stationary reversible law, exponential relaxation, and a squared-deviation Lyapunov derivative. The concrete nonstationary benchmark has a strictly negative derivative; no general CTMC existence theorem or physical free-energy identification is inferred.FEP.ContinuousTimeMarkov.TwoStateRates.benchmarkInitial_nonstationary, FEP.ContinuousTimeMarkov.TwoStateRates.benchmarkLyapunov_deriv_zero_neg, FEP.ContinuousTimeMarkov.TwoStateRates.transition_add, FEP.ContinuousTimeMarkov.TwoStateRates.transition_detailedBalance, FEP.ContinuousTimeMarkov.TwoStateRates.transition_masterEquation, FEP.ContinuousTimeMarkov.TwoStateRates.transition_stationary—
cap-controlled-markov-planningFinite controlled-Markov planningSatisfiedControlled transition rows remain normalized; action-conditioned belief updates expose their zero-evidence boundary; reachable finite-belief reduction preserves finite-horizon policy value; and a two-stage Boolean witness proves that closed-loop feedback can strictly improve on open-loop control. Infinite-horizon and continuous-state POMDP optimality are not claimed.FEP.ControlledMarkov.actionEvidence_zero_boundary, FEP.ControlledMarkov.controlledKernel_sum_one, FEP.ControlledMarkov.reachableBelief_policyValue_eq, FEP.ControlledMarkov.twoStageFeedback_beats_openLoop, fep_fep071.FEP071.fep071_twoStage_feedback_changes_action, fep_fep071.FEP071.fep071_twoStage_feedback_strictly_better—
cap-convex-information-functionalsConvex information functionalsSatisfiedA named quadratic Bregman divergence, native measure-valued KL information gain, Bernoulli squared Hellinger divergence, strict Jensen control, and separation laws on their stated domains.fep_fep029.FEP029.fep029_quadraticBregman_eq_zero_iff, fep_fep035.FEP035.fep035_log_jensen_two_strict, fep_fep041.FEP041.fep041_expectedInformationGain_zero, fep_fep041.FEP041.fep041_informationGain_eq_zero_iff, fep_fep044.FEP044.fep044_hellingerSq_eq_zero_iff, fep_fep044.FEP044.fep044_hellingerSq_symm—
cap-cumulative-expected-free-energyCumulative finite-horizon expected free energySatisfiedStage-dependent EFE is recursively accumulated along predicted state laws, agrees with the normalized rollout carrier, decomposes at every plan concatenation, and remains nonnegative under a recursive full-support contract.FEP.ActiveInference.cumulativeExpectedFreeEnergyFrom_append, FEP.ActiveInference.cumulativeExpectedFreeEnergyFrom_nonneg, FEP.ActiveInference.cumulativeExpectedFreeEnergy_nonneg, FEP.ActiveInference.planStateFrom_eq_rolloutPredictive—
cap-discrete-measurable-semigroupMeasurable discrete-time semigroupSatisfiedA measurable one-step state update with measurable finite iterates, identity at time zero, an exact additive semigroup law, and fixed-point persistence.fep_fep006.FEP006.fep006_iterateFlow_add, fep_fep006.FEP006.fep006_iterateFlow_fixed, fep_fep006.FEP006.fep006_iterateFlow_measurable, fep_fep006.FEP006.fep006_iterateFlow_zero—
cap-empirical-bayes-modelEmpirical-Bayes estimation modelSatisfiedA finite binomial sampling law, count-derived Laplace hyperparameter estimator, consistency-transfer theorem, and normalized posterior update.FEPComposed.fep036_empiricalPosterior_closed, fep_fep036.FEP036.fep036_binomialModel_apply, fep_fep036.FEP036.fep036_empiricalPrior_mem_Ioo, fep_fep036.FEP036.fep036_smoothedRate_mem_Ioo, fep_fep036.FEP036.fep036_smoothedRate_tendsto_of_empiricalRate—
cap-entropy-optimizationEntropy optimizationSatisfiedA finite policy entropy regularizer supplied by a normalized softmax law, plus a probability-simplex entropy functional with a maximality or uniqueness theorem.FEPComposed.fep012_softmax_entropyRegularizedCost_le, FEPComposed.fep031_zeroBeta_binary_maxEntropy, fep_fep012.FEP012.fep012_entropyRegularizedCost_le_expectedCost, fep_fep012.FEP012.fep012_policyEntropy_nonneg, fep_fep028.FEP028.fep028_softmax_sum_univ, fep_fep030.FEP030.fep030_binaryEntropy_eq_max_iff, fep_fep030.FEP030.fep030_binaryEntropy_max—
cap-evidence-lower-boundVariational evidence boundSatisfiedPosterior-form variational free energy upper-bounds outcome surprisal, its negative lower-bounds log evidence, and equality uniquely characterizes exact Bayesian recognition even when the posterior has zero-mass states.FEP.ActiveInference.negative_variationalFreeEnergy_le_logEvidence, FEP.ActiveInference.outcomeSurprisal_le_variationalFreeEnergy, FEP.ActiveInference.variationalFreeEnergy_eq_surprisal_iff, FEP.ActiveInference.variationalFreeEnergy_posterior—
cap-expected-free-energy-decompositionExpected free energy decompositionSatisfiedReal finite-model EFE has proved pragmatic-minus-epistemic and risk-plus-ambiguity decompositions, nonnegativity under full support, and an explicit truncating bridge to the catalogue ENNReal convention.FEP.ActiveInference.epistemicValue_eq_entropy_sub_ambiguity, FEP.ActiveInference.expectedFreeEnergy_eq_risk_add_ambiguity, FEP.ActiveInference.expectedFreeEnergy_nonneg, FEPComposed.activeInference_expectedFreeEnergy_to_fep021—
cap-finite-exponential-family-geometryFinite exponential-family dual geometrySatisfiedPositive finite base weights define a full-support scalar exponential family whose log-partition derivative is the mean statistic, mean derivative and scalar Fisher information equal variance, supported finite KL equals the oriented log-partition Bregman divergence, and positive variance yields an injective mean coordinate. A nonconstant three-state statistic gives positive curvature while a constant statistic records the zero-curvature boundary.FEP.ExponentialFamily.ScalarExponentialFamily.constantStatistic_variance_zero, FEP.ExponentialFamily.ScalarExponentialFamily.finiteKL_eq_logPartitionBregman, FEP.ExponentialFamily.ScalarExponentialFamily.logPartition_hasDerivAt, FEP.ExponentialFamily.ScalarExponentialFamily.meanParameter_injectiveOn, FEP.ExponentialFamily.ScalarExponentialFamily.threeState_variance_zero_pos—
cap-finite-information-theoryFinite information-theory kernelSatisfiedNormalized finite laws support zero-safe Shannon entropy, a totalized real-valued cross-entropy and KL convention, entropy chain rules, and mutual-information separation from independence. Normalization makes finite KL separating without a support assumption; logarithmic identities still require positive reference support, and explicit disjoint-point-mass witnesses record that the totalized values are finite rather than extended-real divergence values.FEP.FiniteInformation.crossEntropy_disjoint_pointMass_totalized, FEP.FiniteInformation.entropy_joint_eq_add_conditional, FEP.FiniteInformation.entropy_product, FEP.FiniteInformation.finiteKL_disjoint_pointMass_totalized, FEP.FiniteInformation.finiteKL_eq_zero_iff, FEP.FiniteInformation.finiteKL_nonneg, FEP.FiniteInformation.mutualInformation_eq_entropy_marginals, FEP.FiniteInformation.mutualInformation_eq_zero_iff, FEP.FiniteInformation.mutualInformation_product_eq_zero—
cap-finite-kernel-algebraNormalized finite-kernel algebraSatisfiedFinite Markov kernels have explicit identity and associative composition laws, and predictive propagation preserves both identity and sequential composition.FEP.FiniteKernel.comp_assoc, FEP.FiniteKernel.comp_identity_left, FEP.FiniteKernel.comp_identity_right, FEP.FiniteKernel.predictive_comp, FEP.FiniteKernel.predictive_identity—
cap-finite-kl-chain-rulesFinite KL and channel chain rulesSatisfiedConditional KL is nonnegative and, under positive input-law support, separates arbitrary normalized kernel rows without reference-row support. Joint prior-kernel KL obeys an exact chain rule, marginalization cannot increase that joint divergence, and independent-product KL is additive under the support assumptions needed by their logarithmic derivation.FEP.FiniteInformation.conditionalKL_eq_zero_iff, FEP.FiniteInformation.conditionalKL_nonneg, FEP.FiniteInformation.finiteKL_joint_chain_rule, FEP.FiniteInformation.finiteKL_prior_le_joint, FEP.FiniteInformation.finiteKL_product—
cap-finite-learning-theoryFinite-sample learning and evidence boundsSatisfiedExplicit sub-Gaussian and union-bound premises yield finite-sample probability bounds, while a finite Gibbs loss-gap certificate turns a conditional log-MGF budget into a PAC-Bayes population-loss bound; supported two-hypothesis models prove posterior-odds recursion, likelihood-gap concentration, mixture log-loss regret, and Bayes-factor multiplication; zero prior support and zero denominator remain visible boundaries. No theorem derives the log-MGF premise, claims universal consistency, or empirically confirms the FEP.FEP.LearningTheory.bayesFactor_multiplicative, FEP.LearningTheory.bayesFactor_twoHypothesis_witness, FEP.LearningTheory.bayesFactor_zero_denominator_boundary, FEP.LearningTheory.finitePACBayes_changeOfMeasure_with_confidence, FEP.LearningTheory.mixtureLogLoss_regret, FEP.LearningTheory.posteriorGap_concentration, FEP.LearningTheory.posterior_zero_of_prior_zero, FEP.LearningTheory.simultaneous_frequency_bound, FEP.LearningTheory.subGaussian_empiricalMean_tail, FEP.LearningTheory.twoHypothesis_posterior_witness—
cap-finite-message-passingFinite message-passing operatorsSatisfiedA positive normalized local sum-product message and a full finite matrix message operator with exact identity and composition laws.fep_fep007.FEP007.fep007_normalizedMessage_nonneg, fep_fep007.FEP007.fep007_normalizedMessage_sum_one, fep_fep047.FEP047.fep047_forward_compose, fep_fep047.FEP047.fep047_forward_nonneg—
cap-finite-observable-consistencyFinite-observable strong-law consistencySatisfiedSimultaneous convergence of finite atom masses implies almost-sure convergence of the empirical expectation and its absolute error for every real observable on the finite carrier.FEP.StatisticalConvergence.empiricalExpectationError_strongLaw, FEP.StatisticalConvergence.empiricalExpectation_strongLaw—
cap-finite-path-thermodynamicsFinite path-space thermodynamic identitiesSatisfiedNormalized finite forward and reversed path laws prove supported ratio reconstruction, fluctuation identities, finite-KL entropy production, reversible one-step KL dissipation, and an irreversible positive-production witness; zero reverse mass remains an explicit boundary. These are finite path-law theorems, not a continuous physical-process derivation.FEP.PathThermodynamics.detailedFluctuation_identity, FEP.PathThermodynamics.entropyProduction_eq_expected_logRatio, FEP.PathThermodynamics.identityKernel_KL_equality, FEP.PathThermodynamics.integralFluctuation_eq_one, FEP.PathThermodynamics.irreversibleBool_entropyProduction_pos, FEP.PathThermodynamics.pathLaw_normalization, FEP.PathThermodynamics.pathRatio_zero_reverse_boundary, FEP.PathThermodynamics.reverse_reverse, FEP.PathThermodynamics.reversibleKL_oneStep_dissipation—
cap-finite-sample-risk-calibrationFinite-sample risk and calibration transferSatisfiedAdd-one Bernoulli smoothing has an exact affine error decomposition, bounded and explicitly nonzero bias, absolute- and squared-error transfer, normalized finite-law risk bounds, an exact Brier-excess identity, and monotone transfer of supplied tail probabilities. These are deterministic and finite-law certificates; no empirical calibration result or automatically derived concentration premise is claimed.FEP.EmpiricalRisk.brierExcess_eq_sqError, FEP.EmpiricalRisk.laplaceBadEvent_probability_le, FEP.EmpiricalRisk.laplaceBias_nonzero_witness, FEP.EmpiricalRisk.laplaceBrierRisk_le, FEP.EmpiricalRisk.laplaceError_identity—
cap-finite-variational-dualityFinite variational duality and information boundsSatisfiedFull-support finite laws prove Gibbs and Donsker--Varadhan optimizer identities, coordinate and mean-field decompositions, fixed-sample importance-weighted Jensen control, channel data processing, and rate-distortion weak duality, with positive-weight and zero-multiplier witnesses. No strong-duality or extended-divergence claim is inferred.FEP.VariationalDuality.dvObjective_eq_logPartition_iff, FEP.VariationalDuality.finiteChannel_dataProcessing, FEP.VariationalDuality.fixedSampleImportanceJensen, FEP.VariationalDuality.meanFieldCoordinate_optimum_iff, FEP.VariationalDuality.rateDistortion_weak_duality, FEP.VariationalDuality.sampleMeanWeight_pos, fep_fep064.FEP064.fep064_zeroMultiplier_boundary—
cap-gaussian-thermodynamic-modelGaussian thermodynamic modelSatisfiedMathlib's normalized real Gaussian law with exact mean and variance, a positive-variance closed-form entropy functional, thermal variance parameterization, exact entropy derivative, and heat-capacity relation.fep_fep040.FEP040.fep040_gaussianEntropy_hasDerivAt, fep_fep040.FEP040.fep040_gaussian_mass_one, fep_fep040.FEP040.fep040_gaussian_mean, fep_fep040.FEP040.fep040_gaussian_variance, fep_fep040.FEP040.fep040_heatCapacity_eq_half, fep_fep040.FEP040.fep040_thermalEntropy_hasDerivAt—
cap-geometric-mechanics-solenoidalGeometric mechanics of the solenoidal termSatisfiedPlain finite carriers prove the two skew-algebra cancellations behind the Helmholtz–Ao solenoidal expansion (zero trace against a symmetric matrix, zero quadratic form), the discrete-Hessian symmetrization that discharges the Hessian symmetry premise, the exact three-term expansion of the weighted candidate-current divergence under the stationary coupling, the conditional drops under explicit orthogonality or constant-Q hypotheses, the graph-plane decomposition and exact weighted Leibniz rule with its generically nonzero density residual, and a compiled 2-node counterexample refuting the unconditional drop. No continuum Fokker-Planck discretization, PDE solution, or physical entropy-production identification is claimed.FEPComposed.fep160_aoNess_extends_fep025_current, FEPComposed.fep161_skewCancellation_extends_fep160_aoNess, FEPComposed.fep162_clairautSymmetrize_extends_fep161_skewCancellation, FEPComposed.fep163_solenoidalExpansion_extends_fep025_current, FEPComposed.fep164_graphCurrent_extends_fep025_current, FEPComposed.fep165_necessityWitness_extends_fep025_current, fep_fep163.FEP163.fep163_solenoidal_expansion, fep_fep165.FEP165.fep165_witness_drop_fails—
cap-geometric-optimizationFinite information-geometric optimizationSatisfiedFinite score models prove categorical Fisher positivity on nonzero simplex tangents, pullback composition, natural-gradient chart equivariance, a scalar Cramer--Rao bound, mirror-descent and affine Bregman identities, and replicator natural-gradient equivalence, with both full-rank and rank-deficient witnesses. No global smooth-manifold convergence theorem is claimed.FEP.GeometricOptimization.affineProjection_minimizes, FEP.GeometricOptimization.categoricalFisher_pos, FEP.GeometricOptimization.duplicatedScore_nullDirection_example, FEP.GeometricOptimization.fairBernoulli_fullRank_example, FEP.GeometricOptimization.mirrorDescent_threePoint_identity, FEP.GeometricOptimization.naturalGradient_equivariant, FEP.GeometricOptimization.replicatorVector_isSimplexTangent, FEP.GeometricOptimization.replicator_naturalGradient_equivalence, FEP.GeometricOptimization.weightedCauchySchwarz_of_right_pos—
cap-hierarchical-factorizationHierarchical probability factorizationSatisfiedNormalized kernels at each level and a theorem composing them into the advertised hierarchical joint law.fep_fep027.FEP027.fep027_hierarchical_assoc, fep_fep027.FEP027.fep027_hierarchical_fst, fep_fep027.FEP027.fep027_hierarchical_mass_one, fep_fep027.FEP027.fep027_hierarchical_snd—
cap-markov-blanket-dynamicsMarkov-blanket factorization and dynamicsSatisfiedA normalized internal-blanket-external joint factorizes conditionally; every row of a four-component typed transition is exactly an induced static blanket model with zero conditional internal-external mutual information; and a nontrivial Boolean witness changes state.FEP.MarkovBlanket.boolDynamics_nontrivial, FEP.MarkovBlanket.conditional_internal_external_factorization, FEP.MarkovBlanket.conditional_mutualInformation_zero, FEP.MarkovBlanket.transition_eq_staticJoint_nextStaticModel, FEP.MarkovBlanket.transition_factorization, FEP.MarkovBlanket.transition_row_conditional_factorization, FEP.MarkovBlanket.transition_row_conditional_mutualInformation_zero—
cap-measurable-variational-integrandMeasurable variational objective ingredientsSatisfiedAn explicit energy and log-density variational integrand with measurability preserved under reparameterization and baseline shifts.fep_fep015.FEP015.fep015_variationalIntegrand_add_const_measurable, fep_fep015.FEP015.fep015_variationalIntegrand_comp_measurable, fep_fep015.FEP015.fep015_variationalIntegrand_measurable—
cap-measure-bayesian-inversionMeasure-theoretic Bayesian inversionSatisfiedNative measures and kernels prove Radon--Nikodym reconstruction under absolute continuity, posterior likelihood tilting almost everywhere, joint reconstruction, one-sided Bayes involution, standard-Borel conditional-kernel reconstruction, and the conditional-expectation tower; finite witnesses expose normalization and the zero-evidence boundary. No pointwise universal disintegration is claimed.FEP.MeasureBayes.conditionalExpectation_tower, FEP.MeasureBayes.conditionalKernel_reconstruction, FEP.MeasureBayes.finite_posterior_normalized, FEP.MeasureBayes.finite_zero_evidence_boundary, FEP.MeasureBayes.likelihoodRatio_reconstruction_iff, FEP.MeasureBayes.posterior_involution, fep_fep051.FEP051.fep051_reconstruction_iff_absoluteContinuous—
cap-multidimensional-information-geometryMultidimensional Fisher geometrySatisfiedA centered finite score field induces a symmetric Fisher matrix, positive-semidefinite Gram metric, positive-definite metric under full-support identifiability, positive pullbacks, and an explicit unique inverse-Fisher natural gradient when the matrix is invertible. An interior one-coordinate Bernoulli model discharges the positive-definite assumptions non-vacuously, derives 1/[p(1-p)], gives Fisher value 4 at p=1/2, and proves exact p(1-p) natural-gradient scaling; a duplicated two-coordinate score model exhibits a concrete nonzero null tangent and failed identifiability.FEP.InformationGeometry.bernoulliScoreModel_fullSupport, FEP.InformationGeometry.bernoulliScoreModel_identifiable, FEP.InformationGeometry.bernoulli_fisherMatrix_entry, FEP.InformationGeometry.bernoulli_fisherMatrix_isUnit, FEP.InformationGeometry.bernoulli_fisherMetric_eq, FEP.InformationGeometry.bernoulli_fisherMetric_pos, FEP.InformationGeometry.bernoulli_naturalGradient_eq, FEP.InformationGeometry.duplicatedFairBernoulli_not_identifiable, FEP.InformationGeometry.duplicatedScore_fisherMetric_eq_zero, FEP.InformationGeometry.fairBernoulli_fisherMatrix_entry, FEP.InformationGeometry.fisherMatrix_symm, FEP.InformationGeometry.fisherMetric_eq_dot_lowerTangent, FEP.InformationGeometry.fisherMetric_eq_zero_iff, FEP.InformationGeometry.fisherMetric_nonneg, FEP.InformationGeometry.fisherMetric_pos, FEP.InformationGeometry.naturalGradient_energy_identity, FEP.InformationGeometry.naturalGradient_isNaturalGradient, FEP.InformationGeometry.naturalGradient_metric_duality, FEP.InformationGeometry.naturalGradient_unique, FEP.InformationGeometry.pullbackMetric_comp, FEP.InformationGeometry.pullbackMetric_pos—
cap-native-blanket-transferFinite-to-native blanket transferSatisfiedWeighted Dirac embedding preserves finite-law atoms, normalization, expectations, prediction, and static blanket rectangles on the same discrete carrier. The embedded joint satisfies Mathlib CondIndepFun, measurable endpoint coarsenings preserve it, and every authored factorized transition row inherits it; a correlated Boolean blanket witness keeps two positive conditioning regimes and an excluded off-regime atom explicit.FEP.NativeBlanket.condIndepFun_measurableImages, FEP.NativeBlanket.correlatedBlanket_nonvacuous, FEP.NativeBlanket.prediction_preserves_nativeBlanket, FEP.NativeBlanket.staticJoint_condIndepFun, FEP.NativeBlanket.staticJoint_rectangle_factorization, fep_fep139.FEP139.fep139_correlatedBlanket_nonvacuous—
cap-open-loop-policy-rolloutFinite-horizon open-loop policy rolloutSatisfiedFinite policy lists compose normalized transition kernels chronologically, preserve the initial law at the empty horizon, support prefix-suffix predictive propagation, and admit exact planned posterior reconstruction.FEP.ActiveInference.plannedPosteriorState_mul_evidence, FEP.ActiveInference.plannedState_append, FEP.ActiveInference.plannedState_nil, FEP.ActiveInference.rolloutKernel_append—
cap-physical-erasure-modelPhysical erasure modelSatisfiedA noninjective binary reset, exact unbiased-to-pure entropy loss, environmental heat entropy, and explicit second-law and work-to-heat assumptions deriving Landauer's heat and work bounds.fep_fep050.FEP050.fep050_erasureEntropyLoss_eq, fep_fep050.FEP050.fep050_erasure_not_injective, fep_fep050.FEP050.fep050_landauer_heat_bound, fep_fep050.FEP050.fep050_landauer_work_bound—
cap-policy-posterior-actionPosterior policy and action selectionSatisfiedUnder full model support, prior-weighted Boltzmann policy mass has a positive partition, normalized posterior, finite EFE minimizer and MAP policy, antitone EFE ordering at equal priors, and normalized action pushforward. A consistency interface makes the emitted action recover the policy transition, yielding an exact normalized infer-select-act-transition joint; zero preference mass is explicitly rejected.FEP.ActiveInference.actionLaw_mass, FEP.ActiveInference.actionPredictedState_eq_predictedState, FEP.ActiveInference.exists_expectedFreeEnergy_minimizer, FEP.ActiveInference.exists_policyMAP, FEP.ActiveInference.inferSelectActActionMarginal_eq_actionLaw, FEP.ActiveInference.inferSelectActJoint_factorization, FEP.ActiveInference.inferSelectActJoint_policyMarginal, FEP.ActiveInference.not_fullSupport_of_preference_eq_zero, FEP.ActiveInference.policyPartition_pos, FEP.ActiveInference.policyPosterior_antitone_expectedFreeEnergy, FEP.ActiveInference.policyPosterior_mul_partition—
cap-posterior-predictive-modelPosterior-predictive modelSatisfiedA posterior law and likelihood kernel composed into a normalized predictive kernel, with a strictly proper predictive discrepancy criterion.fep_fep022.FEP022.fep022_brier_eq_optimum_iff, fep_fep022.FEP022.fep022_posteriorPredictive_mass_one, fep_fep022.FEP022.fep022_predictive_brier_decomposition—
cap-predictive-coding-dynamicsFinite predictive-coding dynamicsSatisfiedPrecision-weighted prediction energies prove exact zero-error separation, hierarchical decomposition, generalized-coordinate shift and correction laws, precision modulation, and quadratic contraction to zero, with terminal-coordinate, doubled-precision, and strict half-step witnesses. The finite-jet carrier is not presented as a continuous generalized-coordinate flow.FEP.PredictiveCoding.doubledPrecision_nontrivial_witness, FEP.PredictiveCoding.generalizedFlow_top_boundary, FEP.PredictiveCoding.halfStep_energy_witness, FEP.PredictiveCoding.hierarchicalEnergy_succ, FEP.PredictiveCoding.iteratePredictionError_tendsto_zero, FEP.PredictiveCoding.precisionEnergy_eq_zero_iff, FEP.PredictiveCoding.predictionEnergy_contraction, FEP.PredictiveCoding.shift_add—
cap-probability-normalizationProbability normalizationSatisfiedFinite or measure-valued weights with positive normalizer and a proof that the resulting posterior or Gibbs law has mass one.fep_fep017.FEP017.fep017_posterior_mass_one, fep_fep031.FEP031.fep031_gibbsProbability_nonneg, fep_fep031.FEP031.fep031_gibbsProbability_sum_one, fep_fep034.FEP034.fep034_filter_mass_one—
cap-quadratic-optimization-dynamicsExact quadratic optimization dynamicsSatisfiedA positive-curvature quadratic with unique minimizer and critical point, plus exact gradient-descent iterates, energy descent, and global convergence on the stable step interval.FEPComposed.fep032_update_is_fep043_gradientStep, fep_fep032.FEP032.fep032_quadraticEnergy_descent, fep_fep032.FEP032.fep032_quadraticUpdate_iterate, fep_fep032.FEP032.fep032_quadraticUpdate_tendsto, fep_fep043.FEP043.fep043_quadratic_critical_iff, fep_fep043.FEP043.fep043_quadratic_unique_min—
cap-standalone-efe-theoremsExact standalone EFE theoremsSatisfiedThe Boltzmann-form control posterior minimizes the expected free energy with the stated uniqueness boundary; the perception-action loop admits an invariant surprisal bound through one controlled-kernel step; Bayesian model reduction never lowers evidence free energy under masked evidence; and the epistemic gain of an EFE time-scale separation is bounded by the log-affinity of its two-state carrier. Each result is a standalone Lean module bridged to its nearest catalogue topic; infinite-horizon, continuous-state, and physical entropy-production identification are not claimed.FEPComposed.fep156_boltzmannControlPosterior_extends_fep021_efeBalance, FEPComposed.fep157_loopInvariant_extends_fep065_controlledKernel, FEPComposed.fep158_reductionFreeEnergy_extends_fep058_gibbsLowerBound, FEPComposed.fep159_epistemicGain_extends_fep153_stationary, fep_fep156.FEP156.fep156_boltzmann_control_posterior_minimizes_efe, fep_fep157.FEP157.fep157_loop_invariant_surprisal_bound, fep_fep158.FEP158.fep158_reduction_free_energy_monotone, fep_fep159.FEP159.fep159_epistemic_gain_bounded_by_affinity—
cap-statistical-manifoldStatistical-manifold geometrySatisfiedThe differentiable one-parameter Bernoulli family, its zero-mean score, Fisher information and positive tangent metric, inverse-metric natural gradient, Fisher--Rao coordinate distance, and pullback law.FEPComposed.fep004_bernoulliMetric_specialization, FEPComposed.fep038_fisherRao_separation, fep_fep004.FEP004.fep004_fisherMetric_eq_zero_iff, fep_fep018.FEP018.fep018_fisherRaoDistance_triangle, fep_fep038.FEP038.fep038_bernoulliMass_hasDerivAt, fep_fep038.FEP038.fep038_expectedScore_zero, fep_fep038.FEP038.fep038_fisherInformation_eq, fep_fep038.FEP038.fep038_fisherMetric_coordinate, fep_fep038.FEP038.fep038_naturalGradient_duality—
cap-stick-breaking-simplexFinite stick-breaking mass conservationSatisfiedRecursive finite stick weights with an exact allocated-plus-residual mass identity and unit-interval bounds on the residual.fep_fep046.FEP046.fep046_mass_conservation, fep_fep046.FEP046.fep046_remainder_le_one, fep_fep046.FEP046.fep046_remainder_nonneg—
cap-stochastic-dynamicsStochastic dynamics and stationaritySatisfiedA normalized two-state Markov transition, stationary uniform law, exact n-step evolution and convergence, plus native reversible-kernel invariance.FEPComposed.fep037_autocorrelation_tracks_fep020, fep_fep010.FEP010.fep010_identity_invariant, fep_fep010.FEP010.fep010_reversible_invariant, fep_fep020.FEP020.fep020_iterate_deviation, fep_fep020.FEP020.fep020_tendsto_uniform, fep_fep020.FEP020.fep020_transition_sum_one, fep_fep020.FEP020.fep020_uniform_stationary, fep_fep025.FEP025.fep025_cycleCurrent_nonzero, fep_fep025.FEP025.fep025_cycleCurrent_stationary, fep_fep025.FEP025.fep025_transitionCurrent_stationary, fep_fep037.FEP037.fep037_autocorrelation_tendsto_zero, fep_fep037.FEP037.fep037_response_eq—
cap-strong-law-consistencyStrong-law empirical consistencySatisfiedMathlib's almost-sure strong law yields empirical Boolean and finite-atom frequency convergence under explicit integrability, pairwise-independence, and identical-distribution hypotheses; all finite atoms converge on one full-measure event, their L1 error vanishes, and Laplace smoothing preserves the limit.FEP.StatisticalConvergence.empiricalExpectationError_strongLaw, FEP.StatisticalConvergence.empiricalExpectation_strongLaw, FEP.StatisticalConvergence.empiricalL1Error_strongLaw, FEP.StatisticalConvergence.empiricalLaw_strongLaw, FEP.StatisticalConvergence.empiricalMass_strongLaw, FEP.StatisticalConvergence.empiricalRate_strongLaw, FEPComposed.fep036_smoothedRate_strongLaw—
cap-sufficient-statisticsSufficient-statistic factorizationSatisfiedA parameterized family, statistic, likelihood factorization, and a proved sufficiency criterion.fep_fep042.FEP042.fep042_likelihood_eq_of_stat_eq, fep_fep042.FEP042.fep042_likelihood_factorizes—
cap-temporal-inferenceFinite temporal and hierarchical inferenceSatisfiedNormalized finite kernels prove forward filtering, backward messages, forward--backward smoothing, variational state updates, hierarchical prediction, and Bayesian model averaging, with nontrivial Boolean masses and explicit zero-evidence, zero-normalizer, and zero-energy boundaries. No continuous-state or Kalman--Bucy result is implied.FEP.TemporalInference.boolModelAverage_true_mass, FEP.TemporalInference.forwardBackwardSmoothing_factorization, FEP.TemporalInference.forwardEvidence_zero_boundary, FEP.TemporalInference.forwardFilter_reconstruction, FEP.TemporalInference.modelAverage_sum_one, FEP.TemporalInference.smoothingNormalizer_zero_boundary, FEP.TemporalInference.variationalStateUpdate_zero_energy—
cap-thermodynamic-constitutive-lawThermodynamic constitutive lawSatisfiedFinite fluxes and forces connected by a diagonal linear constitutive law, with a quadratic entropy balance that is nonnegative and separates equilibrium under positive conductances.FEPComposed.fep025_current_dissipation_nonneg, fep_fep049.FEP049.fep049_edgeProduction_eq_zero_iff, fep_fep049.FEP049.fep049_edgeProduction_nonneg, fep_fep049.FEP049.fep049_entropyProduction_eq_zero_iff, fep_fep049.FEP049.fep049_entropyProduction_nonneg, fep_fep049.FEP049.fep049_flux_force_identity—
cap-thermodynamic-potentialHelmholtz thermodynamic potentialSatisfiedExact Helmholtz difference and derivative laws, including the equilibrium identity dF/dT=-S and a positive-temperature Gaussian thermal witness.FEPComposed.fep013_gaussianHelmholtz_derivative, fep_fep013.FEP013.fep013_delta_F, fep_fep013.FEP013.fep013_helmholtz_derivative_eq_neg_entropy—
Maintained formal-module table · 71 modules

Swipe horizontally to inspect every column.

71 maintained modules. Code dependencies are not scientific relations.
Lean moduleRoleTheoremsDefinitionsStructuresInternal dependencies
FepSketches.finite_probabilityFoundation19132—
FepSketches.finite_informationFoundation2570FepSketches.finite_probability
FepSketches.active_inferenceFoundation44353FepSketches.finite_information
FepSketches.markov_blanketFoundation982FepSketches.finite_information
FepSketches.information_geometryFoundation33141FepSketches.finite_probability
FepSketches.statistical_convergenceFoundation780—
FepSketches.measure_bayesFoundation1200FepSketches.finite_probability
FepSketches.variational_dualityFoundation56323FepSketches.finite_information
FepSketches.controlled_markovFoundation30282FepSketches.active_inference
FepSketches.temporal_inferenceFoundation34181FepSketches.controlled_markov
FepSketches.finite_markov_dynamicsFoundation1760FepSketches.finite_probability
FepSketches.causal_dynamicsFoundation34182FepSketches.markov_blanket
FepSketches.predictive_codingFoundation30101—
FepSketches.ness_flowFoundation960—
FepSketches.path_thermodynamicsFoundation25121FepSketches.finite_markov_dynamics, FepSketches.variational_duality
FepSketches.geometric_optimizationFoundation25173FepSketches.information_geometry
FepSketches.collective_inferenceFoundation13150FepSketches.finite_information
FepSketches.learning_theoryFoundation1290FepSketches.variational_duality
FepSketches.empirical_riskFoundation1790FepSketches.learning_theory
FepSketches.policy_treeFoundation13132FepSketches.controlled_markov
FepSketches.native_blanketFoundation2680FepSketches.markov_blanket
FepSketches.exponential_familyFoundation23141FepSketches.finite_information
FepSketches.gaussian_information_geometryFoundation31101—
FepSketches.smooth_information_geometryFoundation1670FepSketches.gaussian_information_geometry
FepSketches.continuous_time_markovFoundation72504FepSketches.active_inference, FepSketches.decision_risk, FepSketches.finite_markov_dynamics, FepSketches.markov_blanket
FepSketches.markov_semigroupFoundation1082FepSketches.continuous_time_markov, FepSketches.native_blanket
FepSketches.scalar_gaussian_semigroupFoundation15111FepSketches.gaussian_information_geometry, FepSketches.markov_semigroup
FepSketches.linear_gaussian_semigroupFoundation25131FepSketches.markov_semigroup, FepSketches.scalar_gaussian_semigroup
FepSketches.fin4_gaussian_semigroupFoundation42180FepSketches.linear_gaussian_semigroup
FepSketches.gaussian_precision_conditioningFoundation25150FepSketches.fin4_gaussian_semigroup
FepSketches.decision_riskFoundation25100FepSketches.finite_information, FepSketches.native_blanket
FepSketches.finite_posterior_learningFoundation13180FepSketches.decision_risk, FepSketches.learning_theory, FepSketches.native_blanket, FepSketches.statistical_convergence
FepSketches.posterior_convergenceFoundation26220FepSketches.finite_posterior_learning, FepSketches.gaussian_information_geometry, FepSketches.measure_bayes
FepSketches.gnn_documentFoundation0427—
FepSketches.gnn_denotationFoundation7162FepSketches.active_inference, FepSketches.gnn_document
FepSketches.gnn_denotation_continuousFoundation9122FepSketches.gnn_document, FepSketches.linear_gaussian_semigroup
FepSketches.gnn_render_statementsFoundation781FepSketches.active_inference, FepSketches.finite_markov_dynamics, FepSketches.finite_probability, FepSketches.gnn_denotation, FepSketches.gnn_document
FepSketches.efe_policy_selectionFoundation930FepSketches.controlled_markov, FepSketches.policy_tree, FepSketches.variational_duality
FepSketches.perception_action_loopFoundation2260FepSketches.active_inference, FepSketches.continuous_time_markov, FepSketches.controlled_markov, FepSketches.finite_markov_dynamics, FepSketches.temporal_inference
FepSketches.bayesian_model_reductionFoundation1030FepSketches.gaussian_information_geometry, FepSketches.variational_duality
FepSketches.efe_time_scale_separationFoundation3780FepSketches.active_inference, FepSketches.continuous_time_markov, FepSketches.ness_flow, FepSketches.path_thermodynamics
FepSketches.helmholtz_ao_nessFoundation26110FepSketches.continuous_time_markov
FepSketches.geometric_mechanicsFoundation37230—
FepSketches.law_weighted_splitFoundation750FepSketches.helmholtz_ao_ness
FepSketches.h3_reference_modelFoundation53482FepSketches.fin4_gaussian_semigroup, FepSketches.markov_semigroup
FepSketches.compositions.coreComposition2210FepSketches.active_inference, FepSketches.information_geometry, FepSketches.markov_blanket, FepSketches.statistical_convergence
FepSketches.compositions.measure_variationalComposition1400FepSketches.measure_bayes, FepSketches.variational_duality
FepSketches.compositions.control_temporalComposition1400FepSketches.controlled_markov, FepSketches.temporal_inference
FepSketches.compositions.causal_predictiveComposition1400FepSketches.causal_dynamics, FepSketches.predictive_coding
FepSketches.compositions.thermo_geometryComposition1400FepSketches.geometric_optimization, FepSketches.path_thermodynamics
FepSketches.compositions.collective_learningComposition1400FepSketches.collective_inference, FepSketches.learning_theory
FepSketches.compositions.risk_calibrationComposition700FepSketches.empirical_risk
FepSketches.compositions.policy_treesComposition700FepSketches.policy_tree
FepSketches.compositions.native_blanket_transferComposition700FepSketches.native_blanket
FepSketches.compositions.exponential_familyComposition700FepSketches.exponential_family
FepSketches.compositions.continuous_timeComposition700FepSketches.continuous_time_markov
FepSketches.compositions.finite_scientific_implicationsComposition6150FepSketches.active_inference, FepSketches.causal_dynamics, FepSketches.finite_markov_dynamics, FepSketches.finite_probability, FepSketches.information_geometry
FepSketches.compositions.finite_policy_actionComposition12100FepSketches.active_inference, FepSketches.controlled_markov, FepSketches.decision_risk, FepSketches.finite_posterior_learning, FepSketches.policy_tree
FepSketches.compositions.finite_reference_agentComposition501FepSketches.compositions.finite_policy_action, FepSketches.compositions.finite_scientific_implications, FepSketches.continuous_time_markov, FepSketches.finite_posterior_learning, FepSketches.native_blanket
FepSketches.compositions.gaussian_filterComposition16152FepSketches.gaussian_information_geometry, FepSketches.scalar_gaussian_semigroup
FepSketches.compositions.gaussian_controlComposition19171FepSketches.compositions.gaussian_filter, FepSketches.controlled_markov, FepSketches.gaussian_information_geometry, FepSketches.markov_semigroup, FepSketches.scalar_gaussian_semigroup
FepSketches.compositions.gaussian_grid_pathComposition1171FepSketches.scalar_gaussian_semigroup
FepSketches.compositions.smooth_reference_kernelComposition30100FepSketches.compositions.gaussian_control, FepSketches.compositions.gaussian_filter, FepSketches.compositions.gaussian_grid_path, FepSketches.fin4_gaussian_semigroup, FepSketches.gaussian_information_geometry, FepSketches.gaussian_precision_conditioning, FepSketches.markov_semigroup, FepSketches.posterior_convergence, FepSketches.scalar_gaussian_semigroup, FepSketches.smooth_information_geometry
FepSketches.compositions.efe_policy_selectionComposition100FepSketches.efe_policy_selection
FepSketches.compositions.perception_action_loopComposition100FepSketches.perception_action_loop
FepSketches.compositions.bayesian_model_reductionComposition100FepSketches.bayesian_model_reduction
FepSketches.compositions.efe_time_scale_separationComposition100FepSketches.efe_time_scale_separation
FepSketches.compositions.helmholtz_ao_nessComposition200FepSketches.helmholtz_ao_ness
FepSketches.compositions.geometric_mechanicsComposition700FepSketches.geometric_mechanics
FepSketches.compositions.h3_case_studyComposition93591FepSketches.causal_dynamics, FepSketches.compositions.finite_policy_action, FepSketches.compositions.finite_scientific_implications, FepSketches.compositions.gaussian_control, FepSketches.compositions.gaussian_filter, FepSketches.compositions.gaussian_grid_path, FepSketches.compositions.smooth_reference_kernel, FepSketches.h3_reference_model, FepSketches.markov_blanket, FepSketches.native_blanket, FepSketches.path_thermodynamics
FepSketches.composedAggregate000FepSketches.compositions.bayesian_model_reduction, FepSketches.compositions.causal_predictive, FepSketches.compositions.collective_learning, FepSketches.compositions.continuous_time, FepSketches.compositions.control_temporal, FepSketches.compositions.core, FepSketches.compositions.efe_policy_selection, FepSketches.compositions.efe_time_scale_separation, FepSketches.compositions.exponential_family, FepSketches.compositions.finite_policy_action, FepSketches.compositions.finite_reference_agent, FepSketches.compositions.finite_scientific_implications, FepSketches.compositions.gaussian_control, FepSketches.compositions.gaussian_filter, FepSketches.compositions.gaussian_grid_path, FepSketches.compositions.geometric_mechanics, FepSketches.compositions.h3_case_study, FepSketches.compositions.helmholtz_ao_ness, FepSketches.compositions.measure_variational, FepSketches.compositions.native_blanket_transfer, FepSketches.compositions.perception_action_loop, FepSketches.compositions.policy_trees, FepSketches.compositions.risk_calibration, FepSketches.compositions.smooth_reference_kernel, FepSketches.compositions.thermo_geometry
Exact internal module-dependency edges
ModuleDirectionImported maintained module
FepSketches.finite_information→FepSketches.finite_probability
FepSketches.active_inference→FepSketches.finite_information
FepSketches.markov_blanket→FepSketches.finite_information
FepSketches.information_geometry→FepSketches.finite_probability
FepSketches.measure_bayes→FepSketches.finite_probability
FepSketches.variational_duality→FepSketches.finite_information
FepSketches.controlled_markov→FepSketches.active_inference
FepSketches.temporal_inference→FepSketches.controlled_markov
FepSketches.finite_markov_dynamics→FepSketches.finite_probability
FepSketches.causal_dynamics→FepSketches.markov_blanket
FepSketches.path_thermodynamics→FepSketches.finite_markov_dynamics
FepSketches.path_thermodynamics→FepSketches.variational_duality
FepSketches.geometric_optimization→FepSketches.information_geometry
FepSketches.collective_inference→FepSketches.finite_information
FepSketches.learning_theory→FepSketches.variational_duality
FepSketches.empirical_risk→FepSketches.learning_theory
FepSketches.policy_tree→FepSketches.controlled_markov
FepSketches.native_blanket→FepSketches.markov_blanket
FepSketches.exponential_family→FepSketches.finite_information
FepSketches.smooth_information_geometry→FepSketches.gaussian_information_geometry
FepSketches.continuous_time_markov→FepSketches.active_inference
FepSketches.continuous_time_markov→FepSketches.decision_risk
FepSketches.continuous_time_markov→FepSketches.finite_markov_dynamics
FepSketches.continuous_time_markov→FepSketches.markov_blanket
FepSketches.markov_semigroup→FepSketches.continuous_time_markov
FepSketches.markov_semigroup→FepSketches.native_blanket
FepSketches.scalar_gaussian_semigroup→FepSketches.gaussian_information_geometry
FepSketches.scalar_gaussian_semigroup→FepSketches.markov_semigroup
FepSketches.linear_gaussian_semigroup→FepSketches.markov_semigroup
FepSketches.linear_gaussian_semigroup→FepSketches.scalar_gaussian_semigroup
FepSketches.fin4_gaussian_semigroup→FepSketches.linear_gaussian_semigroup
FepSketches.gaussian_precision_conditioning→FepSketches.fin4_gaussian_semigroup
FepSketches.decision_risk→FepSketches.finite_information
FepSketches.decision_risk→FepSketches.native_blanket
FepSketches.finite_posterior_learning→FepSketches.decision_risk
FepSketches.finite_posterior_learning→FepSketches.learning_theory
FepSketches.finite_posterior_learning→FepSketches.native_blanket
FepSketches.finite_posterior_learning→FepSketches.statistical_convergence
FepSketches.posterior_convergence→FepSketches.finite_posterior_learning
FepSketches.posterior_convergence→FepSketches.gaussian_information_geometry
FepSketches.posterior_convergence→FepSketches.measure_bayes
FepSketches.gnn_denotation→FepSketches.active_inference
FepSketches.gnn_denotation→FepSketches.gnn_document
FepSketches.gnn_denotation_continuous→FepSketches.gnn_document
FepSketches.gnn_denotation_continuous→FepSketches.linear_gaussian_semigroup
FepSketches.gnn_render_statements→FepSketches.active_inference
FepSketches.gnn_render_statements→FepSketches.finite_markov_dynamics
FepSketches.gnn_render_statements→FepSketches.finite_probability
FepSketches.gnn_render_statements→FepSketches.gnn_denotation
FepSketches.gnn_render_statements→FepSketches.gnn_document
FepSketches.efe_policy_selection→FepSketches.controlled_markov
FepSketches.efe_policy_selection→FepSketches.policy_tree
FepSketches.efe_policy_selection→FepSketches.variational_duality
FepSketches.perception_action_loop→FepSketches.active_inference
FepSketches.perception_action_loop→FepSketches.continuous_time_markov
FepSketches.perception_action_loop→FepSketches.controlled_markov
FepSketches.perception_action_loop→FepSketches.finite_markov_dynamics
FepSketches.perception_action_loop→FepSketches.temporal_inference
FepSketches.bayesian_model_reduction→FepSketches.gaussian_information_geometry
FepSketches.bayesian_model_reduction→FepSketches.variational_duality
FepSketches.efe_time_scale_separation→FepSketches.active_inference
FepSketches.efe_time_scale_separation→FepSketches.continuous_time_markov
FepSketches.efe_time_scale_separation→FepSketches.ness_flow
FepSketches.efe_time_scale_separation→FepSketches.path_thermodynamics
FepSketches.helmholtz_ao_ness→FepSketches.continuous_time_markov
FepSketches.law_weighted_split→FepSketches.helmholtz_ao_ness
FepSketches.h3_reference_model→FepSketches.fin4_gaussian_semigroup
FepSketches.h3_reference_model→FepSketches.markov_semigroup
FepSketches.compositions.core→FepSketches.active_inference
FepSketches.compositions.core→FepSketches.information_geometry
FepSketches.compositions.core→FepSketches.markov_blanket
FepSketches.compositions.core→FepSketches.statistical_convergence
FepSketches.compositions.measure_variational→FepSketches.measure_bayes
FepSketches.compositions.measure_variational→FepSketches.variational_duality
FepSketches.compositions.control_temporal→FepSketches.controlled_markov
FepSketches.compositions.control_temporal→FepSketches.temporal_inference
FepSketches.compositions.causal_predictive→FepSketches.causal_dynamics
FepSketches.compositions.causal_predictive→FepSketches.predictive_coding
FepSketches.compositions.thermo_geometry→FepSketches.geometric_optimization
FepSketches.compositions.thermo_geometry→FepSketches.path_thermodynamics
FepSketches.compositions.collective_learning→FepSketches.collective_inference
FepSketches.compositions.collective_learning→FepSketches.learning_theory
FepSketches.compositions.risk_calibration→FepSketches.empirical_risk
FepSketches.compositions.policy_trees→FepSketches.policy_tree
FepSketches.compositions.native_blanket_transfer→FepSketches.native_blanket
FepSketches.compositions.exponential_family→FepSketches.exponential_family
FepSketches.compositions.continuous_time→FepSketches.continuous_time_markov
FepSketches.compositions.finite_scientific_implications→FepSketches.active_inference
FepSketches.compositions.finite_scientific_implications→FepSketches.causal_dynamics
FepSketches.compositions.finite_scientific_implications→FepSketches.finite_markov_dynamics
FepSketches.compositions.finite_scientific_implications→FepSketches.finite_probability
FepSketches.compositions.finite_scientific_implications→FepSketches.information_geometry
FepSketches.compositions.finite_policy_action→FepSketches.active_inference
FepSketches.compositions.finite_policy_action→FepSketches.controlled_markov
FepSketches.compositions.finite_policy_action→FepSketches.decision_risk
FepSketches.compositions.finite_policy_action→FepSketches.finite_posterior_learning
FepSketches.compositions.finite_policy_action→FepSketches.policy_tree
FepSketches.compositions.finite_reference_agent→FepSketches.compositions.finite_policy_action
FepSketches.compositions.finite_reference_agent→FepSketches.compositions.finite_scientific_implications
FepSketches.compositions.finite_reference_agent→FepSketches.continuous_time_markov
FepSketches.compositions.finite_reference_agent→FepSketches.finite_posterior_learning
FepSketches.compositions.finite_reference_agent→FepSketches.native_blanket
FepSketches.compositions.gaussian_filter→FepSketches.gaussian_information_geometry
FepSketches.compositions.gaussian_filter→FepSketches.scalar_gaussian_semigroup
FepSketches.compositions.gaussian_control→FepSketches.compositions.gaussian_filter
FepSketches.compositions.gaussian_control→FepSketches.controlled_markov
FepSketches.compositions.gaussian_control→FepSketches.gaussian_information_geometry
FepSketches.compositions.gaussian_control→FepSketches.markov_semigroup
FepSketches.compositions.gaussian_control→FepSketches.scalar_gaussian_semigroup
FepSketches.compositions.gaussian_grid_path→FepSketches.scalar_gaussian_semigroup
FepSketches.compositions.smooth_reference_kernel→FepSketches.compositions.gaussian_control
FepSketches.compositions.smooth_reference_kernel→FepSketches.compositions.gaussian_filter
FepSketches.compositions.smooth_reference_kernel→FepSketches.compositions.gaussian_grid_path
FepSketches.compositions.smooth_reference_kernel→FepSketches.fin4_gaussian_semigroup
FepSketches.compositions.smooth_reference_kernel→FepSketches.gaussian_information_geometry
FepSketches.compositions.smooth_reference_kernel→FepSketches.gaussian_precision_conditioning
FepSketches.compositions.smooth_reference_kernel→FepSketches.markov_semigroup
FepSketches.compositions.smooth_reference_kernel→FepSketches.posterior_convergence
FepSketches.compositions.smooth_reference_kernel→FepSketches.scalar_gaussian_semigroup
FepSketches.compositions.smooth_reference_kernel→FepSketches.smooth_information_geometry
FepSketches.compositions.efe_policy_selection→FepSketches.efe_policy_selection
FepSketches.compositions.perception_action_loop→FepSketches.perception_action_loop
FepSketches.compositions.bayesian_model_reduction→FepSketches.bayesian_model_reduction
FepSketches.compositions.efe_time_scale_separation→FepSketches.efe_time_scale_separation
FepSketches.compositions.helmholtz_ao_ness→FepSketches.helmholtz_ao_ness
FepSketches.compositions.geometric_mechanics→FepSketches.geometric_mechanics
FepSketches.compositions.h3_case_study→FepSketches.causal_dynamics
FepSketches.compositions.h3_case_study→FepSketches.compositions.finite_policy_action
FepSketches.compositions.h3_case_study→FepSketches.compositions.finite_scientific_implications
FepSketches.compositions.h3_case_study→FepSketches.compositions.gaussian_control
FepSketches.compositions.h3_case_study→FepSketches.compositions.gaussian_filter
FepSketches.compositions.h3_case_study→FepSketches.compositions.gaussian_grid_path
FepSketches.compositions.h3_case_study→FepSketches.compositions.smooth_reference_kernel
FepSketches.compositions.h3_case_study→FepSketches.h3_reference_model
FepSketches.compositions.h3_case_study→FepSketches.markov_blanket
FepSketches.compositions.h3_case_study→FepSketches.native_blanket
FepSketches.compositions.h3_case_study→FepSketches.path_thermodynamics
FepSketches.composed→FepSketches.compositions.bayesian_model_reduction
FepSketches.composed→FepSketches.compositions.causal_predictive
FepSketches.composed→FepSketches.compositions.collective_learning
FepSketches.composed→FepSketches.compositions.continuous_time
FepSketches.composed→FepSketches.compositions.control_temporal
FepSketches.composed→FepSketches.compositions.core
FepSketches.composed→FepSketches.compositions.efe_policy_selection
FepSketches.composed→FepSketches.compositions.efe_time_scale_separation
FepSketches.composed→FepSketches.compositions.exponential_family
FepSketches.composed→FepSketches.compositions.finite_policy_action
FepSketches.composed→FepSketches.compositions.finite_reference_agent
FepSketches.composed→FepSketches.compositions.finite_scientific_implications
FepSketches.composed→FepSketches.compositions.gaussian_control
FepSketches.composed→FepSketches.compositions.gaussian_filter
FepSketches.composed→FepSketches.compositions.gaussian_grid_path
FepSketches.composed→FepSketches.compositions.geometric_mechanics
FepSketches.composed→FepSketches.compositions.h3_case_study
FepSketches.composed→FepSketches.compositions.helmholtz_ao_ness
FepSketches.composed→FepSketches.compositions.measure_variational
FepSketches.composed→FepSketches.compositions.native_blanket_transfer
FepSketches.composed→FepSketches.compositions.perception_action_loop
FepSketches.composed→FepSketches.compositions.policy_trees
FepSketches.composed→FepSketches.compositions.risk_calibration
FepSketches.composed→FepSketches.compositions.smooth_reference_kernel
FepSketches.composed→FepSketches.compositions.thermo_geometry
+
Canonical topic table · 168 topics
All 168 canonical topics; filters hide rows without deleting evidence.
TopicAreaFamilyStatusPrimary theoremInvariantAssumptions / scopeNon-vacuityTheorems / definitions / imports
fep-001Variational Free Energy BoundFEPCore Free EnergyFormalizedfep001_variationalUpperBound_eq_iff
Read invariant

Surprisal plus Mathlib's native measure KL upper-bounds surprisal; for finite measures and finite surprisal, equality holds exactly when the approximate and exact posterior laws coincide.

Read assumptions

The inequality is unconditional in ENNReal. Gap separation requires finite measures, and bound equality additionally requires surprisal below infinity so additive cancellation is sound.

Read non-vacuity review

Matching finite posterior laws attain equality, while any unequal finite pair has a nonzero KL gap and hence a strict finite-surprisal remainder.

3 / 2 / 1
fep-002Variational Evidence Bound via KL DivergenceFEPCore Free EnergyFormalizedfep002_vfe_ge_surprisal
Read invariant

Variational free energy, defined as surprisal plus Mathlib KL divergence, upper-bounds surprisal and is exact at the posterior.

Read assumptions

The bound is unconditional over measures in a measurable space; exactness uses Mathlib's SigmaFinite assumption for KL self-divergence. The codomain is ENNReal, so infinite divergences are represented without a finiteness side condition.

Read non-vacuity review

Any sigma-finite posterior supplies the equality witness q = posterior, while distinct measures can produce a nonzero or infinite KL remainder.

5 / 1 / 2
fep-003Discounted Pragmatic CostActive InferenceCore Active InferenceFormalizedfep003_pragmaticCost_succ
Read invariant

Finite-horizon pragmatic cost is the discounted ENNReal sum of stage costs; horizon extension exposes the exact terminal increment, costs are pointwise monotone, and horizon extension is monotone.

Read assumptions

All costs and the discount live in ENNReal, so nonnegativity and infinity are represented directly. This is the pragmatic-cost input to EFE; epistemic value and its sign are owned by fep-021.

Read non-vacuity review

A positive stage cost at the newly exposed time adds the nonzero increment γ^T c_T; a zero horizon and pointwise-equal costs exercise the boundaries.

4 / 1 / 2
fep-004Finite Diagonal Fisher MetricInfo GeometryCore Information GeometryFormalizedfep004_fisherMetric_eq_zero_iff
Read invariant

A finite diagonal Fisher metric is symmetric and positive semidefinite under nonnegative information weights, and becomes positive definite under strictly positive weights.

Read assumptions

The information weights are explicit inputs rather than derived from a statistical family in this row. Positive definiteness requires every coordinate weight to be strictly positive; fep-038 computes the one-dimensional Bernoulli weight and the composed theorem identifies that specialization.

Read non-vacuity review

Any strictly positive nonconstant weight vector and nonzero tangent has positive norm, while the zero-characterization excludes every nonzero coordinate direction.

3 / 1 / 2
fep-005Four-Block State PartitionBayesian MechanicsCore Bayesian MechanicsFormalizedfep005_existsUnique_block
Read invariant

A function-valued assignment partitions a 20-state finite space into four pairwise-disjoint blocks, and every state belongs to exactly one block.

Read assumptions

Unconditional for any assignment Fin 20 → Fin 4. This establishes an exact finite partition only; it does not infer conditional independence or identify any block as a learned Markov blanket.

Read non-vacuity review

Constant and nonconstant assignments both instantiate the partition, while unique membership rules out overlap for every state.

4 / 1 / 3
fep-006Measurable Discrete-Time FlowFEPCore Free EnergyFormalizedfep006_iterateFlow_add
Read invariant

Iteration of one measurable state update defines a measurable discrete-time flow with identity at time zero, an exact additive semigroup law, and persistence of fixed points.

Read assumptions

Measurability of each time slice requires the one-step map to be measurable. The algebraic semigroup and fixed-point laws require no topology, invariant measure, differentiability, or continuous-time interpolation.

Read non-vacuity review

Identity, constant, and nontrivial measurable maps instantiate the flow; the additive law constrains every pair of horizons rather than a single composition.

4 / 1 / 2
fep-007Normalized Finite Sum-Product MessageActive InferenceCore Active InferenceFormalizedfep007_normalizedMessage_sum_one
Read invariant

Strictly positive local factors and incoming messages over a nonempty finite neighbor support define a nonnegative normalized sum-product message with support mass exactly one.

Read assumptions

Normalization requires a nonempty selected support and strict positivity of every factor and incoming message on it. The message is zero outside that support. This is one exact local update, not loopy-belief-propagation convergence or global marginal correctness.

Read non-vacuity review

Singleton and multi-neighbor supports produce positive normalizers; unequal factor-message products yield a genuinely nonuniform normalized message.

7 / 3 / 4
fep-008Finite Policy Objective MinimizerActive InferenceCore Active InferenceFormalizedfep008_exists_minG
Read invariant

A real-valued objective attains a minimum on a finite nonempty policy set.

Read assumptions

Existence requires only a finite nonempty policy set and an explicit real-valued objective. The theorem does not claim uniqueness of the policy; it separately proves that all minimizers agree in value.

Read non-vacuity review

A policy set with at least two policies and unequal objective values has a genuine selected minimizer; tied objectives exercise nonunique policies with equal minimum value.

4 / 0 / 4
fep-009Conditional Independence LawsBayesian MechanicsCore Bayesian MechanicsFormalizedfep009_condIndep_symm
Read invariant

Conditional independence of two σ-algebras given a third is symmetric under Mathlib's conditional-expectation-kernel definition.

Read assumptions

Conditional on a standard Borel measurable space, a finite measure, a conditioning σ-algebra below the ambient one, and the stated conditional-independence relation. The theorem is a law of conditional independence, not a learned Markov-blanket factorization.

Read non-vacuity review

fep009_condIndep_bot_right proves that every σ-algebra is conditionally independent of the trivial σ-algebra, so the relation is inhabited.

7 / 0 / 1
fep-010Detailed Balance Implies InvarianceBayesian MechanicsCore Bayesian MechanicsFormalizedfep010_reversible_invariant
Read invariant

A Markov kernel satisfying measure-theoretic detailed balance leaves its reference measure invariant.

Read assumptions

Conditional on Mathlib's IsMarkovKernel instance and IsReversible flow equality over all measurable set pairs. This proves stationarity, not a path-space fluctuation theorem or convergence to equilibrium.

Read non-vacuity review

fep010_identity_reversible and fep010_identity_invariant provide a concrete reversible Markov-kernel witness for every measure.

5 / 0 / 1
fep-011Surprise and Self-InformationFEPCore Free EnergyFormalizedfep011_surprise_eq_zero_iff
Read invariant

Negative-log self-information is nonnegative on positive probabilities at most one, additive on positive products, strictly antitone, and zero exactly at certainty.

Read assumptions

Positivity excludes the logarithmic boundary, and the probability interpretation additionally uses p≤1. Additivity is scalar and corresponds to product probabilities; no independence relation is inferred by the theorem.

Read non-vacuity review

Every p in (0,1) has strictly positive surprise, p=1 is the unique zero, and two positive factors exercise the additive law.

7 / 1 / 1
fep-012Finite Policy Shannon Entropy RegularizationFEPCore Free EnergyFormalizedfep012_entropyRegularizedCost_le_expectedCost
Read invariant

Finite Shannon policy entropy is nonnegative on unit-interval weights, vanishes for point policies, and at nonnegative temperature lowers expected cost by exactly its entropy reward.

Read assumptions

Entropy nonnegativity only requires each weight in [0,1]; normalization is supplied separately by a policy law such as fep-028 softmax. The theorem compares objectives and does not claim that softmax is the unique optimizer.

Read non-vacuity review

A point mass has zero entropy while a multi-policy interior law has positive terms; positive temperature yields a nonzero objective correction whenever entropy is positive.

7 / 3 / 4
fep-013Equilibrium Helmholtz Differential IdentitiesThermodynamicsCore ThermodynamicsFormalizedfep013_helmholtz_derivative_eq_neg_entropy
Read invariant

For differentiable U(T) and S(T), Helmholtz free energy has derivative U'−S−TS'; under the equilibrium first-law identity U'=TS', this reduces exactly to dF/dT=−S.

Read assumptions

The derivative law is conditional on pointwise differentiability and the explicitly stated equilibrium identity. It is a thermodynamic calculus identity, not a derivation of the first law or an identification with variational free energy.

Read non-vacuity review

The fep-040 Gaussian thermal entropy with U(T)=T/2 satisfies the premise at every positive temperature, yielding a compiled nonconstant physical witness.

6 / 1 / 3
fep-014KL Divergence: Non-Negativity, Identity, and Chain RuleInfo GeometryCore Information GeometryFormalizedfep014_kl_chain_rule
Read invariant

Mathlib KL divergence is nonnegative, vanishes exactly on equal finite measures, and obeys the composition-product chain rule for Markov kernels.

Read assumptions

Self-divergence uses SigmaFinite; zero-characterization and the chain rule use finite measures; the chain rule additionally requires Markov kernels. The pin separately exposes native measure-KL data processing under a Markov kernel as InformationTheory.klDiv_comp_right_le; fep-014 does not include that theorem in its maintained theorem surface.

Read non-vacuity review

Equal finite measures witness zero KL, unequal finite measures exercise the zero-characterization, and distinct Markov kernels give a nontrivial conditional term in the chain rule.

4 / 0 / 1
fep-015Measurable Variational IntegrandFEPCore Free EnergyFormalizedfep015_variationalIntegrand_measurable
Read invariant

A pointwise variational integrand built from measurable energy, approximate log density, and generative log density is measurable and remains so under measurable reparameterization and baseline shifts.

Read assumptions

All three real-valued ingredients and any reparameterization are assumed measurable. Measurability does not imply integrability, finite expectation, or existence of an optimizer, none of which is claimed.

Read non-vacuity review

Nonconstant measurable coordinate functions instantiate all three terms, and a nonidentity measurable reparameterization exercises the composition theorem.

3 / 1 / 1
fep-016Exact Scalar Quadratic Laplace KernelFEPCore Free EnergyFormalizedfep016_laplaceKernel_integral
Read invariant

A positive-precision scalar quadratic exponential is integrable and has the exact Gaussian normalizing integral sqrt(π/(precision/2)).

Read assumptions

Precision is strictly positive for the scientific integrability result. This is the exact scalar quadratic case underlying Laplace approximation; no approximation-error or higher-dimensional determinant theorem is claimed.

Read non-vacuity review

At precision two the kernel is exp(−x²) with normalizer sqrt(π), and every positive precision gives a nonconstant integrable density kernel.

7 / 1 / 1
fep-017Posterior Kernel ReconstructionBayesian MechanicsCore Bayesian MechanicsFormalizedfep017_posterior_joint_reconstruction
Read invariant

Mathlib's posterior is a Markov kernel whose composition with the predictive law reconstructs the swapped prior-likelihood joint law; for a Markov likelihood it also recovers the prior.

Read assumptions

Conditional on standard-Borel and nonempty latent structure plus finite prior and likelihood kernel. The Radon--Nikodym Bayes formula additionally uses countability of the latent space and standard-Borel observation structure. This is a regular posterior-kernel theorem, not a claim about learned or approximate posteriors.

Read non-vacuity review

Every posterior fibre has mass one, and the identity Markov kernel supplies a concrete prior-recovery witness; non-deterministic finite kernels exercise a nontrivial reconstructed joint law.

4 / 1 / 1
fep-018Bernoulli Fisher–Rao Coordinate DistanceInfo GeometryCore Information GeometryFormalizedfep018_fisherRaoDistance_eq_zero_iff
Read invariant

The Bernoulli Fisher--Rao coordinate distance is nonnegative, symmetric, separating on the probability interval, and satisfies the triangle inequality.

Read assumptions

Separation is restricted to Bernoulli parameters in [0,1], where square root and arcsine are injective. This is the closed-form one-dimensional Fisher--Rao distance, not a general geodesic-existence theorem for arbitrary statistical manifolds.

Read non-vacuity review

The endpoint parameters p = 0 and q = 1 have distinct coordinates, while every equal pair has zero distance.

4 / 2 / 3
fep-019Prior-Predictive Kernel CompositionBayesian MechanicsCore Bayesian MechanicsFormalizedfep019_priorPredictive_assoc
Read invariant

The native prior-predictive law preserves total mass for a Markov likelihood and sequential prediction equals measure composition by the composed kernels.

Read assumptions

Mass preservation requires a Markov likelihood; probability mass one additionally requires a probability prior. The associativity law is structural measure-kernel composition and does not assert model calibration or identifiability.

Read non-vacuity review

A probability prior and non-deterministic finite Markov likelihood yield a normalized non-Dirac predictive law; a second kernel exercises genuine sequential composition.

3 / 1 / 1
fep-020Two-State Markov RelaxationBayesian MechanicsCore Bayesian MechanicsFormalizedfep020_tendsto_uniform
Read invariant

A normalized symmetric two-state transition has the uniform stationary law; its exact n-step deviation is (1-2α)^n times the initial deviation and converges to zero for 0 < α < 1.

Read assumptions

Transition nonnegativity uses α in [0,1], while convergence uses the strict interior so |1-2α| < 1. This is an exact finite-state Markov relaxation model, not a discretized Langevin diffusion.

Read non-vacuity review

For α = 1/4 and any nonstationary initial mass, deviations contract geometrically by 1/2 at every step; at α = 1 the chain instead alternates and the strict-interior convergence premise excludes it.

7 / 2 / 4
fep-021EFE Epistemic–Pragmatic BalanceActive InferenceCore Active InferenceFormalizedfep021_efe_epistemic_balance
Read invariant

Expected free energy is pragmatic expected cost minus epistemic information value in ENNReal; under epistemic value at most cost, adding information back reconstructs cost, while EFE is monotone in cost and antitone in information.

Read assumptions

The truncated subtraction convention makes EFE nonnegative and requires an explicit epistemic≤pragmatic premise for exact reconstruction. It does not assert the alternative risk-plus-ambiguity identity without a generative-model derivation.

Read non-vacuity review

Strictly positive pragmatic cost with zero information yields positive EFE, equal cost and information yields zero, and intermediate information lowers EFE without changing sign.

5 / 1 / 1
fep-022Posterior-Predictive Kernel and Brier PropernessBayesian MechanicsCore Bayesian MechanicsFormalizedfep022_brier_eq_optimum_iff
Read invariant

Markov posterior and likelihood kernels compose into normalized posterior-predictive fibres, and expected Bernoulli Brier loss is uniquely minimized by the true event probability.

Read assumptions

Kernel normalization requires both components to be Markov. Brier properness is an exact real-algebra identity whose probabilistic interpretation restricts true and forecast masses to [0,1]. It is a proper one-event discrepancy, not an empirical calibration-frequency theorem.

Read non-vacuity review

Non-deterministic posterior and likelihood kernels produce nontrivial predictive true-event mass; every forecast q distinct from p incurs the strictly positive squared regret (q-p)^2.

4 / 3 / 2
fep-023Policy-Indexed Reachable LawsActive InferenceCore Active InferenceFormalizedfep023_reachable_normalized
Read invariant

The distributional affordance set is the image of available policies under their outcome-law map; policy-set inclusion is monotone and normalization of every policy law transfers to every reachable law.

Read assumptions

Reachability is policy-indexed one-step image semantics. Normalization is an explicit premise on available policy laws; no controllability, multi-step support closure, or topology on the law space is claimed.

Read non-vacuity review

Distinct policies may induce distinct normalized measures, while an empty policy set yields no reachable law and a singleton set yields its single law.

4 / 1 / 1
fep-024KL Regularization in ObjectivesInfo GeometryCore Information GeometryFormalizedfep024_klRegularizedObjective_exact
Read invariant

An ENNReal objective regularized by a nonnegative weight times native measure KL upper-bounds its base, is monotone in weight, recovers the base at zero weight, and is exact when approximation equals a sigma-finite prior.

Read assumptions

The codomain explicitly admits infinite objectives and KL values. Exactness at the prior uses sigma-finiteness; no differentiability or optimizer-existence claim is made.

Read non-vacuity review

Positive weight and unequal finite laws contribute a nonzero regularizer, while zero weight and matching laws independently exercise both exactness mechanisms.

4 / 1 / 1
fep-025Conserved Nonequilibrium Probability CurrentsThermodynamicsCore ThermodynamicsFormalizedfep025_cycleCurrent_stationary
Read invariant

For flux πᵢPᵢⱼ, forward-minus-reverse current is antisymmetric; row normalization plus π-stationarity derives zero divergence. A directed three-state transition with uniform stationary law has a nonzero divergence-free current.

Read assumptions

The general stationarity theorem explicitly requires normalized transition rows and a stationary real mass vector. The concrete witness is a finite deterministic cycle; no continuous-state NESS existence or thermodynamic force law is inferred here.

Read non-vacuity review

The clockwise three-state transition is nonidentity, preserves the uniform law, has current 1/3 on edge 0→1, and nevertheless has zero divergence at every state.

8 / 6 / 3
fep-026Negative-Log Prior ComplexityFEPCore Free EnergyFormalizedfep026_priorComplexity_eq_zero_iff
Read invariant

Negative-log prior complexity is additive on positive product densities, strictly antitone, and zero exactly at unit density.

Read assumptions

The input is a positive scalar prior-density value, not a normalized prior measure. Product additivity is exact; measure-valued relative complexity is owned by fep-014 and fep-024.

Read non-vacuity review

Every density in (0,1) has positive complexity, unit density is the unique positive zero, and unequal positive values exercise strict antitonicity.

7 / 1 / 1
fep-027Hierarchical Kernel FactorizationBayesian MechanicsCore Bayesian MechanicsFormalizedfep027_hierarchical_assoc
Read invariant

A parent measure and child kernel form a normalized hierarchical joint whose marginals recover the parent and prior predictive, and whose three-level factorization is associative up to product reassociation.

Read assumptions

Joint normalization requires a probability parent and Markov child; first- and second-marginal identities require the stated finite-kernel classes. The associativity theorem is exact for Mathlib composition products and does not impose causal identifiability.

Read non-vacuity review

A non-Dirac finite parent and state-dependent non-deterministic Markov child give a dependent normalized joint with distinct parent and predictive marginals; a third kernel exercises nontrivial reassociation.

4 / 1 / 1
fep-028Support-Aware Finite Softmax PolicyActive InferenceCore Active InferenceFormalizedfep028_softmax_sum_univ
Read invariant

Exponentiated policy scores on a nonempty selected support define a nonnegative full finite weight vector, vanish outside support, are pointwise at most one, and sum to one globally.

Read assumptions

Only support nonemptiness is required; inverse temperature and costs may be arbitrary reals. This proves an exact stochastic policy law but not optimality, sampling behavior, or a temperature limit.

Read non-vacuity review

A two-policy support with unequal costs gives unequal positive weights, while excluded policies have exact zero mass and the full ten-policy vector remains normalized.

7 / 1 / 2
fep-029Quadratic Bregman DivergenceInfo GeometryCore Information GeometryFormalizedfep029_quadraticBregman_eq_zero_iff
Read invariant

The scalar Bregman divergence generated by φ(x)=x² equals (x-y)², is nonnegative, and vanishes exactly when x=y.

Read assumptions

Unconditional over real x and y for the explicit quadratic generator; no general differentiable convex function, projection theorem, or mirror-descent convergence is claimed.

Read non-vacuity review

At x=1 and y=0 the divergence equals 1; at x=y it equals 0.

7 / 1 / 2
fep-030Maximum Entropy PrincipleThermodynamicsCore ThermodynamicsFormalizedfep030_binaryEntropy_max
Read invariant

Binary Shannon entropy in nats is globally at most log 2, with equality exactly at probability one half.

Read assumptions

The native Mathlib theorem is unconditional over real inputs because Real.binEntropy has a total extension; the scientific probability domain is [0,1]. This is the Bernoulli maximum-entropy principle, not the general constrained Jaynes problem.

Read non-vacuity review

The equality characterization proves attainment at p = 1/2 and strict loss at every other real input.

6 / 0 / 4
fep-031Finite Boltzmann–Gibbs WeightsThermodynamicsCore ThermodynamicsFormalizedfep031_gibbsProbability_sum_one
Read invariant

Positive exponential Gibbs weights normalize to a nonnegative mass function summing to one on any nonempty finite support.

Read assumptions

Conditional only on a nonempty selected support; β and energies are arbitrary reals. The row does not derive Gibbs weights from maximum entropy or bundle the result as a measure.

Read non-vacuity review

A singleton support has normalized mass one, while two unequal energies produce distinct positive normalized weights.

5 / 1 / 1
fep-032Exact Quadratic Gradient-Descent DynamicsFEPCore Free EnergyFormalizedfep032_quadraticUpdate_tendsto
Read invariant

Gradient descent on the centered scalar quadratic has an exact n-step iterate, nonincreasing energy for step sizes in [0,2], and converges globally to the center for steps in (0,2).

Read assumptions

The closed form is unconditional. Energy descent uses 0≤η≤2 and convergence uses the strict stability interval 0<η<2. This is an exact quadratic model, not a theorem for arbitrary smooth or convex objectives.

Read non-vacuity review

At η=1/2 every displacement halves, producing nontrivial geometric convergence; η=1 reaches the center in one step and the endpoints expose the non-strict boundary.

5 / 1 / 2
fep-033Finite-Horizon Bellman RecursionActive InferenceCore Active InferenceFormalizedfep033_bellman
Read invariant

A deterministic transition-aware finite-horizon value obeys an exact Bellman recursion with stage cost, discount, and terminal cost; it is monotone in both cost functions and has exact zero-cost and zero-discount boundaries.

Read assumptions

The transition is deterministic and the codomain is ENNReal. No stochastic policy optimization, discount-convergence limit, or infinite-horizon fixed point is claimed.

Read non-vacuity review

A nonconstant transition and positive discount propagate later-state terminal and stage costs, while zero discount isolates the immediate cost exactly.

4 / 1 / 1
fep-034Normalized Bayesian FilteringActive InferenceCore Active InferenceFormalizedfep034_filter_joint_reconstruction
Read invariant

A transition-composed predictive prior and native observation posterior reconstruct the swapped predicted-state/observation joint law, with probability mass one in every posterior fibre.

Read assumptions

Conditional on standard-Borel nonempty latent structure, a finite prior, and finite transition and observation kernels; prediction preserves total mass when the transition is Markov, and posterior recovery additionally requires a Markov observation kernel. This is a one-step exact filter, not a convergence or learned-state theorem.

Read non-vacuity review

A nonidentity finite Markov transition followed by a noisy observation kernel yields a nontrivial predictive prior and posterior; each posterior fibre has mass one rather than merely nonnegative unnormalized weight.

4 / 2 / 1
fep-035Jensen's Inequality for LogFEPCore Free EnergyFormalizedfep035_log_jensen_two_strict
Read invariant

For distinct positive inputs and strictly positive weights summing to one, the weighted average of logarithms is strictly below the logarithm of the weighted average.

Read assumptions

Conditional on x,y > 0, x ≠ y, a,b > 0, and a+b=1. This is the exact two-point strict Jensen law; finite-family and measure-integral variants are not claimed.

Read non-vacuity review

Witnessed by x = 1, y = 2, and a = b = 1/2.

7 / 0 / 1
fep-036Laplace-Smoothed Empirical Bernoulli PriorBayesian MechanicsCore Bayesian MechanicsFormalizedfep036_smoothedRate_tendsto_of_empiricalRate
Read invariant

A Mathlib finite binomial sampling law supplies admissible success counts; Laplace smoothing maps every outcome to an interior Bernoulli prior, is monotone in successes, and preserves the limit of any convergent empirical-frequency sequence.

Read assumptions

The finite sampling law requires p in [0,1]. Interiority uses the intrinsic count bound, and consistency transfer explicitly assumes convergence of the raw empirical frequency. The row does not prove the binomial law of large numbers, a finite-sample risk bound, or marginal-likelihood hyperparameter optimality.

Read non-vacuity review

Every count in Fin (n+1) is admitted by the estimator; zero successes in zero trials gives 1/2, nontrivial counts vary within (0,1), and the shrinkage factor tends to one while the pseudocount offset tends to zero.

8 / 4 / 4
fep-037Two-State Correlation–Response LawThermodynamicsCore ThermodynamicsFormalizedfep037_response_eq
Read invariant

For the symmetric two-state relaxation eigenvalue 1-2α, stationary autocorrelation obeys an exact recurrence and decays for 0<α<1; the discrete fluctuation--response kernel equals 2βα variance times the same geometric mode and also decays.

Read assumptions

Response is defined as inverse temperature times the one-step autocorrelation loss. Nonnegativity additionally restricts α≤1/2 and nonnegative inverse temperature and variance. This is an exact discrete two-state response law, not a microscopic Kubo derivation for general dynamics.

Read non-vacuity review

For α=1/4, positive β, and nonzero variance, lag-zero response is positive and both correlation and response decay geometrically by 1/2.

5 / 3 / 2
fep-038Bernoulli Fisher Information and Natural GradientInfo GeometryCore Information GeometryFormalizedfep038_fisherInformation_eq
Read invariant

The differentiated Bernoulli family has zero expected score and Fisher information 1/(p(1-p)); its inverse metric defines a dual natural gradient and is the pullback of the Euclidean metric along the Fisher--Rao coordinate.

Read assumptions

Metric positivity, inverse-metric duality, and the coordinate law require an interior Bernoulli parameter 0 < p < 1. This is a complete one-dimensional Bernoulli information geometry, not a general finite- or infinite-dimensional statistical manifold.

Read non-vacuity review

At p = 1/2 the Fisher information is 4, every nonzero tangent has positive metric norm, and the natural-gradient map rescales nonzero covectors by 1/4.

8 / 7 / 5
fep-039Four-Block Additive Free EnergyFEPCore Free EnergyFormalizedfep039_global_eq_zero_iff
Read invariant

Four local free-energy contributions aggregate additively and monotonically; under local nonnegativity, their global sum vanishes exactly when every local term vanishes.

Read assumptions

Additivity is unconditional over four real components. Zero separation requires each local term to be nonnegative. The composed partition theorem ties those four components to fep-005's exact state blocks.

Read non-vacuity review

A single positive local contribution makes the global quantity positive, while independent nonzero contributions exercise exact additivity.

5 / 1 / 3
fep-040Native Gaussian Law and Thermal Entropy ResponseBayesian MechanicsCore Bayesian MechanicsFormalizedfep040_thermalEntropy_hasDerivAt
Read invariant

Mathlib's real Gaussian law is normalized with its stated mean and variance; the one-dimensional closed-form entropy is strictly variance-monotone, differentiable with derivative 1/(2v), and under v=κT has derivative 1/(2T) and heat capacity 1/2.

Read assumptions

The native probability, mean, and variance theorems include the zero-variance Dirac boundary. Entropy monotonicity and derivatives require positive variance, and the thermal relation requires κ,T>0. The closed-form entropy is specified directly rather than rederived here as an integral of negative log density.

Read non-vacuity review

For unit scale and positive temperature, the Gaussian law is nondegenerate, its entropy response is nonzero, and the dimensionless heat capacity is exactly 1/2.

7 / 5 / 3
fep-041Expected Information Gain via Measure KLActive InferenceCore Active InferenceFormalizedfep041_expectedInformationGain_zero
Read invariant

Information gain is native measure-valued KL divergence: it is nonnegative, separates finite posterior and prior measures, and its predictive expectation vanishes when observations leave the posterior unchanged almost everywhere.

Read assumptions

KL separation requires finite measures. The zero expected-information theorem requires a sigma-finite prior and almost-everywhere posterior equality; it does not claim that every informative experiment has strictly positive expected gain.

Read non-vacuity review

An observation-independent posterior equal to the prior yields zero gain, while any unequal finite posterior/prior pair has nonzero KL by separation.

3 / 2 / 2
fep-042Bernoulli Sufficient-Statistic FactorizationBayesian MechanicsCore Bayesian MechanicsFormalizedfep042_likelihood_eq_of_stat_eq
Read invariant

The Bernoulli sequence likelihood factorizes exactly through success and failure counts, so samples with equal count statistics have identical likelihood for every parameter.

Read assumptions

The theorem is finite-sample and algebraic over a Boolean observation list. Its probabilistic interpretation restricts p to [0,1]; no completeness, asymptotic efficiency, or non-Bernoulli family is claimed.

Read non-vacuity review

Distinct orderings such as [true,false] and [false,true] have the same statistic and likelihood, while samples with different success counts generally differ for interior p.

2 / 4 / 2
fep-043Fermat Criticality and Quadratic CurvatureFEPCore Free EnergyFormalizedfep043_quadratic_critical_iff
Read invariant

Fermat's theorem makes every local minimum critical; for an exact positive-curvature quadratic, the derivative is the stated gradient, the center is the unique critical point and global minimizer, and the scalar Hessian is strictly positive.

Read assumptions

The general derivative-zero theorem uses Mathlib's local-minimum notion. Uniqueness and positive second derivative are proved only for the explicit scalar quadratic with a>0, not inferred for arbitrary differentiable objectives.

Read non-vacuity review

Every positive a and noncenter x has nonzero gradient and strictly larger energy than the center, while the Hessian 2a is nonzero everywhere.

6 / 2 / 4
fep-044Bernoulli Squared Hellinger DivergenceInfo GeometryCore Information GeometryFormalizedfep044_hellingerSq_eq_zero_iff
Read invariant

The squared Hellinger divergence between Bernoulli laws is nonnegative, symmetric, invariant under success/failure relabeling, and separates parameters on [0,1].

Read assumptions

Nonnegativity and symmetry are unconditional for the real-valued formula; the probability-divergence interpretation and separation theorem restrict both parameters to [0,1]. This is the Hellinger member of the alpha-divergence family, not a theorem for every alpha.

Read non-vacuity review

Equal Bernoulli parameters have zero divergence, while the endpoint laws p = 0 and q = 1 are separated.

4 / 1 / 2
fep-045Finite Bernoulli Conjugate ClosureBayesian MechanicsCore Bayesian MechanicsFormalizedfep045_bernoulli_posterior_closed
Read invariant

For a nonzero evidence normalizer, likelihood-times-Bernoulli-prior mass normalizes pointwise to another Bernoulli law at the Bayes-updated parameter.

Read assumptions

Closure is exact for a binary latent hypothesis and binary evidence likelihood. Interior prior and positive likelihood assumptions prove positive evidence and keep the updated parameter in [0,1]. This is a finite Bernoulli conjugate family, not Beta-density conjugacy.

Read non-vacuity review

Unequal positive likelihoods move an interior prior parameter while posterior mass still sums to one; equal likelihoods leave the prior parameter unchanged algebraically.

4 / 4 / 2
fep-046Finite Stick-Breaking Mass ConservationBayesian MechanicsCore Bayesian MechanicsFormalizedfep046_mass_conservation
Read invariant

For every finite stick-breaking sequence, allocated weights plus residual mass equal exactly one; unit-interval breaks keep the residual in [0,1].

Read assumptions

Mass conservation is a purely algebraic identity with no bounds. Residual nonnegativity and the unit upper bound require every break fraction in [0,1]. No infinite-series exhaustion or random-process law is claimed.

Read non-vacuity review

Multiple unequal interior breaks allocate several positive weights and a positive remainder, while a break of one exhausts all subsequent residual mass.

3 / 2 / 2
fep-047Compositional Finite Sum-Product PropagationActive InferenceCore Active InferenceFormalizedfep047_forward_compose
Read invariant

Finite sum-product forward propagation is matrix--vector multiplication: it preserves nonnegativity and order under nonnegative factors, has zero and identity laws, and composes exactly by matrix multiplication.

Read assumptions

Nonnegativity and monotonicity require entrywise nonnegative factors and inputs. Identity and composition are unconditional algebraic laws. The row proves exact finite propagation, not normalization or loopy fixed-point convergence.

Read non-vacuity review

Nonidentity dense matrices and nonconstant incoming vectors exercise genuine cross-state aggregation; two distinct factors exercise nontrivial composed propagation.

5 / 1 / 2
fep-048Contractive Policy Update UniquenessFEPCore Free EnergyFormalizedfep048_contraction_unique
Read invariant

Mathlib's global ContractingWith contract gives a unique fixed point on ℝ, and iterations of the concrete halving update converge to zero.

Read assumptions

ContractingWith packages a nonnegative Lipschitz coefficient strictly below one. Completeness and nonemptiness of ℝ discharge the Banach fixed-point assumptions; no claim is made for arbitrary noncontractive policy updates.

Read non-vacuity review

The nonconstant update x ↦ x/2 is certified with coefficient 1/2, has zero as its unique fixed point, and has iterates converging to zero from every real start.

8 / 1 / 3
fep-049Linear Constitutive Entropy ProductionThermodynamicsCore ThermodynamicsFormalizedfep049_entropyProduction_eq_zero_iff
Read invariant

Under Jᵢ=LᵢXᵢ, the flux--force pairing is a nonnegative quadratic form that separates equilibrium for Lᵢ>0. Independently, positive forward/reverse edge fluxes have production (f-r)log(f/r)≥0, with equality exactly at detailed balance.

Read assumptions

The finite constitutive law is diagonal and assumes nonnegative conductances. The edge theorem assumes strictly positive bidirectional fluxes so affinity is finite. Cross-coupled Onsager matrices and microscopic derivations remain outside the claim.

Read non-vacuity review

Any nonzero force under positive conductance produces positive quadratic entropy; unequal positive directed fluxes produce positive edge entropy, while equality of fluxes is the exact zero-production boundary.

5 / 4 / 3
fep-050Logical Erasure and the Landauer BoundThermodynamicsCore ThermodynamicsFormalizedfep050_landauer_work_bound
Read invariant

A noninjective reset maps an unbiased bit to a pure state and loses exactly kB log 2 entropy; nonnegative total entropy at positive temperature derives the corresponding heat bound, and work above heat derives the work bound.

Read assumptions

The derivation explicitly assumes the second-law total-entropy inequality, positive environmental temperature, and work at least as large as dissipated heat. It does not model a microscopic Hamiltonian or finite-time erasure protocol.

Read non-vacuity review

The reset identifies true and false, the unbiased-to-pure entropy change is exactly nonzero for kB > 0, and equality in the environmental balance saturates the Landauer threshold.

5 / 6 / 2
fep-051Likelihood-Ratio Reconstruction under Absolute ContinuityBayesian MechanicsMeasure Bayesian InversionFormalizedfep051_likelihoodRatio_reconstruction
Read invariant

A native Radon–Nikodym derivative reconstructs a target measure from its reference exactly when the target is absolutely continuous with respect to that reference.

Read assumptions

Both results require a measurable carrier and a HaveLebesgueDecomposition instance. The forward reconstruction additionally assumes target ≪ reference; the equivalence proves that this is the exact support condition and does not erase a singular component.

Read non-vacuity review

Taking target equal to reference supplies a reconstructible case, while any target with a nonzero singular component lies on the theorem's explicit failure boundary.

2 / 0 / 1
fep-052Posterior Density as a Likelihood TiltBayesian MechanicsMeasure Bayesian InversionConditional Proxyfep052_posterior_density_tilt
Read invariant

A posterior kernel is a prior measure tilted by the likelihood-to-predictive Radon–Nikodym derivative for predictive-almost-every observation.

Read assumptions

The native result assumes a finite prior, a finite likelihood kernel, a nonempty standard-Borel parameter space, countable generation between the parameter and observation spaces, and prior-almost-every likelihood domination. The countable specialization discharges domination but remains an almost-everywhere identity, not a pointwise formula on null observations.

Read non-vacuity review

Countable nonempty parameter spaces and finite Markov likelihoods instantiate the specialization without an authored domination proof; observations in a predictive null set remain intentionally unconstrained.

2 / 0 / 1
fep-053Kernel Bayesian-Inversion ReconstructionBayesian MechanicsMeasure Bayesian InversionFormalizedfep053_kernelBayes_joint_reconstruction
Read invariant

Bayesian inversion reconstructs the swapped prior-likelihood joint measure, and at every positive finite evidence atom posterior mass times evidence equals the corresponding joint atom.

Read assumptions

The measure theorem requires a finite prior and likelihood on a nonempty standard-Borel parameter space. The finite atom theorem additionally exposes strictly positive predictive evidence; it makes no normalized posterior claim at a zero-evidence atom.

Read non-vacuity review

Any informative finite likelihood with a positive predictive atom exercises the atom reconstruction, while the measure equality covers the complete swapped joint rather than only one selected observation.

2 / 0 / 1
fep-054Bayes Involution for Finite Joint LawsBayesian MechanicsMeasure Bayesian InversionConditional Proxyfep054_bayes_involution
Read invariant

Inverting a finite Markov likelihood twice returns the original likelihood prior-almost-everywhere, and one inversion followed by prediction reconstructs the prior exactly as a measure.

Read assumptions

The likelihood and prior are native finite kernels and measures, not only finite atom tables. Involution requires both parameter and observation carriers to be nonempty standard Borel and the likelihood to be Markov; its conclusion is almost-everywhere rather than pointwise kernel equality.

Read non-vacuity review

Every finite Markov likelihood on nonempty standard-Borel spaces satisfies exact prior reconstruction, while distinct versions of a posterior on null observations explain why involution is stated almost everywhere.

2 / 0 / 1
fep-055Composite-Kernel Bayesian InversionBayesian MechanicsMeasure Bayesian InversionConditional Proxyfep055_compositeKernel_bayesInversion
Read invariant

Bayesian inversion reverses a two-kernel composition into the corresponding composition of inversions, and the associated predictive law is exactly the chronological two-stage prediction.

Read assumptions

The prior and both kernels are finite, and the parameter and intermediate spaces are nonempty standard Borel. The inverse-kernel equality holds only almost everywhere under the final predictive law; predictive associativity itself is an unconditional measure equality under finiteness.

Read non-vacuity review

Two nonidentity finite kernels produce a genuine intermediate marginal and final predictive law, while final-predictive null observations retain the expected version ambiguity.

2 / 0 / 1
fep-056Standard-Borel Conditional-Kernel ReconstructionBayesian MechanicsMeasure Bayesian InversionFormalizedfep056_standardBorel_condKernel_reconstruction
Read invariant

Mathlib's canonical conditional kernel reconstructs a finite joint measure from its first marginal and is normalized at every conditioning value.

Read assumptions

The conditioned carrier must be nonempty standard Borel and the joint measure finite. This is the maintained standard-Borel disintegration theorem, not a claim that regular conditional probabilities exist on arbitrary measurable spaces.

Read non-vacuity review

Nonproduct finite joint measures are admitted, so reconstruction can retain genuine dependence; the Markov-kernel construction also specifies normalized values on marginal-null conditioning points.

2 / 0 / 1
fep-057Conditional-Expectation Tower through a KernelBayesian MechanicsMeasure Bayesian InversionFormalizedfep057_conditionalExpectation_tower
Read invariant

Integrating a conditional expectation against the conditioning marginal equals the original joint expectation, with a parallel extended-nonnegative tower law.

Read assumptions

The joint measure is finite and the conditioned carrier nonempty standard Borel. Real-valued observables must be integrable; extended-nonnegative observables need measurability but no separate integrability premise.

Read non-vacuity review

Dependent finite joints and nonconstant observables exercise genuine nested integration, while nonintegrable signed observables are excluded rather than assigned a spurious finite expectation.

2 / 0 / 1
fep-058Finite Gibbs Variational PrincipleFEPVariational Duality And Information BoundsFormalizedfep058_gibbsVariational_lower_bound
Read invariant

Finite Gibbs free energy is bounded below by minus the certified log partition, and the explicit normalized Gibbs law attains that bound.

Read assumptions

GibbsCertificate exposes strict support for reference and optimizer laws and the exact pointwise log-density identity. The theorem is finite and does not assert existence of such a certificate for arbitrary continuous potentials.

Read non-vacuity review

On every nonempty finite carrier, the uniform zero-potential certificate is full support and attains objective value zero, demonstrating compatible normalization and logarithmic assumptions.

3 / 0 / 1
fep-059Finite Donsker–Varadhan Equality with a Full-Support Gibbs OptimizerFEPVariational Duality And Information BoundsFormalizedfep059_donskerVaradhan_equality_iff
Read invariant

The finite Donsker–Varadhan objective is bounded by the certified log partition, with equality exactly at the supplied full-support Gibbs optimizer.

Read assumptions

The result is parameterized by GibbsCertificate, whose strict-support and log-density fields make the finite logarithmic boundary explicit. It does not extend the equality to arbitrary measures, unbounded potentials, or an optimizer whose existence has not been certified.

Read non-vacuity review

The uniform zero-potential certificate from the shared foundation supplies a normalized full-support optimizer; unequal candidates have a strictly positive KL gap and therefore cannot attain equality.

3 / 0 / 1
fep-060Coordinate ELBO DecompositionFEPVariational Duality And Information BoundsFormalizedfep060_coordinateELBO_decomposition
Read invariant

A finite joint ELBO separates exactly into a prior-coordinate score minus an expected conditional KL remainder, and that remainder is nonnegative.

Read assumptions

The decomposition assumes every reference-prior and reference-kernel atom is strictly positive so all logarithmic rewrites are sound. Conditional KL nonnegativity is proved for the project's totalized finite divergence, but no zero-reference extended-real interpretation is claimed.

Read non-vacuity review

Distinct actual and reference kernels yield a positive conditional remainder; matching kernels collapse only that coordinate penalty while leaving the prior-coordinate score visible.

2 / 0 / 1
fep-061Mean-Field Coordinate Free-Energy OptimumFEPVariational Duality And Information BoundsFormalizedfep061_meanFieldCoordinate_optimum_iff
Read invariant

Holding one supported mean-field factor fixed reduces the coordinate free energy exactly to finite KL, whose unique zero is the supported target factor.

Read assumptions

The fixed and target laws have full support on finite carriers. The theorem is a one-coordinate optimum with the other factor held fixed; it does not prove global convergence of alternating mean-field updates or handle continuous variational families.

Read non-vacuity review

A candidate different from the full-support target has strictly positive coordinate free energy, whereas selecting the target attains the exact zero optimum for any full-support fixed factor.

2 / 0 / 1
fep-062Fixed-Sample Importance-Weighted Jensen BoundFEPVariational Duality And Information BoundsFormalizedfep062_iidProduct_importanceJensen
Read invariant

For a positive fixed sample count and positive weights, the IID product-law expectation of the log sample-mean weight is at most the log of its expected sample-mean weight.

Read assumptions

The carrier is finite, NeZero excludes sample count zero, and every weight is strictly positive before Real.log is used. The positive-expectation witness additionally assumes a nonempty carrier and full-support sampling law.

Read non-vacuity review

Nonconstant positive importance weights on a nonempty finite carrier give a genuinely random positive sample mean; a one-sample law recovers the base finite Jensen inequality.

3 / 0 / 1
fep-063Finite-Channel KL Data-Processing InequalityFEPVariational Duality And Information BoundsConditional Proxyfep063_finiteChannel_klDataProcessing
Read invariant

Passing two finite full-support laws through the same strictly positive finite channel cannot increase their finite KL divergence.

Read assumptions

Input is nonempty, both input laws have strict support, and every channel atom is strictly positive; these conditions force reference-predictive support and avoid the project's totalized-log boundary. This is stronger support than the most general measure-theoretic data-processing theorem.

Read non-vacuity review

Any noisy positive channel acting on unequal full-support input laws exercises a genuine contraction comparison. Separate identity and complete-coarsening witnesses cover deterministic zero-entry channels: identity preserves finite KL and complete coarsening strictly reduces it for unequal laws. These do not weaken the support premises of the primary theorem or identify singular native infinity with the project's totalized finite convention.

4 / 0 / 1
fep-064Rate–Distortion Lagrangian Weak DualityFEPVariational Duality And Information BoundsStructural Proxyfep064_rateDistortion_weakDuality
Read invariant

Separately certified lower bounds on finite mutual information and expected distortion combine into a lower bound on their rate–distortion Lagrangian for every nonnegative multiplier. Supporting theorems now additionally establish an attained information minimum for every nonempty finite fixed-source distortion-feasible set, an actual Lagrangian-infimum weak-duality bound, and an attained strictly positive optimum at fair Boolean Hamming budget one quarter.

Read assumptions

The theorem assumes both component lower bounds rather than deriving a dual function. The supporting attainment theorem instead derives primal optimizer existence from compactness and the continuous zero-safe entropy expression for mutual information, requiring only a feasible finite joint with fixed source marginal. Infimum-derived weak duality requires nonnegative distortion and multiplier; zero-multiplier dual value requires a nonempty code alphabet. Neither general strong duality, dual attainment, a closed-form interior rate function, nor general optimizer uniqueness is claimed. The structural-proxy disposition and primary theorem remain unchanged: the primary theorem still assumes separately certified component lower bounds, while the independently reviewed supporting theorems establish finite optimizer attainment and infimum-derived weak duality.

Read non-vacuity review

Positive multipliers make both certified components contribute, while setting the multiplier to zero reduces the Lagrangian exactly to mutual information and gives dual value zero. A concrete quarter-crossover Boolean joint makes the interior budget feasible, while every independent fair-source joint has distortion one half, forcing the attained quarter-budget optimum positive. Negative budgets are infeasible, zero budget forces a unique diagonal joint, and half budget has two distinct independent information minimizers.

9 / 0 / 1
fep-065Controlled-Kernel NormalizationActive InferenceControl And Planning As InferenceFormalizedfep065_controlledKernel_normalization
Read invariant

Every action and source state in a finite controlled kernel selects a normalized next-state law.

Read assumptions

State and action carriers are finite and ControlledKernel is an action-indexed family of normalized FiniteKernel rows. No policy, controllability, stationarity, or infinite-horizon claim follows from row normalization alone.

Read non-vacuity review

Multiple actions may select distinct nondegenerate transition rows while each retains unit mass, so the action index is not definitionally irrelevant.

1 / 0 / 1
fep-066Action-Conditioned Bayesian Belief UpdateActive InferenceControl And Planning As InferenceFormalizedfep066_actionConditioned_bayes_reconstruction
Read invariant

A positive-evidence action-conditioned prediction and observation update is normalized and reconstructs its predicted state-observation joint mass.

Read assumptions

All carriers are finite and the selected action has strictly positive observation evidence. The normalized posterior is not constructed at zero evidence, and the theorem concerns one update rather than policy optimality.

Read non-vacuity review

Informative emissions after distinct action-conditioned transitions yield different posterior beliefs; the zero-evidence theorem pins the exact point where the normalized construction is unavailable.

3 / 0 / 1
fep-067Reachable Finite-Belief POMDP ReductionActive InferenceControl And Planning As InferenceStructural Proxyfep067_reachableBelief_policyValue_equivalence
Read invariant

Expanding a finite reachable-belief index into its interpreted finite law preserves every fixed finite-horizon feedback-policy value.

Read assumptions

ReachableBeliefPOMDP supplies a finite indexed carrier, an interpretation into FiniteLaw, and sound positive-evidence updates; DecidableEq is required for the belief index. This is not a finite enumeration of the full probability simplex or an infinite-horizon POMDP reduction.

Read non-vacuity review

The concrete Boolean reachable model proves an exact positive-evidence Bayes update between two belief indexes, and arbitrary horizons exercise recursive policy-value preservation.

2 / 0 / 1
fep-068Soft Bellman RecursionActive InferenceControl And Planning As InferenceFormalizedfep068_softBellman_recursion
Read invariant

On a nonempty finite action carrier, a positive-temperature soft Bellman partition is positive, its successor value is the exact temperature-scaled log-sum-exp backup, and that soft value is no larger than any hard action energy.

Read assumptions

State and action sets are finite, the action carrier is inhabited, and temperature is strictly positive before division, logarithmic aggregation, and the soft-minimum comparison. The statement is an exact finite-horizon recursion and pointwise hard/soft bound, not an infinite-horizon fixed-point or optimality-limit theorem.

Read non-vacuity review

Inhabited actions make the exponential partition strictly positive; nonconstant costs and action-dependent transition rows make multiple exponentiated action values contribute to the finite soft minimum.

1 / 0 / 1
fep-069KL-Control Desirability RecursionActive InferenceControl And Planning As InferenceStructural Proxyfep069_desirability_recursion
Read invariant

One finite desirability backup is an exponential state-cost tilt of a passive transition prediction and preserves nonnegativity.

Read assumptions

The theorem gives the algebraic KL-control desirability operator on a finite Markov kernel. It does not derive this operator from a path-space KL objective, prove an optimal controlled kernel, or establish convergence of iteration.

Read non-vacuity review

Nonzero costs and nonconstant nonnegative desirability produce a nontrivial tilted prediction, while zero cost and unit desirability form an exact normalized fixed point.

3 / 0 / 1
fep-070Control-as-Inference Policy PosteriorActive InferenceControl And Planning As InferenceStructural Proxyfep070_controlPosterior_reconstruction
Read invariant

A prior-weighted exponential action score normalizes to a control posterior whose mass reconstructs the unnormalized score.

Read assumptions

The action carrier is finite, precision and costs are real, and positivity of the exponential partition is supplied by the finite Boltzmann construction. The result is an exact algebraic posterior but does not derive its cost from a full generative observation model.

Read non-vacuity review

Unequal action costs and a supported prior reweight actions nonuniformly; identically zero costs return the prior exactly for every precision.

3 / 0 / 1
fep-071Sophisticated Expected-Free-Energy Backward InductionActive InferenceControl And Planning As InferenceConditional Proxyfep071_sophisticatedEFE_backward_step
Read invariant

Finite sophisticated expected-free-energy recursion reoptimizes after each observation-dependent belief update, and a two-stage witness strictly separates feedback from every fixed open-loop second action.

Read assumptions

Belief, action, and observation carriers are finite and Action is nonempty so each finite argmin exists. The theorem is a maintained finite-horizon recursion with an exact Boolean two-stage witness; it does not prove continuous-state or infinite-horizon sophisticated planning.

Read non-vacuity review

In the witness, false and true observations choose different continuation actions, and the resulting expected cost is strictly below that of either fixed Boolean continuation.

3 / 0 / 1
fep-072Hidden-Markov Forward Filtering RecursionBayesian MechanicsTemporal And Hierarchical InferenceFormalizedfep072_forward_filtering_recursion
Read invariant

One positive-evidence finite hidden-Markov filtering step reconstructs its predicted state-observation joint, with an exact asymmetric Boolean posterior witness.

Read assumptions

State and observation carriers are finite, transition and emission rows are normalized, and observed evidence is strictly positive. No filter is claimed at zero evidence and no continuous-state or Kalman–Bucy limit is inferred.

Read non-vacuity review

The asymmetric Boolean HMM assigns true posterior mass 20/23, while the zero-evidence theorem explicitly excludes an undefined normalization.

3 / 0 / 1
fep-073Backward Information-Message RecursionBayesian MechanicsTemporal And Hierarchical InferenceFormalizedfep073_backward_message_recursion
Read invariant

Finite backward information messages obey the exact future-observation recursion and preserve nonnegativity from one message to the preceding one.

Read assumptions

State and observation carriers are finite and transition and emission rows are normalized. Nonnegativity requires the supplied next message to be pointwise nonnegative; the theorem does not normalize messages or assert a limiting smoother.

Read non-vacuity review

A nonempty future-observation list and nonconstant emission kernel produce a state-dependent backward message rather than only the terminal unit message.

2 / 0 / 1
fep-074Forward–Backward Smoothing FactorizationBayesian MechanicsTemporal And Hierarchical InferenceFormalizedfep074_forwardBackward_smoothing_factorization
Read invariant

At positive normalizer, a finite smoothing marginal factors into forward law times backward information, and one-step forward and backward computations agree on observation evidence.

Read assumptions

The forward law is normalized, the backward message is nonnegative, and its weighted normalizer is strictly positive. The statement covers a finite factorization and does not assert positivity when all backward weights vanish.

Read non-vacuity review

Nonconstant backward messages reweight a nondegenerate forward law, while the evidence-agreement theorem connects independently expressed forward and backward one-step calculations.

2 / 0 / 1
fep-075Smoothing-Marginal NormalizationBayesian MechanicsTemporal And Hierarchical InferenceFormalizedfep075_smoothing_marginal_normalization
Read invariant

A nonnegative forward–backward product with positive normalizer defines a normalized finite smoothing marginal.

Read assumptions

The state carrier is finite, backward weights are pointwise nonnegative, and their forward expectation is strictly positive. The construction explicitly excludes a zero normalizer rather than selecting an arbitrary fallback law.

Read non-vacuity review

The Boolean smoother has unequal positive masses 7/46 and 39/46 whose sum is one; an identically zero backward message witnesses the excluded normalizer boundary.

3 / 0 / 1
fep-076One-Step Normalized Variational State UpdateBayesian MechanicsTemporal And Hierarchical InferenceFormalizedfep076_variational_state_update_normalized
Read invariant

A finite prior-weighted exponential energy tilt is normalized and reconstructs its unnormalized weight, with zero energy acting as the identity update.

Read assumptions

The state carrier is finite and the real exponential makes the partition positive without a separate support premise. This is one exact normalized update, not convergence of a variational optimization algorithm.

Read non-vacuity review

Nonconstant energies reweight any prior with supported alternatives, whereas the zero-energy boundary leaves every prior law unchanged.

3 / 0 / 1
fep-077Two-Level Hierarchical Predictive FactorizationBayesian MechanicsTemporal And Hierarchical InferenceFormalizedfep077_hierarchical_predictive_factorization
Read invariant

Two-level finite hierarchical prediction is exactly prediction through the chronological composition of its two normalized kernels.

Read assumptions

Upper, middle, and observation carriers are finite and both conditional maps are FiniteKernel values. The result establishes two-level factorization only, not identifiability of latent levels or an unbounded hierarchy.

Read non-vacuity review

Nonidentity upper and lower kernels with a nondegenerate top law produce a predictive mixture that genuinely sums over the intermediate level.

1 / 0 / 1
fep-078Bayesian Model-Averaging Predictive LawBayesian MechanicsTemporal And Hierarchical InferenceFormalizedfep078_modelAverage_predictive_law
Read invariant

Bayesian model averaging is the prior-weighted finite mixture of model predictive laws and remains normalized.

Read assumptions

Model and observation sets are finite, the model prior is normalized, and each model predictive row is normalized. No posterior model update, asymptotic selection, or continuous model class is claimed.

Read non-vacuity review

A nonuniform Boolean model prior and informative predictive kernel give the exact nontrivial true mass 13/20 while the complete mixture still sums to one.

3 / 0 / 1
fep-079Blanket Factorization and Conditional-Mutual-Information EquivalenceBayesian MechanicsCausal Blankets And InterventionsConditional Proxyfep079_blanketFactorization_iff_conditionalMutualInformation_zero
Read invariant

On a finite conditional-blanket carrier with full blanket support, vanishing conditional mutual information is equivalent to pointwise internal–external factorization.

Read assumptions

Blanket, internal, and external carriers are finite and every blanket atom is strictly positive for the equivalence. The static-model specialization proves zero conditional mutual information even with null blanket atoms, but the theorem does not identify a general physical Markov blanket.

Read non-vacuity review

Static finite blanket models instantiate exact conditional product rows, and the full-support premise ensures that no nonfactorizing row is hidden behind a zero blanket probability.

2 / 0 / 1
fep-080Shared-Conditional Mixture PreservationBayesian MechanicsCausal Blankets And InterventionsFormalizedfep080_sharedConditional_mixture_preservation
Read invariant

Convex mixing of two finite input laws commutes exactly with forming their joint laws when both components share the same conditional kernel.

Read assumptions

Input and output carriers are finite, the mixing weight lies in the closed unit interval, and both components use one identical normalized kernel. The result does not cover mixtures whose conditional mechanisms differ.

Read non-vacuity review

The half-mixture witness assigns mass one half to each Boolean atom, and distinct component laws may still produce a genuinely mixed joint after the shared kernel is applied.

2 / 0 / 1
fep-081Coupled-Subsystem Blanket CompositionBayesian MechanicsCausal Blankets And InterventionsStructural Proxyfep081_coupledSubsystem_blanketComposition
Read invariant

Two conditionally factorized subsystems retain zero paired-row mutual information under an arbitrarily coupled joint blanket law.

Read assumptions

Every carrier is finite and subsystem internal and external kernels factor by their own blanket coordinates. The conclusion is rowwise conditional mutual information for paired variables; it does not assert that the joint blanket factorizes or that the complete subsystems are marginally independent.

Read non-vacuity review

A diagonal Boolean blanket law has zero cross mass and strictly positive blanket mutual information, demonstrating genuine coupling despite exact within-row conditional factorization.

2 / 0 / 1
fep-082Finite Intervention-Kernel NormalizationBayesian MechanicsCausal Blankets And InterventionsFormalizedfep082_interventionKernel_normalization
Read invariant

A hard finite intervention kernel places unit mass on the chosen value, zero mass on every distinct value, and remains normalized in every context.

Read assumptions

Context and value carriers are finite and value equality is decidable. The kernel represents a deterministic do-assignment only; it does not by itself encode graph surgery, confounding assumptions, or interventional identifiability.

Read non-vacuity review

On any value carrier with two distinct elements, one receives mass one and the other mass zero independently of context, exercising both sides of the hard intervention.

3 / 0 / 1
fep-083Non-Descendant Intervention InvarianceBayesian MechanicsCausal Blankets And InterventionsConditional Proxyfep083_nonDescendant_intervention_invariance
Read invariant

Intervening on the root of the maintained ordered four-node model preserves the named non-descendant marginal while permitting a descendant marginal to change.

Read assumptions

The result is scoped to OrderedFourNodeModel with finite carriers and a decidable root; the non-descendant is structurally assigned an independent root law. It does not prove intervention invariance for arbitrary DAGs or derive the graph from observational conditional independences.

Read non-vacuity review

In the Boolean witness, changing the root intervention moves the mediator's true mass from zero to one while the non-descendant marginal remains exactly unchanged.

2 / 0 / 1
fep-084Ordered Finite Causal FactorizationBayesian MechanicsCausal Blankets And InterventionsFormalizedfep084_orderedFiniteCausal_factorization
Read invariant

The maintained four-node observational law is exactly its ordered product of two root laws and two parent-conditioned kernels, and that product normalizes.

Read assumptions

Root, non-descendant, mediator, and outcome carriers are finite and every component is a normalized finite law or kernel. The carrier records one fixed parent order rather than a general acyclic-graph factorization calculus.

Read non-vacuity review

Nondegenerate root laws and nonconstant mediator and outcome kernels yield a dependent joint whose normalization requires summing every ordered factor.

2 / 0 / 1
fep-085Local Markov Property from Ordered FactorizationBayesian MechanicsCausal Blankets And InterventionsConditional Proxyfep085_localMarkov_factorization_from_ordered
Read invariant

In the ordered four-node carrier, conditioning on the outcome's two parents factorizes the outcome from its non-parent predecessor root and forces their finite mutual information to zero.

Read assumptions

All carriers are finite and mediator evidence must be strictly positive. The result is a local statement for one authored ordering and parent set; it is not a proof of general d-separation, faithfulness, or native measurable conditional independence.

Read non-vacuity review

The Boolean model conditions on a mediator event of positive half mass and obtains zero mutual information, while a separate theorem marks zero mediator evidence as outside the conditional construction.

4 / 0 / 1
fep-086Precision-Weighted Prediction-Error EnergyFEPPredictive Coding And Generalized CoordinatesFormalizedfep086_precisionWeighted_zero_iff_exactPrediction
Read invariant

Nonnegative precision yields nonnegative scalar prediction-error energy, and under positive precision zero energy occurs exactly at exact prediction.

Read assumptions

The carrier is scalar real arithmetic. Nonnegativity needs precision at least zero and separation needs precision strictly positive; zero precision cannot distinguish any estimate from the observation.

Read non-vacuity review

Observation one, estimate zero, and precision two have exact unit energy, so the energy and its separating zero condition are not vacuous.

3 / 0 / 1
fep-087Hierarchical Predictive-Coding Energy DecompositionFEPPredictive Coding And Generalized CoordinatesFormalizedfep087_hierarchicalPredictiveCoding_decomposition
Read invariant

Finite hierarchical predictive-coding energy decomposes into the zeroth precision-weighted error plus all successor-level errors and is nonnegative when every precision is nonnegative.

Read assumptions

The hierarchy is finite and energies are explicit scalar quadratics. Nonnegativity requires pointwise nonnegative precision; the result does not model neural implementation, learned precision, or an infinite hierarchy.

Read non-vacuity review

A concrete two-level hierarchy has both levels contribute and evaluates to eleven, ruling out a decomposition that silently drops the upper level.

3 / 0 / 1
fep-088Prediction-Error Gradient IdentityFEPPredictive Coding And Generalized CoordinatesFormalizedfep088_predictionError_gradient_identity
Read invariant

Differentiating scalar precision-weighted prediction-error energy with respect to the estimate gives exactly minus precision times signed prediction error.

Read assumptions

The theorem is an exact HasDerivAt statement for a scalar quadratic and requires no positivity assumption for differentiation. It does not assert a gradient for a nonlinear decoder, a vector network, or a stochastic process.

Read non-vacuity review

At precision two, observation one, and estimate zero, the named gradient is exactly minus two and therefore drives a nontrivial correction.

3 / 0 / 1
fep-089Finite Generalized-Coordinate Shift SemigroupFEPPredictive Coding And Generalized CoordinatesFormalizedfep089_finiteJet_shift_semigroup
Read invariant

Natural-number shifts on a finite generalized-coordinate jet compose associatively, with the highest retained coordinate shifting into an explicit zero truncation boundary.

Read assumptions

Generalized coordinates are finite jets represented by finitely supported coefficients. The semigroup is discrete and exact; no analytic infinite jet, time derivative, or continuous-flow convergence is claimed.

Read non-vacuity review

A first-order jet moves velocity into the position coordinate while its terminal velocity coordinate becomes zero, visibly exercising the truncation.

3 / 0 / 1
fep-090Finite-Jet Generalized-Filtering Correction EquationFEPPredictive Coding And Generalized CoordinatesFormalizedfep090_finiteJet_generalizedFiltering_correctionEquation
Read invariant

One finite-jet generalized-filtering Euler step equals the current coordinate plus a truncated shift minus the certified quadratic energy gradient.

Read assumptions

Step size and coordinate precisions are real and the jet order is finite. The pointwise correction has an exact scalar derivative witness, but the theorem does not identify an infinite generalized flow or prove stability of repeated coupled-jet updates.

Read non-vacuity review

A concrete first-order half-step gives exact nonzero corrections 3/2 and 1/2 at the two retained coordinates, while the top-coordinate theorem removes the truncated shift term.

4 / 0 / 1
fep-091Precision Modulation of Prediction ErrorFEPPredictive Coding And Generalized CoordinatesFormalizedfep091_precisionModulation_energy_mono
Read invariant

Increasing nonnegative precision cannot decrease a fixed scalar prediction-error energy, and scaling precision scales its exact gradient by the same factor.

Read assumptions

Energy monotonicity assumes a nonnegative lower precision and an ordered upper precision. Gradient scaling is algebraic for arbitrary real scale, including negative values, but only nonnegative precision retains an energy weighting interpretation.

Read non-vacuity review

Doubling precision from one to two at a unit prediction error exactly doubles the energy and makes the inequality strict.

3 / 0 / 1
fep-092Quadratic Predictive-Coding ConvergenceFEPPredictive Coding And Generalized CoordinatesFormalizedfep092_quadraticPredictiveCoding_error_tendsto_zero
Read invariant

Exact scalar quadratic prediction updates contract energy by the squared factor one minus step size, strictly decrease positive-precision nonzero error for step sizes in the open interval zero to two, and drive error to zero.

Read assumptions

Convergence requires 0 < stepSize < 2; strict descent additionally requires positive precision and unequal target and estimate. The result is scalar and exact-quadratic, not a convergence theorem for nonlinear predictive-coding networks.

Read non-vacuity review

At precision two and half-step size, a unit error has energy one, moves to estimate one half, and drops to energy one quarter.

4 / 0 / 1
fep-093Forward and Reverse Finite Path-Law RatioThermodynamicsPath Space Stochastic ThermodynamicsFormalizedfep093_forward_reverse_pathLaw_ratio
Read invariant

A finite forward path law is reconstructed pointwise from its supported reverse-aligned law and likelihood ratio, while both path laws normalize and path reversal is involutive.

Read assumptions

The path carrier is finite and reverse-aligned mass must be strictly positive for the ratio reconstruction. FinitePathProtocol stores normalized laws and an involution; it does not derive reversal or reverse dynamics from a microscopic process.

Read non-vacuity review

Unequal full-support forward and reverse-aligned laws yield nonunit path ratios, while an involution with a two-path swap exercises a genuine reversal.

3 / 0 / 1
fep-094Entropy Production as Path KLThermodynamicsPath Space Stochastic ThermodynamicsStructural Proxyfep094_entropyProduction_as_pathKL
Read invariant

Mean finite path entropy production is the KL divergence from the forward to reverse-aligned path law, is nonnegative, and under full support equals the forward expectation of the pointwise log ratio.

Read assumptions

The primary equality is the maintained definition of entropyProduction. Expected-log-ratio expansion requires strict support of both path laws, and the project's totalized real KL is not an extended divergence at zero reverse mass.

Read non-vacuity review

The compiled irreversible Boolean protocol has unequal full-support path laws and therefore supplies positive, rather than merely nonnegative, production in the later dissipation topic.

3 / 0 / 1
fep-095Detailed Fluctuation SymmetryThermodynamicsPath Space Stochastic ThermodynamicsConditional Proxyfep095_detailedFluctuation_symmetry
Read invariant

Under full path support, reverse-aligned mass times exponential pointwise entropy production reconstructs forward mass, and an exchanging reversal makes entropy production antisymmetric.

Read assumptions

Forward and reverse-aligned laws are strictly positive. Antisymmetry further assumes that the recorded involution exchanges the two aligned laws in both directions; these exchange laws are not derived from protocol dynamics.

Read non-vacuity review

A two-path protocol with swapped unequal full-support masses has nonzero pointwise entropy production whose sign reverses on the paired path.

2 / 0 / 1
fep-096Integral Fluctuation TheoremThermodynamicsPath Space Stochastic ThermodynamicsFormalizedfep096_integralFluctuation_theorem
Read invariant

The forward expectation of exponential negative pointwise entropy production equals one for normalized finite full-support forward and reverse path laws.

Read assumptions

The path carrier is finite and both path laws have strict support, so the likelihood ratio and logarithm are ordinary real values. The theorem does not treat singular path measures or continuous-time trajectories.

Read non-vacuity review

Unequal full-support path laws produce nonconstant entropy-production values whose weighted exponentials still normalize exactly to one.

1 / 0 / 1
fep-097Finite Jarzynski EqualityThermodynamicsPath Space Stochastic ThermodynamicsConditional Proxyfep097_finiteJarzynski_equality
Read invariant

A normalized finite exponential-work protocol has work average equal to the exponential of negative inverse temperature times free-energy difference.

Read assumptions

HasJarzynskiNormalization explicitly packages positive beta and the identity that the expectation of exp(-beta times (work minus free-energy difference)) equals one. The theorem algebraically extracts Jarzynski's equality from this normalization; it does not derive that premise from microscopic reversibility.

Read non-vacuity review

Nonconstant finite work values can satisfy the normalization after choosing a compatible free-energy difference, while beta positivity excludes the zero-temperature-parameter collapse.

1 / 0 / 1
fep-098Local Detailed Balance and Current CancellationThermodynamicsPath Space Stochastic ThermodynamicsFormalizedfep098_localDetailedBalance_currentCancellation
Read invariant

Detailed balance cancels every oriented finite probability current, while a zero reverse rate is exposed as a totalized-log affinity boundary.

Read assumptions

The law and transition kernel are normalized finite carriers and current cancellation assumes IsReversible. The zero-rate theorem reports the project's real-log value zero and must not be read as a finite extended-real affinity.

Read non-vacuity review

Symmetric positive bidirectional transitions give exact zero current under a reversible law, whereas a one-way edge exercises the separately labeled zero-reverse-rate boundary.

2 / 0 / 1
fep-099Reversible-Chain One-Step KL DissipationThermodynamicsPath Space Stochastic ThermodynamicsFormalizedfep099_reversibleChain_oneStep_KL_dissipation
Read invariant

One strictly positive reversible finite Markov step cannot increase KL to its stationary law; the identity transition saturates equality and an explicit irreversible path protocol has positive entropy production.

Read assumptions

State is finite and nonempty, actual and stationary laws have full support, every transition atom is positive, and detailed balance supplies stationarity. The result is one-step dissipation, not strict contraction for every nonidentity kernel or a continuous-time entropy-production theorem.

Read non-vacuity review

The identity kernel proves the exact reversible equality boundary, while the unequal full-support Boolean path witness proves strictly positive production away from reversibility.

3 / 0 / 1
fep-100Categorical Fisher Positivity on Simplex TangentsInfo GeometryInformation Geometry And Geometric OptimizationConditional Proxyfep100_categoricalFisher_simplexTangent_positivity
Read invariant

The inherited Fisher metric is strictly positive on every certified nonzero categorical simplex tangent under full support, while a duplicated-score model exhibits an explicit nonzero null direction.

Read assumptions

CategoricalFisherCarrier packages a full-support law, an existing ScoreModel, and exact metric and lowering-map representations on simplex tangents. The general positivity theorem depends on this certificate. A separate genuine Fin 2 categorical construction proves that its one-dimensional simplex tangent space is spanned by (1,-1) and is positive definite there; no claim is made that every arbitrary score parameterization is full rank.

Read non-vacuity review

The explicit Fin 2 categorical law and nonzero tangent (1,-1) have Fisher energy exactly four, and every Fin 2 simplex tangent is a multiple of that direction. Duplicated score coordinates separately give a nonzero tangent with zero Fisher energy.

5 / 0 / 1
fep-101Fisher Pullback under ReparameterizationInfo GeometryInformation Geometry And Geometric OptimizationFormalizedfep101_fisherPullback_reparameterization
Read invariant

Pulling the existing finite Fisher metric through a composite Jacobian equals successive pullback, and every such pullback is positive semidefinite.

Read assumptions

Outcome and coordinate carriers are finite and Jacobians are finite real matrices. No invertibility is needed for pullback or semidefiniteness, so a rank-deficient chart may retain null directions; positive definiteness is not claimed here.

Read non-vacuity review

Nonidentity rectangular Jacobians exercise genuine reparameterization, while a rank-deficient matrix demonstrates why the conclusion is nonnegative rather than strictly positive.

2 / 0 / 1
fep-102Unbiased Scalar Cramér–Rao Bound under Score RegularityInfo GeometryInformation Geometry And Geometric OptimizationFormalizedfep102_unbiasedScalar_cramerRao
Read invariant

Finite unbiased scalar estimation under score regularity and positive Fisher information satisfies variance times Fisher information at least one.

Read assumptions

ScalarCramerRaoCertificate explicitly records centered unbiasedness, unit estimator–score covariance, and strictly positive scalar Fisher information for an existing one-parameter ScoreModel. The theorem does not derive score regularity by differentiating a parameterized family or cover biased estimators.

Read non-vacuity review

Positive Fisher information rules out an identically zero score, and unit score covariance rules out a constant centered estimator, so the Cauchy–Schwarz bound cannot be discharged by a degenerate zero product.

1 / 0 / 1
fep-103Natural-Gradient Equivariance under an Invertible Full-Rank ChartInfo GeometryInformation Geometry And Geometric OptimizationFormalizedfep103_naturalGradient_equivariance
Read invariant

Under invertible Fisher and chart matrices, the natural gradient transports equivariantly so lowering the chart-coordinate vector yields the pulled-back covector.

Read assumptions

The finite ScoreModel Fisher matrix and square chart Jacobian each carry an Invertible instance. Rank-deficient metrics or charts are excluded because the natural-gradient and chart-coordinate inverses would not be uniquely defined. The supporting weighted Cauchy–Schwarz theorem requires positive right energy.

Read non-vacuity review

Nonidentity invertible charts change vector coordinates while preserving the lowered covector law; the proof spike also excludes a zero-energy right vector before deriving its finite weighted inequality.

2 / 0 / 1
fep-104Mirror-Descent Three-Point IdentityInfo GeometryInformation Geometry And Geometric OptimizationFormalizedfep104_mirrorDescent_threePoint_identity
Read invariant

The algebraic Bregman expression associated with supplied potential and gradient data obeys the exact three-point identity used by mirror descent.

Read assumptions

The coordinate carrier is finite and potential and gradient are arbitrary supplied functions. The identity is algebraic and assumes neither convexity nor that the gradient is the derivative of the potential; those extra properties are required before interpreting every term as a nonnegative divergence or an algorithmic descent guarantee.

Read non-vacuity review

Distinct left, middle, and right vectors with a nonconstant supplied gradient give nonzero pairing and divergence differences while retaining exact equality.

1 / 0 / 1
fep-105Bregman Pythagorean Law for an Affine Information ProjectionInfo GeometryInformation Geometry And Geometric OptimizationConditional Proxyfep105_affineProjection_bregmanPythagorean
Read invariant

An affine projection certificate yields exact Bregman Pythagorean splitting, and a nonnegative residual divergence makes the certified projection a minimizer over the maintained affine set.

Read assumptions

AffineBregmanProjection explicitly supplies projection membership and gradient-difference orthogonality for every candidate. Minimization separately assumes residual Bregman nonnegativity. Existence, uniqueness, convexity, and differentiability of the projection are not derived.

Read non-vacuity review

Candidates distinct from the projection can have a positive residual term, producing a strict objective gap; zero residual gives the exact equality boundary without proving uniqueness.

2 / 0 / 1
fep-106Replicator–Natural-Gradient EquivalenceInfo GeometryInformation Geometry And Geometric OptimizationConditional Proxyfep106_replicator_naturalGradient_equivalence
Read invariant

On a certified categorical Fisher carrier, the replicator vector is the natural gradient of centered fitness and has zero total mass.

Read assumptions

CategoricalFisherCarrier supplies full support and the exact bridge from the existing ScoreModel lowering map to categorical coordinates. The result is an instantaneous finite-simplex vector-field identity, not positivity preservation or convergence of a time-integrated replicator flow.

Read non-vacuity review

The explicit full-support Fin 2 categorical law with nonconstant fitness yields a nonzero mass-conserving replicator vector and satisfies the inherited natural-gradient predicate; constant fitness produces the exact zero field boundary.

3 / 0 / 1
fep-107Product-Agent Generative LawActive InferenceCollective And Multiagent Active InferenceFormalizedfep107_productAgent_generative_mass
Read invariant

Independent product priors and product observation kernels yield a normalized joint kernel whose generative mass factors exactly into the two agent-level generative masses.

Read assumptions

Both state and observation carriers are finite and each component law and kernel is normalized. Independence is built into FiniteLaw.product and the productKernel coordinate definition; the theorem does not infer independence from an arbitrary coupled multiagent law.

Read non-vacuity review

Nondegenerate component priors and nonconstant component kernels make all four coordinates contribute to joint mass while product-kernel normalization still requires summing over every paired observation.

2 / 0 / 1
fep-108Additive Collective Variational Free EnergyActive InferenceCollective And Multiagent Active InferenceFormalizedfep108_collectiveVFE_additive
Read invariant

Variational free energy of independent product laws with additive cost is exactly the sum of the two agent-level free energies.

Read assumptions

State carriers are finite, both reference factors have full support, actual and reference joint laws are products, and joint cost is additive. The result does not discard a dependence or interaction term for a coupled law or nonadditive cost.

Read non-vacuity review

Unequal actual and reference factors with nonconstant component costs make both KL and expectation terms contribute, while the separate product-cost theorem isolates the expectation part of additivity.

2 / 0 / 1
fep-109Independent-Agent Expected-Free-Energy AdditivityActive InferenceCollective And Multiagent Active InferenceFormalizedfep109_independentEFE_additive
Read invariant

Expected free energy of product predictive and preference laws with additive ambiguity equals the sum of independent agent-level expected free energies.

Read assumptions

Both finite preference factors have full support, predictive and preference joint laws are products, and ambiguity is coordinate-additive. No additivity is claimed for statistically coupled agents, shared outcomes, or a nonseparable ambiguity functional.

Read non-vacuity review

Distinct predictive and preference factors yield nonzero risk terms, while nonconstant ambiguity functions make both component expectations contribute to the collective value.

2 / 0 / 1
fep-110Unit-Weight Product-of-Experts Pool NormalizationActive InferenceCollective And Multiagent Active InferenceFormalizedfep110_unitWeightProductOfExpertsPool_normalized
Read invariant

The unit-weight finite product-of-experts pool is the normalized pointwise product of two laws and has total mass one whenever its normalizer is positive.

Read assumptions

The state carrier is finite and the pointwise-product normalizer must be strictly positive. Disjoint supports are excluded. This unit-weight product uses exponents one, not the one-half exponents of an equal-weight logarithmic pool, and no externally Bayesian pooling property is claimed.

Read non-vacuity review

Two distinct overlapping laws produce a pooled distribution different from either input; the positive-overlap premise visibly excludes the disjoint point mass boundary.

2 / 0 / 1
fep-111Consensus Mass ConservationActive InferenceCollective And Multiagent Active InferenceFormalizedfep111_consensus_pointwise_mass_conserved
Read invariant

The specified doubly stochastic two-agent consensus update conserves combined mass at every state and therefore preserves total combined mass two.

Read assumptions

The state carrier is finite and both inputs are normalized FiniteLaw values. Conservation is for the maintained two-agent mixing operator; it does not establish consensus, stationarity, or conservation for arbitrary interaction matrices.

Read non-vacuity review

Unequal input laws redistribute statewise mass between agents while the exact pointwise sum remains fixed and the two output laws each remain normalized.

2 / 0 / 1
fep-112Contractive Belief-Consensus ConvergenceActive InferenceCollective And Multiagent Active InferenceFormalizedfep112_consensus_converges
Read invariant

Iterating the maintained strictly stochastic two-agent update halves each atomwise belief gap and drives pointwise disagreement to zero.

Read assumptions

State is finite and consensus uses the fixed one-quarter/three-quarter mixing matrix encoded by consensusLeft and consensusRight. Convergence is pointwise for two agents; no arbitrary network topology, time-varying weights, or rate in a global probability metric is claimed.

Read non-vacuity review

Opposite Boolean point masses begin with unit gap, retain positive gap one half after one update, and satisfy a strict decrease rather than a zero-gap tautology.

3 / 0 / 1
fep-113Coupled-Agent Potential DescentActive InferenceCollective And Multiagent Active InferenceFormalizedfep113_coupledPotential_strict_descent
Read invariant

The maintained consensus coupling quarters atomwise quadratic disagreement potential and decreases it strictly whenever the two input masses differ at that atom.

Read assumptions

State is finite and the potential is the exact scalar square of the two-agent atomwise gap under the fixed consensus operator. Strictness requires explicit separation; the theorem does not cover a general coupled free-energy functional or nonlinear multiagent dynamics.

Read non-vacuity review

Any state at which the two laws assign unequal mass has positive initial potential and a strictly smaller positive quarter-potential after one update.

2 / 0 / 1
fep-114Sub-Gaussian Empirical-Mean Tail BoundFEPLearning Concentration And Model EvidenceFormalizedfep114_subGaussian_empiricalMean_tail
Read invariant

A finite independent family with certified sub-Gaussian moment-generating functions satisfies the explicit exponential upper-tail bound for its summed empirical-mean event.

Read assumptions

Observables are indexed by Fin sampleCount, are independent under the supplied measure, and each has a nonnegative sub-Gaussian proxy variance. Deviation is nonnegative. The theorem neither assumes IID data nor asserts an asymptotic law; a positive sample count is needed for the usual empirical-mean interpretation even though real division is totalized at zero.

Read non-vacuity review

Multiple independent nonconstant centered observables with positive proxy variances give a nontrivial exponentially decaying bound as deviation grows.

2 / 0 / 1
fep-115Simultaneous Finite-Alphabet Frequency BoundFEPLearning Concentration And Model EvidenceFormalizedfep115_simultaneous_frequency_bound
Read invariant

Per-symbol empirical-frequency failure bounds combine by a finite union bound into an alphabet-wide failure probability bounded by alphabet size times the per-symbol rate.

Read assumptions

The sampling measure is a probability measure, the alphabet is finite with decidable equality, sample count is nonzero, and every symbol has the supplied probability bound. No independence or concentration rate is inferred beyond those per-symbol premises.

Read non-vacuity review

A multi-symbol alphabet and positive sample count make the union contain genuinely distinct two-sided normalized-count deviation events.

2 / 0 / 1
fep-116Finite-Hypothesis PAC-Bayes Loss-Gap BoundFEPLearning Concentration And Model EvidenceFormalizedfep116_finitePACBayes_with_confidence
Read invariant

For any finite posterior, a Gibbs certificate whose potential is inverse temperature times the population-minus-empirical loss gap converts a certified log-MGF budget into an empirical-loss plus KL-complexity population-loss bound.

Read assumptions

Hypotheses are finite; inverse temperature is positive; the Gibbs reference equals the prior and carries full support; confidence lies in (0,1); and the certificate log partition is bounded by log(confidence^-1). The theorem is deterministic conditional on this log-MGF premise and does not itself prove that the premise holds with high probability over data.

Read non-vacuity review

Unequal posterior and prior laws contribute a finite KL penalty, nonzero loss gaps enter through the certified potential, and smaller confidence increases the explicit log(confidence^-1) budget.

2 / 0 / 1
fep-117Posterior-Odds Multiplicative RecursionFEPLearning Concentration And Model EvidenceFormalizedfep117_posteriorOdds_recursion
Read invariant

At positive evidence, posterior odds equal prior odds times the likelihood ratio, and a zero-prior hypothesis retains zero posterior mass.

Read assumptions

Hypothesis and evidence carriers are finite. Total evidence, the reference prior mass, and the reference likelihood must be strictly positive before forming ordinary real odds. The zero-prior theorem marks lack of posterior support rather than permitting recovery by conditioning.

Read non-vacuity review

Unequal positive likelihoods move the favored-to-reference odds multiplicatively, while a separate zero-prior hypothesis remains exactly absent from the posterior.

2 / 0 / 1
fep-118Exponential Posterior Concentration from a Likelihood GapFEPLearning Concentration And Model EvidenceFormalizedfep118_posteriorGap_concentration
Read invariant

A nonnegative per-observation likelihood gap yields an explicit exponential finite-sample upper bound on inferior two-hypothesis posterior weight.

Read assumptions

Good prior and likelihood weights are strictly positive, bad weights and the gap are nonnegative, and bad likelihood is bounded by exp(-gap) times good likelihood. These are scalar two-hypothesis weights, not a theorem of consistency for an arbitrary normalized model class.

Read non-vacuity review

Equal priors with likelihood ratio three to one give exact inferior posterior mass one tenth after two observations, so the posterior is positive yet genuinely concentrated.

2 / 0 / 1
fep-119Bayesian-Mixture Log-Loss Regret BoundFEPLearning Concentration And Model EvidenceFormalizedfep119_mixtureLogLoss_regret
Read invariant

Finite Bayesian-mixture evidence dominates every nonnegative component contribution, so mixture log loss is at most selected-component log loss plus its exact negative-log-prior penalty.

Read assumptions

Hypotheses are finite, all component likelihood weights are nonnegative, and the selected prior and likelihood weights are strictly positive before logarithms are compared. No sequential regret sum, stochastic calibration, or asymptotic optimality is claimed.

Read non-vacuity review

A positive selected component contributes strictly to mixture evidence, and a prior below one produces a positive finite complexity penalty rather than a vacuous zero term.

2 / 0 / 1
fep-120Bayes-Factor Multiplicativity and Model-Evidence UpdateFEPLearning Concentration And Model EvidenceFormalizedfep120_bayesFactor_multiplicative_update
Read invariant

Explicitly factorized evidence ratios multiply, and sequential model-odds updates equal one update using product evidence.

Read assumptions

Both reference evidence factors must be nonzero for multiplicativity in the real field. Evidence factorization is supplied algebraically and does not establish probabilistic independence. At a zero denominator, totalized real division returns zero rather than an infinite Bayes factor.

Read non-vacuity review

Evidence three quarters versus one quarter maps unit prior odds to three, and the separate zero-reference theorem pins the exact unsupported comparison boundary.

3 / 0 / 1
fep-121Laplace-Smoothing Error IdentityFEPFinite Sample Risk And CalibrationFormalizedfep121_laplaceError_identity
Read invariant

For a positive finite sample, add-one smoothing decomposes forecast error into contracted empirical error plus an exact target-dependent offset.

Read assumptions

The success count and sample count are natural numbers, sample count is positive, successes do not exceed it, and the target lies in the unit interval. The theorem is an algebraic identity, not a stochastic consistency or posterior-contraction result.

Read non-vacuity review

The shrinkage coefficient lies in the unit interval and the separate boundary witness in fep-122 shows that the offset can be nonzero.

2 / 0 / 1
fep-122Laplace-Smoothing Bias BoundFEPFinite Sample Risk And CalibrationFormalizedfep122_laplaceBias_abs_le
Read invariant

The absolute target-dependent Laplace offset is at most one pseudo-count divided by the smoothed sample size.

Read assumptions

The target is confined to the closed unit interval. The bound controls the deterministic smoothing offset and does not identify statistical bias under an unspecified sampling distribution.

Read non-vacuity review

At sample count two and target zero, the offset equals one quarter and is explicitly nonzero.

2 / 0 / 1
fep-123Absolute-Error Transfer through Laplace SmoothingFEPFinite Sample Risk And CalibrationFormalizedfep123_laplaceAbsoluteError_le
Read invariant

An absolute empirical-error certificate transfers through add-one smoothing with the exact shrinkage coefficient and one-pseudo-count offset.

Read assumptions

Sample count is positive, successes are bounded by it, the target is in the unit interval, and the raw empirical error already has a supplied bound. No probability tail rate is inferred in this row.

Read non-vacuity review

The source error may be positive and the smoothing offset remains visible; the theorem also proves that any supplied error upper bound is nonnegative.

2 / 0 / 1
fep-124Squared-Risk Transfer through Laplace SmoothingFEPFinite Sample Risk And CalibrationFormalizedfep124_laplaceSquaredError_le
Read invariant

Squared add-one error is bounded pointwise by twice the contracted empirical squared error plus twice the squared pseudo-count offset, and the inequality integrates under every normalized finite sampling law.

Read assumptions

Sample count is positive, each success count is bounded by it, and the target is in the unit interval. The factor-two inequality is conservative and finite-law expectation is not an asymptotic risk claim.

Read non-vacuity review

Nonzero empirical error and nonzero boundary offset both contribute to the integrated upper bound under a nondegenerate finite sampling law.

2 / 0 / 1
fep-125Bernoulli Brier Excess-Risk IdentityFEPFinite Sample Risk And CalibrationFormalizedfep125_brierExcess_eq_sqError
Read invariant

Bernoulli Brier excess risk relative to the true probability is exactly the squared forecast error.

Read assumptions

The identity is polynomial and therefore holds over real target and forecast inputs; the probability interpretation requires both to lie in the unit interval, which is supplied by downstream statistical uses.

Read non-vacuity review

A forecast unequal to the target has positive squared excess, while the self-forecast boundary has exactly zero excess.

2 / 0 / 1
fep-126Finite-Law Laplace Brier-Risk BoundFEPFinite Sample Risk And CalibrationFormalizedfep126_laplaceBrierRisk_le
Read invariant

Finite-law expected Brier excess for the add-one forecast inherits the squared-error transfer bound.

Read assumptions

Sampling uses the normalized FiniteLaw carrier, sample count is positive, success counts are bounded, and the target is in the unit interval. This is an expected finite-model inequality, not an empirical performance report.

Read non-vacuity review

A sampling law with mass on outcomes having unequal success counts produces a genuine weighted risk while retaining total mass one.

2 / 0 / 1
fep-127Concentration-Event Transfer through SmoothingFEPFinite Sample Risk And CalibrationFormalizedfep127_laplaceBadEvent_subset
Read invariant

A smoothed deviation beyond the transferred threshold is contained in the corresponding raw empirical-deviation event, so any supplied finite-law probability bound transfers monotonically.

Read assumptions

Sample count is positive, success counts are bounded, the target is in the unit interval, and a raw event-probability bound is supplied. The theorem composes with concentration results but does not derive their assumptions or rates itself.

Read non-vacuity review

The smoothed and raw events are distinct whenever the shrinkage and offset change the threshold, and the finite-law monotonicity result applies to any nonzero failure bound.

2 / 0 / 1
fep-128Observation-Contingent Policy-Tree RecursionActive InferenceClosed Loop Policy Trees And EFEFormalizedfep128_policyTreeValue_node
Read invariant

A finite policy-tree node equals its stage cost plus the observation-law weighted values of observation-contingent continuation trees.

Read assumptions

Belief, action, and observation carriers are finite and the horizon is a natural-number depth. Observation laws and deterministic belief updates are supplied by the model; no infinite-horizon or continuous-belief claim is made.

Read non-vacuity review

A successor node can choose different continuation trees after different observations, whereas the depth-zero carrier has exactly zero value.

2 / 0 / 1
fep-129Finite Policy-Tree Bellman MinimumActive InferenceClosed Loop Policy Trees And EFEFormalizedfep129_optimalTreeValue_eq_min
Read invariant

Backward induction exposes an exact finite-action Bellman minimum of stage cost plus observation-weighted optimal continuation.

Read assumptions

The action carrier is finite and nonempty, and belief and observation carriers are finite. The result is one finite-horizon recursion, not a contraction or fixed-point theorem.

Read non-vacuity review

The selected action is proved no worse than every explicit alternative at each node rather than merely being named as an argmin.

2 / 0 / 1
fep-130Optimal Finite Policy-Tree ExistenceActive InferenceClosed Loop Policy Trees And EFEFormalizedfep130_exists_optimalPolicyTree
Read invariant

Every finite-depth, finite-carrier policy-tree problem with a nonempty action set has a concrete backward-inducted tree attaining the recursive optimum.

Read assumptions

All carriers and the horizon are finite and the action carrier is nonempty. Existence does not extend to unbounded horizon, arbitrary measurable policy spaces, or continuous beliefs.

Read non-vacuity review

The witness is an actual depth-indexed tree and is compared with every other tree on the same finite carrier.

2 / 0 / 1
fep-131Open-Loop Plan Embedding into Policy TreesActive InferenceClosed Loop Policy Trees And EFEFormalizedfep131_openLoopEmbedding_value
Read invariant

Reusing the same continuation after every observation embeds an open-loop action plan into the policy-tree carrier without changing its recursive value.

Read assumptions

The comparison uses the same model, belief, and finite depth. Open-loop plans ignore observations by construction; the theorem does not identify arbitrary state-feedback policies with open-loop sequences.

Read non-vacuity review

At positive depth the embedding duplicates a common continuation across all observation branches; at depth zero both carriers reduce to their unique leaf.

2 / 0 / 1
fep-132Closed-Loop Policy-Tree Dominance over Open LoopActive InferenceClosed Loop Policy Trees And EFEFormalizedfep132_optimalTree_le_openLoop
Read invariant

The optimal observation-contingent finite policy tree is no worse than every open-loop plan embedded at the same depth.

Read assumptions

Actions are finite and nonempty, all other carriers are finite, and both sides share one finite horizon and cost model. No infinite-horizon POMDP dominance is claimed.

Read non-vacuity review

The strict Boolean witness in fep-134 demonstrates that the inequality can be strict rather than only equality under an observation-irrelevant model.

2 / 0 / 1
fep-133Treewise Expected-Free-Energy DecompositionActive InferenceClosed Loop Policy Trees And EFEFormalizedfep133_policyTree_efe_eq_risk_add_ambiguity
Read invariant

The one-step full-support expected-free-energy identity lifts through every branch of a finite policy tree, and the corresponding optimal values agree.

Read assumptions

Every belief-indexed finite generative model satisfies the maintained FullSupport contract. Belief updates and horizons are finite; the theorem transports the existing risk-plus-ambiguity identity and does not establish its empirical adequacy.

Read non-vacuity review

The induction ranges over observation-contingent continuations and the optimal-value theorem compares independently constructed minimizing trees.

2 / 0 / 1
fep-134Strict Boolean Feedback AdvantageActive InferenceClosed Loop Policy Trees And EFEFormalizedfep134_boolFeedback_strictlyBetter
Read invariant

In the explicit two-step Boolean model, observation-contingent feedback has value zero while every fixed open-loop second action has value one half.

Read assumptions

This is a finite exact counterexample on fair Boolean observations and a mismatch terminal cost. It demonstrates possible feedback advantage, not a universal quantitative gap for active-inference agents.

Read non-vacuity review

The continuation action provably differs between false and true observations and the strict gap is exactly one half.

2 / 0 / 1
fep-135Finite-Law Measure EmbeddingBayesian MechanicsFinite To Native Blanket TransferFormalizedfep135_embeddedLaw_apply_singleton
Read invariant

A normalized finite law embeds as a weighted sum of Dirac measures that preserves every singleton mass and has native measure mass one.

Read assumptions

The carrier is finite with its discrete measurable space. Finite real masses enter the native nonnegative-extended-real measure through ENNReal.ofReal; normalization and nonnegativity are inherited from FiniteLaw.

Read non-vacuity review

Any nonuniform finite law gives distinct native singleton masses while the full measure remains normalized.

2 / 0 / 1
fep-136Finite-Law Embedding Injectivity and Expectation TransferBayesian MechanicsFinite To Native Blanket TransferFormalizedfep136_embeddedLaw_injective
Read invariant

Equality of native weighted-Dirac measures reflects equality of the source finite laws, and native integration agrees exactly with the finite weighted expectation sum.

Read assumptions

The carrier is finite and discretely measurable and observables are real-valued. Finiteness supplies integrability; no general integration or measure-equivalence theorem is inferred.

Read non-vacuity review

Distinct point masses remain distinguishable by singleton evaluation and a nonconstant observable produces the same nontrivial expectation on both carriers.

2 / 0 / 1
fep-137Embedded Finite-Kernel CompositionBayesian MechanicsFinite To Native Blanket TransferFormalizedfep137_embeddedPredictive_eq_comp
Read invariant

Embedding finite prediction equals native composition of the embedded finite kernel with the embedded prior measure.

Read assumptions

Input and output carriers are finite and discretely measurable and each kernel row is normalized. The theorem is a carrier-transport identity, not a general disintegration or arbitrary-kernel approximation result.

Read non-vacuity review

A nondegenerate prior and a state-dependent finite kernel yield a genuine mixture whose native singleton masses agree with finite prediction.

1 / 0 / 1
fep-138Markov-Blanket Rectangle FactorizationBayesian MechanicsFinite To Native Blanket TransferFormalizedfep138_staticJoint_rectangle_factorization
Read invariant

Every singleton rectangle of blanket, internal, and external coordinates in the embedded static joint has the exact blanket-marginal times two conditional-mass factorization.

Read assumptions

All four carriers are finite and discretely measurable and the static model supplies normalized blanket and conditional laws. The theorem covers the discrete singleton generator and does not by itself state Mathlib conditional independence.

Read non-vacuity review

The correlated Boolean model contains two distinct positive blanket/joint atoms while retaining point-mass internal and external conditional rows.

1 / 0 / 1
fep-139Native Markov-Blanket Conditional IndependenceBayesian MechanicsFinite To Native Blanket TransferFormalizedfep139_staticJoint_condIndepFun
Read invariant

The embedded finite blanket factorization satisfies Mathlib's native CondIndepFun predicate for internal and external coordinates conditioned on the sensory-active blanket coordinate.

Read assumptions

Internal and external carriers are nonempty; all carriers are finite, standard Borel through their discrete measurable structures, and the static model supplies exact normalized factorized rows. The proof identifies authored kernels with native conditional distributions and does not infer the result from zero finite mutual information.

Read non-vacuity review

A Boolean model has two positive correlated blanket regimes and two distinct positive joint atoms; conditional independence is therefore not obtained by collapsing the whole measure to one point.

2 / 0 / 1
fep-140Conditional Independence under Measurable CoarseningBayesian MechanicsFinite To Native Blanket TransferFormalizedfep140_condIndepFun_measurableImages
Read invariant

Native blanket conditional independence is preserved under measurable images of both internal and external coordinates.

Read assumptions

The source blanket theorem retains its finite, discrete, nonempty endpoint hypotheses and both image maps are explicitly measurable. The result is Mathlib's composition law and does not cover transformations of the conditioning coordinate.

Read non-vacuity review

Identity maps recover fep-139, while noninjective measurable coarsenings can merge endpoint states without invalidating conditional independence.

1 / 0 / 1
fep-141Native Blanket-Transition ClosureBayesian MechanicsFinite To Native Blanket TransferFormalizedfep141_prediction_preserves_nativeBlanket
Read invariant

Every authored factorized transition row induces a next-state embedded law whose internal and external coordinates are natively conditionally independent given its next blanket.

Read assumptions

All carriers are finite and discretely measurable and internal and external carriers are nonempty. The theorem is rowwise for one supplied current state; arbitrary mixtures over current-state uncertainty require additional hypotheses and are not claimed.

Read non-vacuity review

A transition row may assign multiple positive next blanket regimes and nonconstant conditional endpoint laws while retaining the proved rowwise factorization.

1 / 0 / 1
fep-142Finite Exponential-Family Normalization and SupportInfo GeometryFinite Exponential Family Dual GeometryFormalizedfep142_exponentialFamily_sum_one
Read invariant

Strictly positive base weights normalize the finite scalar exponential family to a full-support probability law at every natural parameter.

Read assumptions

The outcome carrier is finite and nonempty, base weights are strictly positive, and the sufficient statistic is real valued. No arbitrary manifold or multidimensional family is claimed.

Read non-vacuity review

The maintained nonconstant three-state family supplies unequal supported masses away from zero while retaining exact normalization.

2 / 0 / 1
fep-143Affine Exponential-Family Log-Density RatioInfo GeometryFinite Exponential Family Dual GeometryFormalizedfep143_logDensityRatio_eq
Read invariant

The supported log-density ratio between two parameters is affine in the sufficient statistic with the exact log-partition difference.

Read assumptions

Finiteness, nonemptiness, and strict base-weight support make every logarithm ordinary and finite. The result is scalar and does not assert an extended-real identity at zero support.

Read non-vacuity review

A nonconstant statistic and distinct parameters produce outcome-dependent log-density ratios.

1 / 0 / 1
fep-144Finite Log-Partition GradientInfo GeometryFinite Exponential Family Dual GeometryFormalizedfep144_logPartition_hasDerivAt
Read invariant

The derivative of the finite scalar log-partition function equals the mean sufficient statistic.

Read assumptions

The proof differentiates a finite sum of positive exponential weights and uses the positive partition denominator. It makes no infinite-sum exchange or general smooth-manifold claim.

Read non-vacuity review

The three-state statistic gives a nonconstant finite log-partition function whose mean changes with the parameter.

1 / 0 / 1
fep-145Centered Exponential-Family Score IdentityInfo GeometryFinite Exponential Family Dual GeometryFormalizedfep145_score_eq_statistic_sub_mean
Read invariant

The scalar score is the sufficient statistic centered by its family mean and therefore has exactly zero expectation.

Read assumptions

The score is defined on the finite full-support exponential family. This is a natural-parameter derivative identity, not a general score-regularity theorem for arbitrary likelihoods.

Read non-vacuity review

A nonconstant statistic yields positive and negative centered scores across outcomes while their normalized weighted mean cancels exactly.

2 / 0 / 1
fep-146Log-Partition Hessian–Variance–Fisher IdentityInfo GeometryFinite Exponential Family Dual GeometryFormalizedfep146_logPartition_secondDeriv_eq_variance
Read invariant

Differentiating the log-partition mean coordinate gives statistic variance, which equals scalar Fisher information; a concrete three-state family has variance two thirds at zero.

Read assumptions

The result is the derivative of the already-proved first-derivative mean coordinate on a finite scalar family. Strict positivity is witnessed for a named nonconstant family and is not inferred for constant statistics.

Read non-vacuity review

The statistic (0,1,2) under unit base weights has variance two thirds, whereas every constant statistic has exactly zero variance and Fisher information.

4 / 0 / 1
fep-147Exponential-Family KL–Bregman IdentityInfo GeometryFinite Exponential Family Dual GeometryFormalizedfep147_exponentialFamily_KL_eq_bregman
Read invariant

Finite KL between two members of the same supported scalar exponential family equals the oriented Bregman divergence of the log-partition potential.

Read assumptions

The carrier is finite and nonempty and strict base support supplies the logarithmic KL identity. The project finiteKL convention is totalized, but this theorem stays inside its ordinary full-support regime.

Read non-vacuity review

The companion three-state family has Fisher variance 2/3 at zero while the constant-statistic family has zero variance, so the underlying carrier has both curved and degenerate instances. Equal parameters give the zero-KL boundary by the shared finite-KL separation theorem; this row does not add a separate strict-KL witness for unequal parameters.

2 / 0 / 1
fep-148Natural-to-Mean Coordinate InjectivityInfo GeometryFinite Exponential Family Dual GeometryFormalizedfep148_meanParameter_strictMono
Read invariant

Positive statistic variance throughout a closed interval makes the natural-to-mean coordinate map strictly monotone and injective there.

Read assumptions

Variance positivity is an explicit interval premise. The theorem is local to a stated scalar interval and does not assert global dual-flat coordinates or positivity for degenerate statistics.

Read non-vacuity review

The three-state family supplies a strictly positive variance point, while the constant-statistic boundary shows why the positivity premise matters.

2 / 0 / 1
fep-149Two-State Continuous-Time Markov KernelThermodynamicsTwo State Continuous Time ThermodynamicsFormalizedfep149_twoStateSemigroup_rowSum
Read invariant

Positive two-state rates define a nonnegative transition matrix with every row summing to one for nonnegative time.

Read assumptions

The state carrier is Boolean, both rates are strictly positive, and time is nonnegative. This is an exact two-state kernel rather than a general continuous-time Markov-chain construction.

Read non-vacuity review

The benchmark rates seven tenths and three tenths give decay rate one and a nonuniform stationary law.

3 / 0 / 1
fep-150Continuous-Time Identity at ZeroThermodynamicsTwo State Continuous Time ThermodynamicsFormalizedfep150_twoStateSemigroup_zero
Read invariant

The exact two-state continuous-time transition matrix is the identity at time zero.

Read assumptions

Both rates remain strictly positive through the maintained rate structure. The equality is entrywise on the Boolean carrier.

Read non-vacuity review

Diagonal entries equal one and off-diagonal entries equal zero, so the result distinguishes all four transition entries.

1 / 0 / 1
fep-151Two-State Chapman–Kolmogorov SemigroupThermodynamicsTwo State Continuous Time ThermodynamicsFormalizedfep151_twoStateSemigroup_add
Read invariant

The exact two-state transition matrices satisfy the Chapman–Kolmogorov additive semigroup law entrywise.

Read assumptions

Both times are nonnegative and rates are strictly positive. Composition is the finite Boolean matrix sum and no path-space or general generator existence theorem is inferred.

Read non-vacuity review

Positive unequal rates and positive times produce nonidentity kernels whose matrix product still equals the transition at summed time.

1 / 0 / 1
fep-152Two-State Continuous-Time Master EquationThermodynamicsTwo State Continuous Time ThermodynamicsFormalizedfep152_twoStateSemigroup_hasDerivAt
Read invariant

Every transition entry is differentiable and its derivative equals both the generator-times-transition and transition-times-generator finite sums.

Read assumptions

The generator and transition matrices are the maintained explicit Boolean formulas. This proves the forward and backward master equations for one two-state semigroup, not a general CTMC existence theorem.

Read non-vacuity review

Positive unequal rates give nonzero off-diagonal derivatives away from stationarity and exercise both left and right generator products.

1 / 0 / 1
fep-153Continuous-Time Stationarity and Detailed BalanceThermodynamicsTwo State Continuous Time ThermodynamicsFormalizedfep153_twoStateSemigroup_stationary
Read invariant

The explicit stationary law is invariant under every nonnegative-time transition and satisfies detailed balance entrywise.

Read assumptions

Both rates are strictly positive and time is nonnegative. Reversibility is proved only for this exact two-state family and does not cover driven or nonequilibrium generators.

Read non-vacuity review

Unequal benchmark rates produce a nonuniform stationary law while still balancing the two opposing fluxes.

2 / 0 / 1
fep-154Exact Two-State Exponential RelaxationThermodynamicsTwo State Continuous Time ThermodynamicsFormalizedfep154_twoStateRelaxation_exact
Read invariant

The true-state mass of any initial Boolean law relaxes toward stationarity by the exact factor exp(-(a+b)t).

Read assumptions

Rates are positive, time is nonnegative, and prediction uses the explicit two-state transition. This is exact finite-state relaxation, not a mixing theorem for arbitrary chains.

Read non-vacuity review

The benchmark point mass differs from the nonuniform stationary law, so the decaying deviation starts nonzero.

2 / 0 / 1
fep-155Exact Two-State Quadratic Lyapunov DecayThermodynamicsTwo State Continuous Time ThermodynamicsFormalizedfep155_twoStateLyapunov_exact
Read invariant

Squared deviation from stationarity decays by exp(-2(a+b)t), and its exact derivative is minus twice the decay rate times the Lyapunov value.

Read assumptions

The Lyapunov function is the scalar square of the true-state mass deviation for the explicit two-state semigroup. It is not a general entropy-production or physical free-energy theorem.

Read non-vacuity review

The benchmark nonstationary point mass has a strictly negative Lyapunov derivative at time zero.

3 / 0 / 1
fep-156Planning as Inference: the EFE Policy-Selection BridgeActive InferenceStandalone EFE FormalizationsFormalizedfep156_boltzmann_control_posterior_minimizes_efe
Read invariant

On a finite policy carrier with fixed precision, the KL-regularized control objective (expected EFE plus inverse-precision KL to the prior) is minimized exactly by the Boltzmann control posterior proportional to prior * exp(-gamma * G); the minimized value is -gamma^-1 log Z, the EFE splits as risk plus ambiguity, and the finite and treewise argmin views agree.

Read assumptions

The bridge is a finite-carrier Gibbs/Donsker-Varadhan statement about the EFE control objective; it is not a general planning algorithm or a continuous-action result, and the policy-tree agreement is restricted to the treewise value surface of the policy_tree module.

Read non-vacuity review

The finite argmin exists and attains the closed-form Boltzmann value -gamma^-1 log Z for nonempty policy sets.

9 / 0 / 1
fep-157The Perception-Action Loop as a Closed-Loop Active-Inference TheoremActive InferenceStandalone EFE FormalizationsFormalizedfep157_loop_invariant_surprisal_bound
Read invariant

Each closed-loop perception-action step is non-increasing in belief surprisal: the step's KL splits exactly into predictive and posterior parts, prediction contracts the predictive distribution (Dobrushin), and the loop invariant bounds surprisal by its initial value plus accumulated expected free energy; the loop's fixed point is the Boltzmann control posterior and equals the policy posterior of the control-as-inference view.

Read assumptions

The loop is a finite-state kernel composition; positivity statements assume full-support likelihoods and supporting posteriors, and the contraction is the finite Dobrushin-coefficient statement, not a continuous-state or neural-implementation claim.

Read non-vacuity review

The strict step-wise KL decrease holds on the full-likelihood witness kernels, and at the fixed point the loop posterior coincides with the Boltzmann control posterior.

13 / 0 / 1
fep-158Bayesian Model ReductionActive InferenceStandalone EFE FormalizationsFormalizedfep158_reduction_free_energy_monotone
Read invariant

Masking evidence never lowers the model evidence: the reduced model's evidence free energy dominates the full model's, the reduced posterior obeys the multiplicative Bayes-odds law with the evidence weight and reconstructs the full posterior through the evidence ratio, and the Gibbs-certificate excess over the optimizer is exactly the KL divergence to it.

Read assumptions

The reduction statements hold for finite measure spaces with the pinned Donsker-Varadhan duality; the Gaussian log Bayes factor is stated in the pinned natural chart of the information-geometry module and is not a generic asymptotic model-selection claim.

Read non-vacuity review

The masked predictive is bounded by the full evidence, and the reduced posterior reconstructs the full posterior exactly through the evidence ratio.

10 / 0 / 1
fep-159EFE and Entropy-Production Time-Scale SeparationActive InferenceStandalone EFE FormalizationsFormalizedfep159_epistemic_gain_bounded_by_affinity
Read invariant

The two-state belief information gap is bounded by the entropy-production rate scaled by the relaxation time (gain at most production/decay), the evolved gap contracts to the invariant measure no slower than the relaxation timescale, the one-slice path-space entropy production equals (1 - rho) * sigma / decay, and under the 1/eps rate scaling the evolved gain after any fixed positive action time vanishes.

Read assumptions

All statements are for the explicit two-state continuous-time semigroup and its scaled one-parameter family; the slice-path identity is the one-slice restriction of the path-thermodynamics production, not a general path-space theorem. The ness_flow import is an orphan-adoption marker with no mathematical dependence.

Read non-vacuity review

The bound is attained by the stationary law for the benchmark rates, and the fast-relaxation limit exhibits the vanishing exactly.

9 / 0 / 1
fep-160Helmholtz–Ao Decomposition of Nonequilibrium Steady CurrentsActive InferenceStandalone EFE FormalizationsFormalizedfep160_aoDecomposition
Read invariant

On a finite state space with a full-support stationary law, every rate field decomposes exactly into a reversible part (detailed-balanced relative to the law) plus a circulation part (skew in the law-weighted sense); the stationary edge current equals twice the law-weighted circulation part, the reversible part carries no current, removing the circulation part is exactly detailed balance, the log-affinity splits into the Ao-potential drop plus the skew force, stationarity makes the node divergence of the stationary current vanish, and the directed three-cycle witness is stationary, divergence-free, and circulating.

Read assumptions

All statements are finite-carrier algebra: the Ao potential is the pointwise -log p* mass field and is deliberately distinct from the thermodynamic Helmholtz free energy of fep-013; the continuum Fokker-Planck equation, a state-dependent diffusion matrix field, and SDE noise are not formalized. Stationarity and the probability current reuse the established FEP.ContinuousTimeMarkov generator contract.

Read non-vacuity review

The decomposition is unconditional for every rate field under the full-support hypothesis, and the directed three-cycle exhibits a genuine NESS whose circulation part is 1/2 at the forward edge.

13 / 3 / 1
fep-161Skew Bilinear Cancellation of the Trace and Quadratic TermsThermodynamicsGeometric Mechanics NotationFormalizedfep161_skewTrace_eq_zero
Read invariant

A skew-symmetric matrix contracted against a symmetric matrix has zero trace, and a skew-symmetric matrix annihilates its own quadratic form: the two algebraic cancellations behind the manuscript's solenoidal expansion, holding unconditionally on the stated symmetry hypotheses.

Read assumptions

Plain finite real matrices indexed by Fin n with explicit pointwise symmetry hypotheses; no continuum Hessian, no smoothness structure, and no numerical witness is claimed.

Read non-vacuity review

Both cancellations are exact identities on their hypothesis classes, witnessed by any nonzero skew matrix against a nonzero symmetric one.

2 / 0 / 1
fep-162The Discrete Hessian as a Symmetrization ConstructionThermodynamicsGeometric Mechanics NotationFormalizedfep162_skewTrace_symmetrize_eq_zero
Read invariant

Symmetrization of raw mixed-difference data constructs a symmetric discrete Hessian (the finite Clairaut property as a construction), the trace cancellation holds against the constructed matrix with no hypothesis on the raw data, and on already-symmetric data the construction is the identity.

Read assumptions

The construction replaces the continuum Clairaut theorem by finite algebra; it does not claim differentiability, a continuum Hessian, or convergence of mixed-difference quotients.

Read non-vacuity review

The symmetrized matrix is symmetric for every input and coincides with the given matrix exactly on the symmetric subclass.

3 / 0 / 1
fep-163The Three-Term Solenoidal Expansion and Its Conditional DropThermodynamicsGeometric Mechanics NotationFormalizedfep163_solenoidal_expansion
Read invariant

The weighted divergence of the candidate current decomposes exactly into the trace slot, the transport-divergence slot, and the density coupling slot; under the stationary coupling the identity reads tr(Q H) - g^T Q g + (div Q)^T g; both cancellable terms die on the skew and symmetric hypotheses, and the remaining drop holds only under an explicit extra hypothesis (orthogonality or spatially constant Q), with a concrete remainder datum where it does not.

Read assumptions

Directional derivative data is explicit (H for the Hessian slot, DQ for the transport-divergence slot); the coupling is an explicit hypothesis, not a solved PDE; the weighted divergence is defined by the exact Leibniz decomposition rather than a discretization of Fokker-Planck.

Read non-vacuity review

The remainder witness evaluates to exactly 1 on concrete two-direction derivative data, so the unconditional drop is not vacuously unreachable.

5 / 1 / 1
fep-164Graph Divergence of the Candidate Solenoidal CurrentThermodynamicsGeometric Mechanics NotationFormalizedfep164_graphDecomposition
Read invariant

On a finite node set the node divergence of the skew transport field is twice its row sum; the node divergence of the edge current splits into the transport slot plus the discrete-divergence slot; and the weighted node divergence obeys an exact Leibniz rule whose p-residual does not vanish by skewness alone.

Read assumptions

Edge fields are plain real matrices with the flux convention W i j = flux i to j; the weighted statements assume a strictly positive density; no continuum graph limit or first-order asymptotic identification is claimed.

Read non-vacuity review

The decomposition and the Leibniz rule are exact on every finite node set, and the residual term is generically nonzero by nodeDiv_skew.

4 / 0 / 1
fep-165Necessity Witness for the Unconditional Solenoidal DropThermodynamicsGeometric Mechanics NotationFormalizedfep165_witness_drop_fails
Read invariant

For the exact 2-node transport matrix [[0,1],[-1,0]] and gradient (1,0) the candidate current is (0,-1), the discrete divergence of the transport field is (2,-2), the node divergence of the current is (1,-1), and in particular equals 1 at node 0: the unconditional solenoidal drop is false, and neither the orthogonality nor the constant-Q hypothesis is available on this witness.

Read assumptions

A concrete finite counterexample only; it shows the manuscript's honesty guard is necessary rather than decorative and claims nothing about systems satisfying the extra hypotheses of fep-163.

Read non-vacuity review

The witness evaluates to exactly 1 at node 0, refuting the unconditional drop on its exact hypothesis class.

5 / 0 / 1
fep-166Uniqueness of the Law-Weighted Reversible/Circulation SplitActive InferenceStandalone EFE FormalizationsFormalizedfep166_split_unique
Read invariant

Any competing pair S, A with W = S + A, p-weighted reversibility of S and p-weighted skewness of A coincides pointwise with the canonical symmetricPart and circulationPart of the rate field; the reversible boundary is in uniqueness form (a p-reversible field has the split (W, 0)), and on the concrete two-state datum the constraint-satisfying split is the canonical one with genuinely nonzero forward circulation 1/2 and strictly negative reverse entry -1/4.

Read assumptions

Positivity of the finite law is the only analytic input and licenses the divisions; no stationarity hypothesis, no generator contract, and no nonnegativity claim for the circulation part enter the statements.

Read non-vacuity review

The t-0060 datum with weight law p = (1/3, 2/3) and rate entries 1, 5/2, 3/4, and -1 satisfies every constraint clause, its split is forced to be the canonical one, and the circulation entries 1/2 and -1/4 are computed exactly, so the uniqueness characterization is exercised on nontrivial data.

7 / 0 / 1
fep-167Frobenius Least-Squares Projection of the SymmetrizerThermodynamicsGeometric Mechanics NotationFormalizedfep167_frobenius_pythagoras
Read invariant

For symmetric S the squared Frobenius norm splits exactly as ||H - S||^2 = ||H - symmetrize H||^2 + ||symmetrize H - S||^2, the symmetrizer minimizes the squared distance among symmetric matrices with equality exactly at the symmetrizer, the symmetric minimizer is unique, and the concrete nonsymmetric datum [[0,1],[0,0]] carries residual exactly 1/2.

Read assumptions

Matrix projection only, no differentiability, no continuum Clairaut theorem, no Bregman-projection existence/uniqueness claim.

Read non-vacuity review

The residual example evaluates to exactly 1/2 on nonsymmetric data, and symmetric data attains the zero residual exactly at the symmetrizer, so both the strict and the degenerate boundary are realized.

4 / 0 / 1
fep-168Quantitative Control of the Uncancelled Divergence RemainderThermodynamicsGeometric Mechanics NotationFormalizedfep168_weightedDivergence_eq_remainderDot
Read invariant

On the fep-163 carrier the weighted divergence equals dot (divQ DQ) g under the cancellation hypotheses, the squared Cauchy-Schwarz budget (weightedDivergence)^2 <= (sum r_i^2)(sum g_i^2) bounds the uncancelled remainder with its abs-product corollary, and equality is attained on aligned nonzero data with norm(g)^2 = 1.

Read assumptions

Quantitative budget on the fep-163 finite derivative-data carrier; the coupling hypothesis is sufficient-not-necessary (slot = dot(Qg, dlogp)); no PDE-discretization or entropy-production claim.

Read non-vacuity review

The aligned datum Q = [[0,1],[-1,0]], H = diag(1, 2), DQ with divQ (1, 0), and g = (1, 0) attains the budget with equality, while the pinned remainderG = (1, 1) datum is strict with gap 1, so both the equality and the strict boundary are realized.

4 / 0 / 1
Exact authored relation table · 150 relations

Complete relation cards show rationale and exact witnesses.

All 150 authored scientific relations; relation kind filtering applies here.
SourceKindTargetRationaleExact witness
fep-002Formalfep-014The composed theorem expands fep-002 variational free energy by invoking fep-014's composition-product KL chain rule.FEPComposed.fep002_vfe_compProd_chain_rule
fep-003Formalfep-021The composed theorem feeds fep-003's discounted ENNReal pragmatic cost directly into fep-021's EFE convention and proves the exact epistemic balance.FEPComposed.fep003_pragmaticCost_efe_balance
fep-004Formalfep-038The composed theorem specializes fep-004's finite positive-weight Fisher metric to the one-coordinate Bernoulli information weight computed by fep-038. Reviewed 2026-09-22 against the primary-qualified endpoint rule. The witness carries both endpoints through their Fisher-metric definitions (`fep_fep004.FEP004.fep004_fisherMetric`, `fep_fep038.FEP038.fep038_fisherMetric`) without invoking either topic's reviewed theorems; the row stands unchanged.FEPComposed.fep004_bernoulliMetric_specialization
fep-005Conceptualfep-009The finite blanket foundation proves a normalized conditional factorization and ties each transition row to it, but neither theorem consumes fep-005's finite partition declarations or fep-009's measure-theoretic conditional-independence declarations. A formal cross-topic edge awaits an explicit carrier bridge.—
fep-007Formalfep-028With unit incoming messages and factor exp(-gamma * cost), fep-007's normalized sum-product message equals fep-028's support-aware softmax on the support embedded from the eight nodes into the ten policies, and fep-007's primary message-normalization theorem derives the unit sum of that softmax. The embedding and the exponential factor are explicit in the witness; no general belief-propagation or free-energy claim is made. Added 2026-10-08 (LEAN-8, issue 106).FEPComposed.fep007_normalizedMessage_is_fep028_softmax
fep-008Conceptualfep-028Finite argmin existence and finite softmax normalization represent deterministic and stochastic policy-selection layers.—
fep-011Formalfep-026The composed theorem identifies self-information and scalar prior complexity as the same negative-log functional, fixing their shared sign convention.FEPComposed.fep026_priorComplexity_is_fep011_surprise
fep-012Formalfep-028The composed theorem supplies fep-012's entropy-regularized policy objective with fep-028's globally normalized unit-interval softmax law. Reviewed 2026-09-22 against the primary-qualified endpoint rule. The witness carries fep-028 through its reviewed supporting theorems `fep_fep028.FEP028.fep028_softmax_nonneg` and `fep_fep028.FEP028.fep028_softmax_le_one` rather than the primary `fep_fep028.FEP028.fep028_softmax_sum_univ`; the row stands unchanged.FEPComposed.fep012_softmax_entropyRegularizedCost_le
fep-013Conceptualfep-002Relating Helmholtz and variational free energy requires an explicit energy map and scaling beyond either current scalar definition.—
fep-013Formalfep-040The composed theorem instantiates the equilibrium Helmholtz derivative law with fep-040's Gaussian thermal entropy and the compatible internal energy U(T)=T/2.FEPComposed.fep013_gaussianHelmholtz_derivative
fep-016Conceptualfep-032A nonnegative quadratic residual and a scalar descent contraction are complementary local pieces of a quadratic optimization argument.—
fep-017Conceptualfep-045The native posterior-kernel laws provide normalized Bayesian semantics, while fep-045 must still prove closure of a named conjugate family.—
fep-021Formalfep-041The composed theorem inserts fep-041's native KL information gain into fep-021's ENNReal EFE convention and proves the exact epistemic balance.FEPComposed.fep021_informationGain_balance
fep-022Formalfep-027The composed theorem realizes the posterior-predictive kernel as a hierarchical child kernel and identifies its marginal with sequential prediction.FEPComposed.fep022_predictive_is_hierarchical_marginal
fep-024Formalfep-014The composed theorem identifies fep-024's weighted regularizer with fep-014's native measure-valued KL divergence and its nonnegativity law.FEPComposed.fep024_regularizer_is_fep014_kl
fep-025Formalfep-049The composed theorem feeds fep-025's antisymmetric probability-current field into fep-049's nonnegative linear-resistance entropy-production law. Reviewed 2026-09-22 against the primary-qualified endpoint rule. The witness carries fep-049 through its reviewed supporting theorem `fep_fep049.FEP049.fep049_entropyProduction_nonneg` rather than the primary `fep_fep049.FEP049.fep049_entropyProduction_eq_zero_iff`; the row stands unchanged.FEPComposed.fep025_current_dissipation_nonneg
fep-027Formalfep-019The composed theorem identifies fep-027's child marginal with fep-019's prior-predictive measure-kernel composition.FEPComposed.fep027_priorPredictive_is_fep019
fep-029Conceptualfep-044The explicit quadratic Bregman instance and the alpha-divergence proxy are neighboring but mathematically distinct divergence families.—
fep-029Formalfep-104fep-029's scalar quadratic Bregman divergence is the one-coordinate instance of the generic Bregman divergence of fep-104 with potential v0^2 and gradient 2*v0, and fep-104's mirror-descent three-point identity yields the scalar three-point law for it. Scalar case only; no claim about other potentials or the alpha-divergence proxy. Added 2026-10-08 (LEAN-8, issue 106).FEPComposed.fep029_quadraticBregman_is_fep104_scalar_instance
fep-030Conceptualfep-031A general constrained maximum-entropy derivation of Gibbs laws remains outside the binary zero-inverse-temperature theorem.—
fep-031Formalfep-030The composed theorem rewrites the binary Gibbs law at zero inverse temperature to one half and invokes fep-030's entropy equality characterization.FEPComposed.fep031_zeroBeta_binary_maxEntropy
fep-032Formalfep-043The composed theorem identifies a gradient step on fep-043's exact quadratic landscape with fep-032's globally convergent centered update at effective step size 2aη.FEPComposed.fep032_update_is_fep043_gradientStep
fep-034Conceptualfep-047The normalized one-step kernel filter and the finite sum-product forward message occupy adjacent exact-inference layers.—
fep-034Formalfep-017The composed theorem identifies the transition-observation filter with fep-017's native posterior at the transition-predicted prior.FEPComposed.fep034_filter_is_fep017_posterior
fep-036Formalfep-045The composed theorem feeds fep-036's interior smoothed count estimate into fep-045's exact normalized conjugate update. Reviewed 2026-09-22 against the primary-qualified endpoint rule. The witness carries fep-036 through its reviewed supporting theorems `fep_fep036.FEP036.fep036_smoothedRate_pos` and `fep_fep036.FEP036.fep036_smoothedRate_lt_one` rather than the primary `fep_fep036.FEP036.fep036_smoothedRate_tendsto_of_empiricalRate`; the row stands unchanged.FEPComposed.fep036_empiricalPosterior_closed
fep-037Formalfep-020The composed theorem identifies fep-037's autocorrelation mode with the exact deviation mode of fep-020's normalized two-state Markov evolution.FEPComposed.fep037_autocorrelation_tracks_fep020
fep-038Formal Pairingfep-018The composed theorem couples fep-038's positive Bernoulli Fisher tangent metric to fep-018's separating Fisher--Rao coordinate distance. Reviewed 2026-09-22 against the primary-qualified endpoint rule. The witness carries fep-038 through its reviewed supporting theorem `fep_fep038.FEP038.fep038_fisherMetric_pos` rather than the primary `fep_fep038.FEP038.fep038_fisherInformation_eq`; the row stands unchanged.FEPComposed.fep038_fisherRao_separation
fep-039Formalfep-005The composed theorem aggregates state energies over fep-005's four unique partition fibres and proves that fep-039's local-energy sum conserves total state energy.FEPComposed.fep039_partitionEnergy_conservation
fep-041Formalfep-014The composed theorem identifies fep-041 information gain with the native KL divergence and invokes fep-014's finite-measure separation law.FEPComposed.fep041_informationGain_is_fep014_kl
fep-042Formalfep-036The composed theorem uses fep-042's success count to construct fep-036's smoothed empirical prior before conjugate updating. Reviewed 2026-09-22 against the primary-qualified endpoint rule. The witness carries fep-036 through its reviewed supporting theorems `fep_fep036.FEP036.fep036_smoothedRate_pos` and `fep_fep036.FEP036.fep036_smoothedRate_lt_one` rather than the primary `fep_fep036.FEP036.fep036_smoothedRate_tendsto_of_empiricalRate`; the row stands unchanged.FEPComposed.fep036_empiricalPosterior_closed
fep-046Formalfep-045A single stick-breaking fraction is the Bernoulli law of fep-045 (allocated weight is the true mass, residual is the false mass), and fep-046's mass-conservation theorem derives the normalization of fep-045's conjugate posterior mass function at the posterior parameter. One break only; no Dirichlet-process or infinite-series claim. Added 2026-10-08 (LEAN-8, issue 106).FEPComposed.fep046_single_break_is_fep045_bernoulli
fep-050Formalfep-049Discharging fep-050's second-law premise with fep-049's nonnegative quadratic entropy production derives the Landauer work bound. The identification of the erasure's total entropy change with the constitutive-law entropy production is an explicit premise (`hBalance`) of the witness, a modelling assumption rather than a consequence of either topic. Added 2026-10-08 (LEAN-8, issue 106).FEPComposed.fep050_landauer_work_bound_from_fep049_entropy_production
fep-051Formal Pairingfep-017Radon--Nikodym reconstruction and posterior joint reconstruction are the measure-level reconstruction laws on either side of Bayesian inversion.FEPComposed.fep051_rn_reconstruction_refines_fep017
fep-052Formal Pairingfep-017On a countable latent carrier, both topic surfaces certify the same predictive-almost-everywhere likelihood-ratio representation.FEPComposed.fep052_posterior_tilt_is_fep017_posterior
fep-053Formal Pairingfep-017Kernel Bayes and fep-017 reconstruct the same swapped joint law, with the new topic keeping the native posterior notation visible.FEPComposed.fep053_joint_reconstruction_extends_fep017
fep-054Formal Pairingfep-017Native double Bayesian inversion recovers the original likelihood almost everywhere, while the fep-017 posterior recovers the prior after a Markov likelihood; the pairing keeps these two sides of involution distinct.FEPComposed.fep054_involution_of_fep017_posterior
fep-055Formal Pairingfep-019Composite Bayesian inversion uses exactly the chronological predictive law identified by fep-019's measure--kernel associativity theorem.FEPComposed.fep055_composite_inversion_uses_fep019
fep-056Formal Pairingfep-017Standard-Borel disintegration reconstructs its joint, while fep-017 certifies the corresponding posterior reconstruction for an arbitrary finite likelihood model.FEPComposed.fep056_disintegration_supplies_fep017
fep-057Formal Pairingfep-015The conditional-expectation tower integrates any integrable observable; fep-015 supplies measurability for its canonical variational integrand.FEPComposed.fep057_tower_integrates_fep015
fep-058Formal Pairingfep-001The finite Gibbs lower bound and fep-001's native KL upper bound expose the same nonnegative-gap architecture without equating their scalar carriers.FEPComposed.fep058_gibbs_gap_is_fep001_kl
fep-059Formal Pairingfep-001Equality in the finite Donsker--Varadhan bound and zero native KL each separate the relevant optimizer, with their distinct support regimes visible.FEPComposed.fep059_dv_equality_is_fep001_exactness
fep-060Formalfep-002The coordinate decomposition supplies the nonnegative remainder required by fep-002 and therefore turns the finite joint ELBO into an actual bound.FEPComposed.fep060_coordinate_elbo_refines_fep002
fep-061Formal Pairingfep-014Finite mean-field optimality and measure-native KL exactness are recorded together while preserving their intentionally different zero-mass semantics.FEPComposed.fep061_meanField_gap_is_fep014_kl
fep-062Formal Pairingfep-035The fixed-sample IWAE inequality and fep-035's strict two-point Jensen law expose respectively the weak and strict finite logarithmic boundaries.FEPComposed.fep062_iwae_jensen_uses_fep035
fep-063Formal Pairingfep-014Finite-channel contraction is paired with the native nonnegativity of the pre-channel KL quantity; no unsupported finite-to-measure identification is introduced.FEPComposed.fep063_channel_dpi_bounds_fep014
fep-064Formal Pairingfep-041Rate--distortion weak duality is accompanied by the measure-native nonnegativity law for the mutual-information ingredient's KL semantics.FEPComposed.fep064_rateDistortion_uses_fep041_mutualInformation
fep-065Formal Pairingfep-023Controlled transition rows and every reachable policy law obey their respective normalization contracts.FEPComposed.fep065_controlledKernel_extends_fep023_normalization
fep-066Formal Pairingfep-034A finite action-conditioned update reconstructs its predicted joint, while the native fep-034 filter reconstructs the corresponding measure joint.FEPComposed.fep066_action_update_refines_fep034_filter
fep-067Formal Pairingfep-023Reachable-belief reduction preserves policy value, alongside the original set-level witness that an available policy has a reachable law.FEPComposed.fep067_reachableBelief_refines_fep023
fep-068Formal Pairingfep-033The finite positive-temperature theorem supplies a positive partition, exact soft Bellman successor recursion, and actionwise soft-value bound; it is paired with the original transition-aware Bellman successor equation without claiming carrier equivalence.FEPComposed.fep068_softBellman_extends_fep033
fep-069Formal Pairingfep-031A desirability backup combines a normalized passive prediction with the strictly positive Gibbs weight certified by fep-031.FEPComposed.fep069_desirability_combines_fep031_weights
fep-070Formal Pairingfep-028The prior-weighted control posterior and the original support-aware softmax are both exactly normalized finite action selectors. Reviewed 2026-09-22 against the primary-qualified endpoint rule. The witness carries fep-028 through its reviewed supporting theorem `fep_fep028.FEP028.fep028_softmax_probs_sum_one` rather than the primary `fep_fep028.FEP028.fep028_softmax_sum_univ`; the row stands unchanged.FEPComposed.fep070_controlPosterior_refines_fep028_softmax
fep-071Formal Pairingfep-033Sophisticated EFE and the original Bellman value each recompute a continuation at the successor horizon; only the former conditions on future observations.FEPComposed.fep071_sophisticatedEFE_extends_fep033
fep-072Formal Pairingfep-034The finite forward-filter atom reconstruction and the native fep-034 joint reconstruction record the same predict-then-condition architecture.FEPComposed.fep072_forward_filter_refines_fep034
fep-073Formal Pairingfep-047Backward information recursion and the original sum-product composition law jointly certify temporal message composition in their native carriers.FEPComposed.fep073_backward_message_composes_fep047
fep-074Formal Pairingfep-034Finite forward--backward smoothing reconstructs its weighted atom while the native fep-034 posterior reconstructs the predicted observation joint.FEPComposed.fep074_smoothing_reconstructs_fep034_filter
fep-075Formal Pairingfep-034Positive-normalizer finite smoothing and every native fep-034 posterior fiber each carry exactly unit mass.FEPComposed.fep075_smoothing_normalization_extends_fep034
fep-076Formal Pairingfep-028A prior-weighted variational state update and the original finite softmax both produce normalized exponential-tilt laws. Reviewed 2026-09-22 against the primary-qualified endpoint rule. The witness carries fep-028 through its reviewed supporting theorem `fep_fep028.FEP028.fep028_softmax_probs_sum_one` rather than the primary `fep_fep028.FEP028.fep028_softmax_sum_univ`; the row stands unchanged.FEPComposed.fep076_variational_update_refines_fep028_softmax
fep-077Formal Pairingfep-027Finite two-level predictive composition and native three-level composition both expose the same associativity seam without conflating their carriers.FEPComposed.fep077_hierarchical_predictive_extends_fep027
fep-078Formal Pairingfep-019Finite Bayesian model averaging and native sequential prediction each make their mixture/composition law explicit.FEPComposed.fep078_model_average_composes_fep019
fep-079Formal Pairingfep-009Finite blanket factorization is characterized by zero conditional mutual information, while fep-009 supplies the nonnegative product-mass primitive. Reviewed 2026-09-22 against the primary-qualified endpoint rule. The witness carries fep-009 through its reviewed supporting theorem `fep_fep009.FEP009.fep009_joint_product_nonneg` rather than the primary `fep_fep009.FEP009.fep009_condIndep_symm`; the row stands unchanged.FEPComposed.fep079_blanket_cmi_refines_fep009
fep-080Formal Pairingfep-019Mixing a shared finite conditional law commutes with joint formation, alongside fep-019's native sequential-prediction associativity.FEPComposed.fep080_shared_mixture_preserves_fep019_prediction
fep-081Formal Pairingfep-009Coupled blankets retain zero conditional mutual information within each conditional row, together with fep-009's product-mass nonnegativity. Reviewed 2026-09-22 against the primary-qualified endpoint rule. The witness carries fep-009 through its reviewed supporting theorem `fep_fep009.FEP009.fep009_joint_product_nonneg` rather than the primary `fep_fep009.FEP009.fep009_condIndep_symm`; the row stands unchanged.FEPComposed.fep081_coupled_blanket_composes_fep009
fep-082Formal Pairingfep-023Every hard intervention row is normalized, as is every reachable law under the original fep-023 normalization premise.FEPComposed.fep082_intervention_normalization_extends_fep023
fep-083Formal Pairingfep-009Ordered intervention preserves the named non-descendant marginal; fep-009 simultaneously records monotonicity for any nested measurable events. Reviewed 2026-09-22 against the primary-qualified endpoint rule. The witness carries fep-009 through its reviewed supporting theorem `fep_fep009.FEP009.fep009_likelihood_mono` rather than the primary `fep_fep009.FEP009.fep009_condIndep_symm`; the row stands unchanged.FEPComposed.fep083_intervention_invariance_refines_fep009
fep-084Formal Pairingfep-027The finite ordered four-node density and the native three-level hierarchy both expose their complete product factorization.FEPComposed.fep084_ordered_factorization_extends_fep027
fep-085Formal Pairingfep-009The ordered finite carrier yields zero local mutual information at positive evidence, while fep-009 supplies an inhabited native conditional-independence boundary against the trivial sigma algebra. Reviewed 2026-09-22 against the primary-qualified endpoint rule. The witness carries fep-009 through its reviewed supporting theorem `fep_fep009.FEP009.fep009_condIndep_bot_right` rather than the primary `fep_fep009.FEP009.fep009_condIndep_symm`; the row stands unchanged.FEPComposed.fep085_local_markov_refines_fep009
fep-086Formal Pairingfep-016Precision energy is nonnegative both in the predictive-coding definition and in fep-016's unhalved weighted-quadratic primitive.FEPComposed.fep086_precision_energy_refines_fep016
fep-087Formal Pairingfep-039A hierarchical prediction-error sum decomposes by level, while fep-039 certifies additivity of a four-block global free energy.FEPComposed.fep087_hierarchical_energy_extends_fep039
fep-088Formal Pairingfep-043The predictive-error derivative and fep-043's quadratic derivative are the same scalar geometry at curvature `precision / 2`.FEPComposed.fep088_prediction_gradient_extends_fep043
fep-089Formal Pairingfep-006Finite-jet shifts satisfy their native additive law and instantiate fep-006's generic discrete-flow semigroup under one-degree shifting.FEPComposed.fep089_finite_jet_shift_specializes_fep006
fep-090Formal Pairingfep-043A generalized-filter correction exposes its shift-minus-gradient equation; the same coordinate gradient is backed by fep-043's exact quadratic derivative.FEPComposed.fep090_generalized_correction_combines_fep043
fep-091Formal Pairingfep-016Precision modulation is monotone in the predictive energy and specializes fep-016's nonnegative weighted quadratic at the lower precision.FEPComposed.fep091_precision_modulation_refines_fep016
fep-092Formal Pairingfep-032On the shared stability interval, predictive error tends to zero and the equivalent centered quadratic iteration from fep-032 tends to its target.FEPComposed.fep092_quadratic_convergence_specializes_fep032
fep-093Formal Pairingfep-010The supported forward/reverse ratio reconstructs path mass, while the identity kernel supplies the original catalogue's concrete reversibility witness on an arbitrary measure carrier.FEPComposed.fep093_path_ratio_extends_fep010_reversal
fep-094Formal Pairingfep-049Path entropy production is exactly finite KL, alongside the original nonnegative quadratic entropy-production certificate. Reviewed 2026-09-22 against the primary-qualified endpoint rule. The witness carries fep-049 through its reviewed supporting theorem `fep_fep049.FEP049.fep049_entropyProduction_nonneg` rather than the primary `fep_fep049.FEP049.fep049_entropyProduction_eq_zero_iff`; the row stands unchanged.FEPComposed.fep094_path_kl_refines_fep049_entropy_production
fep-095Formal Pairingfep-010Detailed finite fluctuation symmetry and native kernel reversibility each recover their corresponding forward or invariant law.FEPComposed.fep095_fluctuation_symmetry_extends_fep010_reversibility
fep-096Formal Pairingfep-049The integral fluctuation normalization is paired with the original exact flux--force representation of nonnegative entropy production. Reviewed 2026-09-22 against the primary-qualified endpoint rule. The witness carries fep-049 through its reviewed supporting theorem `fep_fep049.FEP049.fep049_flux_force_identity` rather than the primary `fep_fep049.FEP049.fep049_entropyProduction_eq_zero_iff`; the row stands unchanged.FEPComposed.fep096_integral_fluctuation_refines_fep049
fep-097Formal Pairingfep-013The finite Jarzynski normalization and the original Helmholtz difference identity are retained as separate assumptions, avoiding a microscopic-energy identification that neither theorem proves.FEPComposed.fep097_jarzynski_extends_fep013_helmholtz
fep-098Formal Pairingfep-025Finite detailed balance cancels local current, while the original matrix current remains antisymmetric on every oriented edge.FEPComposed.fep098_local_current_refines_fep025
fep-099Formal Pairingfep-014Reversible finite-channel KL dissipation is accompanied by both native KL nonnegativity and the native reversible-kernel stationarity consequence.FEPComposed.fep099_reversible_kl_dissipation_links_fep010_fep014
fep-100Formal Pairingfep-004Full-support categorical Fisher positivity strengthens the original diagonal Fisher metric's positive-semidefinite certificate.FEPComposed.fep100_categorical_fisher_refines_fep004
fep-101Formal Pairingfep-038Finite-matrix Fisher pullback composition extends the original scalar Bernoulli pullback identity without asserting a global chart theorem. Reviewed 2026-09-22 against the primary-qualified endpoint rule. The witness carries fep-038 through its reviewed supporting theorem `fep_fep038.FEP038.fep038_fisherMetric_pullback` rather than the primary `fep_fep038.FEP038.fep038_fisherInformation_eq`; the row stands unchanged.FEPComposed.fep101_fisher_pullback_extends_fep038
fep-102Formal Pairingfep-038The finite scalar Cramér--Rao certificate includes explicit score regularity, while fep-038 supplies its concrete centered Bernoulli score case. Reviewed 2026-09-22 against the primary-qualified endpoint rule. The witness carries fep-038 through its reviewed supporting theorem `fep_fep038.FEP038.fep038_expectedScore_zero` rather than the primary `fep_fep038.FEP038.fep038_fisherInformation_eq`; the row stands unchanged.FEPComposed.fep102_cramer_rao_uses_fep038_score_geometry
fep-103Formal Pairingfep-038Natural-gradient equivariance under an invertible chart extends the original one-dimensional Fisher/natural-gradient duality. Reviewed 2026-09-22 against the primary-qualified endpoint rule. The witness carries fep-038 through its reviewed supporting theorem `fep_fep038.FEP038.fep038_naturalGradient_duality` rather than the primary `fep_fep038.FEP038.fep038_fisherInformation_eq`; the row stands unchanged.FEPComposed.fep103_natural_gradient_extends_fep038
fep-104Formal Pairingfep-024The mirror-descent three-point identity is paired with the original native KL-regularized lower bound without identifying Bregman and KL divergences.FEPComposed.fep104_mirror_descent_refines_fep024
fep-105Formal Pairingfep-044The affine Bregman projection satisfies its exact Pythagorean identity, while fep-044 records nonnegativity for the concrete Bernoulli Hellinger case.FEPComposed.fep105_bregman_projection_extends_fep044
fep-106Formal Pairingfep-038Replicator dynamics is a categorical natural gradient; the original Bernoulli natural-gradient duality and finite softmax normalization remain visible as its scalar and discrete-selection neighbors. Reviewed 2026-09-22 against the primary-qualified endpoint rule. The witness carries fep-038 through its reviewed supporting theorem `fep_fep038.FEP038.fep038_naturalGradient_duality` rather than the primary `fep_fep038.FEP038.fep038_fisherInformation_eq`; the row stands unchanged.FEPComposed.fep106_replicator_links_fep028_fep038
fep-107Formal Pairingfep-027Independent product-agent generative mass factorizes pointwise, while the original native hierarchical joint remains normalized under probability and Markov assumptions.FEPComposed.fep107_product_agent_extends_fep027_hierarchy
fep-108Formal Pairingfep-039Product-law collective VFE additivity extends the original four-block global free-energy additivity law without identifying their scalar models.FEPComposed.fep108_collective_vfe_extends_fep039_additivity
fep-109Formal Pairingfep-021Independent-agent EFE additivity is paired with the original truncated EFE sign convention and its exact epistemic-balance premise.FEPComposed.fep109_independent_efe_extends_fep021
fep-110Formal Pairingfep-028Positive-normalizer unit-weight product-of-experts pooling and nonempty-support softmax each expose exact finite normalization; the pairing does not identify their weighting conventions. Reviewed 2026-09-22 against the primary-qualified endpoint rule. The witness carries fep-028 through its reviewed supporting theorem `fep_fep028.FEP028.fep028_softmax_probs_sum_one` rather than the primary `fep_fep028.FEP028.fep028_softmax_sum_univ`; the row stands unchanged.FEPComposed.fep110_product_of_experts_refines_fep028_normalization
fep-111Formal Pairingfep-025The two-agent consensus step conserves pointwise mass; the original antisymmetric-current theorem conserves total divergence.FEPComposed.fep111_consensus_mass_extends_fep025_conservation
fep-112Formal Pairingfep-048Atomwise consensus disagreement converges to zero, extending the original concrete halving-contraction convergence witness.FEPComposed.fep112_consensus_convergence_extends_fep048_contraction
fep-113Formal Pairingfep-032Nonzero consensus disagreement gives strict coupled-potential descent, alongside the original stable-step quadratic-energy descent law.FEPComposed.fep113_coupled_potential_refines_fep032_descent
fep-114Formal Pairingfep-036The finite-sample sub-Gaussian tail certificate is paired with the original strict positivity of a Laplace-smoothed empirical rate. Reviewed 2026-09-22 against the primary-qualified endpoint rule. The witness carries fep-036 through its reviewed supporting theorem `fep_fep036.FEP036.fep036_smoothedRate_pos` rather than the primary `fep_fep036.FEP036.fep036_smoothedRate_tendsto_of_empiricalRate`; the row stands unchanged.FEPComposed.fep114_subgaussian_tail_refines_fep036_empirical_rate
fep-115Formal Pairingfep-042The simultaneous finite-alphabet frequency bound is paired with the original exact Bernoulli likelihood factorization through finite counts.FEPComposed.fep115_frequency_union_bound_extends_fep042_counts
fep-116Formal Pairingfep-001The finite posterior loss-gap bound, conditional on a certified log-MGF budget, is paired with fep-001's measure-native variational upper bound without equating finite real KL and native extended KL.FEPComposed.fep116_pac_bayes_refines_fep001_variational_bound
fep-117Formal Pairingfep-017Finite posterior odds obey Bayes multiplication, while the measure-native fep-017 posterior reconstructs its complete swapped joint law.FEPComposed.fep117_posterior_odds_extends_fep017_bayes
fep-118Formal Pairingfep-045A finite likelihood gap bounds inferior posterior mass exponentially, while the original Bernoulli update remains normalized for every parameter.FEPComposed.fep118_posterior_concentration_extends_fep045_update
fep-119Formal Pairingfep-026Mixture log-loss regret exposes the selected model's prior penalty, and fep-026 proves that negative-log complexity is additive for the same positive prior-likelihood product.FEPComposed.fep119_mixture_log_loss_refines_fep026_complexity
fep-120Formal Pairingfep-019Multiplicative Bayes factors agree with sequential odds updates, while fep-019 records associativity for the corresponding native predictive chain.FEPComposed.fep120_bayes_factor_update_extends_fep019_prediction
fep-121Formal Pairingfep-036The exact finite-sample Laplace error decomposition and the earlier smoothed-rate identity are retained together without treating smoothing as an unbiased estimator. Reviewed 2026-09-22 against the primary-qualified endpoint rule. The witness carries fep-036 through its reviewed supporting theorem `fep_fep036.FEP036.fep036_smoothedRate_eq_shrunkEmpirical` rather than the primary `fep_fep036.FEP036.fep036_smoothedRate_tendsto_of_empiricalRate`; the row stands unchanged.FEPComposed.fep121_laplaceError_extends_fep036
fep-122Formal Pairingfep-036The explicit pseudo-count bias bound and the earlier strict-positivity result jointly expose both the benefit and finite-sample offset of add-one smoothing. Reviewed 2026-09-22 against the primary-qualified endpoint rule. The witness carries fep-036 through its reviewed supporting theorem `fep_fep036.FEP036.fep036_smoothedRate_mem_Ioo` rather than the primary `fep_fep036.FEP036.fep036_smoothedRate_tendsto_of_empiricalRate`; the row stands unchanged.FEPComposed.fep122_laplaceBias_extends_fep036
fep-123Formal Pairingfep-036The deterministic absolute-error transfer is paired with the original smoothed-rate formula, with its empirical-error premise kept explicit. Reviewed 2026-09-22 against the primary-qualified endpoint rule. The witness carries fep-036 through its reviewed supporting theorem `fep_fep036.FEP036.fep036_smoothedRate_eq_shrunkEmpirical` rather than the primary `fep_fep036.FEP036.fep036_smoothedRate_tendsto_of_empiricalRate`; the row stands unchanged.FEPComposed.fep123_laplaceAbsoluteError_extends_fep036
fep-124Formal Pairingfep-114Finite-law squared-risk transfer and the supplied sub-Gaussian tail certificate are checked together without inferring one premise from the other.FEPComposed.fep124_laplaceSquaredRisk_combines_fep036_fep114
fep-125Formal Pairingfep-022Exact Bernoulli Brier excess equals squared forecast error, while fep-022 retains the separate preference-risk decomposition used by the earlier active-inference carrier.FEPComposed.fep125_brierExcess_refines_fep022
fep-126Formal Pairingfep-022Expected Laplace-smoothed Brier excess inherits the finite squared-risk bound and is paired with fep-022's one-step risk decomposition without conflating their carriers.FEPComposed.fep126_laplaceBrierRisk_combines_fep022_fep036
fep-127Formal Pairingfep-114Event inclusion transfers any supplied empirical tail bound to the smoothed estimator, while fep-114 records a concrete sub-Gaussian source of such a bound under its own hypotheses.FEPComposed.fep127_laplaceConcentration_combines_fep036_fep114
fep-128Formal Pairingfep-071Observation-contingent policy-tree recursion and sophisticated-EFE backward recursion both expose finite-horizon continuation values while retaining distinct model carriers.FEPComposed.fep128_policyTreeRecursion_extends_fep071
fep-129Formal Pairingfep-033Exact finite-action tree minimization extends the earlier scalar Bellman recursion with belief and observation-contingent continuation structure.FEPComposed.fep129_policyTreeBellman_extends_fep033
fep-130Formal Pairingfep-008A concrete attaining finite policy tree is paired with the original finite policy minimizer, making the stronger depth-indexed carrier and its nonempty-action premise explicit.FEPComposed.fep130_optimalPolicyTree_extends_fep008
fep-131Formal Pairingfep-033The value-preserving embedding of a fixed action plan into a policy tree is paired with the earlier dynamic-programming recursion at equal finite horizon.FEPComposed.fep131_openLoopEmbedding_extends_fep033
fep-132Formal Pairingfep-071Closed-loop tree optimality dominates every embedded open-loop plan, while fep-071 supplies the earlier two-stage feedback-sensitive EFE recursion.FEPComposed.fep132_closedLoopDominance_extends_fep071
fep-133Formal Pairingfep-021The risk-plus-ambiguity EFE identity is lifted through every finite policy-tree branch and paired with the earlier one-step expected-free-energy balance.FEPComposed.fep133_treewiseEFE_extends_fep021
fep-134Formal Pairingfep-071The exact Boolean policy-tree witness proves a strict one-half feedback advantage and is paired with fep-071's independent two-stage feedback witness.FEPComposed.fep134_feedbackWitness_extends_fep071
fep-135Formal Pairingfep-017Weighted Dirac embedding preserves every finite singleton mass and total mass, while fep-017 supplies the native posterior reconstruction law on an arbitrary measure carrier.FEPComposed.fep135_embeddedLaw_extends_fep017
fep-136Formal Pairingfep-015Native integration of an embedded finite law equals its weighted sum, paired with fep-015's measurable variational-integrand surface on the native carrier.FEPComposed.fep136_embeddedExpectation_extends_fep015
fep-137Formal Pairingfep-019The finite-to-native predictive commuting square and fep-019's native sequential-prediction associativity are checked together without hiding either kernel orientation.FEPComposed.fep137_embeddedPredictive_extends_fep019
fep-138Formal Pairingfep-079Native singleton-rectangle factorization is paired with the finite conditional-factorization characterization from which its embedded masses are constructed.FEPComposed.fep138_rectangleFactorization_extends_fep079
fep-139Formal Pairingfep-009The embedded blanket joint satisfies Mathlib CondIndepFun for its actual coordinates, and fep-009 supplies the native symmetry law for that conditional-independence predicate.FEPComposed.fep139_nativeCondIndep_connects_fep009_fep079
fep-140Formal Pairingfep-009Measurable endpoint coarsenings preserve native blanket CondIndepFun, alongside fep-009's general conditional-independence symmetry theorem.FEPComposed.fep140_measurableCoarsening_extends_fep009
fep-141Formal Pairingfep-080Every factorized transition row inherits native blanket conditional independence, while fep-080 retains the separate finite shared-mixture prediction law.FEPComposed.fep141_blanketTransition_extends_fep080
fep-142Formal Pairingfep-031A positive-base finite exponential family is normalized for every natural parameter, paired with the original finite maximum-entropy normalization witness.FEPComposed.fep142_exponentialNormalization_extends_fep031
fep-143Formal Pairingfep-026Supported exponential-family log-density ratios have an exact affine form, while fep-026 retains the separate negative-log product-complexity identity.FEPComposed.fep143_logDensityRatio_extends_fep026
fep-144Formal Pairingfep-040The finite log-partition derivative equals the mean sufficient statistic, paired with fep-040's exact Gaussian thermodynamic derivative on its distinct carrier.FEPComposed.fep144_logPartitionGradient_extends_fep040
fep-145Formal Pairingfep-038The derived exponential-family score is centered exactly, extending the abstract centered-score contract used by the earlier Fisher-geometry topic. Reviewed 2026-09-22 against the primary-qualified endpoint rule. The witness carries fep-038 through its reviewed supporting theorem `fep_fep038.FEP038.fep038_expectedScore_zero` rather than the primary `fep_fep038.FEP038.fep038_fisherInformation_eq`; the row stands unchanged.FEPComposed.fep145_centeredScore_extends_fep038
fep-146Formal Pairingfep-100Scalar Fisher information is derived as sufficient-statistic variance with positive and zero-curvature witnesses, paired with the earlier categorical tangent-space metric.FEPComposed.fep146_fisherVariance_extends_fep100
fep-147Formal Pairingfep-014Supported finite KL inside the exponential family equals an oriented log-partition Bregman divergence, paired with the original native KL separation theorem.FEPComposed.fep147_KLBregman_connects_fep014_fep104
fep-148Formal Pairingfep-103Positive variance makes the natural-to-mean coordinate injective on the stated interval, paired with fep-103's invertible-chart natural-gradient equivariance.FEPComposed.fep148_meanCoordinate_extends_fep103
fep-149Formal Pairingfep-020Positive rates generate a normalized nonnegative Boolean continuous-time kernel, paired with the original discrete-time Markov evolution law.FEPComposed.fep149_continuousKernel_extends_fep020
fep-150Formal Pairingfep-006The exact real-time Boolean semigroup is the identity at zero, alongside fep-006's general natural-time iterate identity.FEPComposed.fep150_semigroupZero_extends_fep006
fep-151Formal Pairingfep-006Chapman--Kolmogorov addition for the explicit real-time semigroup is paired with the original natural-time iterate addition law.FEPComposed.fep151_semigroupAdd_extends_fep006
fep-152Formal Pairingfep-020Every Boolean transition entry solves the two-sided continuous-time master equation, paired with the earlier discrete finite-state evolution contract.FEPComposed.fep152_masterEquation_extends_fep020
fep-153Formal Pairingfep-010The nonuniform stationary law satisfies exact continuous-time detailed balance, alongside the original native reversible-kernel stationarity theorem.FEPComposed.fep153_continuousDetailedBalance_extends_fep010
fep-154Formal Pairingfep-020Boolean true-state mass relaxes exponentially to stationarity, paired with the original discrete transition evolution without claiming a general mixing-rate theorem.FEPComposed.fep154_continuousRelaxation_extends_fep020
fep-155Formal Pairingfep-032Squared deviation from stationarity has an exact strictly negative benchmark derivative, paired with fep-032's discrete quadratic-descent certificate without calling either physical free energy.FEPComposed.fep155_lyapunovDecay_extends_fep032
fep-156Formal Pairingfep-021The exact Boltzmann-form control posterior minimizes the expected free energy with its uniqueness certificate, paired with fep-021's truncated-EFE epistemic-plus-pragmatic balance as the sign-convention ancestor, without claiming continuous-state or infinite-action optimality.FEPComposed.fep156_boltzmannControlPosterior_extends_fep021_efeBalance
fep-157Formal Pairingfep-065The perception-action loop's invariant surprisal bound factors through one action-conditioned controlled-kernel step, paired with fep-065's row-normalization law, without claiming a general POMDP fixed-point theorem.FEPComposed.fep157_loopInvariant_extends_fep065_controlledKernel
fep-158Formal Pairingfep-058Masked evidence never lowers evidence free energy, paired with fep-058's exact Gibbs lower bound on the same finiteKL and gibbsFreeEnergy carriers, without claiming a variational characterization of arbitrary model reductions.FEPComposed.fep158_reductionFreeEnergy_extends_fep058_gibbsLowerBound
fep-159Formal Pairingfep-153The finite KL divergence of the EFE time-scale separation is bounded by the log-affinity of its two-state rate carrier, paired with fep-153's nonuniform stationary semigroup law, without claiming a physical entropy-production identity.FEPComposed.fep159_epistemicGain_extends_fep153_stationary
fep-160Formal Pairingfep-025The Helmholtz–Ao decomposition's stationary current is carried entirely by the circulation part and its node divergence vanishes under stationarity, paired with fep-025's edge-current divergence law and nonzero cycle current, without identifying the finite rate-field ansatz with a continuum Fokker-Planck solution.FEPComposed.fep160_aoNess_extends_fep025_current
fep-161Formal Pairingfep-160The plain-matrix trace and quadratic cancellations are paired with the rate-field decomposition whose skew clause they justify, without deriving the finite carrier's law-weighted skewness from the plain pointwise property.FEPComposed.fep161_skewCancellation_extends_fep160_aoNess
fep-162Formal Pairingfep-161The symmetrization construction discharges exactly the symmetric-matrix hypothesis of the trace cancellation it is paired with, without claiming a continuum Clairaut theorem or smooth Hessian.FEPComposed.fep162_clairautSymmetrize_extends_fep161_skewCancellation
fep-163Formal Pairingfep-025The exact three-term weighted-divergence expansion and its conditional drop are paired with fep-025's node-divergence current carrier, without asserting that the continuum first-order step has a finite graph analogue.FEPComposed.fep163_solenoidalExpansion_extends_fep025_current
fep-164Formal Pairingfep-025The graph-plane decomposition and weighted Leibniz rule of the candidate current are paired with fep-025's edge-current node divergence, without equating the plain flux-matrix residual with a transition-row stationarity identity.FEPComposed.fep164_graphCurrent_extends_fep025_current
fep-165Formal Pairingfep-025The compiled 2-node counterexample refuting the unconditional solenoidal drop is paired with fep-025's divergence-free cycle witness, jointly bounding exactly what stationarity and antisymmetry imply.FEPComposed.fep165_necessityWitness_extends_fep025_current
fep-166Formal Pairingfep-160The competing-pair uniqueness of the law-weighted split is paired with fep-160's unconditional existence decomposition, so on the same finite rate-field carrier the canonical split exists and any constraint-satisfying competitor coincides with it, without introducing a stationarity hypothesis or a nonnegativity claim for the circulation part.FEPComposed.fep166_splitUnique_extends_fep160_aoNess
fep-167Formal Pairingfep-162The Frobenius least-squares projection layer is paired with fep-162's algebraic symmetrization construction, so the constructed discrete Hessian is exactly the unique symmetric minimizer, without claiming a continuum Clairaut theorem or a general Bregman-projection existence result.FEPComposed.fep167_frobeniusProjection_extends_fep162_clairautSymmetrize
fep-168Formal Pairingfep-163The quantitative remainder budget is paired with fep-163's exact three-term expansion, so the uncancelled divergence remainder is bounded and its equality case attained instead of being assumed to vanish, without an unconditional-drop claim.FEPComposed.fep168_remainderBound_extends_fep163_solenoidalExpansion
Retained capability table · 50 records

Swipe horizontally to inspect every column.

50 retained capability records preserve resolved and open history.
CapabilityStatusRequired surfaceDeclaration evidenceBlocked topics
cap-active-inference-generative-modelPolicy-conditioned active-inference modelSatisfiedOne normalized finite carrier owns policy-conditioned state prediction, outcome generation, exact posterior state, preferences, pragmatic cost, epistemic value, and expected free energy.FEP.ActiveInference.expectedFreeEnergy_eq_risk_add_ambiguity, FEP.ActiveInference.posteriorState_mul_evidence, FEP.ActiveInference.predictedJoint_fstMarginal_mass—
cap-causal-intervention-invariantsFinite causal-blanket and intervention invariantsSatisfiedFinite normalized carriers prove blanket factorization equivalent to zero conditional mutual information, intervention-kernel normalization, non-descendant invariance in the stated four-node model, a correlated non-factorizing witness, and an explicit zero-evidence boundary. These results do not assert a measure-theoretic do-calculus or causal identification beyond the encoded finite graph.FEP.CausalDynamics.conditionalMutualInformation_eq_zero_iff_factorizes, FEP.CausalDynamics.interventionKernel_sum_one, FEP.CausalDynamics.localMarkov_zeroEvidence_boundary, FEP.CausalDynamics.nonDescendant_intervention_invariant, fep_fep081.FEP081.fep081_correlatedBlanket_nonvacuity, fep_fep083.FEP083.fep083_fourNode_descendantChange_nonDescendantPreservation, fep_fep085.FEP085.fep085_zeroEvidence_boundary—
cap-closed-loop-policy-treesFinite closed-loop policy treesSatisfiedDepth-indexed finite policy trees admit exact observation-contingent value recursion, backward-induction minima, attaining optimal trees, value-preserving open-loop embeddings, and a full-support recursive EFE decomposition. A two-stage Boolean witness has observation-dependent continuation actions, value zero, and a strict one-half advantage over every fixed continuation; no infinite-horizon or continuous-belief optimality is claimed.FEP.PolicyTrees.boolFeedbackTree_strictlyBetter, FEP.PolicyTrees.exists_optimalPolicyTree, FEP.PolicyTrees.openLoopEmbedding_value, FEP.PolicyTrees.optimalTree_le_openLoop, FEP.PolicyTrees.policyTree_efe_eq_risk_add_ambiguity, fep_fep134.FEP134.fep134_feedback_continuation_changes—
cap-collective-consensus-invariantsFinite collective inference and consensus invariantsSatisfiedExplicit finite product-agent laws prove joint normalization, VFE and EFE additivity under independence, normalized unit-weight product-of-experts pooling, consensus-mass conservation, strict stochastic contraction and convergence with a nonzero Boolean witness, and descent of a coupled quadratic potential. No theorem attributes emergent agency or consciousness to the collective.FEP.CollectiveInference.boolConsensus_nonzero_strict_witness, FEP.CollectiveInference.collectiveVFE_additive, FEP.CollectiveInference.consensusMass_conserved, FEP.CollectiveInference.consensus_gap_tendsto_zero, FEP.CollectiveInference.coupledPotential_strict_descent, FEP.CollectiveInference.independentEFE_additive, FEP.CollectiveInference.productAgent_joint_mass, FEP.CollectiveInference.unitWeightProductOfExpertsPool_sum_one—
cap-conditional-independenceFinite factorization and conditional-independence lawsSatisfiedThe finite blanket carrier proves pointwise conditional factorization and zero conditional mutual information; separately, the measure-theoretic topic proves symmetry and a trivial-sigma-algebra instance of Mathlib CondIndep. No theorem yet transfers the finite factorization to sigma-algebra CondIndep or constructs a regular conditional probability bridge.FEP.MarkovBlanket.conditional_internal_external_factorization, FEP.MarkovBlanket.conditional_mutualInformation_zero, fep_fep009.FEP009.fep009_condIndep_bot_right, fep_fep009.FEP009.fep009_condIndep_symm—
cap-conjugacy-lawsConjugate-family lawsSatisfiedA likelihood/prior family with a proved posterior closure and parameter-update theorem.fep_fep045.FEP045.fep045_bernoulli_posterior_closed, fep_fep045.FEP045.fep045_evidence_pos, fep_fep045.FEP045.fep045_posteriorParameter_mem_unit, fep_fep045.FEP045.fep045_posterior_mass_one—
cap-continuous-time-thermodynamicsExact two-state continuous-time dynamicsSatisfiedPositive forward and backward rates generate an explicit normalized nonnegative Boolean transition semigroup, an exact generator and two-sided master equation, a nonuniform stationary reversible law, exponential relaxation, and a squared-deviation Lyapunov derivative. The concrete nonstationary benchmark has a strictly negative derivative; no general CTMC existence theorem or physical free-energy identification is inferred.FEP.ContinuousTimeMarkov.TwoStateRates.benchmarkInitial_nonstationary, FEP.ContinuousTimeMarkov.TwoStateRates.benchmarkLyapunov_deriv_zero_neg, FEP.ContinuousTimeMarkov.TwoStateRates.transition_add, FEP.ContinuousTimeMarkov.TwoStateRates.transition_detailedBalance, FEP.ContinuousTimeMarkov.TwoStateRates.transition_masterEquation, FEP.ContinuousTimeMarkov.TwoStateRates.transition_stationary—
cap-controlled-markov-planningFinite controlled-Markov planningSatisfiedControlled transition rows remain normalized; action-conditioned belief updates expose their zero-evidence boundary; reachable finite-belief reduction preserves finite-horizon policy value; and a two-stage Boolean witness proves that closed-loop feedback can strictly improve on open-loop control. Infinite-horizon and continuous-state POMDP optimality are not claimed.FEP.ControlledMarkov.actionEvidence_zero_boundary, FEP.ControlledMarkov.controlledKernel_sum_one, FEP.ControlledMarkov.reachableBelief_policyValue_eq, FEP.ControlledMarkov.twoStageFeedback_beats_openLoop, fep_fep071.FEP071.fep071_twoStage_feedback_changes_action, fep_fep071.FEP071.fep071_twoStage_feedback_strictly_better—
cap-convex-information-functionalsConvex information functionalsSatisfiedA named quadratic Bregman divergence, native measure-valued KL information gain, Bernoulli squared Hellinger divergence, strict Jensen control, and separation laws on their stated domains.fep_fep029.FEP029.fep029_quadraticBregman_eq_zero_iff, fep_fep035.FEP035.fep035_log_jensen_two_strict, fep_fep041.FEP041.fep041_expectedInformationGain_zero, fep_fep041.FEP041.fep041_informationGain_eq_zero_iff, fep_fep044.FEP044.fep044_hellingerSq_eq_zero_iff, fep_fep044.FEP044.fep044_hellingerSq_symm—
cap-cumulative-expected-free-energyCumulative finite-horizon expected free energySatisfiedStage-dependent EFE is recursively accumulated along predicted state laws, agrees with the normalized rollout carrier, decomposes at every plan concatenation, and remains nonnegative under a recursive full-support contract.FEP.ActiveInference.cumulativeExpectedFreeEnergyFrom_append, FEP.ActiveInference.cumulativeExpectedFreeEnergyFrom_nonneg, FEP.ActiveInference.cumulativeExpectedFreeEnergy_nonneg, FEP.ActiveInference.planStateFrom_eq_rolloutPredictive—
cap-discrete-measurable-semigroupMeasurable discrete-time semigroupSatisfiedA measurable one-step state update with measurable finite iterates, identity at time zero, an exact additive semigroup law, and fixed-point persistence.fep_fep006.FEP006.fep006_iterateFlow_add, fep_fep006.FEP006.fep006_iterateFlow_fixed, fep_fep006.FEP006.fep006_iterateFlow_measurable, fep_fep006.FEP006.fep006_iterateFlow_zero—
cap-empirical-bayes-modelEmpirical-Bayes estimation modelSatisfiedA finite binomial sampling law, count-derived Laplace hyperparameter estimator, consistency-transfer theorem, and normalized posterior update.FEPComposed.fep036_empiricalPosterior_closed, fep_fep036.FEP036.fep036_binomialModel_apply, fep_fep036.FEP036.fep036_empiricalPrior_mem_Ioo, fep_fep036.FEP036.fep036_smoothedRate_mem_Ioo, fep_fep036.FEP036.fep036_smoothedRate_tendsto_of_empiricalRate—
cap-entropy-optimizationEntropy optimizationSatisfiedA finite policy entropy regularizer supplied by a normalized softmax law, plus a probability-simplex entropy functional with a maximality or uniqueness theorem.FEPComposed.fep012_softmax_entropyRegularizedCost_le, FEPComposed.fep031_zeroBeta_binary_maxEntropy, fep_fep012.FEP012.fep012_entropyRegularizedCost_le_expectedCost, fep_fep012.FEP012.fep012_policyEntropy_nonneg, fep_fep028.FEP028.fep028_softmax_sum_univ, fep_fep030.FEP030.fep030_binaryEntropy_eq_max_iff, fep_fep030.FEP030.fep030_binaryEntropy_max—
cap-evidence-lower-boundVariational evidence boundSatisfiedPosterior-form variational free energy upper-bounds outcome surprisal, its negative lower-bounds log evidence, and equality uniquely characterizes exact Bayesian recognition even when the posterior has zero-mass states.FEP.ActiveInference.negative_variationalFreeEnergy_le_logEvidence, FEP.ActiveInference.outcomeSurprisal_le_variationalFreeEnergy, FEP.ActiveInference.variationalFreeEnergy_eq_surprisal_iff, FEP.ActiveInference.variationalFreeEnergy_posterior—
cap-expected-free-energy-decompositionExpected free energy decompositionSatisfiedReal finite-model EFE has proved pragmatic-minus-epistemic and risk-plus-ambiguity decompositions, nonnegativity under full support, and an explicit truncating bridge to the catalogue ENNReal convention.FEP.ActiveInference.epistemicValue_eq_entropy_sub_ambiguity, FEP.ActiveInference.expectedFreeEnergy_eq_risk_add_ambiguity, FEP.ActiveInference.expectedFreeEnergy_nonneg, FEPComposed.activeInference_expectedFreeEnergy_to_fep021—
cap-finite-exponential-family-geometryFinite exponential-family dual geometrySatisfiedPositive finite base weights define a full-support scalar exponential family whose log-partition derivative is the mean statistic, mean derivative and scalar Fisher information equal variance, supported finite KL equals the oriented log-partition Bregman divergence, and positive variance yields an injective mean coordinate. A nonconstant three-state statistic gives positive curvature while a constant statistic records the zero-curvature boundary.FEP.ExponentialFamily.ScalarExponentialFamily.constantStatistic_variance_zero, FEP.ExponentialFamily.ScalarExponentialFamily.finiteKL_eq_logPartitionBregman, FEP.ExponentialFamily.ScalarExponentialFamily.logPartition_hasDerivAt, FEP.ExponentialFamily.ScalarExponentialFamily.meanParameter_injectiveOn, FEP.ExponentialFamily.ScalarExponentialFamily.threeState_variance_zero_pos—
cap-finite-information-theoryFinite information-theory kernelSatisfiedNormalized finite laws support zero-safe Shannon entropy, a totalized real-valued cross-entropy and KL convention, entropy chain rules, and mutual-information separation from independence. Normalization makes finite KL separating without a support assumption; logarithmic identities still require positive reference support, and explicit disjoint-point-mass witnesses record that the totalized values are finite rather than extended-real divergence values.FEP.FiniteInformation.crossEntropy_disjoint_pointMass_totalized, FEP.FiniteInformation.entropy_joint_eq_add_conditional, FEP.FiniteInformation.entropy_product, FEP.FiniteInformation.finiteKL_disjoint_pointMass_totalized, FEP.FiniteInformation.finiteKL_eq_zero_iff, FEP.FiniteInformation.finiteKL_nonneg, FEP.FiniteInformation.mutualInformation_eq_entropy_marginals, FEP.FiniteInformation.mutualInformation_eq_zero_iff, FEP.FiniteInformation.mutualInformation_product_eq_zero—
cap-finite-kernel-algebraNormalized finite-kernel algebraSatisfiedFinite Markov kernels have explicit identity and associative composition laws, and predictive propagation preserves both identity and sequential composition.FEP.FiniteKernel.comp_assoc, FEP.FiniteKernel.comp_identity_left, FEP.FiniteKernel.comp_identity_right, FEP.FiniteKernel.predictive_comp, FEP.FiniteKernel.predictive_identity—
cap-finite-kl-chain-rulesFinite KL and channel chain rulesSatisfiedConditional KL is nonnegative and, under positive input-law support, separates arbitrary normalized kernel rows without reference-row support. Joint prior-kernel KL obeys an exact chain rule, marginalization cannot increase that joint divergence, and independent-product KL is additive under the support assumptions needed by their logarithmic derivation.FEP.FiniteInformation.conditionalKL_eq_zero_iff, FEP.FiniteInformation.conditionalKL_nonneg, FEP.FiniteInformation.finiteKL_joint_chain_rule, FEP.FiniteInformation.finiteKL_prior_le_joint, FEP.FiniteInformation.finiteKL_product—
cap-finite-learning-theoryFinite-sample learning and evidence boundsSatisfiedExplicit sub-Gaussian and union-bound premises yield finite-sample probability bounds, while a finite Gibbs loss-gap certificate turns a conditional log-MGF budget into a PAC-Bayes population-loss bound; supported two-hypothesis models prove posterior-odds recursion, likelihood-gap concentration, mixture log-loss regret, and Bayes-factor multiplication; zero prior support and zero denominator remain visible boundaries. No theorem derives the log-MGF premise, claims universal consistency, or empirically confirms the FEP.FEP.LearningTheory.bayesFactor_multiplicative, FEP.LearningTheory.bayesFactor_twoHypothesis_witness, FEP.LearningTheory.bayesFactor_zero_denominator_boundary, FEP.LearningTheory.finitePACBayes_changeOfMeasure_with_confidence, FEP.LearningTheory.mixtureLogLoss_regret, FEP.LearningTheory.posteriorGap_concentration, FEP.LearningTheory.posterior_zero_of_prior_zero, FEP.LearningTheory.simultaneous_frequency_bound, FEP.LearningTheory.subGaussian_empiricalMean_tail, FEP.LearningTheory.twoHypothesis_posterior_witness—
cap-finite-message-passingFinite message-passing operatorsSatisfiedA positive normalized local sum-product message and a full finite matrix message operator with exact identity and composition laws.fep_fep007.FEP007.fep007_normalizedMessage_nonneg, fep_fep007.FEP007.fep007_normalizedMessage_sum_one, fep_fep047.FEP047.fep047_forward_compose, fep_fep047.FEP047.fep047_forward_nonneg—
cap-finite-observable-consistencyFinite-observable strong-law consistencySatisfiedSimultaneous convergence of finite atom masses implies almost-sure convergence of the empirical expectation and its absolute error for every real observable on the finite carrier.FEP.StatisticalConvergence.empiricalExpectationError_strongLaw, FEP.StatisticalConvergence.empiricalExpectation_strongLaw—
cap-finite-path-thermodynamicsFinite path-space thermodynamic identitiesSatisfiedNormalized finite forward and reversed path laws prove supported ratio reconstruction, fluctuation identities, finite-KL entropy production, reversible one-step KL dissipation, and an irreversible positive-production witness; zero reverse mass remains an explicit boundary. These are finite path-law theorems, not a continuous physical-process derivation.FEP.PathThermodynamics.detailedFluctuation_identity, FEP.PathThermodynamics.entropyProduction_eq_expected_logRatio, FEP.PathThermodynamics.identityKernel_KL_equality, FEP.PathThermodynamics.integralFluctuation_eq_one, FEP.PathThermodynamics.irreversibleBool_entropyProduction_pos, FEP.PathThermodynamics.pathLaw_normalization, FEP.PathThermodynamics.pathRatio_zero_reverse_boundary, FEP.PathThermodynamics.reverse_reverse, FEP.PathThermodynamics.reversibleKL_oneStep_dissipation—
cap-finite-sample-risk-calibrationFinite-sample risk and calibration transferSatisfiedAdd-one Bernoulli smoothing has an exact affine error decomposition, bounded and explicitly nonzero bias, absolute- and squared-error transfer, normalized finite-law risk bounds, an exact Brier-excess identity, and monotone transfer of supplied tail probabilities. These are deterministic and finite-law certificates; no empirical calibration result or automatically derived concentration premise is claimed.FEP.EmpiricalRisk.brierExcess_eq_sqError, FEP.EmpiricalRisk.laplaceBadEvent_probability_le, FEP.EmpiricalRisk.laplaceBias_nonzero_witness, FEP.EmpiricalRisk.laplaceBrierRisk_le, FEP.EmpiricalRisk.laplaceError_identity—
cap-finite-variational-dualityFinite variational duality and information boundsSatisfiedFull-support finite laws prove Gibbs and Donsker--Varadhan optimizer identities, coordinate and mean-field decompositions, fixed-sample importance-weighted Jensen control, channel data processing, and rate-distortion weak duality, with positive-weight and zero-multiplier witnesses. No strong-duality or extended-divergence claim is inferred.FEP.VariationalDuality.dvObjective_eq_logPartition_iff, FEP.VariationalDuality.finiteChannel_dataProcessing, FEP.VariationalDuality.fixedSampleImportanceJensen, FEP.VariationalDuality.meanFieldCoordinate_optimum_iff, FEP.VariationalDuality.rateDistortion_weak_duality, FEP.VariationalDuality.sampleMeanWeight_pos, fep_fep064.FEP064.fep064_zeroMultiplier_boundary—
cap-gaussian-thermodynamic-modelGaussian thermodynamic modelSatisfiedMathlib's normalized real Gaussian law with exact mean and variance, a positive-variance closed-form entropy functional, thermal variance parameterization, exact entropy derivative, and heat-capacity relation.fep_fep040.FEP040.fep040_gaussianEntropy_hasDerivAt, fep_fep040.FEP040.fep040_gaussian_mass_one, fep_fep040.FEP040.fep040_gaussian_mean, fep_fep040.FEP040.fep040_gaussian_variance, fep_fep040.FEP040.fep040_heatCapacity_eq_half, fep_fep040.FEP040.fep040_thermalEntropy_hasDerivAt—
cap-geometric-mechanics-solenoidalGeometric mechanics of the solenoidal termSatisfiedPlain finite carriers prove the two skew-algebra cancellations behind the Helmholtz–Ao solenoidal expansion (zero trace against a symmetric matrix, zero quadratic form), the discrete-Hessian symmetrization that discharges the Hessian symmetry premise, the exact three-term expansion of the weighted candidate-current divergence under the stationary coupling, the conditional drops under explicit orthogonality or constant-Q hypotheses, the graph-plane decomposition and exact weighted Leibniz rule with its generically nonzero density residual, and a compiled 2-node counterexample refuting the unconditional drop. No continuum Fokker-Planck discretization, PDE solution, or physical entropy-production identification is claimed.FEPComposed.fep160_aoNess_extends_fep025_current, FEPComposed.fep161_skewCancellation_extends_fep160_aoNess, FEPComposed.fep162_clairautSymmetrize_extends_fep161_skewCancellation, FEPComposed.fep163_solenoidalExpansion_extends_fep025_current, FEPComposed.fep164_graphCurrent_extends_fep025_current, FEPComposed.fep165_necessityWitness_extends_fep025_current, fep_fep163.FEP163.fep163_solenoidal_expansion, fep_fep165.FEP165.fep165_witness_drop_fails—
cap-geometric-optimizationFinite information-geometric optimizationSatisfiedFinite score models prove categorical Fisher positivity on nonzero simplex tangents, pullback composition, natural-gradient chart equivariance, a scalar Cramer--Rao bound, mirror-descent and affine Bregman identities, and replicator natural-gradient equivalence, with both full-rank and rank-deficient witnesses. No global smooth-manifold convergence theorem is claimed.FEP.GeometricOptimization.affineProjection_minimizes, FEP.GeometricOptimization.categoricalFisher_pos, FEP.GeometricOptimization.duplicatedScore_nullDirection_example, FEP.GeometricOptimization.fairBernoulli_fullRank_example, FEP.GeometricOptimization.mirrorDescent_threePoint_identity, FEP.GeometricOptimization.naturalGradient_equivariant, FEP.GeometricOptimization.replicatorVector_isSimplexTangent, FEP.GeometricOptimization.replicator_naturalGradient_equivalence, FEP.GeometricOptimization.weightedCauchySchwarz_of_right_pos—
cap-hierarchical-factorizationHierarchical probability factorizationSatisfiedNormalized kernels at each level and a theorem composing them into the advertised hierarchical joint law.fep_fep027.FEP027.fep027_hierarchical_assoc, fep_fep027.FEP027.fep027_hierarchical_fst, fep_fep027.FEP027.fep027_hierarchical_mass_one, fep_fep027.FEP027.fep027_hierarchical_snd—
cap-markov-blanket-dynamicsMarkov-blanket factorization and dynamicsSatisfiedA normalized internal-blanket-external joint factorizes conditionally; every row of a four-component typed transition is exactly an induced static blanket model with zero conditional internal-external mutual information; and a nontrivial Boolean witness changes state.FEP.MarkovBlanket.boolDynamics_nontrivial, FEP.MarkovBlanket.conditional_internal_external_factorization, FEP.MarkovBlanket.conditional_mutualInformation_zero, FEP.MarkovBlanket.transition_eq_staticJoint_nextStaticModel, FEP.MarkovBlanket.transition_factorization, FEP.MarkovBlanket.transition_row_conditional_factorization, FEP.MarkovBlanket.transition_row_conditional_mutualInformation_zero—
cap-measurable-variational-integrandMeasurable variational objective ingredientsSatisfiedAn explicit energy and log-density variational integrand with measurability preserved under reparameterization and baseline shifts.fep_fep015.FEP015.fep015_variationalIntegrand_add_const_measurable, fep_fep015.FEP015.fep015_variationalIntegrand_comp_measurable, fep_fep015.FEP015.fep015_variationalIntegrand_measurable—
cap-measure-bayesian-inversionMeasure-theoretic Bayesian inversionSatisfiedNative measures and kernels prove Radon--Nikodym reconstruction under absolute continuity, posterior likelihood tilting almost everywhere, joint reconstruction, one-sided Bayes involution, standard-Borel conditional-kernel reconstruction, and the conditional-expectation tower; finite witnesses expose normalization and the zero-evidence boundary. No pointwise universal disintegration is claimed.FEP.MeasureBayes.conditionalExpectation_tower, FEP.MeasureBayes.conditionalKernel_reconstruction, FEP.MeasureBayes.finite_posterior_normalized, FEP.MeasureBayes.finite_zero_evidence_boundary, FEP.MeasureBayes.likelihoodRatio_reconstruction_iff, FEP.MeasureBayes.posterior_involution, fep_fep051.FEP051.fep051_reconstruction_iff_absoluteContinuous—
cap-multidimensional-information-geometryMultidimensional Fisher geometrySatisfiedA centered finite score field induces a symmetric Fisher matrix, positive-semidefinite Gram metric, positive-definite metric under full-support identifiability, positive pullbacks, and an explicit unique inverse-Fisher natural gradient when the matrix is invertible. An interior one-coordinate Bernoulli model discharges the positive-definite assumptions non-vacuously, derives 1/[p(1-p)], gives Fisher value 4 at p=1/2, and proves exact p(1-p) natural-gradient scaling; a duplicated two-coordinate score model exhibits a concrete nonzero null tangent and failed identifiability.FEP.InformationGeometry.bernoulliScoreModel_fullSupport, FEP.InformationGeometry.bernoulliScoreModel_identifiable, FEP.InformationGeometry.bernoulli_fisherMatrix_entry, FEP.InformationGeometry.bernoulli_fisherMatrix_isUnit, FEP.InformationGeometry.bernoulli_fisherMetric_eq, FEP.InformationGeometry.bernoulli_fisherMetric_pos, FEP.InformationGeometry.bernoulli_naturalGradient_eq, FEP.InformationGeometry.duplicatedFairBernoulli_not_identifiable, FEP.InformationGeometry.duplicatedScore_fisherMetric_eq_zero, FEP.InformationGeometry.fairBernoulli_fisherMatrix_entry, FEP.InformationGeometry.fisherMatrix_symm, FEP.InformationGeometry.fisherMetric_eq_dot_lowerTangent, FEP.InformationGeometry.fisherMetric_eq_zero_iff, FEP.InformationGeometry.fisherMetric_nonneg, FEP.InformationGeometry.fisherMetric_pos, FEP.InformationGeometry.naturalGradient_energy_identity, FEP.InformationGeometry.naturalGradient_isNaturalGradient, FEP.InformationGeometry.naturalGradient_metric_duality, FEP.InformationGeometry.naturalGradient_unique, FEP.InformationGeometry.pullbackMetric_comp, FEP.InformationGeometry.pullbackMetric_pos—
cap-native-blanket-transferFinite-to-native blanket transferSatisfiedWeighted Dirac embedding preserves finite-law atoms, normalization, expectations, prediction, and static blanket rectangles on the same discrete carrier. The embedded joint satisfies Mathlib CondIndepFun, measurable endpoint coarsenings preserve it, and every authored factorized transition row inherits it; a correlated Boolean blanket witness keeps two positive conditioning regimes and an excluded off-regime atom explicit.FEP.NativeBlanket.condIndepFun_measurableImages, FEP.NativeBlanket.correlatedBlanket_nonvacuous, FEP.NativeBlanket.prediction_preserves_nativeBlanket, FEP.NativeBlanket.staticJoint_condIndepFun, FEP.NativeBlanket.staticJoint_rectangle_factorization, fep_fep139.FEP139.fep139_correlatedBlanket_nonvacuous—
cap-open-loop-policy-rolloutFinite-horizon open-loop policy rolloutSatisfiedFinite policy lists compose normalized transition kernels chronologically, preserve the initial law at the empty horizon, support prefix-suffix predictive propagation, and admit exact planned posterior reconstruction.FEP.ActiveInference.plannedPosteriorState_mul_evidence, FEP.ActiveInference.plannedState_append, FEP.ActiveInference.plannedState_nil, FEP.ActiveInference.rolloutKernel_append—
cap-physical-erasure-modelPhysical erasure modelSatisfiedA noninjective binary reset, exact unbiased-to-pure entropy loss, environmental heat entropy, and explicit second-law and work-to-heat assumptions deriving Landauer's heat and work bounds.fep_fep050.FEP050.fep050_erasureEntropyLoss_eq, fep_fep050.FEP050.fep050_erasure_not_injective, fep_fep050.FEP050.fep050_landauer_heat_bound, fep_fep050.FEP050.fep050_landauer_work_bound—
cap-policy-posterior-actionPosterior policy and action selectionSatisfiedUnder full model support, prior-weighted Boltzmann policy mass has a positive partition, normalized posterior, finite EFE minimizer and MAP policy, antitone EFE ordering at equal priors, and normalized action pushforward. A consistency interface makes the emitted action recover the policy transition, yielding an exact normalized infer-select-act-transition joint; zero preference mass is explicitly rejected.FEP.ActiveInference.actionLaw_mass, FEP.ActiveInference.actionPredictedState_eq_predictedState, FEP.ActiveInference.exists_expectedFreeEnergy_minimizer, FEP.ActiveInference.exists_policyMAP, FEP.ActiveInference.inferSelectActActionMarginal_eq_actionLaw, FEP.ActiveInference.inferSelectActJoint_factorization, FEP.ActiveInference.inferSelectActJoint_policyMarginal, FEP.ActiveInference.not_fullSupport_of_preference_eq_zero, FEP.ActiveInference.policyPartition_pos, FEP.ActiveInference.policyPosterior_antitone_expectedFreeEnergy, FEP.ActiveInference.policyPosterior_mul_partition—
cap-posterior-predictive-modelPosterior-predictive modelSatisfiedA posterior law and likelihood kernel composed into a normalized predictive kernel, with a strictly proper predictive discrepancy criterion.fep_fep022.FEP022.fep022_brier_eq_optimum_iff, fep_fep022.FEP022.fep022_posteriorPredictive_mass_one, fep_fep022.FEP022.fep022_predictive_brier_decomposition—
cap-predictive-coding-dynamicsFinite predictive-coding dynamicsSatisfiedPrecision-weighted prediction energies prove exact zero-error separation, hierarchical decomposition, generalized-coordinate shift and correction laws, precision modulation, and quadratic contraction to zero, with terminal-coordinate, doubled-precision, and strict half-step witnesses. The finite-jet carrier is not presented as a continuous generalized-coordinate flow.FEP.PredictiveCoding.doubledPrecision_nontrivial_witness, FEP.PredictiveCoding.generalizedFlow_top_boundary, FEP.PredictiveCoding.halfStep_energy_witness, FEP.PredictiveCoding.hierarchicalEnergy_succ, FEP.PredictiveCoding.iteratePredictionError_tendsto_zero, FEP.PredictiveCoding.precisionEnergy_eq_zero_iff, FEP.PredictiveCoding.predictionEnergy_contraction, FEP.PredictiveCoding.shift_add—
cap-probability-normalizationProbability normalizationSatisfiedFinite or measure-valued weights with positive normalizer and a proof that the resulting posterior or Gibbs law has mass one.fep_fep017.FEP017.fep017_posterior_mass_one, fep_fep031.FEP031.fep031_gibbsProbability_nonneg, fep_fep031.FEP031.fep031_gibbsProbability_sum_one, fep_fep034.FEP034.fep034_filter_mass_one—
cap-quadratic-optimization-dynamicsExact quadratic optimization dynamicsSatisfiedA positive-curvature quadratic with unique minimizer and critical point, plus exact gradient-descent iterates, energy descent, and global convergence on the stable step interval.FEPComposed.fep032_update_is_fep043_gradientStep, fep_fep032.FEP032.fep032_quadraticEnergy_descent, fep_fep032.FEP032.fep032_quadraticUpdate_iterate, fep_fep032.FEP032.fep032_quadraticUpdate_tendsto, fep_fep043.FEP043.fep043_quadratic_critical_iff, fep_fep043.FEP043.fep043_quadratic_unique_min—
cap-standalone-efe-theoremsExact standalone EFE theoremsSatisfiedThe Boltzmann-form control posterior minimizes the expected free energy with the stated uniqueness boundary; the perception-action loop admits an invariant surprisal bound through one controlled-kernel step; Bayesian model reduction never lowers evidence free energy under masked evidence; and the epistemic gain of an EFE time-scale separation is bounded by the log-affinity of its two-state carrier. Each result is a standalone Lean module bridged to its nearest catalogue topic; infinite-horizon, continuous-state, and physical entropy-production identification are not claimed.FEPComposed.fep156_boltzmannControlPosterior_extends_fep021_efeBalance, FEPComposed.fep157_loopInvariant_extends_fep065_controlledKernel, FEPComposed.fep158_reductionFreeEnergy_extends_fep058_gibbsLowerBound, FEPComposed.fep159_epistemicGain_extends_fep153_stationary, fep_fep156.FEP156.fep156_boltzmann_control_posterior_minimizes_efe, fep_fep157.FEP157.fep157_loop_invariant_surprisal_bound, fep_fep158.FEP158.fep158_reduction_free_energy_monotone, fep_fep159.FEP159.fep159_epistemic_gain_bounded_by_affinity—
cap-statistical-manifoldStatistical-manifold geometrySatisfiedThe differentiable one-parameter Bernoulli family, its zero-mean score, Fisher information and positive tangent metric, inverse-metric natural gradient, Fisher--Rao coordinate distance, and pullback law.FEPComposed.fep004_bernoulliMetric_specialization, FEPComposed.fep038_fisherRao_separation, fep_fep004.FEP004.fep004_fisherMetric_eq_zero_iff, fep_fep018.FEP018.fep018_fisherRaoDistance_triangle, fep_fep038.FEP038.fep038_bernoulliMass_hasDerivAt, fep_fep038.FEP038.fep038_expectedScore_zero, fep_fep038.FEP038.fep038_fisherInformation_eq, fep_fep038.FEP038.fep038_fisherMetric_coordinate, fep_fep038.FEP038.fep038_naturalGradient_duality—
cap-stick-breaking-simplexFinite stick-breaking mass conservationSatisfiedRecursive finite stick weights with an exact allocated-plus-residual mass identity and unit-interval bounds on the residual.fep_fep046.FEP046.fep046_mass_conservation, fep_fep046.FEP046.fep046_remainder_le_one, fep_fep046.FEP046.fep046_remainder_nonneg—
cap-stochastic-dynamicsStochastic dynamics and stationaritySatisfiedA normalized two-state Markov transition, stationary uniform law, exact n-step evolution and convergence, plus native reversible-kernel invariance.FEPComposed.fep037_autocorrelation_tracks_fep020, fep_fep010.FEP010.fep010_identity_invariant, fep_fep010.FEP010.fep010_reversible_invariant, fep_fep020.FEP020.fep020_iterate_deviation, fep_fep020.FEP020.fep020_tendsto_uniform, fep_fep020.FEP020.fep020_transition_sum_one, fep_fep020.FEP020.fep020_uniform_stationary, fep_fep025.FEP025.fep025_cycleCurrent_nonzero, fep_fep025.FEP025.fep025_cycleCurrent_stationary, fep_fep025.FEP025.fep025_transitionCurrent_stationary, fep_fep037.FEP037.fep037_autocorrelation_tendsto_zero, fep_fep037.FEP037.fep037_response_eq—
cap-strong-law-consistencyStrong-law empirical consistencySatisfiedMathlib's almost-sure strong law yields empirical Boolean and finite-atom frequency convergence under explicit integrability, pairwise-independence, and identical-distribution hypotheses; all finite atoms converge on one full-measure event, their L1 error vanishes, and Laplace smoothing preserves the limit.FEP.StatisticalConvergence.empiricalExpectationError_strongLaw, FEP.StatisticalConvergence.empiricalExpectation_strongLaw, FEP.StatisticalConvergence.empiricalL1Error_strongLaw, FEP.StatisticalConvergence.empiricalLaw_strongLaw, FEP.StatisticalConvergence.empiricalMass_strongLaw, FEP.StatisticalConvergence.empiricalRate_strongLaw, FEPComposed.fep036_smoothedRate_strongLaw—
cap-sufficient-statisticsSufficient-statistic factorizationSatisfiedA parameterized family, statistic, likelihood factorization, and a proved sufficiency criterion.fep_fep042.FEP042.fep042_likelihood_eq_of_stat_eq, fep_fep042.FEP042.fep042_likelihood_factorizes—
cap-temporal-inferenceFinite temporal and hierarchical inferenceSatisfiedNormalized finite kernels prove forward filtering, backward messages, forward--backward smoothing, variational state updates, hierarchical prediction, and Bayesian model averaging, with nontrivial Boolean masses and explicit zero-evidence, zero-normalizer, and zero-energy boundaries. No continuous-state or Kalman--Bucy result is implied.FEP.TemporalInference.boolModelAverage_true_mass, FEP.TemporalInference.forwardBackwardSmoothing_factorization, FEP.TemporalInference.forwardEvidence_zero_boundary, FEP.TemporalInference.forwardFilter_reconstruction, FEP.TemporalInference.modelAverage_sum_one, FEP.TemporalInference.smoothingNormalizer_zero_boundary, FEP.TemporalInference.variationalStateUpdate_zero_energy—
cap-thermodynamic-constitutive-lawThermodynamic constitutive lawSatisfiedFinite fluxes and forces connected by a diagonal linear constitutive law, with a quadratic entropy balance that is nonnegative and separates equilibrium under positive conductances.FEPComposed.fep025_current_dissipation_nonneg, fep_fep049.FEP049.fep049_edgeProduction_eq_zero_iff, fep_fep049.FEP049.fep049_edgeProduction_nonneg, fep_fep049.FEP049.fep049_entropyProduction_eq_zero_iff, fep_fep049.FEP049.fep049_entropyProduction_nonneg, fep_fep049.FEP049.fep049_flux_force_identity—
cap-thermodynamic-potentialHelmholtz thermodynamic potentialSatisfiedExact Helmholtz difference and derivative laws, including the equilibrium identity dF/dT=-S and a positive-temperature Gaussian thermal witness.FEPComposed.fep013_gaussianHelmholtz_derivative, fep_fep013.FEP013.fep013_delta_F, fep_fep013.FEP013.fep013_helmholtz_derivative_eq_neg_entropy—
Maintained formal-module table · 71 modules

Swipe horizontally to inspect every column.

71 maintained modules. Code dependencies are not scientific relations.
Lean moduleRoleTheoremsDefinitionsStructuresInternal dependencies
FepSketches.finite_probabilityFoundation19132—
FepSketches.finite_informationFoundation3180FepSketches.finite_probability
FepSketches.active_inferenceFoundation44353FepSketches.finite_information
FepSketches.markov_blanketFoundation982FepSketches.finite_information
FepSketches.information_geometryFoundation33141FepSketches.finite_probability
FepSketches.statistical_convergenceFoundation780—
FepSketches.measure_bayesFoundation1200FepSketches.finite_probability
FepSketches.variational_dualityFoundation74383FepSketches.finite_information
FepSketches.controlled_markovFoundation30282FepSketches.active_inference
FepSketches.temporal_inferenceFoundation34181FepSketches.controlled_markov
FepSketches.finite_markov_dynamicsFoundation1760FepSketches.finite_probability
FepSketches.causal_dynamicsFoundation34182FepSketches.markov_blanket
FepSketches.predictive_codingFoundation47131—
FepSketches.ness_flowFoundation960—
FepSketches.path_thermodynamicsFoundation56201FepSketches.finite_markov_dynamics, FepSketches.variational_duality
FepSketches.geometric_optimizationFoundation25173FepSketches.information_geometry
FepSketches.collective_inferenceFoundation41260FepSketches.finite_information
FepSketches.learning_theoryFoundation1290FepSketches.variational_duality
FepSketches.empirical_riskFoundation1790FepSketches.learning_theory
FepSketches.policy_treeFoundation13132FepSketches.controlled_markov
FepSketches.native_blanketFoundation2680FepSketches.markov_blanket
FepSketches.exponential_familyFoundation23141FepSketches.finite_information
FepSketches.gaussian_information_geometryFoundation31101—
FepSketches.smooth_information_geometryFoundation1670FepSketches.gaussian_information_geometry
FepSketches.continuous_time_markovFoundation72504FepSketches.active_inference, FepSketches.decision_risk, FepSketches.finite_markov_dynamics, FepSketches.markov_blanket
FepSketches.markov_semigroupFoundation1082FepSketches.continuous_time_markov, FepSketches.native_blanket
FepSketches.scalar_gaussian_semigroupFoundation15111FepSketches.gaussian_information_geometry, FepSketches.markov_semigroup
FepSketches.linear_gaussian_semigroupFoundation25131FepSketches.markov_semigroup, FepSketches.scalar_gaussian_semigroup
FepSketches.fin4_gaussian_semigroupFoundation42180FepSketches.linear_gaussian_semigroup
FepSketches.gaussian_precision_conditioningFoundation25150FepSketches.fin4_gaussian_semigroup
FepSketches.decision_riskFoundation25100FepSketches.finite_information, FepSketches.native_blanket
FepSketches.finite_posterior_learningFoundation13180FepSketches.decision_risk, FepSketches.learning_theory, FepSketches.native_blanket, FepSketches.statistical_convergence
FepSketches.posterior_convergenceFoundation26220FepSketches.finite_posterior_learning, FepSketches.gaussian_information_geometry, FepSketches.measure_bayes
FepSketches.gnn_documentFoundation0427—
FepSketches.gnn_denotationFoundation7162FepSketches.active_inference, FepSketches.gnn_document
FepSketches.gnn_denotation_continuousFoundation9122FepSketches.gnn_document, FepSketches.linear_gaussian_semigroup
FepSketches.gnn_render_statementsFoundation781FepSketches.active_inference, FepSketches.finite_markov_dynamics, FepSketches.finite_probability, FepSketches.gnn_denotation, FepSketches.gnn_document
FepSketches.efe_policy_selectionFoundation930FepSketches.controlled_markov, FepSketches.policy_tree, FepSketches.variational_duality
FepSketches.perception_action_loopFoundation2260FepSketches.active_inference, FepSketches.continuous_time_markov, FepSketches.controlled_markov, FepSketches.finite_markov_dynamics, FepSketches.temporal_inference
FepSketches.bayesian_model_reductionFoundation1030FepSketches.gaussian_information_geometry, FepSketches.variational_duality
FepSketches.efe_time_scale_separationFoundation3780FepSketches.active_inference, FepSketches.continuous_time_markov, FepSketches.ness_flow, FepSketches.path_thermodynamics
FepSketches.helmholtz_ao_nessFoundation2250FepSketches.continuous_time_markov, FepSketches.geometric_mechanics
FepSketches.geometric_mechanicsFoundation37230—
FepSketches.law_weighted_splitFoundation750FepSketches.helmholtz_ao_ness
FepSketches.h3_reference_modelFoundation53482FepSketches.fin4_gaussian_semigroup, FepSketches.markov_semigroup
FepSketches.compositions.coreComposition2610FepSketches.active_inference, FepSketches.controlled_markov, FepSketches.geometric_optimization, FepSketches.information_geometry, FepSketches.markov_blanket, FepSketches.path_thermodynamics, FepSketches.statistical_convergence, FepSketches.temporal_inference
FepSketches.compositions.measure_variationalComposition1400FepSketches.measure_bayes, FepSketches.variational_duality
FepSketches.compositions.control_temporalComposition1400FepSketches.controlled_markov, FepSketches.temporal_inference
FepSketches.compositions.causal_predictiveComposition1400FepSketches.causal_dynamics, FepSketches.predictive_coding
FepSketches.compositions.thermo_geometryComposition1400FepSketches.geometric_optimization, FepSketches.path_thermodynamics
FepSketches.compositions.collective_learningComposition1400FepSketches.collective_inference, FepSketches.learning_theory
FepSketches.compositions.risk_calibrationComposition700FepSketches.empirical_risk
FepSketches.compositions.policy_treesComposition700FepSketches.policy_tree
FepSketches.compositions.native_blanket_transferComposition700FepSketches.native_blanket
FepSketches.compositions.exponential_familyComposition700FepSketches.exponential_family
FepSketches.compositions.continuous_timeComposition700FepSketches.continuous_time_markov
FepSketches.compositions.finite_scientific_implicationsComposition6150FepSketches.active_inference, FepSketches.causal_dynamics, FepSketches.finite_markov_dynamics, FepSketches.finite_probability, FepSketches.information_geometry
FepSketches.compositions.finite_policy_actionComposition12100FepSketches.active_inference, FepSketches.controlled_markov, FepSketches.decision_risk, FepSketches.finite_posterior_learning, FepSketches.policy_tree
FepSketches.compositions.finite_reference_agentComposition501FepSketches.compositions.finite_policy_action, FepSketches.compositions.finite_scientific_implications, FepSketches.continuous_time_markov, FepSketches.finite_posterior_learning, FepSketches.native_blanket
FepSketches.compositions.gaussian_filterComposition16152FepSketches.gaussian_information_geometry, FepSketches.scalar_gaussian_semigroup
FepSketches.compositions.gaussian_controlComposition19171FepSketches.compositions.gaussian_filter, FepSketches.controlled_markov, FepSketches.gaussian_information_geometry, FepSketches.markov_semigroup, FepSketches.scalar_gaussian_semigroup
FepSketches.compositions.gaussian_grid_pathComposition1171FepSketches.scalar_gaussian_semigroup
FepSketches.compositions.smooth_reference_kernelComposition30100FepSketches.compositions.gaussian_control, FepSketches.compositions.gaussian_filter, FepSketches.compositions.gaussian_grid_path, FepSketches.fin4_gaussian_semigroup, FepSketches.gaussian_information_geometry, FepSketches.gaussian_precision_conditioning, FepSketches.markov_semigroup, FepSketches.posterior_convergence, FepSketches.scalar_gaussian_semigroup, FepSketches.smooth_information_geometry
FepSketches.compositions.efe_policy_selectionComposition100FepSketches.efe_policy_selection
FepSketches.compositions.perception_action_loopComposition100FepSketches.perception_action_loop
FepSketches.compositions.bayesian_model_reductionComposition100FepSketches.bayesian_model_reduction
FepSketches.compositions.efe_time_scale_separationComposition100FepSketches.efe_time_scale_separation
FepSketches.compositions.helmholtz_ao_nessComposition200FepSketches.helmholtz_ao_ness
FepSketches.compositions.geometric_mechanicsComposition700FepSketches.geometric_mechanics
FepSketches.compositions.h3_case_studyComposition93591FepSketches.causal_dynamics, FepSketches.compositions.finite_policy_action, FepSketches.compositions.finite_scientific_implications, FepSketches.compositions.gaussian_control, FepSketches.compositions.gaussian_filter, FepSketches.compositions.gaussian_grid_path, FepSketches.compositions.smooth_reference_kernel, FepSketches.h3_reference_model, FepSketches.markov_blanket, FepSketches.native_blanket, FepSketches.path_thermodynamics
FepSketches.composedAggregate000FepSketches.compositions.bayesian_model_reduction, FepSketches.compositions.causal_predictive, FepSketches.compositions.collective_learning, FepSketches.compositions.continuous_time, FepSketches.compositions.control_temporal, FepSketches.compositions.core, FepSketches.compositions.efe_policy_selection, FepSketches.compositions.efe_time_scale_separation, FepSketches.compositions.exponential_family, FepSketches.compositions.finite_policy_action, FepSketches.compositions.finite_reference_agent, FepSketches.compositions.finite_scientific_implications, FepSketches.compositions.gaussian_control, FepSketches.compositions.gaussian_filter, FepSketches.compositions.gaussian_grid_path, FepSketches.compositions.geometric_mechanics, FepSketches.compositions.h3_case_study, FepSketches.compositions.helmholtz_ao_ness, FepSketches.compositions.measure_variational, FepSketches.compositions.native_blanket_transfer, FepSketches.compositions.perception_action_loop, FepSketches.compositions.policy_trees, FepSketches.compositions.risk_calibration, FepSketches.compositions.smooth_reference_kernel, FepSketches.compositions.thermo_geometry
Exact internal module-dependency edges
ModuleDirectionImported maintained module
FepSketches.finite_information→FepSketches.finite_probability
FepSketches.active_inference→FepSketches.finite_information
FepSketches.markov_blanket→FepSketches.finite_information
FepSketches.information_geometry→FepSketches.finite_probability
FepSketches.measure_bayes→FepSketches.finite_probability
FepSketches.variational_duality→FepSketches.finite_information
FepSketches.controlled_markov→FepSketches.active_inference
FepSketches.temporal_inference→FepSketches.controlled_markov
FepSketches.finite_markov_dynamics→FepSketches.finite_probability
FepSketches.causal_dynamics→FepSketches.markov_blanket
FepSketches.path_thermodynamics→FepSketches.finite_markov_dynamics
FepSketches.path_thermodynamics→FepSketches.variational_duality
FepSketches.geometric_optimization→FepSketches.information_geometry
FepSketches.collective_inference→FepSketches.finite_information
FepSketches.learning_theory→FepSketches.variational_duality
FepSketches.empirical_risk→FepSketches.learning_theory
FepSketches.policy_tree→FepSketches.controlled_markov
FepSketches.native_blanket→FepSketches.markov_blanket
FepSketches.exponential_family→FepSketches.finite_information
FepSketches.smooth_information_geometry→FepSketches.gaussian_information_geometry
FepSketches.continuous_time_markov→FepSketches.active_inference
FepSketches.continuous_time_markov→FepSketches.decision_risk
FepSketches.continuous_time_markov→FepSketches.finite_markov_dynamics
FepSketches.continuous_time_markov→FepSketches.markov_blanket
FepSketches.markov_semigroup→FepSketches.continuous_time_markov
FepSketches.markov_semigroup→FepSketches.native_blanket
FepSketches.scalar_gaussian_semigroup→FepSketches.gaussian_information_geometry
FepSketches.scalar_gaussian_semigroup→FepSketches.markov_semigroup
FepSketches.linear_gaussian_semigroup→FepSketches.markov_semigroup
FepSketches.linear_gaussian_semigroup→FepSketches.scalar_gaussian_semigroup
FepSketches.fin4_gaussian_semigroup→FepSketches.linear_gaussian_semigroup
FepSketches.gaussian_precision_conditioning→FepSketches.fin4_gaussian_semigroup
FepSketches.decision_risk→FepSketches.finite_information
FepSketches.decision_risk→FepSketches.native_blanket
FepSketches.finite_posterior_learning→FepSketches.decision_risk
FepSketches.finite_posterior_learning→FepSketches.learning_theory
FepSketches.finite_posterior_learning→FepSketches.native_blanket
FepSketches.finite_posterior_learning→FepSketches.statistical_convergence
FepSketches.posterior_convergence→FepSketches.finite_posterior_learning
FepSketches.posterior_convergence→FepSketches.gaussian_information_geometry
FepSketches.posterior_convergence→FepSketches.measure_bayes
FepSketches.gnn_denotation→FepSketches.active_inference
FepSketches.gnn_denotation→FepSketches.gnn_document
FepSketches.gnn_denotation_continuous→FepSketches.gnn_document
FepSketches.gnn_denotation_continuous→FepSketches.linear_gaussian_semigroup
FepSketches.gnn_render_statements→FepSketches.active_inference
FepSketches.gnn_render_statements→FepSketches.finite_markov_dynamics
FepSketches.gnn_render_statements→FepSketches.finite_probability
FepSketches.gnn_render_statements→FepSketches.gnn_denotation
FepSketches.gnn_render_statements→FepSketches.gnn_document
FepSketches.efe_policy_selection→FepSketches.controlled_markov
FepSketches.efe_policy_selection→FepSketches.policy_tree
FepSketches.efe_policy_selection→FepSketches.variational_duality
FepSketches.perception_action_loop→FepSketches.active_inference
FepSketches.perception_action_loop→FepSketches.continuous_time_markov
FepSketches.perception_action_loop→FepSketches.controlled_markov
FepSketches.perception_action_loop→FepSketches.finite_markov_dynamics
FepSketches.perception_action_loop→FepSketches.temporal_inference
FepSketches.bayesian_model_reduction→FepSketches.gaussian_information_geometry
FepSketches.bayesian_model_reduction→FepSketches.variational_duality
FepSketches.efe_time_scale_separation→FepSketches.active_inference
FepSketches.efe_time_scale_separation→FepSketches.continuous_time_markov
FepSketches.efe_time_scale_separation→FepSketches.ness_flow
FepSketches.efe_time_scale_separation→FepSketches.path_thermodynamics
FepSketches.helmholtz_ao_ness→FepSketches.continuous_time_markov
FepSketches.helmholtz_ao_ness→FepSketches.geometric_mechanics
FepSketches.law_weighted_split→FepSketches.helmholtz_ao_ness
FepSketches.h3_reference_model→FepSketches.fin4_gaussian_semigroup
FepSketches.h3_reference_model→FepSketches.markov_semigroup
FepSketches.compositions.core→FepSketches.active_inference
FepSketches.compositions.core→FepSketches.controlled_markov
FepSketches.compositions.core→FepSketches.geometric_optimization
FepSketches.compositions.core→FepSketches.information_geometry
FepSketches.compositions.core→FepSketches.markov_blanket
FepSketches.compositions.core→FepSketches.path_thermodynamics
FepSketches.compositions.core→FepSketches.statistical_convergence
FepSketches.compositions.core→FepSketches.temporal_inference
FepSketches.compositions.measure_variational→FepSketches.measure_bayes
FepSketches.compositions.measure_variational→FepSketches.variational_duality
FepSketches.compositions.control_temporal→FepSketches.controlled_markov
FepSketches.compositions.control_temporal→FepSketches.temporal_inference
FepSketches.compositions.causal_predictive→FepSketches.causal_dynamics
FepSketches.compositions.causal_predictive→FepSketches.predictive_coding
FepSketches.compositions.thermo_geometry→FepSketches.geometric_optimization
FepSketches.compositions.thermo_geometry→FepSketches.path_thermodynamics
FepSketches.compositions.collective_learning→FepSketches.collective_inference
FepSketches.compositions.collective_learning→FepSketches.learning_theory
FepSketches.compositions.risk_calibration→FepSketches.empirical_risk
FepSketches.compositions.policy_trees→FepSketches.policy_tree
FepSketches.compositions.native_blanket_transfer→FepSketches.native_blanket
FepSketches.compositions.exponential_family→FepSketches.exponential_family
FepSketches.compositions.continuous_time→FepSketches.continuous_time_markov
FepSketches.compositions.finite_scientific_implications→FepSketches.active_inference
FepSketches.compositions.finite_scientific_implications→FepSketches.causal_dynamics
FepSketches.compositions.finite_scientific_implications→FepSketches.finite_markov_dynamics
FepSketches.compositions.finite_scientific_implications→FepSketches.finite_probability
FepSketches.compositions.finite_scientific_implications→FepSketches.information_geometry
FepSketches.compositions.finite_policy_action→FepSketches.active_inference
FepSketches.compositions.finite_policy_action→FepSketches.controlled_markov
FepSketches.compositions.finite_policy_action→FepSketches.decision_risk
FepSketches.compositions.finite_policy_action→FepSketches.finite_posterior_learning
FepSketches.compositions.finite_policy_action→FepSketches.policy_tree
FepSketches.compositions.finite_reference_agent→FepSketches.compositions.finite_policy_action
FepSketches.compositions.finite_reference_agent→FepSketches.compositions.finite_scientific_implications
FepSketches.compositions.finite_reference_agent→FepSketches.continuous_time_markov
FepSketches.compositions.finite_reference_agent→FepSketches.finite_posterior_learning
FepSketches.compositions.finite_reference_agent→FepSketches.native_blanket
FepSketches.compositions.gaussian_filter→FepSketches.gaussian_information_geometry
FepSketches.compositions.gaussian_filter→FepSketches.scalar_gaussian_semigroup
FepSketches.compositions.gaussian_control→FepSketches.compositions.gaussian_filter
FepSketches.compositions.gaussian_control→FepSketches.controlled_markov
FepSketches.compositions.gaussian_control→FepSketches.gaussian_information_geometry
FepSketches.compositions.gaussian_control→FepSketches.markov_semigroup
FepSketches.compositions.gaussian_control→FepSketches.scalar_gaussian_semigroup
FepSketches.compositions.gaussian_grid_path→FepSketches.scalar_gaussian_semigroup
FepSketches.compositions.smooth_reference_kernel→FepSketches.compositions.gaussian_control
FepSketches.compositions.smooth_reference_kernel→FepSketches.compositions.gaussian_filter
FepSketches.compositions.smooth_reference_kernel→FepSketches.compositions.gaussian_grid_path
FepSketches.compositions.smooth_reference_kernel→FepSketches.fin4_gaussian_semigroup
FepSketches.compositions.smooth_reference_kernel→FepSketches.gaussian_information_geometry
FepSketches.compositions.smooth_reference_kernel→FepSketches.gaussian_precision_conditioning
FepSketches.compositions.smooth_reference_kernel→FepSketches.markov_semigroup
FepSketches.compositions.smooth_reference_kernel→FepSketches.posterior_convergence
FepSketches.compositions.smooth_reference_kernel→FepSketches.scalar_gaussian_semigroup
FepSketches.compositions.smooth_reference_kernel→FepSketches.smooth_information_geometry
FepSketches.compositions.efe_policy_selection→FepSketches.efe_policy_selection
FepSketches.compositions.perception_action_loop→FepSketches.perception_action_loop
FepSketches.compositions.bayesian_model_reduction→FepSketches.bayesian_model_reduction
FepSketches.compositions.efe_time_scale_separation→FepSketches.efe_time_scale_separation
FepSketches.compositions.helmholtz_ao_ness→FepSketches.helmholtz_ao_ness
FepSketches.compositions.geometric_mechanics→FepSketches.geometric_mechanics
FepSketches.compositions.h3_case_study→FepSketches.causal_dynamics
FepSketches.compositions.h3_case_study→FepSketches.compositions.finite_policy_action
FepSketches.compositions.h3_case_study→FepSketches.compositions.finite_scientific_implications
FepSketches.compositions.h3_case_study→FepSketches.compositions.gaussian_control
FepSketches.compositions.h3_case_study→FepSketches.compositions.gaussian_filter
FepSketches.compositions.h3_case_study→FepSketches.compositions.gaussian_grid_path
FepSketches.compositions.h3_case_study→FepSketches.compositions.smooth_reference_kernel
FepSketches.compositions.h3_case_study→FepSketches.h3_reference_model
FepSketches.compositions.h3_case_study→FepSketches.markov_blanket
FepSketches.compositions.h3_case_study→FepSketches.native_blanket
FepSketches.compositions.h3_case_study→FepSketches.path_thermodynamics
FepSketches.composed→FepSketches.compositions.bayesian_model_reduction
FepSketches.composed→FepSketches.compositions.causal_predictive
FepSketches.composed→FepSketches.compositions.collective_learning
FepSketches.composed→FepSketches.compositions.continuous_time
FepSketches.composed→FepSketches.compositions.control_temporal
FepSketches.composed→FepSketches.compositions.core
FepSketches.composed→FepSketches.compositions.efe_policy_selection
FepSketches.composed→FepSketches.compositions.efe_time_scale_separation
FepSketches.composed→FepSketches.compositions.exponential_family
FepSketches.composed→FepSketches.compositions.finite_policy_action
FepSketches.composed→FepSketches.compositions.finite_reference_agent
FepSketches.composed→FepSketches.compositions.finite_scientific_implications
FepSketches.composed→FepSketches.compositions.gaussian_control
FepSketches.composed→FepSketches.compositions.gaussian_filter
FepSketches.composed→FepSketches.compositions.gaussian_grid_path
FepSketches.composed→FepSketches.compositions.geometric_mechanics
FepSketches.composed→FepSketches.compositions.h3_case_study
FepSketches.composed→FepSketches.compositions.helmholtz_ao_ness
FepSketches.composed→FepSketches.compositions.measure_variational
FepSketches.composed→FepSketches.compositions.native_blanket_transfer
FepSketches.composed→FepSketches.compositions.perception_action_loop
FepSketches.composed→FepSketches.compositions.policy_trees
FepSketches.composed→FepSketches.compositions.risk_calibration
FepSketches.composed→FepSketches.compositions.smooth_reference_kernel
FepSketches.composed→FepSketches.compositions.thermo_geometry
+ weightedDivergence Q H DQ g dlogp = dot (divQ DQ) g
Exact conclusion
weightedDivergence Q H DQ g dlogp = dot (divQ DQ) g
Source statement SHA-256
727f8b080ba12460389afbff0a1dc76a49857551340cf7e538ed588fb87ff9b8
Active namespace variable context (not an elaborated signature)

No rows.

Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['n']typed_binder{n : ℕ}ℕimplicit
source syntax; proposition elaboration not performed['Q', 'H', 'DQ']typed_binder(Q H DQ : Fin n → Fin n → ℝ)Fin n → Fin n → ℝexplicit
source syntax; proposition elaboration not performed['g', 'dlogp']typed_binder(g dlogp : Fin n → ℝ)Fin n → ℝexplicit
source syntax; proposition elaboration not performed['hQ']typed_binder(hQ : SkewSymmetric Q)SkewSymmetric Qexplicit
source syntax; proposition elaboration not performed['hH']typed_binder(hH : SymmetricOf H)SymmetricOf Hexplicit
source syntax; proposition elaboration not performed['hcoup']typed_binder(hcoup : ∀ i, dlogp i = -g i)∀ i, dlogp i = -g iexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
[]FEP.GeometricMechanics.fep168_weightedDivergence_eq_remainderDotFEP.GeometricMechanics.fep168_weightedDivergence_eq_remainderDotexact or same-namespace source identifierproof_reference
Owned canonical source identity
src/fep_lean/catalogue/bodies/geometric_mechanics.py

Authored relations retain their meanings

Formal edges carry a derivational witness; formal_pairing records a witnessed theorem pairing. Conceptual links and upstream affinities remain separate. The adjacency-matrix graph uses source rows and target columns, aggregates topic edges, and does not assert a family theorem.

Three directed family adjacency matrices: formal, theorem-pairing and conceptual; separate editorial upstream affinities

Exact authored topic edges and witnesses
SourceTargetKindWitness and rationale
fep-002fep-014formalFEPComposed.fep002_vfe_compProd_chain_rule
The composed theorem expands fep-002 variational free energy by invoking fep-014's composition-product KL chain rule.
fep-003fep-021formalFEPComposed.fep003_pragmaticCost_efe_balance
The composed theorem feeds fep-003's discounted ENNReal pragmatic cost directly into fep-021's EFE convention and proves the exact epistemic balance.
fep-004fep-038formalFEPComposed.fep004_bernoulliMetric_specialization
The composed theorem specializes fep-004's finite positive-weight Fisher metric to the one-coordinate Bernoulli information weight computed by fep-038. Reviewed 2026-09-22 against the primary-qualified endpoint rule. The witness carries both endpoints through their Fisher-metric definitions (`fep_fep004.FEP004.fep004_fisherMetric`, `fep_fep038.FEP038.fep038_fisherMetric`) without invoking either topic's reviewed theorems; the row stands unchanged.
fep-005fep-009conceptualAbsent: blocker or conceptual association
The finite blanket foundation proves a normalized conditional factorization and ties each transition row to it, but neither theorem consumes fep-005's finite partition declarations or fep-009's measure-theoretic conditional-independence declarations. A formal cross-topic edge awaits an explicit carrier bridge.
fep-007fep-028formalFEPComposed.fep007_normalizedMessage_is_fep028_softmax
With unit incoming messages and factor exp(-gamma * cost), fep-007's normalized sum-product message equals fep-028's support-aware softmax on the support embedded from the eight nodes into the ten policies, and fep-007's primary message-normalization theorem derives the unit sum of that softmax. The embedding and the exponential factor are explicit in the witness; no general belief-propagation or free-energy claim is made. Added 2026-10-08 (LEAN-8, issue 106).
fep-008fep-028conceptualAbsent: blocker or conceptual association
Finite argmin existence and finite softmax normalization represent deterministic and stochastic policy-selection layers.
fep-011fep-026formalFEPComposed.fep026_priorComplexity_is_fep011_surprise
The composed theorem identifies self-information and scalar prior complexity as the same negative-log functional, fixing their shared sign convention.
fep-012fep-028formalFEPComposed.fep012_softmax_entropyRegularizedCost_le
The composed theorem supplies fep-012's entropy-regularized policy objective with fep-028's globally normalized unit-interval softmax law. Reviewed 2026-09-22 against the primary-qualified endpoint rule. The witness carries fep-028 through its reviewed supporting theorems `fep_fep028.FEP028.fep028_softmax_nonneg` and `fep_fep028.FEP028.fep028_softmax_le_one` rather than the primary `fep_fep028.FEP028.fep028_softmax_sum_univ`; the row stands unchanged.
fep-013fep-002conceptualAbsent: blocker or conceptual association
Relating Helmholtz and variational free energy requires an explicit energy map and scaling beyond either current scalar definition.
fep-013fep-040formalFEPComposed.fep013_gaussianHelmholtz_derivative
The composed theorem instantiates the equilibrium Helmholtz derivative law with fep-040's Gaussian thermal entropy and the compatible internal energy U(T)=T/2.
fep-016fep-032conceptualAbsent: blocker or conceptual association
A nonnegative quadratic residual and a scalar descent contraction are complementary local pieces of a quadratic optimization argument.
fep-017fep-045conceptualAbsent: blocker or conceptual association
The native posterior-kernel laws provide normalized Bayesian semantics, while fep-045 must still prove closure of a named conjugate family.
fep-021fep-041formalFEPComposed.fep021_informationGain_balance
The composed theorem inserts fep-041's native KL information gain into fep-021's ENNReal EFE convention and proves the exact epistemic balance.
fep-022fep-027formalFEPComposed.fep022_predictive_is_hierarchical_marginal
The composed theorem realizes the posterior-predictive kernel as a hierarchical child kernel and identifies its marginal with sequential prediction.
fep-024fep-014formalFEPComposed.fep024_regularizer_is_fep014_kl
The composed theorem identifies fep-024's weighted regularizer with fep-014's native measure-valued KL divergence and its nonnegativity law.
fep-025fep-049formalFEPComposed.fep025_current_dissipation_nonneg
The composed theorem feeds fep-025's antisymmetric probability-current field into fep-049's nonnegative linear-resistance entropy-production law. Reviewed 2026-09-22 against the primary-qualified endpoint rule. The witness carries fep-049 through its reviewed supporting theorem `fep_fep049.FEP049.fep049_entropyProduction_nonneg` rather than the primary `fep_fep049.FEP049.fep049_entropyProduction_eq_zero_iff`; the row stands unchanged.
fep-027fep-019formalFEPComposed.fep027_priorPredictive_is_fep019
The composed theorem identifies fep-027's child marginal with fep-019's prior-predictive measure-kernel composition.
fep-029fep-044conceptualAbsent: blocker or conceptual association
The explicit quadratic Bregman instance and the alpha-divergence proxy are neighboring but mathematically distinct divergence families.
fep-029fep-104formalFEPComposed.fep029_quadraticBregman_is_fep104_scalar_instance
fep-029's scalar quadratic Bregman divergence is the one-coordinate instance of the generic Bregman divergence of fep-104 with potential v0^2 and gradient 2*v0, and fep-104's mirror-descent three-point identity yields the scalar three-point law for it. Scalar case only; no claim about other potentials or the alpha-divergence proxy. Added 2026-10-08 (LEAN-8, issue 106).
fep-030fep-031conceptualAbsent: blocker or conceptual association
A general constrained maximum-entropy derivation of Gibbs laws remains outside the binary zero-inverse-temperature theorem.
fep-031fep-030formalFEPComposed.fep031_zeroBeta_binary_maxEntropy
The composed theorem rewrites the binary Gibbs law at zero inverse temperature to one half and invokes fep-030's entropy equality characterization.
fep-032fep-043formalFEPComposed.fep032_update_is_fep043_gradientStep
The composed theorem identifies a gradient step on fep-043's exact quadratic landscape with fep-032's globally convergent centered update at effective step size 2aη.
fep-034fep-047conceptualAbsent: blocker or conceptual association
The normalized one-step kernel filter and the finite sum-product forward message occupy adjacent exact-inference layers.
fep-034fep-017formalFEPComposed.fep034_filter_is_fep017_posterior
The composed theorem identifies the transition-observation filter with fep-017's native posterior at the transition-predicted prior.
fep-036fep-045formalFEPComposed.fep036_empiricalPosterior_closed
The composed theorem feeds fep-036's interior smoothed count estimate into fep-045's exact normalized conjugate update. Reviewed 2026-09-22 against the primary-qualified endpoint rule. The witness carries fep-036 through its reviewed supporting theorems `fep_fep036.FEP036.fep036_smoothedRate_pos` and `fep_fep036.FEP036.fep036_smoothedRate_lt_one` rather than the primary `fep_fep036.FEP036.fep036_smoothedRate_tendsto_of_empiricalRate`; the row stands unchanged.
fep-037fep-020formalFEPComposed.fep037_autocorrelation_tracks_fep020
The composed theorem identifies fep-037's autocorrelation mode with the exact deviation mode of fep-020's normalized two-state Markov evolution.
fep-038fep-018formal_pairingFEPComposed.fep038_fisherRao_separation
The composed theorem couples fep-038's positive Bernoulli Fisher tangent metric to fep-018's separating Fisher--Rao coordinate distance. Reviewed 2026-09-22 against the primary-qualified endpoint rule. The witness carries fep-038 through its reviewed supporting theorem `fep_fep038.FEP038.fep038_fisherMetric_pos` rather than the primary `fep_fep038.FEP038.fep038_fisherInformation_eq`; the row stands unchanged.
fep-039fep-005formalFEPComposed.fep039_partitionEnergy_conservation
The composed theorem aggregates state energies over fep-005's four unique partition fibres and proves that fep-039's local-energy sum conserves total state energy.
fep-041fep-014formalFEPComposed.fep041_informationGain_is_fep014_kl
The composed theorem identifies fep-041 information gain with the native KL divergence and invokes fep-014's finite-measure separation law.
fep-042fep-036formalFEPComposed.fep036_empiricalPosterior_closed
The composed theorem uses fep-042's success count to construct fep-036's smoothed empirical prior before conjugate updating. Reviewed 2026-09-22 against the primary-qualified endpoint rule. The witness carries fep-036 through its reviewed supporting theorems `fep_fep036.FEP036.fep036_smoothedRate_pos` and `fep_fep036.FEP036.fep036_smoothedRate_lt_one` rather than the primary `fep_fep036.FEP036.fep036_smoothedRate_tendsto_of_empiricalRate`; the row stands unchanged.
fep-046fep-045formalFEPComposed.fep046_single_break_is_fep045_bernoulli
A single stick-breaking fraction is the Bernoulli law of fep-045 (allocated weight is the true mass, residual is the false mass), and fep-046's mass-conservation theorem derives the normalization of fep-045's conjugate posterior mass function at the posterior parameter. One break only; no Dirichlet-process or infinite-series claim. Added 2026-10-08 (LEAN-8, issue 106).
fep-050fep-049formalFEPComposed.fep050_landauer_work_bound_from_fep049_entropy_production
Discharging fep-050's second-law premise with fep-049's nonnegative quadratic entropy production derives the Landauer work bound. The identification of the erasure's total entropy change with the constitutive-law entropy production is an explicit premise (`hBalance`) of the witness, a modelling assumption rather than a consequence of either topic. Added 2026-10-08 (LEAN-8, issue 106).
fep-051fep-017formal_pairingFEPComposed.fep051_rn_reconstruction_refines_fep017
Radon--Nikodym reconstruction and posterior joint reconstruction are the measure-level reconstruction laws on either side of Bayesian inversion.
fep-052fep-017formal_pairingFEPComposed.fep052_posterior_tilt_is_fep017_posterior
On a countable latent carrier, both topic surfaces certify the same predictive-almost-everywhere likelihood-ratio representation.
fep-053fep-017formal_pairingFEPComposed.fep053_joint_reconstruction_extends_fep017
Kernel Bayes and fep-017 reconstruct the same swapped joint law, with the new topic keeping the native posterior notation visible.
fep-054fep-017formal_pairingFEPComposed.fep054_involution_of_fep017_posterior
Native double Bayesian inversion recovers the original likelihood almost everywhere, while the fep-017 posterior recovers the prior after a Markov likelihood; the pairing keeps these two sides of involution distinct.
fep-055fep-019formal_pairingFEPComposed.fep055_composite_inversion_uses_fep019
Composite Bayesian inversion uses exactly the chronological predictive law identified by fep-019's measure--kernel associativity theorem.
fep-056fep-017formal_pairingFEPComposed.fep056_disintegration_supplies_fep017
Standard-Borel disintegration reconstructs its joint, while fep-017 certifies the corresponding posterior reconstruction for an arbitrary finite likelihood model.
fep-057fep-015formal_pairingFEPComposed.fep057_tower_integrates_fep015
The conditional-expectation tower integrates any integrable observable; fep-015 supplies measurability for its canonical variational integrand.
fep-058fep-001formal_pairingFEPComposed.fep058_gibbs_gap_is_fep001_kl
The finite Gibbs lower bound and fep-001's native KL upper bound expose the same nonnegative-gap architecture without equating their scalar carriers.
fep-059fep-001formal_pairingFEPComposed.fep059_dv_equality_is_fep001_exactness
Equality in the finite Donsker--Varadhan bound and zero native KL each separate the relevant optimizer, with their distinct support regimes visible.
fep-060fep-002formalFEPComposed.fep060_coordinate_elbo_refines_fep002
The coordinate decomposition supplies the nonnegative remainder required by fep-002 and therefore turns the finite joint ELBO into an actual bound.
fep-061fep-014formal_pairingFEPComposed.fep061_meanField_gap_is_fep014_kl
Finite mean-field optimality and measure-native KL exactness are recorded together while preserving their intentionally different zero-mass semantics.
fep-062fep-035formal_pairingFEPComposed.fep062_iwae_jensen_uses_fep035
The fixed-sample IWAE inequality and fep-035's strict two-point Jensen law expose respectively the weak and strict finite logarithmic boundaries.
fep-063fep-014formal_pairingFEPComposed.fep063_channel_dpi_bounds_fep014
Finite-channel contraction is paired with the native nonnegativity of the pre-channel KL quantity; no unsupported finite-to-measure identification is introduced.
fep-064fep-041formal_pairingFEPComposed.fep064_rateDistortion_uses_fep041_mutualInformation
Rate--distortion weak duality is accompanied by the measure-native nonnegativity law for the mutual-information ingredient's KL semantics.
fep-065fep-023formal_pairingFEPComposed.fep065_controlledKernel_extends_fep023_normalization
Controlled transition rows and every reachable policy law obey their respective normalization contracts.
fep-066fep-034formal_pairingFEPComposed.fep066_action_update_refines_fep034_filter
A finite action-conditioned update reconstructs its predicted joint, while the native fep-034 filter reconstructs the corresponding measure joint.
fep-067fep-023formal_pairingFEPComposed.fep067_reachableBelief_refines_fep023
Reachable-belief reduction preserves policy value, alongside the original set-level witness that an available policy has a reachable law.
fep-068fep-033formal_pairingFEPComposed.fep068_softBellman_extends_fep033
The finite positive-temperature theorem supplies a positive partition, exact soft Bellman successor recursion, and actionwise soft-value bound; it is paired with the original transition-aware Bellman successor equation without claiming carrier equivalence.
fep-069fep-031formal_pairingFEPComposed.fep069_desirability_combines_fep031_weights
A desirability backup combines a normalized passive prediction with the strictly positive Gibbs weight certified by fep-031.
fep-070fep-028formal_pairingFEPComposed.fep070_controlPosterior_refines_fep028_softmax
The prior-weighted control posterior and the original support-aware softmax are both exactly normalized finite action selectors. Reviewed 2026-09-22 against the primary-qualified endpoint rule. The witness carries fep-028 through its reviewed supporting theorem `fep_fep028.FEP028.fep028_softmax_probs_sum_one` rather than the primary `fep_fep028.FEP028.fep028_softmax_sum_univ`; the row stands unchanged.
fep-071fep-033formal_pairingFEPComposed.fep071_sophisticatedEFE_extends_fep033
Sophisticated EFE and the original Bellman value each recompute a continuation at the successor horizon; only the former conditions on future observations.
fep-072fep-034formal_pairingFEPComposed.fep072_forward_filter_refines_fep034
The finite forward-filter atom reconstruction and the native fep-034 joint reconstruction record the same predict-then-condition architecture.
fep-073fep-047formal_pairingFEPComposed.fep073_backward_message_composes_fep047
Backward information recursion and the original sum-product composition law jointly certify temporal message composition in their native carriers.
fep-074fep-034formal_pairingFEPComposed.fep074_smoothing_reconstructs_fep034_filter
Finite forward--backward smoothing reconstructs its weighted atom while the native fep-034 posterior reconstructs the predicted observation joint.
fep-075fep-034formal_pairingFEPComposed.fep075_smoothing_normalization_extends_fep034
Positive-normalizer finite smoothing and every native fep-034 posterior fiber each carry exactly unit mass.
fep-076fep-028formal_pairingFEPComposed.fep076_variational_update_refines_fep028_softmax
A prior-weighted variational state update and the original finite softmax both produce normalized exponential-tilt laws. Reviewed 2026-09-22 against the primary-qualified endpoint rule. The witness carries fep-028 through its reviewed supporting theorem `fep_fep028.FEP028.fep028_softmax_probs_sum_one` rather than the primary `fep_fep028.FEP028.fep028_softmax_sum_univ`; the row stands unchanged.
fep-077fep-027formal_pairingFEPComposed.fep077_hierarchical_predictive_extends_fep027
Finite two-level predictive composition and native three-level composition both expose the same associativity seam without conflating their carriers.
fep-078fep-019formal_pairingFEPComposed.fep078_model_average_composes_fep019
Finite Bayesian model averaging and native sequential prediction each make their mixture/composition law explicit.
fep-079fep-009formal_pairingFEPComposed.fep079_blanket_cmi_refines_fep009
Finite blanket factorization is characterized by zero conditional mutual information, while fep-009 supplies the nonnegative product-mass primitive. Reviewed 2026-09-22 against the primary-qualified endpoint rule. The witness carries fep-009 through its reviewed supporting theorem `fep_fep009.FEP009.fep009_joint_product_nonneg` rather than the primary `fep_fep009.FEP009.fep009_condIndep_symm`; the row stands unchanged.
fep-080fep-019formal_pairingFEPComposed.fep080_shared_mixture_preserves_fep019_prediction
Mixing a shared finite conditional law commutes with joint formation, alongside fep-019's native sequential-prediction associativity.
fep-081fep-009formal_pairingFEPComposed.fep081_coupled_blanket_composes_fep009
Coupled blankets retain zero conditional mutual information within each conditional row, together with fep-009's product-mass nonnegativity. Reviewed 2026-09-22 against the primary-qualified endpoint rule. The witness carries fep-009 through its reviewed supporting theorem `fep_fep009.FEP009.fep009_joint_product_nonneg` rather than the primary `fep_fep009.FEP009.fep009_condIndep_symm`; the row stands unchanged.
fep-082fep-023formal_pairingFEPComposed.fep082_intervention_normalization_extends_fep023
Every hard intervention row is normalized, as is every reachable law under the original fep-023 normalization premise.
fep-083fep-009formal_pairingFEPComposed.fep083_intervention_invariance_refines_fep009
Ordered intervention preserves the named non-descendant marginal; fep-009 simultaneously records monotonicity for any nested measurable events. Reviewed 2026-09-22 against the primary-qualified endpoint rule. The witness carries fep-009 through its reviewed supporting theorem `fep_fep009.FEP009.fep009_likelihood_mono` rather than the primary `fep_fep009.FEP009.fep009_condIndep_symm`; the row stands unchanged.
fep-084fep-027formal_pairingFEPComposed.fep084_ordered_factorization_extends_fep027
The finite ordered four-node density and the native three-level hierarchy both expose their complete product factorization.
fep-085fep-009formal_pairingFEPComposed.fep085_local_markov_refines_fep009
The ordered finite carrier yields zero local mutual information at positive evidence, while fep-009 supplies an inhabited native conditional-independence boundary against the trivial sigma algebra. Reviewed 2026-09-22 against the primary-qualified endpoint rule. The witness carries fep-009 through its reviewed supporting theorem `fep_fep009.FEP009.fep009_condIndep_bot_right` rather than the primary `fep_fep009.FEP009.fep009_condIndep_symm`; the row stands unchanged.
fep-086fep-016formal_pairingFEPComposed.fep086_precision_energy_refines_fep016
Precision energy is nonnegative both in the predictive-coding definition and in fep-016's unhalved weighted-quadratic primitive.
fep-087fep-039formal_pairingFEPComposed.fep087_hierarchical_energy_extends_fep039
A hierarchical prediction-error sum decomposes by level, while fep-039 certifies additivity of a four-block global free energy.
fep-088fep-043formal_pairingFEPComposed.fep088_prediction_gradient_extends_fep043
The predictive-error derivative and fep-043's quadratic derivative are the same scalar geometry at curvature `precision / 2`.
fep-089fep-006formal_pairingFEPComposed.fep089_finite_jet_shift_specializes_fep006
Finite-jet shifts satisfy their native additive law and instantiate fep-006's generic discrete-flow semigroup under one-degree shifting.
fep-090fep-043formal_pairingFEPComposed.fep090_generalized_correction_combines_fep043
A generalized-filter correction exposes its shift-minus-gradient equation; the same coordinate gradient is backed by fep-043's exact quadratic derivative.
fep-091fep-016formal_pairingFEPComposed.fep091_precision_modulation_refines_fep016
Precision modulation is monotone in the predictive energy and specializes fep-016's nonnegative weighted quadratic at the lower precision.
fep-092fep-032formal_pairingFEPComposed.fep092_quadratic_convergence_specializes_fep032
On the shared stability interval, predictive error tends to zero and the equivalent centered quadratic iteration from fep-032 tends to its target.
fep-093fep-010formal_pairingFEPComposed.fep093_path_ratio_extends_fep010_reversal
The supported forward/reverse ratio reconstructs path mass, while the identity kernel supplies the original catalogue's concrete reversibility witness on an arbitrary measure carrier.
fep-094fep-049formal_pairingFEPComposed.fep094_path_kl_refines_fep049_entropy_production
Path entropy production is exactly finite KL, alongside the original nonnegative quadratic entropy-production certificate. Reviewed 2026-09-22 against the primary-qualified endpoint rule. The witness carries fep-049 through its reviewed supporting theorem `fep_fep049.FEP049.fep049_entropyProduction_nonneg` rather than the primary `fep_fep049.FEP049.fep049_entropyProduction_eq_zero_iff`; the row stands unchanged.
fep-095fep-010formal_pairingFEPComposed.fep095_fluctuation_symmetry_extends_fep010_reversibility
Detailed finite fluctuation symmetry and native kernel reversibility each recover their corresponding forward or invariant law.
fep-096fep-049formal_pairingFEPComposed.fep096_integral_fluctuation_refines_fep049
The integral fluctuation normalization is paired with the original exact flux--force representation of nonnegative entropy production. Reviewed 2026-09-22 against the primary-qualified endpoint rule. The witness carries fep-049 through its reviewed supporting theorem `fep_fep049.FEP049.fep049_flux_force_identity` rather than the primary `fep_fep049.FEP049.fep049_entropyProduction_eq_zero_iff`; the row stands unchanged.
fep-097fep-013formal_pairingFEPComposed.fep097_jarzynski_extends_fep013_helmholtz
The finite Jarzynski normalization and the original Helmholtz difference identity are retained as separate assumptions, avoiding a microscopic-energy identification that neither theorem proves.
fep-098fep-025formal_pairingFEPComposed.fep098_local_current_refines_fep025
Finite detailed balance cancels local current, while the original matrix current remains antisymmetric on every oriented edge.
fep-099fep-014formal_pairingFEPComposed.fep099_reversible_kl_dissipation_links_fep010_fep014
Reversible finite-channel KL dissipation is accompanied by both native KL nonnegativity and the native reversible-kernel stationarity consequence.
fep-100fep-004formal_pairingFEPComposed.fep100_categorical_fisher_refines_fep004
Full-support categorical Fisher positivity strengthens the original diagonal Fisher metric's positive-semidefinite certificate.
fep-101fep-038formal_pairingFEPComposed.fep101_fisher_pullback_extends_fep038
Finite-matrix Fisher pullback composition extends the original scalar Bernoulli pullback identity without asserting a global chart theorem. Reviewed 2026-09-22 against the primary-qualified endpoint rule. The witness carries fep-038 through its reviewed supporting theorem `fep_fep038.FEP038.fep038_fisherMetric_pullback` rather than the primary `fep_fep038.FEP038.fep038_fisherInformation_eq`; the row stands unchanged.
fep-102fep-038formal_pairingFEPComposed.fep102_cramer_rao_uses_fep038_score_geometry
The finite scalar Cramér--Rao certificate includes explicit score regularity, while fep-038 supplies its concrete centered Bernoulli score case. Reviewed 2026-09-22 against the primary-qualified endpoint rule. The witness carries fep-038 through its reviewed supporting theorem `fep_fep038.FEP038.fep038_expectedScore_zero` rather than the primary `fep_fep038.FEP038.fep038_fisherInformation_eq`; the row stands unchanged.
fep-103fep-038formal_pairingFEPComposed.fep103_natural_gradient_extends_fep038
Natural-gradient equivariance under an invertible chart extends the original one-dimensional Fisher/natural-gradient duality. Reviewed 2026-09-22 against the primary-qualified endpoint rule. The witness carries fep-038 through its reviewed supporting theorem `fep_fep038.FEP038.fep038_naturalGradient_duality` rather than the primary `fep_fep038.FEP038.fep038_fisherInformation_eq`; the row stands unchanged.
fep-104fep-024formal_pairingFEPComposed.fep104_mirror_descent_refines_fep024
The mirror-descent three-point identity is paired with the original native KL-regularized lower bound without identifying Bregman and KL divergences.
fep-105fep-044formal_pairingFEPComposed.fep105_bregman_projection_extends_fep044
The affine Bregman projection satisfies its exact Pythagorean identity, while fep-044 records nonnegativity for the concrete Bernoulli Hellinger case.
fep-106fep-038formal_pairingFEPComposed.fep106_replicator_links_fep028_fep038
Replicator dynamics is a categorical natural gradient; the original Bernoulli natural-gradient duality and finite softmax normalization remain visible as its scalar and discrete-selection neighbors. Reviewed 2026-09-22 against the primary-qualified endpoint rule. The witness carries fep-038 through its reviewed supporting theorem `fep_fep038.FEP038.fep038_naturalGradient_duality` rather than the primary `fep_fep038.FEP038.fep038_fisherInformation_eq`; the row stands unchanged.
fep-107fep-027formal_pairingFEPComposed.fep107_product_agent_extends_fep027_hierarchy
Independent product-agent generative mass factorizes pointwise, while the original native hierarchical joint remains normalized under probability and Markov assumptions.
fep-108fep-039formal_pairingFEPComposed.fep108_collective_vfe_extends_fep039_additivity
Product-law collective VFE additivity extends the original four-block global free-energy additivity law without identifying their scalar models.
fep-109fep-021formal_pairingFEPComposed.fep109_independent_efe_extends_fep021
Independent-agent EFE additivity is paired with the original truncated EFE sign convention and its exact epistemic-balance premise.
fep-110fep-028formal_pairingFEPComposed.fep110_product_of_experts_refines_fep028_normalization
Positive-normalizer unit-weight product-of-experts pooling and nonempty-support softmax each expose exact finite normalization; the pairing does not identify their weighting conventions. Reviewed 2026-09-22 against the primary-qualified endpoint rule. The witness carries fep-028 through its reviewed supporting theorem `fep_fep028.FEP028.fep028_softmax_probs_sum_one` rather than the primary `fep_fep028.FEP028.fep028_softmax_sum_univ`; the row stands unchanged.
fep-111fep-025formal_pairingFEPComposed.fep111_consensus_mass_extends_fep025_conservation
The two-agent consensus step conserves pointwise mass; the original antisymmetric-current theorem conserves total divergence.
fep-112fep-048formal_pairingFEPComposed.fep112_consensus_convergence_extends_fep048_contraction
Atomwise consensus disagreement converges to zero, extending the original concrete halving-contraction convergence witness.
fep-113fep-032formal_pairingFEPComposed.fep113_coupled_potential_refines_fep032_descent
Nonzero consensus disagreement gives strict coupled-potential descent, alongside the original stable-step quadratic-energy descent law.
fep-114fep-036formal_pairingFEPComposed.fep114_subgaussian_tail_refines_fep036_empirical_rate
The finite-sample sub-Gaussian tail certificate is paired with the original strict positivity of a Laplace-smoothed empirical rate. Reviewed 2026-09-22 against the primary-qualified endpoint rule. The witness carries fep-036 through its reviewed supporting theorem `fep_fep036.FEP036.fep036_smoothedRate_pos` rather than the primary `fep_fep036.FEP036.fep036_smoothedRate_tendsto_of_empiricalRate`; the row stands unchanged.
fep-115fep-042formal_pairingFEPComposed.fep115_frequency_union_bound_extends_fep042_counts
The simultaneous finite-alphabet frequency bound is paired with the original exact Bernoulli likelihood factorization through finite counts.
fep-116fep-001formal_pairingFEPComposed.fep116_pac_bayes_refines_fep001_variational_bound
The finite posterior loss-gap bound, conditional on a certified log-MGF budget, is paired with fep-001's measure-native variational upper bound without equating finite real KL and native extended KL.
fep-117fep-017formal_pairingFEPComposed.fep117_posterior_odds_extends_fep017_bayes
Finite posterior odds obey Bayes multiplication, while the measure-native fep-017 posterior reconstructs its complete swapped joint law.
fep-118fep-045formal_pairingFEPComposed.fep118_posterior_concentration_extends_fep045_update
A finite likelihood gap bounds inferior posterior mass exponentially, while the original Bernoulli update remains normalized for every parameter.
fep-119fep-026formal_pairingFEPComposed.fep119_mixture_log_loss_refines_fep026_complexity
Mixture log-loss regret exposes the selected model's prior penalty, and fep-026 proves that negative-log complexity is additive for the same positive prior-likelihood product.
fep-120fep-019formal_pairingFEPComposed.fep120_bayes_factor_update_extends_fep019_prediction
Multiplicative Bayes factors agree with sequential odds updates, while fep-019 records associativity for the corresponding native predictive chain.
fep-121fep-036formal_pairingFEPComposed.fep121_laplaceError_extends_fep036
The exact finite-sample Laplace error decomposition and the earlier smoothed-rate identity are retained together without treating smoothing as an unbiased estimator. Reviewed 2026-09-22 against the primary-qualified endpoint rule. The witness carries fep-036 through its reviewed supporting theorem `fep_fep036.FEP036.fep036_smoothedRate_eq_shrunkEmpirical` rather than the primary `fep_fep036.FEP036.fep036_smoothedRate_tendsto_of_empiricalRate`; the row stands unchanged.
fep-122fep-036formal_pairingFEPComposed.fep122_laplaceBias_extends_fep036
The explicit pseudo-count bias bound and the earlier strict-positivity result jointly expose both the benefit and finite-sample offset of add-one smoothing. Reviewed 2026-09-22 against the primary-qualified endpoint rule. The witness carries fep-036 through its reviewed supporting theorem `fep_fep036.FEP036.fep036_smoothedRate_mem_Ioo` rather than the primary `fep_fep036.FEP036.fep036_smoothedRate_tendsto_of_empiricalRate`; the row stands unchanged.
fep-123fep-036formal_pairingFEPComposed.fep123_laplaceAbsoluteError_extends_fep036
The deterministic absolute-error transfer is paired with the original smoothed-rate formula, with its empirical-error premise kept explicit. Reviewed 2026-09-22 against the primary-qualified endpoint rule. The witness carries fep-036 through its reviewed supporting theorem `fep_fep036.FEP036.fep036_smoothedRate_eq_shrunkEmpirical` rather than the primary `fep_fep036.FEP036.fep036_smoothedRate_tendsto_of_empiricalRate`; the row stands unchanged.
fep-124fep-114formal_pairingFEPComposed.fep124_laplaceSquaredRisk_combines_fep036_fep114
Finite-law squared-risk transfer and the supplied sub-Gaussian tail certificate are checked together without inferring one premise from the other.
fep-125fep-022formal_pairingFEPComposed.fep125_brierExcess_refines_fep022
Exact Bernoulli Brier excess equals squared forecast error, while fep-022 retains the separate preference-risk decomposition used by the earlier active-inference carrier.
fep-126fep-022formal_pairingFEPComposed.fep126_laplaceBrierRisk_combines_fep022_fep036
Expected Laplace-smoothed Brier excess inherits the finite squared-risk bound and is paired with fep-022's one-step risk decomposition without conflating their carriers.
fep-127fep-114formal_pairingFEPComposed.fep127_laplaceConcentration_combines_fep036_fep114
Event inclusion transfers any supplied empirical tail bound to the smoothed estimator, while fep-114 records a concrete sub-Gaussian source of such a bound under its own hypotheses.
fep-128fep-071formal_pairingFEPComposed.fep128_policyTreeRecursion_extends_fep071
Observation-contingent policy-tree recursion and sophisticated-EFE backward recursion both expose finite-horizon continuation values while retaining distinct model carriers.
fep-129fep-033formal_pairingFEPComposed.fep129_policyTreeBellman_extends_fep033
Exact finite-action tree minimization extends the earlier scalar Bellman recursion with belief and observation-contingent continuation structure.
fep-130fep-008formal_pairingFEPComposed.fep130_optimalPolicyTree_extends_fep008
A concrete attaining finite policy tree is paired with the original finite policy minimizer, making the stronger depth-indexed carrier and its nonempty-action premise explicit.
fep-131fep-033formal_pairingFEPComposed.fep131_openLoopEmbedding_extends_fep033
The value-preserving embedding of a fixed action plan into a policy tree is paired with the earlier dynamic-programming recursion at equal finite horizon.
fep-132fep-071formal_pairingFEPComposed.fep132_closedLoopDominance_extends_fep071
Closed-loop tree optimality dominates every embedded open-loop plan, while fep-071 supplies the earlier two-stage feedback-sensitive EFE recursion.
fep-133fep-021formal_pairingFEPComposed.fep133_treewiseEFE_extends_fep021
The risk-plus-ambiguity EFE identity is lifted through every finite policy-tree branch and paired with the earlier one-step expected-free-energy balance.
fep-134fep-071formal_pairingFEPComposed.fep134_feedbackWitness_extends_fep071
The exact Boolean policy-tree witness proves a strict one-half feedback advantage and is paired with fep-071's independent two-stage feedback witness.
fep-135fep-017formal_pairingFEPComposed.fep135_embeddedLaw_extends_fep017
Weighted Dirac embedding preserves every finite singleton mass and total mass, while fep-017 supplies the native posterior reconstruction law on an arbitrary measure carrier.
fep-136fep-015formal_pairingFEPComposed.fep136_embeddedExpectation_extends_fep015
Native integration of an embedded finite law equals its weighted sum, paired with fep-015's measurable variational-integrand surface on the native carrier.
fep-137fep-019formal_pairingFEPComposed.fep137_embeddedPredictive_extends_fep019
The finite-to-native predictive commuting square and fep-019's native sequential-prediction associativity are checked together without hiding either kernel orientation.
fep-138fep-079formal_pairingFEPComposed.fep138_rectangleFactorization_extends_fep079
Native singleton-rectangle factorization is paired with the finite conditional-factorization characterization from which its embedded masses are constructed.
fep-139fep-009formal_pairingFEPComposed.fep139_nativeCondIndep_connects_fep009_fep079
The embedded blanket joint satisfies Mathlib CondIndepFun for its actual coordinates, and fep-009 supplies the native symmetry law for that conditional-independence predicate.
fep-140fep-009formal_pairingFEPComposed.fep140_measurableCoarsening_extends_fep009
Measurable endpoint coarsenings preserve native blanket CondIndepFun, alongside fep-009's general conditional-independence symmetry theorem.
fep-141fep-080formal_pairingFEPComposed.fep141_blanketTransition_extends_fep080
Every factorized transition row inherits native blanket conditional independence, while fep-080 retains the separate finite shared-mixture prediction law.
fep-142fep-031formal_pairingFEPComposed.fep142_exponentialNormalization_extends_fep031
A positive-base finite exponential family is normalized for every natural parameter, paired with the original finite maximum-entropy normalization witness.
fep-143fep-026formal_pairingFEPComposed.fep143_logDensityRatio_extends_fep026
Supported exponential-family log-density ratios have an exact affine form, while fep-026 retains the separate negative-log product-complexity identity.
fep-144fep-040formal_pairingFEPComposed.fep144_logPartitionGradient_extends_fep040
The finite log-partition derivative equals the mean sufficient statistic, paired with fep-040's exact Gaussian thermodynamic derivative on its distinct carrier.
fep-145fep-038formal_pairingFEPComposed.fep145_centeredScore_extends_fep038
The derived exponential-family score is centered exactly, extending the abstract centered-score contract used by the earlier Fisher-geometry topic. Reviewed 2026-09-22 against the primary-qualified endpoint rule. The witness carries fep-038 through its reviewed supporting theorem `fep_fep038.FEP038.fep038_expectedScore_zero` rather than the primary `fep_fep038.FEP038.fep038_fisherInformation_eq`; the row stands unchanged.
fep-146fep-100formal_pairingFEPComposed.fep146_fisherVariance_extends_fep100
Scalar Fisher information is derived as sufficient-statistic variance with positive and zero-curvature witnesses, paired with the earlier categorical tangent-space metric.
fep-147fep-014formal_pairingFEPComposed.fep147_KLBregman_connects_fep014_fep104
Supported finite KL inside the exponential family equals an oriented log-partition Bregman divergence, paired with the original native KL separation theorem.
fep-148fep-103formal_pairingFEPComposed.fep148_meanCoordinate_extends_fep103
Positive variance makes the natural-to-mean coordinate injective on the stated interval, paired with fep-103's invertible-chart natural-gradient equivariance.
fep-149fep-020formal_pairingFEPComposed.fep149_continuousKernel_extends_fep020
Positive rates generate a normalized nonnegative Boolean continuous-time kernel, paired with the original discrete-time Markov evolution law.
fep-150fep-006formal_pairingFEPComposed.fep150_semigroupZero_extends_fep006
The exact real-time Boolean semigroup is the identity at zero, alongside fep-006's general natural-time iterate identity.
fep-151fep-006formal_pairingFEPComposed.fep151_semigroupAdd_extends_fep006
Chapman--Kolmogorov addition for the explicit real-time semigroup is paired with the original natural-time iterate addition law.
fep-152fep-020formal_pairingFEPComposed.fep152_masterEquation_extends_fep020
Every Boolean transition entry solves the two-sided continuous-time master equation, paired with the earlier discrete finite-state evolution contract.
fep-153fep-010formal_pairingFEPComposed.fep153_continuousDetailedBalance_extends_fep010
The nonuniform stationary law satisfies exact continuous-time detailed balance, alongside the original native reversible-kernel stationarity theorem.
fep-154fep-020formal_pairingFEPComposed.fep154_continuousRelaxation_extends_fep020
Boolean true-state mass relaxes exponentially to stationarity, paired with the original discrete transition evolution without claiming a general mixing-rate theorem.
fep-155fep-032formal_pairingFEPComposed.fep155_lyapunovDecay_extends_fep032
Squared deviation from stationarity has an exact strictly negative benchmark derivative, paired with fep-032's discrete quadratic-descent certificate without calling either physical free energy.
fep-156fep-021formal_pairingFEPComposed.fep156_boltzmannControlPosterior_extends_fep021_efeBalance
The exact Boltzmann-form control posterior minimizes the expected free energy with its uniqueness certificate, paired with fep-021's truncated-EFE epistemic-plus-pragmatic balance as the sign-convention ancestor, without claiming continuous-state or infinite-action optimality.
fep-157fep-065formal_pairingFEPComposed.fep157_loopInvariant_extends_fep065_controlledKernel
The perception-action loop's invariant surprisal bound factors through one action-conditioned controlled-kernel step, paired with fep-065's row-normalization law, without claiming a general POMDP fixed-point theorem.
fep-158fep-058formal_pairingFEPComposed.fep158_reductionFreeEnergy_extends_fep058_gibbsLowerBound
Masked evidence never lowers evidence free energy, paired with fep-058's exact Gibbs lower bound on the same finiteKL and gibbsFreeEnergy carriers, without claiming a variational characterization of arbitrary model reductions.
fep-159fep-153formal_pairingFEPComposed.fep159_epistemicGain_extends_fep153_stationary
The finite KL divergence of the EFE time-scale separation is bounded by the log-affinity of its two-state rate carrier, paired with fep-153's nonuniform stationary semigroup law, without claiming a physical entropy-production identity.
fep-160fep-025formal_pairingFEPComposed.fep160_aoNess_extends_fep025_current
The Helmholtz–Ao decomposition's stationary current is carried entirely by the circulation part and its node divergence vanishes under stationarity, paired with fep-025's edge-current divergence law and nonzero cycle current, without identifying the finite rate-field ansatz with a continuum Fokker-Planck solution.
fep-161fep-160formal_pairingFEPComposed.fep161_skewCancellation_extends_fep160_aoNess
The plain-matrix trace and quadratic cancellations are paired with the rate-field decomposition whose skew clause they justify, without deriving the finite carrier's law-weighted skewness from the plain pointwise property.
fep-162fep-161formal_pairingFEPComposed.fep162_clairautSymmetrize_extends_fep161_skewCancellation
The symmetrization construction discharges exactly the symmetric-matrix hypothesis of the trace cancellation it is paired with, without claiming a continuum Clairaut theorem or smooth Hessian.
fep-163fep-025formal_pairingFEPComposed.fep163_solenoidalExpansion_extends_fep025_current
The exact three-term weighted-divergence expansion and its conditional drop are paired with fep-025's node-divergence current carrier, without asserting that the continuum first-order step has a finite graph analogue.
fep-164fep-025formal_pairingFEPComposed.fep164_graphCurrent_extends_fep025_current
The graph-plane decomposition and weighted Leibniz rule of the candidate current are paired with fep-025's edge-current node divergence, without equating the plain flux-matrix residual with a transition-row stationarity identity.
fep-165fep-025formal_pairingFEPComposed.fep165_necessityWitness_extends_fep025_current
The compiled 2-node counterexample refuting the unconditional solenoidal drop is paired with fep-025's divergence-free cycle witness, jointly bounding exactly what stationarity and antisymmetry imply.
fep-166fep-160formal_pairingFEPComposed.fep166_splitUnique_extends_fep160_aoNess
The competing-pair uniqueness of the law-weighted split is paired with fep-160's unconditional existence decomposition, so on the same finite rate-field carrier the canonical split exists and any constraint-satisfying competitor coincides with it, without introducing a stationarity hypothesis or a nonnegativity claim for the circulation part.
fep-167fep-162formal_pairingFEPComposed.fep167_frobeniusProjection_extends_fep162_clairautSymmetrize
The Frobenius least-squares projection layer is paired with fep-162's algebraic symmetrization construction, so the constructed discrete Hessian is exactly the unique symmetric minimizer, without claiming a continuum Clairaut theorem or a general Bregman-projection existence result.
fep-168fep-163formal_pairingFEPComposed.fep168_remainderBound_extends_fep163_solenoidalExpansion
The quantitative remainder budget is paired with fep-163's exact three-term expansion, so the uncancelled divergence remainder is bounded and its equality case attained instead of being assumed to vanish, without an unconditional-drop claim.

Separate publication panels retain the same cell counts: formal derivations · formal theorem pairings · conceptual associations. The combined matrix above remains the overview for this offline explorer.

Editorial upstream affinities and mismatch obligations
Pinned research affinities, never proof edges
boundarykindsourcetargettitleurl
Match priors, noise, memory and stopping rules.editorial_upstream_affinityupstream-140measure-bayesian-inversionGaussian inferencehttps://github.com/openai/math/blob/adc7f1241b42e322a6451854ab7e4b4c146bf78a/lean/docs/140.md
Product laws do not imply a disorder thermodynamic limit.editorial_upstream_affinityupstream-221collective-and-multiagent-active-inferenceDiluted spin glasseshttps://github.com/openai/math/blob/adc7f1241b42e322a6451854ab7e4b4c146bf78a/lean/docs/221.md
Separate finiteness from limiting pressure and bounded-potential assumptions.editorial_upstream_affinityupstream-222variational-duality-and-information-boundsPerceptron free energyhttps://github.com/openai/math/blob/adc7f1241b42e322a6451854ab7e4b4c146bf78a/lean/docs/222.md
Fisher information does not imply MTW curvature.editorial_upstream_affinityupstream-360core-information-geometryMTW transport geometryhttps://github.com/openai/math/blob/adc7f1241b42e322a6451854ab7e4b4c146bf78a/lean/docs/360.md
Match compact carriers, map norms and transport cost.editorial_upstream_affinityupstream-374finite-to-native-blanket-transferBrenier-map stabilityhttps://github.com/openai/math/blob/adc7f1241b42e322a6451854ab7e4b4c146bf78a/lean/docs/374.md

Authored capability contracts and evidence

All maintained capability nodes retain their original review status, description and qualified evidence. A satisfied source review does not validate a current native receipt. A blocked_by edge targets a capability and remains separate from topic-to-topic theorem relations.

Exact authored capability nodes and qualified evidence
CapabilityStatusDescriptionQualified evidence
cap-active-inference-generative-model
Policy-conditioned active-inference model
satisfiedOne normalized finite carrier owns policy-conditioned state prediction, outcome generation, exact posterior state, preferences, pragmatic cost, epistemic value, and expected free energy.FEP.ActiveInference.expectedFreeEnergy_eq_risk_add_ambiguity
FEP.ActiveInference.posteriorState_mul_evidence
FEP.ActiveInference.predictedJoint_fstMarginal_mass
cap-causal-intervention-invariants
Finite causal-blanket and intervention invariants
satisfiedFinite normalized carriers prove blanket factorization equivalent to zero conditional mutual information, intervention-kernel normalization, non-descendant invariance in the stated four-node model, a correlated non-factorizing witness, and an explicit zero-evidence boundary. These results do not assert a measure-theoretic do-calculus or causal identification beyond the encoded finite graph.FEP.CausalDynamics.conditionalMutualInformation_eq_zero_iff_factorizes
FEP.CausalDynamics.interventionKernel_sum_one
FEP.CausalDynamics.localMarkov_zeroEvidence_boundary
FEP.CausalDynamics.nonDescendant_intervention_invariant
fep_fep081.FEP081.fep081_correlatedBlanket_nonvacuity
fep_fep083.FEP083.fep083_fourNode_descendantChange_nonDescendantPreservation
fep_fep085.FEP085.fep085_zeroEvidence_boundary
cap-closed-loop-policy-trees
Finite closed-loop policy trees
satisfiedDepth-indexed finite policy trees admit exact observation-contingent value recursion, backward-induction minima, attaining optimal trees, value-preserving open-loop embeddings, and a full-support recursive EFE decomposition. A two-stage Boolean witness has observation-dependent continuation actions, value zero, and a strict one-half advantage over every fixed continuation; no infinite-horizon or continuous-belief optimality is claimed.FEP.PolicyTrees.boolFeedbackTree_strictlyBetter
FEP.PolicyTrees.exists_optimalPolicyTree
FEP.PolicyTrees.openLoopEmbedding_value
FEP.PolicyTrees.optimalTree_le_openLoop
FEP.PolicyTrees.policyTree_efe_eq_risk_add_ambiguity
fep_fep134.FEP134.fep134_feedback_continuation_changes
cap-collective-consensus-invariants
Finite collective inference and consensus invariants
satisfiedExplicit finite product-agent laws prove joint normalization, VFE and EFE additivity under independence, normalized unit-weight product-of-experts pooling, consensus-mass conservation, strict stochastic contraction and convergence with a nonzero Boolean witness, and descent of a coupled quadratic potential. No theorem attributes emergent agency or consciousness to the collective.FEP.CollectiveInference.boolConsensus_nonzero_strict_witness
FEP.CollectiveInference.collectiveVFE_additive
FEP.CollectiveInference.consensusMass_conserved
FEP.CollectiveInference.consensus_gap_tendsto_zero
FEP.CollectiveInference.coupledPotential_strict_descent
FEP.CollectiveInference.independentEFE_additive
FEP.CollectiveInference.productAgent_joint_mass
FEP.CollectiveInference.unitWeightProductOfExpertsPool_sum_one
cap-conditional-independence
Finite factorization and conditional-independence laws
satisfiedThe finite blanket carrier proves pointwise conditional factorization and zero conditional mutual information; separately, the measure-theoretic topic proves symmetry and a trivial-sigma-algebra instance of Mathlib CondIndep. No theorem yet transfers the finite factorization to sigma-algebra CondIndep or constructs a regular conditional probability bridge.FEP.MarkovBlanket.conditional_internal_external_factorization
FEP.MarkovBlanket.conditional_mutualInformation_zero
fep_fep009.FEP009.fep009_condIndep_bot_right
fep_fep009.FEP009.fep009_condIndep_symm
cap-conjugacy-laws
Conjugate-family laws
satisfiedA likelihood/prior family with a proved posterior closure and parameter-update theorem.fep_fep045.FEP045.fep045_bernoulli_posterior_closed
fep_fep045.FEP045.fep045_evidence_pos
fep_fep045.FEP045.fep045_posteriorParameter_mem_unit
fep_fep045.FEP045.fep045_posterior_mass_one
cap-continuous-time-thermodynamics
Exact two-state continuous-time dynamics
satisfiedPositive forward and backward rates generate an explicit normalized nonnegative Boolean transition semigroup, an exact generator and two-sided master equation, a nonuniform stationary reversible law, exponential relaxation, and a squared-deviation Lyapunov derivative. The concrete nonstationary benchmark has a strictly negative derivative; no general CTMC existence theorem or physical free-energy identification is inferred.FEP.ContinuousTimeMarkov.TwoStateRates.benchmarkInitial_nonstationary
FEP.ContinuousTimeMarkov.TwoStateRates.benchmarkLyapunov_deriv_zero_neg
FEP.ContinuousTimeMarkov.TwoStateRates.transition_add
FEP.ContinuousTimeMarkov.TwoStateRates.transition_detailedBalance
FEP.ContinuousTimeMarkov.TwoStateRates.transition_masterEquation
FEP.ContinuousTimeMarkov.TwoStateRates.transition_stationary
cap-controlled-markov-planning
Finite controlled-Markov planning
satisfiedControlled transition rows remain normalized; action-conditioned belief updates expose their zero-evidence boundary; reachable finite-belief reduction preserves finite-horizon policy value; and a two-stage Boolean witness proves that closed-loop feedback can strictly improve on open-loop control. Infinite-horizon and continuous-state POMDP optimality are not claimed.FEP.ControlledMarkov.actionEvidence_zero_boundary
FEP.ControlledMarkov.controlledKernel_sum_one
FEP.ControlledMarkov.reachableBelief_policyValue_eq
FEP.ControlledMarkov.twoStageFeedback_beats_openLoop
fep_fep071.FEP071.fep071_twoStage_feedback_changes_action
fep_fep071.FEP071.fep071_twoStage_feedback_strictly_better
cap-convex-information-functionals
Convex information functionals
satisfiedA named quadratic Bregman divergence, native measure-valued KL information gain, Bernoulli squared Hellinger divergence, strict Jensen control, and separation laws on their stated domains.fep_fep029.FEP029.fep029_quadraticBregman_eq_zero_iff
fep_fep035.FEP035.fep035_log_jensen_two_strict
fep_fep041.FEP041.fep041_expectedInformationGain_zero
fep_fep041.FEP041.fep041_informationGain_eq_zero_iff
fep_fep044.FEP044.fep044_hellingerSq_eq_zero_iff
fep_fep044.FEP044.fep044_hellingerSq_symm
cap-cumulative-expected-free-energy
Cumulative finite-horizon expected free energy
satisfiedStage-dependent EFE is recursively accumulated along predicted state laws, agrees with the normalized rollout carrier, decomposes at every plan concatenation, and remains nonnegative under a recursive full-support contract.FEP.ActiveInference.cumulativeExpectedFreeEnergyFrom_append
FEP.ActiveInference.cumulativeExpectedFreeEnergyFrom_nonneg
FEP.ActiveInference.cumulativeExpectedFreeEnergy_nonneg
FEP.ActiveInference.planStateFrom_eq_rolloutPredictive
cap-discrete-measurable-semigroup
Measurable discrete-time semigroup
satisfiedA measurable one-step state update with measurable finite iterates, identity at time zero, an exact additive semigroup law, and fixed-point persistence.fep_fep006.FEP006.fep006_iterateFlow_add
fep_fep006.FEP006.fep006_iterateFlow_fixed
fep_fep006.FEP006.fep006_iterateFlow_measurable
fep_fep006.FEP006.fep006_iterateFlow_zero
cap-empirical-bayes-model
Empirical-Bayes estimation model
satisfiedA finite binomial sampling law, count-derived Laplace hyperparameter estimator, consistency-transfer theorem, and normalized posterior update.FEPComposed.fep036_empiricalPosterior_closed
fep_fep036.FEP036.fep036_binomialModel_apply
fep_fep036.FEP036.fep036_empiricalPrior_mem_Ioo
fep_fep036.FEP036.fep036_smoothedRate_mem_Ioo
fep_fep036.FEP036.fep036_smoothedRate_tendsto_of_empiricalRate
cap-entropy-optimization
Entropy optimization
satisfiedA finite policy entropy regularizer supplied by a normalized softmax law, plus a probability-simplex entropy functional with a maximality or uniqueness theorem.FEPComposed.fep012_softmax_entropyRegularizedCost_le
FEPComposed.fep031_zeroBeta_binary_maxEntropy
fep_fep012.FEP012.fep012_entropyRegularizedCost_le_expectedCost
fep_fep012.FEP012.fep012_policyEntropy_nonneg
fep_fep028.FEP028.fep028_softmax_sum_univ
fep_fep030.FEP030.fep030_binaryEntropy_eq_max_iff
fep_fep030.FEP030.fep030_binaryEntropy_max
cap-evidence-lower-bound
Variational evidence bound
satisfiedPosterior-form variational free energy upper-bounds outcome surprisal, its negative lower-bounds log evidence, and equality uniquely characterizes exact Bayesian recognition even when the posterior has zero-mass states.FEP.ActiveInference.negative_variationalFreeEnergy_le_logEvidence
FEP.ActiveInference.outcomeSurprisal_le_variationalFreeEnergy
FEP.ActiveInference.variationalFreeEnergy_eq_surprisal_iff
FEP.ActiveInference.variationalFreeEnergy_posterior
cap-expected-free-energy-decomposition
Expected free energy decomposition
satisfiedReal finite-model EFE has proved pragmatic-minus-epistemic and risk-plus-ambiguity decompositions, nonnegativity under full support, and an explicit truncating bridge to the catalogue ENNReal convention.FEP.ActiveInference.epistemicValue_eq_entropy_sub_ambiguity
FEP.ActiveInference.expectedFreeEnergy_eq_risk_add_ambiguity
FEP.ActiveInference.expectedFreeEnergy_nonneg
FEPComposed.activeInference_expectedFreeEnergy_to_fep021
cap-finite-exponential-family-geometry
Finite exponential-family dual geometry
satisfiedPositive finite base weights define a full-support scalar exponential family whose log-partition derivative is the mean statistic, mean derivative and scalar Fisher information equal variance, supported finite KL equals the oriented log-partition Bregman divergence, and positive variance yields an injective mean coordinate. A nonconstant three-state statistic gives positive curvature while a constant statistic records the zero-curvature boundary.FEP.ExponentialFamily.ScalarExponentialFamily.constantStatistic_variance_zero
FEP.ExponentialFamily.ScalarExponentialFamily.finiteKL_eq_logPartitionBregman
FEP.ExponentialFamily.ScalarExponentialFamily.logPartition_hasDerivAt
FEP.ExponentialFamily.ScalarExponentialFamily.meanParameter_injectiveOn
FEP.ExponentialFamily.ScalarExponentialFamily.threeState_variance_zero_pos
cap-finite-information-theory
Finite information-theory kernel
satisfiedNormalized finite laws support zero-safe Shannon entropy, a totalized real-valued cross-entropy and KL convention, entropy chain rules, and mutual-information separation from independence. Normalization makes finite KL separating without a support assumption; logarithmic identities still require positive reference support, and explicit disjoint-point-mass witnesses record that the totalized values are finite rather than extended-real divergence values.FEP.FiniteInformation.crossEntropy_disjoint_pointMass_totalized
FEP.FiniteInformation.entropy_joint_eq_add_conditional
FEP.FiniteInformation.entropy_product
FEP.FiniteInformation.finiteKL_disjoint_pointMass_totalized
FEP.FiniteInformation.finiteKL_eq_zero_iff
FEP.FiniteInformation.finiteKL_nonneg
FEP.FiniteInformation.mutualInformation_eq_entropy_marginals
FEP.FiniteInformation.mutualInformation_eq_zero_iff
FEP.FiniteInformation.mutualInformation_product_eq_zero
cap-finite-kernel-algebra
Normalized finite-kernel algebra
satisfiedFinite Markov kernels have explicit identity and associative composition laws, and predictive propagation preserves both identity and sequential composition.FEP.FiniteKernel.comp_assoc
FEP.FiniteKernel.comp_identity_left
FEP.FiniteKernel.comp_identity_right
FEP.FiniteKernel.predictive_comp
FEP.FiniteKernel.predictive_identity
cap-finite-kl-chain-rules
Finite KL and channel chain rules
satisfiedConditional KL is nonnegative and, under positive input-law support, separates arbitrary normalized kernel rows without reference-row support. Joint prior-kernel KL obeys an exact chain rule, marginalization cannot increase that joint divergence, and independent-product KL is additive under the support assumptions needed by their logarithmic derivation.FEP.FiniteInformation.conditionalKL_eq_zero_iff
FEP.FiniteInformation.conditionalKL_nonneg
FEP.FiniteInformation.finiteKL_joint_chain_rule
FEP.FiniteInformation.finiteKL_prior_le_joint
FEP.FiniteInformation.finiteKL_product
cap-finite-learning-theory
Finite-sample learning and evidence bounds
satisfiedExplicit sub-Gaussian and union-bound premises yield finite-sample probability bounds, while a finite Gibbs loss-gap certificate turns a conditional log-MGF budget into a PAC-Bayes population-loss bound; supported two-hypothesis models prove posterior-odds recursion, likelihood-gap concentration, mixture log-loss regret, and Bayes-factor multiplication; zero prior support and zero denominator remain visible boundaries. No theorem derives the log-MGF premise, claims universal consistency, or empirically confirms the FEP.FEP.LearningTheory.bayesFactor_multiplicative
FEP.LearningTheory.bayesFactor_twoHypothesis_witness
FEP.LearningTheory.bayesFactor_zero_denominator_boundary
FEP.LearningTheory.finitePACBayes_changeOfMeasure_with_confidence
FEP.LearningTheory.mixtureLogLoss_regret
FEP.LearningTheory.posteriorGap_concentration
FEP.LearningTheory.posterior_zero_of_prior_zero
FEP.LearningTheory.simultaneous_frequency_bound
FEP.LearningTheory.subGaussian_empiricalMean_tail
FEP.LearningTheory.twoHypothesis_posterior_witness
cap-finite-message-passing
Finite message-passing operators
satisfiedA positive normalized local sum-product message and a full finite matrix message operator with exact identity and composition laws.fep_fep007.FEP007.fep007_normalizedMessage_nonneg
fep_fep007.FEP007.fep007_normalizedMessage_sum_one
fep_fep047.FEP047.fep047_forward_compose
fep_fep047.FEP047.fep047_forward_nonneg
cap-finite-observable-consistency
Finite-observable strong-law consistency
satisfiedSimultaneous convergence of finite atom masses implies almost-sure convergence of the empirical expectation and its absolute error for every real observable on the finite carrier.FEP.StatisticalConvergence.empiricalExpectationError_strongLaw
FEP.StatisticalConvergence.empiricalExpectation_strongLaw
cap-finite-path-thermodynamics
Finite path-space thermodynamic identities
satisfiedNormalized finite forward and reversed path laws prove supported ratio reconstruction, fluctuation identities, finite-KL entropy production, reversible one-step KL dissipation, and an irreversible positive-production witness; zero reverse mass remains an explicit boundary. These are finite path-law theorems, not a continuous physical-process derivation.FEP.PathThermodynamics.detailedFluctuation_identity
FEP.PathThermodynamics.entropyProduction_eq_expected_logRatio
FEP.PathThermodynamics.identityKernel_KL_equality
FEP.PathThermodynamics.integralFluctuation_eq_one
FEP.PathThermodynamics.irreversibleBool_entropyProduction_pos
FEP.PathThermodynamics.pathLaw_normalization
FEP.PathThermodynamics.pathRatio_zero_reverse_boundary
FEP.PathThermodynamics.reverse_reverse
FEP.PathThermodynamics.reversibleKL_oneStep_dissipation
cap-finite-sample-risk-calibration
Finite-sample risk and calibration transfer
satisfiedAdd-one Bernoulli smoothing has an exact affine error decomposition, bounded and explicitly nonzero bias, absolute- and squared-error transfer, normalized finite-law risk bounds, an exact Brier-excess identity, and monotone transfer of supplied tail probabilities. These are deterministic and finite-law certificates; no empirical calibration result or automatically derived concentration premise is claimed.FEP.EmpiricalRisk.brierExcess_eq_sqError
FEP.EmpiricalRisk.laplaceBadEvent_probability_le
FEP.EmpiricalRisk.laplaceBias_nonzero_witness
FEP.EmpiricalRisk.laplaceBrierRisk_le
FEP.EmpiricalRisk.laplaceError_identity
cap-finite-variational-duality
Finite variational duality and information bounds
satisfiedFull-support finite laws prove Gibbs and Donsker--Varadhan optimizer identities, coordinate and mean-field decompositions, fixed-sample importance-weighted Jensen control, channel data processing, and rate-distortion weak duality, with positive-weight and zero-multiplier witnesses. No strong-duality or extended-divergence claim is inferred.FEP.VariationalDuality.dvObjective_eq_logPartition_iff
FEP.VariationalDuality.finiteChannel_dataProcessing
FEP.VariationalDuality.fixedSampleImportanceJensen
FEP.VariationalDuality.meanFieldCoordinate_optimum_iff
FEP.VariationalDuality.rateDistortion_weak_duality
FEP.VariationalDuality.sampleMeanWeight_pos
fep_fep064.FEP064.fep064_zeroMultiplier_boundary
cap-gaussian-thermodynamic-model
Gaussian thermodynamic model
satisfiedMathlib's normalized real Gaussian law with exact mean and variance, a positive-variance closed-form entropy functional, thermal variance parameterization, exact entropy derivative, and heat-capacity relation.fep_fep040.FEP040.fep040_gaussianEntropy_hasDerivAt
fep_fep040.FEP040.fep040_gaussian_mass_one
fep_fep040.FEP040.fep040_gaussian_mean
fep_fep040.FEP040.fep040_gaussian_variance
fep_fep040.FEP040.fep040_heatCapacity_eq_half
fep_fep040.FEP040.fep040_thermalEntropy_hasDerivAt
cap-geometric-mechanics-solenoidal
Geometric mechanics of the solenoidal term
satisfiedPlain finite carriers prove the two skew-algebra cancellations behind the Helmholtz–Ao solenoidal expansion (zero trace against a symmetric matrix, zero quadratic form), the discrete-Hessian symmetrization that discharges the Hessian symmetry premise, the exact three-term expansion of the weighted candidate-current divergence under the stationary coupling, the conditional drops under explicit orthogonality or constant-Q hypotheses, the graph-plane decomposition and exact weighted Leibniz rule with its generically nonzero density residual, and a compiled 2-node counterexample refuting the unconditional drop. No continuum Fokker-Planck discretization, PDE solution, or physical entropy-production identification is claimed.FEPComposed.fep160_aoNess_extends_fep025_current
FEPComposed.fep161_skewCancellation_extends_fep160_aoNess
FEPComposed.fep162_clairautSymmetrize_extends_fep161_skewCancellation
FEPComposed.fep163_solenoidalExpansion_extends_fep025_current
FEPComposed.fep164_graphCurrent_extends_fep025_current
FEPComposed.fep165_necessityWitness_extends_fep025_current
fep_fep163.FEP163.fep163_solenoidal_expansion
fep_fep165.FEP165.fep165_witness_drop_fails
cap-geometric-optimization
Finite information-geometric optimization
satisfiedFinite score models prove categorical Fisher positivity on nonzero simplex tangents, pullback composition, natural-gradient chart equivariance, a scalar Cramer--Rao bound, mirror-descent and affine Bregman identities, and replicator natural-gradient equivalence, with both full-rank and rank-deficient witnesses. No global smooth-manifold convergence theorem is claimed.FEP.GeometricOptimization.affineProjection_minimizes
FEP.GeometricOptimization.categoricalFisher_pos
FEP.GeometricOptimization.duplicatedScore_nullDirection_example
FEP.GeometricOptimization.fairBernoulli_fullRank_example
FEP.GeometricOptimization.mirrorDescent_threePoint_identity
FEP.GeometricOptimization.naturalGradient_equivariant
FEP.GeometricOptimization.replicatorVector_isSimplexTangent
FEP.GeometricOptimization.replicator_naturalGradient_equivalence
FEP.GeometricOptimization.weightedCauchySchwarz_of_right_pos
cap-hierarchical-factorization
Hierarchical probability factorization
satisfiedNormalized kernels at each level and a theorem composing them into the advertised hierarchical joint law.fep_fep027.FEP027.fep027_hierarchical_assoc
fep_fep027.FEP027.fep027_hierarchical_fst
fep_fep027.FEP027.fep027_hierarchical_mass_one
fep_fep027.FEP027.fep027_hierarchical_snd
cap-markov-blanket-dynamics
Markov-blanket factorization and dynamics
satisfiedA normalized internal-blanket-external joint factorizes conditionally; every row of a four-component typed transition is exactly an induced static blanket model with zero conditional internal-external mutual information; and a nontrivial Boolean witness changes state.FEP.MarkovBlanket.boolDynamics_nontrivial
FEP.MarkovBlanket.conditional_internal_external_factorization
FEP.MarkovBlanket.conditional_mutualInformation_zero
FEP.MarkovBlanket.transition_eq_staticJoint_nextStaticModel
FEP.MarkovBlanket.transition_factorization
FEP.MarkovBlanket.transition_row_conditional_factorization
FEP.MarkovBlanket.transition_row_conditional_mutualInformation_zero
cap-measurable-variational-integrand
Measurable variational objective ingredients
satisfiedAn explicit energy and log-density variational integrand with measurability preserved under reparameterization and baseline shifts.fep_fep015.FEP015.fep015_variationalIntegrand_add_const_measurable
fep_fep015.FEP015.fep015_variationalIntegrand_comp_measurable
fep_fep015.FEP015.fep015_variationalIntegrand_measurable
cap-measure-bayesian-inversion
Measure-theoretic Bayesian inversion
satisfiedNative measures and kernels prove Radon--Nikodym reconstruction under absolute continuity, posterior likelihood tilting almost everywhere, joint reconstruction, one-sided Bayes involution, standard-Borel conditional-kernel reconstruction, and the conditional-expectation tower; finite witnesses expose normalization and the zero-evidence boundary. No pointwise universal disintegration is claimed.FEP.MeasureBayes.conditionalExpectation_tower
FEP.MeasureBayes.conditionalKernel_reconstruction
FEP.MeasureBayes.finite_posterior_normalized
FEP.MeasureBayes.finite_zero_evidence_boundary
FEP.MeasureBayes.likelihoodRatio_reconstruction_iff
FEP.MeasureBayes.posterior_involution
fep_fep051.FEP051.fep051_reconstruction_iff_absoluteContinuous
cap-multidimensional-information-geometry
Multidimensional Fisher geometry
satisfiedA centered finite score field induces a symmetric Fisher matrix, positive-semidefinite Gram metric, positive-definite metric under full-support identifiability, positive pullbacks, and an explicit unique inverse-Fisher natural gradient when the matrix is invertible. An interior one-coordinate Bernoulli model discharges the positive-definite assumptions non-vacuously, derives 1/[p(1-p)], gives Fisher value 4 at p=1/2, and proves exact p(1-p) natural-gradient scaling; a duplicated two-coordinate score model exhibits a concrete nonzero null tangent and failed identifiability.FEP.InformationGeometry.bernoulliScoreModel_fullSupport
FEP.InformationGeometry.bernoulliScoreModel_identifiable
FEP.InformationGeometry.bernoulli_fisherMatrix_entry
FEP.InformationGeometry.bernoulli_fisherMatrix_isUnit
FEP.InformationGeometry.bernoulli_fisherMetric_eq
FEP.InformationGeometry.bernoulli_fisherMetric_pos
FEP.InformationGeometry.bernoulli_naturalGradient_eq
FEP.InformationGeometry.duplicatedFairBernoulli_not_identifiable
FEP.InformationGeometry.duplicatedScore_fisherMetric_eq_zero
FEP.InformationGeometry.fairBernoulli_fisherMatrix_entry
FEP.InformationGeometry.fisherMatrix_symm
FEP.InformationGeometry.fisherMetric_eq_dot_lowerTangent
FEP.InformationGeometry.fisherMetric_eq_zero_iff
FEP.InformationGeometry.fisherMetric_nonneg
FEP.InformationGeometry.fisherMetric_pos
FEP.InformationGeometry.naturalGradient_energy_identity
FEP.InformationGeometry.naturalGradient_isNaturalGradient
FEP.InformationGeometry.naturalGradient_metric_duality
FEP.InformationGeometry.naturalGradient_unique
FEP.InformationGeometry.pullbackMetric_comp
FEP.InformationGeometry.pullbackMetric_pos
cap-native-blanket-transfer
Finite-to-native blanket transfer
satisfiedWeighted Dirac embedding preserves finite-law atoms, normalization, expectations, prediction, and static blanket rectangles on the same discrete carrier. The embedded joint satisfies Mathlib CondIndepFun, measurable endpoint coarsenings preserve it, and every authored factorized transition row inherits it; a correlated Boolean blanket witness keeps two positive conditioning regimes and an excluded off-regime atom explicit.FEP.NativeBlanket.condIndepFun_measurableImages
FEP.NativeBlanket.correlatedBlanket_nonvacuous
FEP.NativeBlanket.prediction_preserves_nativeBlanket
FEP.NativeBlanket.staticJoint_condIndepFun
FEP.NativeBlanket.staticJoint_rectangle_factorization
fep_fep139.FEP139.fep139_correlatedBlanket_nonvacuous
cap-open-loop-policy-rollout
Finite-horizon open-loop policy rollout
satisfiedFinite policy lists compose normalized transition kernels chronologically, preserve the initial law at the empty horizon, support prefix-suffix predictive propagation, and admit exact planned posterior reconstruction.FEP.ActiveInference.plannedPosteriorState_mul_evidence
FEP.ActiveInference.plannedState_append
FEP.ActiveInference.plannedState_nil
FEP.ActiveInference.rolloutKernel_append
cap-physical-erasure-model
Physical erasure model
satisfiedA noninjective binary reset, exact unbiased-to-pure entropy loss, environmental heat entropy, and explicit second-law and work-to-heat assumptions deriving Landauer's heat and work bounds.fep_fep050.FEP050.fep050_erasureEntropyLoss_eq
fep_fep050.FEP050.fep050_erasure_not_injective
fep_fep050.FEP050.fep050_landauer_heat_bound
fep_fep050.FEP050.fep050_landauer_work_bound
cap-policy-posterior-action
Posterior policy and action selection
satisfiedUnder full model support, prior-weighted Boltzmann policy mass has a positive partition, normalized posterior, finite EFE minimizer and MAP policy, antitone EFE ordering at equal priors, and normalized action pushforward. A consistency interface makes the emitted action recover the policy transition, yielding an exact normalized infer-select-act-transition joint; zero preference mass is explicitly rejected.FEP.ActiveInference.actionLaw_mass
FEP.ActiveInference.actionPredictedState_eq_predictedState
FEP.ActiveInference.exists_expectedFreeEnergy_minimizer
FEP.ActiveInference.exists_policyMAP
FEP.ActiveInference.inferSelectActActionMarginal_eq_actionLaw
FEP.ActiveInference.inferSelectActJoint_factorization
FEP.ActiveInference.inferSelectActJoint_policyMarginal
FEP.ActiveInference.not_fullSupport_of_preference_eq_zero
FEP.ActiveInference.policyPartition_pos
FEP.ActiveInference.policyPosterior_antitone_expectedFreeEnergy
FEP.ActiveInference.policyPosterior_mul_partition
cap-posterior-predictive-model
Posterior-predictive model
satisfiedA posterior law and likelihood kernel composed into a normalized predictive kernel, with a strictly proper predictive discrepancy criterion.fep_fep022.FEP022.fep022_brier_eq_optimum_iff
fep_fep022.FEP022.fep022_posteriorPredictive_mass_one
fep_fep022.FEP022.fep022_predictive_brier_decomposition
cap-predictive-coding-dynamics
Finite predictive-coding dynamics
satisfiedPrecision-weighted prediction energies prove exact zero-error separation, hierarchical decomposition, generalized-coordinate shift and correction laws, precision modulation, and quadratic contraction to zero, with terminal-coordinate, doubled-precision, and strict half-step witnesses. The finite-jet carrier is not presented as a continuous generalized-coordinate flow.FEP.PredictiveCoding.doubledPrecision_nontrivial_witness
FEP.PredictiveCoding.generalizedFlow_top_boundary
FEP.PredictiveCoding.halfStep_energy_witness
FEP.PredictiveCoding.hierarchicalEnergy_succ
FEP.PredictiveCoding.iteratePredictionError_tendsto_zero
FEP.PredictiveCoding.precisionEnergy_eq_zero_iff
FEP.PredictiveCoding.predictionEnergy_contraction
FEP.PredictiveCoding.shift_add
cap-probability-normalization
Probability normalization
satisfiedFinite or measure-valued weights with positive normalizer and a proof that the resulting posterior or Gibbs law has mass one.fep_fep017.FEP017.fep017_posterior_mass_one
fep_fep031.FEP031.fep031_gibbsProbability_nonneg
fep_fep031.FEP031.fep031_gibbsProbability_sum_one
fep_fep034.FEP034.fep034_filter_mass_one
cap-quadratic-optimization-dynamics
Exact quadratic optimization dynamics
satisfiedA positive-curvature quadratic with unique minimizer and critical point, plus exact gradient-descent iterates, energy descent, and global convergence on the stable step interval.FEPComposed.fep032_update_is_fep043_gradientStep
fep_fep032.FEP032.fep032_quadraticEnergy_descent
fep_fep032.FEP032.fep032_quadraticUpdate_iterate
fep_fep032.FEP032.fep032_quadraticUpdate_tendsto
fep_fep043.FEP043.fep043_quadratic_critical_iff
fep_fep043.FEP043.fep043_quadratic_unique_min
cap-standalone-efe-theorems
Exact standalone EFE theorems
satisfiedThe Boltzmann-form control posterior minimizes the expected free energy with the stated uniqueness boundary; the perception-action loop admits an invariant surprisal bound through one controlled-kernel step; Bayesian model reduction never lowers evidence free energy under masked evidence; and the epistemic gain of an EFE time-scale separation is bounded by the log-affinity of its two-state carrier. Each result is a standalone Lean module bridged to its nearest catalogue topic; infinite-horizon, continuous-state, and physical entropy-production identification are not claimed.FEPComposed.fep156_boltzmannControlPosterior_extends_fep021_efeBalance
FEPComposed.fep157_loopInvariant_extends_fep065_controlledKernel
FEPComposed.fep158_reductionFreeEnergy_extends_fep058_gibbsLowerBound
FEPComposed.fep159_epistemicGain_extends_fep153_stationary
fep_fep156.FEP156.fep156_boltzmann_control_posterior_minimizes_efe
fep_fep157.FEP157.fep157_loop_invariant_surprisal_bound
fep_fep158.FEP158.fep158_reduction_free_energy_monotone
fep_fep159.FEP159.fep159_epistemic_gain_bounded_by_affinity
cap-statistical-manifold
Statistical-manifold geometry
satisfiedThe differentiable one-parameter Bernoulli family, its zero-mean score, Fisher information and positive tangent metric, inverse-metric natural gradient, Fisher--Rao coordinate distance, and pullback law.FEPComposed.fep004_bernoulliMetric_specialization
FEPComposed.fep038_fisherRao_separation
fep_fep004.FEP004.fep004_fisherMetric_eq_zero_iff
fep_fep018.FEP018.fep018_fisherRaoDistance_triangle
fep_fep038.FEP038.fep038_bernoulliMass_hasDerivAt
fep_fep038.FEP038.fep038_expectedScore_zero
fep_fep038.FEP038.fep038_fisherInformation_eq
fep_fep038.FEP038.fep038_fisherMetric_coordinate
fep_fep038.FEP038.fep038_naturalGradient_duality
cap-stick-breaking-simplex
Finite stick-breaking mass conservation
satisfiedRecursive finite stick weights with an exact allocated-plus-residual mass identity and unit-interval bounds on the residual.fep_fep046.FEP046.fep046_mass_conservation
fep_fep046.FEP046.fep046_remainder_le_one
fep_fep046.FEP046.fep046_remainder_nonneg
cap-stochastic-dynamics
Stochastic dynamics and stationarity
satisfiedA normalized two-state Markov transition, stationary uniform law, exact n-step evolution and convergence, plus native reversible-kernel invariance.FEPComposed.fep037_autocorrelation_tracks_fep020
fep_fep010.FEP010.fep010_identity_invariant
fep_fep010.FEP010.fep010_reversible_invariant
fep_fep020.FEP020.fep020_iterate_deviation
fep_fep020.FEP020.fep020_tendsto_uniform
fep_fep020.FEP020.fep020_transition_sum_one
fep_fep020.FEP020.fep020_uniform_stationary
fep_fep025.FEP025.fep025_cycleCurrent_nonzero
fep_fep025.FEP025.fep025_cycleCurrent_stationary
fep_fep025.FEP025.fep025_transitionCurrent_stationary
fep_fep037.FEP037.fep037_autocorrelation_tendsto_zero
fep_fep037.FEP037.fep037_response_eq
cap-strong-law-consistency
Strong-law empirical consistency
satisfiedMathlib's almost-sure strong law yields empirical Boolean and finite-atom frequency convergence under explicit integrability, pairwise-independence, and identical-distribution hypotheses; all finite atoms converge on one full-measure event, their L1 error vanishes, and Laplace smoothing preserves the limit.FEP.StatisticalConvergence.empiricalExpectationError_strongLaw
FEP.StatisticalConvergence.empiricalExpectation_strongLaw
FEP.StatisticalConvergence.empiricalL1Error_strongLaw
FEP.StatisticalConvergence.empiricalLaw_strongLaw
FEP.StatisticalConvergence.empiricalMass_strongLaw
FEP.StatisticalConvergence.empiricalRate_strongLaw
FEPComposed.fep036_smoothedRate_strongLaw
cap-sufficient-statistics
Sufficient-statistic factorization
satisfiedA parameterized family, statistic, likelihood factorization, and a proved sufficiency criterion.fep_fep042.FEP042.fep042_likelihood_eq_of_stat_eq
fep_fep042.FEP042.fep042_likelihood_factorizes
cap-temporal-inference
Finite temporal and hierarchical inference
satisfiedNormalized finite kernels prove forward filtering, backward messages, forward--backward smoothing, variational state updates, hierarchical prediction, and Bayesian model averaging, with nontrivial Boolean masses and explicit zero-evidence, zero-normalizer, and zero-energy boundaries. No continuous-state or Kalman--Bucy result is implied.FEP.TemporalInference.boolModelAverage_true_mass
FEP.TemporalInference.forwardBackwardSmoothing_factorization
FEP.TemporalInference.forwardEvidence_zero_boundary
FEP.TemporalInference.forwardFilter_reconstruction
FEP.TemporalInference.modelAverage_sum_one
FEP.TemporalInference.smoothingNormalizer_zero_boundary
FEP.TemporalInference.variationalStateUpdate_zero_energy
cap-thermodynamic-constitutive-law
Thermodynamic constitutive law
satisfiedFinite fluxes and forces connected by a diagonal linear constitutive law, with a quadratic entropy balance that is nonnegative and separates equilibrium under positive conductances.FEPComposed.fep025_current_dissipation_nonneg
fep_fep049.FEP049.fep049_edgeProduction_eq_zero_iff
fep_fep049.FEP049.fep049_edgeProduction_nonneg
fep_fep049.FEP049.fep049_entropyProduction_eq_zero_iff
fep_fep049.FEP049.fep049_entropyProduction_nonneg
fep_fep049.FEP049.fep049_flux_force_identity
cap-thermodynamic-potential
Helmholtz thermodynamic potential
satisfiedExact Helmholtz difference and derivative laws, including the equilibrium identity dF/dT=-S and a positive-temperature Gaussian thermal witness.FEPComposed.fep013_gaussianHelmholtz_derivative
fep_fep013.FEP013.fep013_delta_F
fep_fep013.FEP013.fep013_helmholtz_derivative_eq_neg_entropy

Exact formulas expose interpretation boundaries

Deterministic numerical evaluation; no random samples or empirical observations. Absolute arithmetic tolerance: 1e-12. This is not a scientific or native acceptance threshold.

Reproducible diagnostic arithmetic and display serialization
decimal precisiondisplay decimal placeselementary functionsgrid inputsremainder scoperoundingscopeserializationseries capseries first omitted term limit
8024Decimal ln/exp/sqrt; Machin pi = 16 atan(1/5) - 4 atan(1/239); reciprocal/half-angle atan and range-reduced sine alternating seriesExact rational indices and coefficients: p=(i+1)/50, time=i/20, forecast=i/100; pi-dependent angle=2*pi*i/96 and log-space epsilon=exp((-6+i/8)*ln(10)) evaluated in DecimalAlternating atan with |x|<=1/4 and sine on [-pi,pi] after decreasing terms: truncation error <= first omitted term. Atan reconstruction multiplies this bound by at most 4; Machin pi by at most 20. Decimal arithmetic is rounded at 80 digits; these are algorithmic bounds, not an interval-arithmetic certificate.ROUND_HALF_EVENFinite explanatory publication grid only; generic binary_kl/fisher_energy retain their input and range contracts. Display quantization does not change the arithmetic tolerance or the exact-byte freshness comparator.Finite derived grid values quantized to 24 decimal places then converted to IEEE float/JSON; signed zero canonicalized. Exact formulas and grid definitions remain authoritative.5121E-75

Support controls the direction of KL convergence

pε=(1−ε,ε), δ=(1,0); 0<ε≤0.1. Endpoint ε=0 has both KL values zero.

TV(pε,δ)=ε; KL(δ||pε)=−log(1−ε); KL(pε||δ)=+∞ for every ε>0.

Native extended-real KL; null means +∞, never a plotted finite replacement. TV convergence does not imply KL convergence in both directions.

Support controls the direction of KL convergence; exact formula data below
Accessible exact-formula data
Support controls the direction of KL convergence — same data as the figure
epsilonkl delta to pkl p to deltatotal variation
1e-061.0000005000003334e-06+∞1e-06
1.333521432163324e-061.3335223213038195e-06+∞1.333521432163324e-06
1.778279410038923e-061.7782809911796273e-06+∞1.778279410038923e-06
2.3713737056616552e-062.3713765173727264e-06+∞2.3713737056616552e-06
3.162277660168379e-063.1622826601789204e-06+∞3.162277660168379e-06
4.216965034285822e-064.2169739257078694e-06+∞4.216965034285822e-06
5.623413251903491e-065.6234290633510675e-06+∞5.623413251903491e-06
7.498942093324558e-067.498970210531384e-06+∞7.498942093324558e-06
1e-051.0000050000333335e-05+∞1e-05
1.333521432163324e-051.3335303236394208e-05+∞1.333521432163324e-05
1.778279410038923e-051.7782952216146732e-05+∞1.778279410038923e-05
2.3713737056616554e-052.3714018231724297e-05+∞2.3713737056616554e-05
3.1622776601683795e-053.1623276612224966e-05+∞3.1622776601683795e-05
4.216965034285822e-054.217053950756051e-05+∞4.216965034285822e-05
5.623413251903491e-055.623571371714347e-05+∞5.623413251903491e-05
7.498942093324559e-057.499223278044495e-05+∞7.498942093324559e-05
0.00010.00010000500033335833+∞0.0001
0.00013335214321633240.00013336103540391957+∞0.0001333521432163324
0.000177827941003892270.00017784375426691424+∞0.00017782794100389227
0.000237137370566165540.0002371654920782872+∞0.00023713737056616554
0.000316227766016837940.0003162777765602641+∞0.00031622776601683794
0.000421696503428582240.0004217854424034662+∞0.00042169650342858224
0.00056234132519034910.0005624994983743491+∞0.0005623413251903491
0.00074989420933245590.0007501755206396566+∞0.0007498942093324559
0.0010.0010005003335835335+∞0.001
0.0013335214321633240.0013344113631176592+∞0.001333521432163324
0.00177827941003892280.0017798624258436528+∞0.0017782794100389228
0.00237137370566165540.0023741898652797694+∞0.0023713737056616554
0.00316227766016837940.003167288226157326+∞0.0031622776601683794
0.0042169650342858230.004225881507134248+∞0.004216965034285823
0.0056234132519034910.005639284167314646+∞0.005623413251903491
0.0074989420933245580.00752720052042721+∞0.007498942093324558
0.010.010050335853501442+∞0.01
0.013335214321633240.0134249267410186+∞0.01333521432163324
0.017782794100389230.017942807815489563+∞0.01778279410038923
0.0237137370566165540.02399943337763538+∞0.023713737056616554
0.031622776601683790.03213357402308583+∞0.03162277660168379
0.0421696503428582240.0430846047337768+∞0.042169650342858224
0.056234132519034910.0578771653353796+∞0.05623413251903491
0.074989420933245580.0779501047061882+∞0.07498942093324558
0.10.1053605156578263+∞0.1

Tangent information and a redundant coordinate

Bernoulli 0<p<1; duplicated Gaussian mean θ1+θ2 with fixed variance σ²=2.

I_B(p)=1/[p(1−p)]=(d(2 asin √p)/dp)²; I_G=½[[1,1],[1,1]].

Categorical metric is regular on the simplex tangent. Duplicating a mean coordinate adds a null direction, not an identifiable dimension. Endpoints are excluded from Bernoulli Fisher.

Tangent information and a redundant coordinate; exact formula data below
Accessible exact-formula data
Tangent information and a redundant coordinate — same data as the figure
coordinatefisherp
0.2837941092083278751.020408163265310.02
0.402715841580661626.0416666666666680.04
0.494934126340895517.730496453900710.06
0.573513104423096813.586956521739130.08
0.643501108793284411.111111111111110.1
0.70748321177934299.4696969696969690.12
0.76699400786186668.3056478405315610.14
0.8230336921349767.4404761904761910.16
0.87629806116834066.7750677506775070.18
0.92729521800161226.250.2
0.97641052679383445.8275058275058280.22
1.02394537609895255.4824561403508780.24
1.07014161439030845.1975051975051980.26
1.11519765339907334.96031746031746050.28
1.15927948072740854.7619047619047620.3
1.20252843335825674.5955882352941180.32
1.24506683950026644.456327985739750.34
1.28700221758656874.3402777777777780.36
1.32843047575593334.2444821731748720.38
1.3694384060045664.1666666666666670.4
1.4101056738429864.1050903119868640.42
1.45050644440010864.0584415584415580.44
1.49071074676123774.0257648953301130.46
1.53078565244090764.0064102564102560.48
1.57079632679489664.00.5
1.61080700114888554.0064102564102560.52
1.65088190682855564.0257648953301130.54
1.69108620918968484.0584415584415580.56
1.73148697974680734.1050903119868640.58
1.77215424758522744.1666666666666670.6
1.81316217783385984.2444821731748720.62
1.85459043600322444.3402777777777780.64
1.89652581408952674.456327985739750.66
1.93906422023153674.5955882352941180.68
1.98231317286238464.7619047619047620.7
2.026395000190724.96031746031746050.72
2.07145103919948475.1975051975051980.74
2.1176472774908415.4824561403508780.76
2.1651821267959595.8275058275058280.78
2.2142974355881816.250.8
2.26529459242145276.7750677506775070.82
2.3185589614548177.4404761904761910.84
2.37459864572792648.3056478405315610.86
2.43410944181045039.4696969696969690.88
2.49809154479650911.111111111111110.9
2.568079549166696613.586956521739130.92
2.64665852724889817.730496453900710.94
2.73887681200913226.0416666666666680.96
2.857798544381465551.020408163265310.98
Duplicated Gaussian unit-direction energies
angleenergy
0.00.5
0.065449846949787370.5652630961100258
0.130899693899574730.6294095225512604
0.196349540849362070.6913417161825449
0.261799387799149460.75
0.32724923474893680.8043807145043603
0.392699081698724140.8535533905932737
0.458148928648511530.8966766701456176
0.52359877559829890.9330127018922193
0.58904862254808620.9619397662556434
0.65449846949787360.9829629131445341
0.7199483164476610.9957224306869052
0.78539816339744831.0
0.85084801034723570.9957224306869052
0.91629785729702310.9829629131445341
0.98174770424681030.9619397662556434
1.04719755119659790.9330127018922193
1.11264739814638510.8966766701456176
1.17809724509617240.8535533905932737
1.243547092045960.8043807145043603
1.30899693899574720.75
1.37444678594553450.6913417161825449
1.4398966328953220.6294095225512604
1.50534647984510930.5652630961100258
1.57079632679489660.5
1.6362461737446840.4347369038899742
1.70169602069447130.37059047744873963
1.76714586764425860.30865828381745514
1.83259571459404610.25
1.89804556154383340.19561928549563967
1.96349540849362070.14644660940672624
2.0289452554434080.10332332985438242
2.09439510239319570.06698729810778067
2.1598449493429830.038060233744356624
2.22529479629277030.017037086855465858
2.29074464324255760.004277569313094794
2.3561944901923450.0
2.4216443371421320.004277569313094794
2.487094184091920.017037086855465858
2.5525440310417070.038060233744356624
2.61799387799149440.06698729810778067
2.68344372494128170.10332332985438242
2.7488935718910690.14644660940672624
2.81434341884085630.19561928549563967
2.8797932657906440.25
2.94524311274043130.30865828381745514
3.01069295969021860.37059047744873963
3.0761428066400060.4347369038899742
3.1415926535897930.5
3.20704250053958040.5652630961100258
3.2724923474893680.6294095225512604
3.33794219443915540.6913417161825449
3.40339204138894270.75
3.468841888338730.8043807145043603
3.53429173528851730.8535533905932737
3.59974158223830450.8966766701456176
3.66519142918809230.9330127018922193
3.73064127613787950.9619397662556434
3.7960911230876670.9829629131445341
3.8615409700374540.9957224306869052
3.92699081698724141.0
3.9924406639370290.9957224306869052
4.0578905108868160.9829629131445341
4.1233403578366040.9619397662556434
4.1887902047863910.9330127018922193
4.2542400517361780.8966766701456176
4.3196898986859660.8535533905932737
4.3851397456357530.8043807145043603
4.45058959258554050.75
4.5160394395353270.6913417161825449
4.5814892864851150.6294095225512604
4.6469391334349030.5652630961100258
4.712388980384690.5
4.7778388273344770.4347369038899742
4.8432886742842640.37059047744873963
4.9087385212340520.30865828381745514
4.974188368183840.25
5.03963821513362650.19561928549563967
5.1050880620834140.14644660940672624
5.1705379090332010.10332332985438242
5.2359877559829890.06698729810778067
5.3014376029327760.038060233744356624
5.3668874498825630.017037086855465858
5.4323372968323510.004277569313094794
5.4977871437821380.0
5.5632369907319260.004277569313094794
5.62868683768171250.017037086855465858
5.69413668463150.038060233744356624
5.7595865315812880.06698729810778067
5.8250363785310750.10332332985438242
5.89048622548086250.14644660940672624
5.9559360724306490.19561928549563967
6.0213859193804370.25
6.0868357663302250.30865828381745514
6.1522856132800120.37059047744873963
6.2177354602297990.4347369038899742
6.2831853071795860.5

Equal observed laws retain unequal hidden laws

Independent elementary two-coordinate Gaussian OU obstruction (not the native H3 model), rates (1,2), stationary covariance I, initial means (1,0) and (1,3); t≥0.

μ1(t)=(e^(−t),0); μ2(t)=(e^(−t),3e^(−2t)); KL(full1||full2)=9e^(−4t)/2; KL(observed1||observed2)=0.

Projection retains only coordinate 1. These displayed values concern one-time Gaussian laws; no sampled paths, process-existence receipt, or hidden-state identification is supplied.

Equal observed laws retain unequal hidden laws; exact formula data below
Accessible exact-formula data
Equal observed laws retain unequal hidden laws — same data as the figure
full law klhidden mean firsthidden mean secondobserved law klobserved mean bothtime
4.50.03.00.01.00.0
3.68428838885091860.02.71451225410787880.00.9512294245007140.05
3.01644020716037660.02.45619225923394560.00.90483741803595960.1
2.4696523624231190.02.22245466204515370.00.86070797642505780.15
2.02198033852749730.02.01096013810691780.00.81873075307798180.2
1.65545748527149050.01.81959197913790030.00.77880078307140490.25
1.35537395360490940.01.64643490828207930.00.74081822068171790.3
1.10968633773722920.01.48975591137422850.00.70468808971871340.35
0.90853433097594940.01.34798689235166470.00.67032004603563930.4
0.74384499699713950.01.21970897922179740.00.63762815162177330.45
0.60900877456475710.01.1036383235143270.00.60653065971263340.5
0.49861421263050250.00.99861325109423870.00.57694981038048660.55
0.40823078980235630.00.90358263573660620.00.54881163609402640.6
0.334231101964502450.00.81759537910203780.00.5220457767610160.65
0.273645281813480860.00.73979089182481940.00.49658530379140950.7
0.224041807655387750.00.66939048044528950.00.47236655274101470.75
0.183429917902647980.00.60568955398396620.00.44932896411722160.8
0.150179714821467360.00.5480505721582040.00.427414931948726650.85
0.122956751012816530.00.49589666466475960.00.40656965974059910.9
0.100668473352745170.00.448705857667905160.00.386741023454501230.95
0.082420374999303810.00.406005849709838050.00.367879441171442331.0
0.067480095692149670.00.367369284758945760.00.34993774911115531.05
0.0552480295638079840.00.332409475087001640.00.332871083698079551.1
0.0452332608508511160.00.30077653116841120.00.31663676937905321.15
0.037033861720590130.00.272153859868237540.00.30119421191220211.2
0.0303207614958846020.00.246254995871696390.00.28650479686019011.25
0.0248245398934234770.00.222820734643001640.00.27253179303401261.3
0.0203246142417570050.00.20161653821924930.00.25924026064589151.35
0.016640386724173190.00.18243018787565390.00.24659696394160651.4
0.0136239963541911670.00.16506966016922170.00.234570288093797651.45
0.0111543847949986140.00.149361205103591830.00.223130160148429821.5
0.0091324378633308050.00.135147607180673420.00.212247973826743071.55
0.0074770077292827050.00.122286611935098640.00.20189651799465541.6
0.006121656168965520.00.110649502203720010.00.19204990862075411.65
0.0050119881653016140.00.100119809880978240.00.182683524052734661.7
0.0041034688449953230.00.09059215026695550.00.173773943450445141.75
0.00335963613769505720.00.081971167341877680.00.165298888221586531.8
0.00275063742508307660.00.074170579411018180.00.15723716631362761.85
0.0022520314504827480.00.067112315568496780.00.149568619222635061.9
0.00184380740540904010.00.060725734337413160.00.142274071586513561.95
0.00150958182556130320.00.054946916666202540.00.13533528323661272.0
0.00123594106487464050.00.049718026205283740.00.12873490358780422.05
0.00101190295880481730.00.0449867304614331160.00.12245642825298192.1
0.00082847607150410610.00.040705677036602790.00.116484157773496952.15
0.00067829883792964480.00.036832019709205330.00.110803158362333882.2
0.0005553441183900580.00.0333269896147269170.00.105399224561864332.25
0.00045467730826692010.00.0301555072339007440.00.100258843722803732.3
0.00037225829500484520.00.0272858313050874520.00.095369162215549612.35
0.00030477931420884240.00.0246892411470600870.00.09071795328941252.4
0.00024953219744479640.00.022339749212773020.00.086293586499370512.45
0.000204299683931181830.00.0202138409972564030.00.08208499862389882.5
0.000167266434078570160.00.0182902396965469070.00.078081666001153152.55
0.000136946173537816370.00.0165496932622823180.00.074273578214333882.6
0.000112122043791764390.00.0149747817207306480.00.070651213060429582.65
9.179776535027372e-050.00.0135497428278380050.00.067205512739749772.7
7.515765355610547e-050.00.0122603143153922020.00.063927861206707572.75
6.15338822955643e-050.00.0110935911494487920.00.0608100626252179662.8
5.037968179165925e-050.00.0100378963724138180.00.057844320874838462.85
4.124739481311426e-050.00.0090826642361274450.00.055023220056407232.9
3.377051061784589e-050.00.0082183344563051070.00.0523397059484323952.95
2.7648955589976943e-050.00.00743625652999907550.00.0497870683678639443.0

Preference matching and predictive risk select different forecasts

Y~Bernoulli(0.7), forecast q∈[0,1], preference law Bernoulli(0.2); Brier loss (q−Y)².

E[(q−Y)²]=0.21+(q−0.7)²; preference objective KL(Bernoulli(q)||Bernoulli(0.2)).

Bayes forecast q=0.7 minimizes Brier risk; q=0.2 minimizes preference KL. This specified comparison is not a general EFE formula or an empirical calibration result.

Preference matching and predictive risk select different forecasts; exact formula data below
Accessible exact-formula data
Preference matching and predictive risk select different forecasts — same data as the figure
expected brierforecastpreference kl
0.70.00.22314355131420976
0.68610.010.1810049605705613
0.67240.020.1528303252568756
0.65890.030.12999021396803973
0.64560.040.11065117802483243
0.63250.050.09394302602433173
0.61960.060.0793536904807988
0.60690.070.06654520967091068
0.59440.080.0552777284352136
0.58210.090.04537222071750183
0.570.10.03669001403475058
0.55810.110.029120594118731573
0.54640.120.022573883375886995
0.53490.130.016975111971191777
0.52360.140.01226127680705593
0.51250.150.008378617676202477
0.50160.160.005280769692049322
0.49090.170.002927379677232803
0.48040.180.0012830495056958967
0.47010.190.00031651526519669285
0.460.20.0
0.45010.210.00030869653216122737
0.44040.220.0012203493292053664
0.43090.230.002714912874734223
0.42160.240.004774269896010705
0.41250.250.00738199697537406
0.40360.260.010523168073960898
0.39490.270.01418418868798323
0.38640.280.018352654980304684
0.37810.290.023017233446298083
0.370.30.028167557595283478
0.36210.310.03379413883578879
0.35440.320.039888289300148434
0.34690.330.04644205477156803
0.33960.340.05344815621381693
0.33250.350.06089993867153901
0.32560.360.0687913265236686
0.31890.370.07711678424550655
0.31240.380.08587128197566019
0.30610.390.0950502652991577
0.30.40.10464962875290956
0.29410.410.11466569263841421
0.28840.420.12509518279241036
0.28290.430.13593521302159678
0.27760.440.14718326995458875
0.27250.450.15883720010457206
0.26760.460.17089519897095995
0.26290.470.1833558020388191
0.25840.480.19621787756179576
0.25410.490.20948062103847798
0.250.50.22314355131420976
0.24610.510.23720650826087578
0.24240.520.25166965200659136
0.23890.530.2665334637060125
0.23560.540.2817987478605512
0.23250.550.2974666362165611
0.22960.560.3135385932889756
0.22690.570.33001642357838146
0.22440.580.34690228057159284
0.22210.590.36419867763999453
0.220.60.38190850097688767
0.21810.610.40003502474553365
0.21640.620.41858192864443394
0.21490.630.43755331813667814
0.21360.640.45695374763723795
0.21250.650.4767882470075062
0.21160.660.49706235177218194
0.21090.670.5177821375523308
0.21040.680.5389542593033091
0.21010.690.5605859960613472
0.210.70.5826853020432398
0.21010.710.6052608651166521
0.21040.720.6283221738730566
0.21090.730.651879594803133
0.21160.740.6759444614115084
0.21250.750.7005291775353194
0.21360.760.7256473376783539
0.21490.770.7513138678794752
0.21640.780.7775451915563442
0.21810.790.8043594259816977
0.220.80.8317766166719344
0.22210.810.8598190191595289
0.22440.820.8885114406224259
0.22690.830.9178816580163606
0.22960.840.9479609352535749
0.23250.850.978784670460126
0.23560.861.0103932168133771
0.23890.871.042832939199911
0.24240.881.076157597827004
0.24610.891.1104301957922462
0.250.91.145725502930663
0.25410.911.1821335968358122
0.25840.921.2197649917759217
0.26290.931.2587583602340167
0.26760.941.2992927282663025
0.27250.951.3416079510322332
0.27760.961.3860419902551318
0.28290.971.4331069134207368
0.28840.981.4836729119319705
0.29410.991.539573434468054
0.31.01.6094379124341003
diff --git a/docs/mathematical-positioning/panels/authored-relations-formal.svg b/docs/mathematical-positioning/panels/authored-relations-formal.svg index 07ab1668..dc24b77e 100644 --- a/docs/mathematical-positioning/panels/authored-relations-formal.svg +++ b/docs/mathematical-positioning/panels/authored-relations-formal.svg @@ -1,2 +1,2 @@ -Formal derivationsDirected family adjacency matrix for formal topic edges. Rows are sources; columns are targets. Counts preserve original authored edges, not family-level theorems. Exact endpoints and qualified witnesses remain in the accessible HTML table. Editorial upstream affinities are excluded.Formal derivationsSource rows → target columns · numbers count original topic edgesF01F01core-free-energy → core-free-energy: 2 formal topic relations2core-free-energy → core-active-inference: 1 formal topic relations1core-free-energy → core-bayesian-mechanics: 1 formal topic relations1core-free-energy → core-information-geometry: 1 formal topic relations1core-free-energy → core-thermodynamics: 0 formal topic relationscore-free-energy → measure-bayesian-inversion: 0 formal topic relationscore-free-energy → variational-duality-and-information-bounds: 0 formal topic relationscore-free-energy → control-and-planning-as-inference: 0 formal topic relationscore-free-energy → temporal-and-hierarchical-inference: 0 formal topic relationscore-free-energy → causal-blankets-and-interventions: 0 formal topic relationscore-free-energy → predictive-coding-and-generalized-coordinates: 0 formal topic relationscore-free-energy → path-space-stochastic-thermodynamics: 0 formal topic relationscore-free-energy → information-geometry-and-geometric-optimization: 0 formal topic relationscore-free-energy → collective-and-multiagent-active-inference: 0 formal topic relationscore-free-energy → learning-concentration-and-model-evidence: 0 formal topic relationscore-free-energy → finite-sample-risk-and-calibration: 0 formal topic relationscore-free-energy → closed-loop-policy-trees-and-efe: 0 formal topic relationscore-free-energy → finite-to-native-blanket-transfer: 0 formal topic relationscore-free-energy → finite-exponential-family-dual-geometry: 0 formal topic relationscore-free-energy → two-state-continuous-time-thermodynamics: 0 formal topic relationscore-free-energy → standalone-efe-formalizations: 0 formal topic relationscore-free-energy → geometric-mechanics-notation: 0 formal topic relationsF02F02core-active-inference → core-free-energy: 0 formal topic relationscore-active-inference → core-active-inference: 2 formal topic relations2core-active-inference → core-bayesian-mechanics: 1 formal topic relations1core-active-inference → core-information-geometry: 1 formal topic relations1core-active-inference → core-thermodynamics: 0 formal topic relationscore-active-inference → measure-bayesian-inversion: 0 formal topic relationscore-active-inference → variational-duality-and-information-bounds: 0 formal topic relationscore-active-inference → control-and-planning-as-inference: 0 formal topic relationscore-active-inference → temporal-and-hierarchical-inference: 0 formal topic relationscore-active-inference → causal-blankets-and-interventions: 0 formal topic relationscore-active-inference → predictive-coding-and-generalized-coordinates: 0 formal topic relationscore-active-inference → path-space-stochastic-thermodynamics: 0 formal topic relationscore-active-inference → information-geometry-and-geometric-optimization: 0 formal topic relationscore-active-inference → collective-and-multiagent-active-inference: 0 formal topic relationscore-active-inference → learning-concentration-and-model-evidence: 0 formal topic relationscore-active-inference → finite-sample-risk-and-calibration: 0 formal topic relationscore-active-inference → closed-loop-policy-trees-and-efe: 0 formal topic relationscore-active-inference → finite-to-native-blanket-transfer: 0 formal topic relationscore-active-inference → finite-exponential-family-dual-geometry: 0 formal topic relationscore-active-inference → two-state-continuous-time-thermodynamics: 0 formal topic relationscore-active-inference → standalone-efe-formalizations: 0 formal topic relationscore-active-inference → geometric-mechanics-notation: 0 formal topic relationsF03F03core-bayesian-mechanics → core-free-energy: 0 formal topic relationscore-bayesian-mechanics → core-active-inference: 0 formal topic relationscore-bayesian-mechanics → core-bayesian-mechanics: 4 formal topic relations4core-bayesian-mechanics → core-information-geometry: 0 formal topic relationscore-bayesian-mechanics → core-thermodynamics: 0 formal topic relationscore-bayesian-mechanics → measure-bayesian-inversion: 0 formal topic relationscore-bayesian-mechanics → variational-duality-and-information-bounds: 0 formal topic relationscore-bayesian-mechanics → control-and-planning-as-inference: 0 formal topic relationscore-bayesian-mechanics → temporal-and-hierarchical-inference: 0 formal topic relationscore-bayesian-mechanics → causal-blankets-and-interventions: 0 formal topic relationscore-bayesian-mechanics → predictive-coding-and-generalized-coordinates: 0 formal topic relationscore-bayesian-mechanics → path-space-stochastic-thermodynamics: 0 formal topic relationscore-bayesian-mechanics → information-geometry-and-geometric-optimization: 0 formal topic relationscore-bayesian-mechanics → collective-and-multiagent-active-inference: 0 formal topic relationscore-bayesian-mechanics → learning-concentration-and-model-evidence: 0 formal topic relationscore-bayesian-mechanics → finite-sample-risk-and-calibration: 0 formal topic relationscore-bayesian-mechanics → closed-loop-policy-trees-and-efe: 0 formal topic relationscore-bayesian-mechanics → finite-to-native-blanket-transfer: 0 formal topic relationscore-bayesian-mechanics → finite-exponential-family-dual-geometry: 0 formal topic relationscore-bayesian-mechanics → two-state-continuous-time-thermodynamics: 0 formal topic relationscore-bayesian-mechanics → standalone-efe-formalizations: 0 formal topic relationscore-bayesian-mechanics → geometric-mechanics-notation: 0 formal topic relationsF04F04core-information-geometry → core-free-energy: 0 formal topic relationscore-information-geometry → core-active-inference: 0 formal topic relationscore-information-geometry → core-bayesian-mechanics: 0 formal topic relationscore-information-geometry → core-information-geometry: 2 formal topic relations2core-information-geometry → core-thermodynamics: 0 formal topic relationscore-information-geometry → measure-bayesian-inversion: 0 formal topic relationscore-information-geometry → variational-duality-and-information-bounds: 0 formal topic relationscore-information-geometry → control-and-planning-as-inference: 0 formal topic relationscore-information-geometry → temporal-and-hierarchical-inference: 0 formal topic relationscore-information-geometry → causal-blankets-and-interventions: 0 formal topic relationscore-information-geometry → predictive-coding-and-generalized-coordinates: 0 formal topic relationscore-information-geometry → path-space-stochastic-thermodynamics: 0 formal topic relationscore-information-geometry → information-geometry-and-geometric-optimization: 0 formal topic relationscore-information-geometry → collective-and-multiagent-active-inference: 0 formal topic relationscore-information-geometry → learning-concentration-and-model-evidence: 0 formal topic relationscore-information-geometry → finite-sample-risk-and-calibration: 0 formal topic relationscore-information-geometry → closed-loop-policy-trees-and-efe: 0 formal topic relationscore-information-geometry → finite-to-native-blanket-transfer: 0 formal topic relationscore-information-geometry → finite-exponential-family-dual-geometry: 0 formal topic relationscore-information-geometry → two-state-continuous-time-thermodynamics: 0 formal topic relationscore-information-geometry → standalone-efe-formalizations: 0 formal topic relationscore-information-geometry → geometric-mechanics-notation: 0 formal topic relationsF05F05core-thermodynamics → core-free-energy: 0 formal topic relationscore-thermodynamics → core-active-inference: 0 formal topic relationscore-thermodynamics → core-bayesian-mechanics: 2 formal topic relations2core-thermodynamics → core-information-geometry: 0 formal topic relationscore-thermodynamics → core-thermodynamics: 2 formal topic relations2core-thermodynamics → measure-bayesian-inversion: 0 formal topic relationscore-thermodynamics → variational-duality-and-information-bounds: 0 formal topic relationscore-thermodynamics → control-and-planning-as-inference: 0 formal topic relationscore-thermodynamics → temporal-and-hierarchical-inference: 0 formal topic relationscore-thermodynamics → causal-blankets-and-interventions: 0 formal topic relationscore-thermodynamics → predictive-coding-and-generalized-coordinates: 0 formal topic relationscore-thermodynamics → path-space-stochastic-thermodynamics: 0 formal topic relationscore-thermodynamics → information-geometry-and-geometric-optimization: 0 formal topic relationscore-thermodynamics → collective-and-multiagent-active-inference: 0 formal topic relationscore-thermodynamics → learning-concentration-and-model-evidence: 0 formal topic relationscore-thermodynamics → finite-sample-risk-and-calibration: 0 formal topic relationscore-thermodynamics → closed-loop-policy-trees-and-efe: 0 formal topic relationscore-thermodynamics → finite-to-native-blanket-transfer: 0 formal topic relationscore-thermodynamics → finite-exponential-family-dual-geometry: 0 formal topic relationscore-thermodynamics → two-state-continuous-time-thermodynamics: 0 formal topic relationscore-thermodynamics → standalone-efe-formalizations: 0 formal topic relationscore-thermodynamics → geometric-mechanics-notation: 0 formal topic relationsF06F06measure-bayesian-inversion → core-free-energy: 0 formal topic relationsmeasure-bayesian-inversion → core-active-inference: 0 formal topic relationsmeasure-bayesian-inversion → core-bayesian-mechanics: 0 formal topic relationsmeasure-bayesian-inversion → core-information-geometry: 0 formal topic relationsmeasure-bayesian-inversion → core-thermodynamics: 0 formal topic relationsmeasure-bayesian-inversion → measure-bayesian-inversion: 0 formal topic relationsmeasure-bayesian-inversion → variational-duality-and-information-bounds: 0 formal topic relationsmeasure-bayesian-inversion → control-and-planning-as-inference: 0 formal topic relationsmeasure-bayesian-inversion → temporal-and-hierarchical-inference: 0 formal topic relationsmeasure-bayesian-inversion → causal-blankets-and-interventions: 0 formal topic relationsmeasure-bayesian-inversion → predictive-coding-and-generalized-coordinates: 0 formal topic relationsmeasure-bayesian-inversion → path-space-stochastic-thermodynamics: 0 formal topic relationsmeasure-bayesian-inversion → information-geometry-and-geometric-optimization: 0 formal topic relationsmeasure-bayesian-inversion → collective-and-multiagent-active-inference: 0 formal topic relationsmeasure-bayesian-inversion → learning-concentration-and-model-evidence: 0 formal topic relationsmeasure-bayesian-inversion → finite-sample-risk-and-calibration: 0 formal topic relationsmeasure-bayesian-inversion → closed-loop-policy-trees-and-efe: 0 formal topic relationsmeasure-bayesian-inversion → finite-to-native-blanket-transfer: 0 formal topic relationsmeasure-bayesian-inversion → finite-exponential-family-dual-geometry: 0 formal topic relationsmeasure-bayesian-inversion → two-state-continuous-time-thermodynamics: 0 formal topic relationsmeasure-bayesian-inversion → standalone-efe-formalizations: 0 formal topic relationsmeasure-bayesian-inversion → geometric-mechanics-notation: 0 formal topic relationsF07F07variational-duality-and-information-bounds → core-free-energy: 1 formal topic relations1variational-duality-and-information-bounds → core-active-inference: 0 formal topic relationsvariational-duality-and-information-bounds → core-bayesian-mechanics: 0 formal topic relationsvariational-duality-and-information-bounds → core-information-geometry: 0 formal topic relationsvariational-duality-and-information-bounds → core-thermodynamics: 0 formal topic relationsvariational-duality-and-information-bounds → measure-bayesian-inversion: 0 formal topic relationsvariational-duality-and-information-bounds → variational-duality-and-information-bounds: 0 formal topic relationsvariational-duality-and-information-bounds → control-and-planning-as-inference: 0 formal topic relationsvariational-duality-and-information-bounds → temporal-and-hierarchical-inference: 0 formal topic relationsvariational-duality-and-information-bounds → causal-blankets-and-interventions: 0 formal topic relationsvariational-duality-and-information-bounds → predictive-coding-and-generalized-coordinates: 0 formal topic relationsvariational-duality-and-information-bounds → path-space-stochastic-thermodynamics: 0 formal topic relationsvariational-duality-and-information-bounds → information-geometry-and-geometric-optimization: 0 formal topic relationsvariational-duality-and-information-bounds → collective-and-multiagent-active-inference: 0 formal topic relationsvariational-duality-and-information-bounds → learning-concentration-and-model-evidence: 0 formal topic relationsvariational-duality-and-information-bounds → finite-sample-risk-and-calibration: 0 formal topic relationsvariational-duality-and-information-bounds → closed-loop-policy-trees-and-efe: 0 formal topic relationsvariational-duality-and-information-bounds → finite-to-native-blanket-transfer: 0 formal topic relationsvariational-duality-and-information-bounds → finite-exponential-family-dual-geometry: 0 formal topic relationsvariational-duality-and-information-bounds → two-state-continuous-time-thermodynamics: 0 formal topic relationsvariational-duality-and-information-bounds → standalone-efe-formalizations: 0 formal topic relationsvariational-duality-and-information-bounds → geometric-mechanics-notation: 0 formal topic relationsF08F08control-and-planning-as-inference → core-free-energy: 0 formal topic relationscontrol-and-planning-as-inference → core-active-inference: 0 formal topic relationscontrol-and-planning-as-inference → core-bayesian-mechanics: 0 formal topic relationscontrol-and-planning-as-inference → core-information-geometry: 0 formal topic relationscontrol-and-planning-as-inference → core-thermodynamics: 0 formal topic relationscontrol-and-planning-as-inference → measure-bayesian-inversion: 0 formal topic relationscontrol-and-planning-as-inference → variational-duality-and-information-bounds: 0 formal topic relationscontrol-and-planning-as-inference → control-and-planning-as-inference: 0 formal topic relationscontrol-and-planning-as-inference → temporal-and-hierarchical-inference: 0 formal topic relationscontrol-and-planning-as-inference → causal-blankets-and-interventions: 0 formal topic relationscontrol-and-planning-as-inference → predictive-coding-and-generalized-coordinates: 0 formal topic relationscontrol-and-planning-as-inference → path-space-stochastic-thermodynamics: 0 formal topic relationscontrol-and-planning-as-inference → information-geometry-and-geometric-optimization: 0 formal topic relationscontrol-and-planning-as-inference → collective-and-multiagent-active-inference: 0 formal topic relationscontrol-and-planning-as-inference → learning-concentration-and-model-evidence: 0 formal topic relationscontrol-and-planning-as-inference → finite-sample-risk-and-calibration: 0 formal topic relationscontrol-and-planning-as-inference → closed-loop-policy-trees-and-efe: 0 formal topic relationscontrol-and-planning-as-inference → finite-to-native-blanket-transfer: 0 formal topic relationscontrol-and-planning-as-inference → finite-exponential-family-dual-geometry: 0 formal topic relationscontrol-and-planning-as-inference → two-state-continuous-time-thermodynamics: 0 formal topic relationscontrol-and-planning-as-inference → standalone-efe-formalizations: 0 formal topic relationscontrol-and-planning-as-inference → geometric-mechanics-notation: 0 formal topic relationsF09F09temporal-and-hierarchical-inference → core-free-energy: 0 formal topic relationstemporal-and-hierarchical-inference → core-active-inference: 0 formal topic relationstemporal-and-hierarchical-inference → core-bayesian-mechanics: 0 formal topic relationstemporal-and-hierarchical-inference → core-information-geometry: 0 formal topic relationstemporal-and-hierarchical-inference → core-thermodynamics: 0 formal topic relationstemporal-and-hierarchical-inference → measure-bayesian-inversion: 0 formal topic relationstemporal-and-hierarchical-inference → variational-duality-and-information-bounds: 0 formal topic relationstemporal-and-hierarchical-inference → control-and-planning-as-inference: 0 formal topic relationstemporal-and-hierarchical-inference → temporal-and-hierarchical-inference: 0 formal topic relationstemporal-and-hierarchical-inference → causal-blankets-and-interventions: 0 formal topic relationstemporal-and-hierarchical-inference → predictive-coding-and-generalized-coordinates: 0 formal topic relationstemporal-and-hierarchical-inference → path-space-stochastic-thermodynamics: 0 formal topic relationstemporal-and-hierarchical-inference → information-geometry-and-geometric-optimization: 0 formal topic relationstemporal-and-hierarchical-inference → collective-and-multiagent-active-inference: 0 formal topic relationstemporal-and-hierarchical-inference → learning-concentration-and-model-evidence: 0 formal topic relationstemporal-and-hierarchical-inference → finite-sample-risk-and-calibration: 0 formal topic relationstemporal-and-hierarchical-inference → closed-loop-policy-trees-and-efe: 0 formal topic relationstemporal-and-hierarchical-inference → finite-to-native-blanket-transfer: 0 formal topic relationstemporal-and-hierarchical-inference → finite-exponential-family-dual-geometry: 0 formal topic relationstemporal-and-hierarchical-inference → two-state-continuous-time-thermodynamics: 0 formal topic relationstemporal-and-hierarchical-inference → standalone-efe-formalizations: 0 formal topic relationstemporal-and-hierarchical-inference → geometric-mechanics-notation: 0 formal topic relationsF10F10causal-blankets-and-interventions → core-free-energy: 0 formal topic relationscausal-blankets-and-interventions → core-active-inference: 0 formal topic relationscausal-blankets-and-interventions → core-bayesian-mechanics: 0 formal topic relationscausal-blankets-and-interventions → core-information-geometry: 0 formal topic relationscausal-blankets-and-interventions → core-thermodynamics: 0 formal topic relationscausal-blankets-and-interventions → measure-bayesian-inversion: 0 formal topic relationscausal-blankets-and-interventions → variational-duality-and-information-bounds: 0 formal topic relationscausal-blankets-and-interventions → control-and-planning-as-inference: 0 formal topic relationscausal-blankets-and-interventions → temporal-and-hierarchical-inference: 0 formal topic relationscausal-blankets-and-interventions → causal-blankets-and-interventions: 0 formal topic relationscausal-blankets-and-interventions → predictive-coding-and-generalized-coordinates: 0 formal topic relationscausal-blankets-and-interventions → path-space-stochastic-thermodynamics: 0 formal topic relationscausal-blankets-and-interventions → information-geometry-and-geometric-optimization: 0 formal topic relationscausal-blankets-and-interventions → collective-and-multiagent-active-inference: 0 formal topic relationscausal-blankets-and-interventions → learning-concentration-and-model-evidence: 0 formal topic relationscausal-blankets-and-interventions → finite-sample-risk-and-calibration: 0 formal topic relationscausal-blankets-and-interventions → closed-loop-policy-trees-and-efe: 0 formal topic relationscausal-blankets-and-interventions → finite-to-native-blanket-transfer: 0 formal topic relationscausal-blankets-and-interventions → finite-exponential-family-dual-geometry: 0 formal topic relationscausal-blankets-and-interventions → two-state-continuous-time-thermodynamics: 0 formal topic relationscausal-blankets-and-interventions → standalone-efe-formalizations: 0 formal topic relationscausal-blankets-and-interventions → geometric-mechanics-notation: 0 formal topic relationsF11F11predictive-coding-and-generalized-coordinates → core-free-energy: 0 formal topic relationspredictive-coding-and-generalized-coordinates → core-active-inference: 0 formal topic relationspredictive-coding-and-generalized-coordinates → core-bayesian-mechanics: 0 formal topic relationspredictive-coding-and-generalized-coordinates → core-information-geometry: 0 formal topic relationspredictive-coding-and-generalized-coordinates → core-thermodynamics: 0 formal topic relationspredictive-coding-and-generalized-coordinates → measure-bayesian-inversion: 0 formal topic relationspredictive-coding-and-generalized-coordinates → variational-duality-and-information-bounds: 0 formal topic relationspredictive-coding-and-generalized-coordinates → control-and-planning-as-inference: 0 formal topic relationspredictive-coding-and-generalized-coordinates → temporal-and-hierarchical-inference: 0 formal topic relationspredictive-coding-and-generalized-coordinates → causal-blankets-and-interventions: 0 formal topic relationspredictive-coding-and-generalized-coordinates → predictive-coding-and-generalized-coordinates: 0 formal topic relationspredictive-coding-and-generalized-coordinates → path-space-stochastic-thermodynamics: 0 formal topic relationspredictive-coding-and-generalized-coordinates → information-geometry-and-geometric-optimization: 0 formal topic relationspredictive-coding-and-generalized-coordinates → collective-and-multiagent-active-inference: 0 formal topic relationspredictive-coding-and-generalized-coordinates → learning-concentration-and-model-evidence: 0 formal topic relationspredictive-coding-and-generalized-coordinates → finite-sample-risk-and-calibration: 0 formal topic relationspredictive-coding-and-generalized-coordinates → closed-loop-policy-trees-and-efe: 0 formal topic relationspredictive-coding-and-generalized-coordinates → finite-to-native-blanket-transfer: 0 formal topic relationspredictive-coding-and-generalized-coordinates → finite-exponential-family-dual-geometry: 0 formal topic relationspredictive-coding-and-generalized-coordinates → two-state-continuous-time-thermodynamics: 0 formal topic relationspredictive-coding-and-generalized-coordinates → standalone-efe-formalizations: 0 formal topic relationspredictive-coding-and-generalized-coordinates → geometric-mechanics-notation: 0 formal topic relationsF12F12path-space-stochastic-thermodynamics → core-free-energy: 0 formal topic relationspath-space-stochastic-thermodynamics → core-active-inference: 0 formal topic relationspath-space-stochastic-thermodynamics → core-bayesian-mechanics: 0 formal topic relationspath-space-stochastic-thermodynamics → core-information-geometry: 0 formal topic relationspath-space-stochastic-thermodynamics → core-thermodynamics: 0 formal topic relationspath-space-stochastic-thermodynamics → measure-bayesian-inversion: 0 formal topic relationspath-space-stochastic-thermodynamics → variational-duality-and-information-bounds: 0 formal topic relationspath-space-stochastic-thermodynamics → control-and-planning-as-inference: 0 formal topic relationspath-space-stochastic-thermodynamics → temporal-and-hierarchical-inference: 0 formal topic relationspath-space-stochastic-thermodynamics → causal-blankets-and-interventions: 0 formal topic relationspath-space-stochastic-thermodynamics → predictive-coding-and-generalized-coordinates: 0 formal topic relationspath-space-stochastic-thermodynamics → path-space-stochastic-thermodynamics: 0 formal topic relationspath-space-stochastic-thermodynamics → information-geometry-and-geometric-optimization: 0 formal topic relationspath-space-stochastic-thermodynamics → collective-and-multiagent-active-inference: 0 formal topic relationspath-space-stochastic-thermodynamics → learning-concentration-and-model-evidence: 0 formal topic relationspath-space-stochastic-thermodynamics → finite-sample-risk-and-calibration: 0 formal topic relationspath-space-stochastic-thermodynamics → closed-loop-policy-trees-and-efe: 0 formal topic relationspath-space-stochastic-thermodynamics → finite-to-native-blanket-transfer: 0 formal topic relationspath-space-stochastic-thermodynamics → finite-exponential-family-dual-geometry: 0 formal topic relationspath-space-stochastic-thermodynamics → two-state-continuous-time-thermodynamics: 0 formal topic relationspath-space-stochastic-thermodynamics → standalone-efe-formalizations: 0 formal topic relationspath-space-stochastic-thermodynamics → geometric-mechanics-notation: 0 formal topic relationsF13F13information-geometry-and-geometric-optimization → core-free-energy: 0 formal topic relationsinformation-geometry-and-geometric-optimization → core-active-inference: 0 formal topic relationsinformation-geometry-and-geometric-optimization → core-bayesian-mechanics: 0 formal topic relationsinformation-geometry-and-geometric-optimization → core-information-geometry: 0 formal topic relationsinformation-geometry-and-geometric-optimization → core-thermodynamics: 0 formal topic relationsinformation-geometry-and-geometric-optimization → measure-bayesian-inversion: 0 formal topic relationsinformation-geometry-and-geometric-optimization → variational-duality-and-information-bounds: 0 formal topic relationsinformation-geometry-and-geometric-optimization → control-and-planning-as-inference: 0 formal topic relationsinformation-geometry-and-geometric-optimization → temporal-and-hierarchical-inference: 0 formal topic relationsinformation-geometry-and-geometric-optimization → causal-blankets-and-interventions: 0 formal topic relationsinformation-geometry-and-geometric-optimization → predictive-coding-and-generalized-coordinates: 0 formal topic relationsinformation-geometry-and-geometric-optimization → path-space-stochastic-thermodynamics: 0 formal topic relationsinformation-geometry-and-geometric-optimization → information-geometry-and-geometric-optimization: 0 formal topic relationsinformation-geometry-and-geometric-optimization → collective-and-multiagent-active-inference: 0 formal topic relationsinformation-geometry-and-geometric-optimization → learning-concentration-and-model-evidence: 0 formal topic relationsinformation-geometry-and-geometric-optimization → finite-sample-risk-and-calibration: 0 formal topic relationsinformation-geometry-and-geometric-optimization → closed-loop-policy-trees-and-efe: 0 formal topic relationsinformation-geometry-and-geometric-optimization → finite-to-native-blanket-transfer: 0 formal topic relationsinformation-geometry-and-geometric-optimization → finite-exponential-family-dual-geometry: 0 formal topic relationsinformation-geometry-and-geometric-optimization → two-state-continuous-time-thermodynamics: 0 formal topic relationsinformation-geometry-and-geometric-optimization → standalone-efe-formalizations: 0 formal topic relationsinformation-geometry-and-geometric-optimization → geometric-mechanics-notation: 0 formal topic relationsF14F14collective-and-multiagent-active-inference → core-free-energy: 0 formal topic relationscollective-and-multiagent-active-inference → core-active-inference: 0 formal topic relationscollective-and-multiagent-active-inference → core-bayesian-mechanics: 0 formal topic relationscollective-and-multiagent-active-inference → core-information-geometry: 0 formal topic relationscollective-and-multiagent-active-inference → core-thermodynamics: 0 formal topic relationscollective-and-multiagent-active-inference → measure-bayesian-inversion: 0 formal topic relationscollective-and-multiagent-active-inference → variational-duality-and-information-bounds: 0 formal topic relationscollective-and-multiagent-active-inference → control-and-planning-as-inference: 0 formal topic relationscollective-and-multiagent-active-inference → temporal-and-hierarchical-inference: 0 formal topic relationscollective-and-multiagent-active-inference → causal-blankets-and-interventions: 0 formal topic relationscollective-and-multiagent-active-inference → predictive-coding-and-generalized-coordinates: 0 formal topic relationscollective-and-multiagent-active-inference → path-space-stochastic-thermodynamics: 0 formal topic relationscollective-and-multiagent-active-inference → information-geometry-and-geometric-optimization: 0 formal topic relationscollective-and-multiagent-active-inference → collective-and-multiagent-active-inference: 0 formal topic relationscollective-and-multiagent-active-inference → learning-concentration-and-model-evidence: 0 formal topic relationscollective-and-multiagent-active-inference → finite-sample-risk-and-calibration: 0 formal topic relationscollective-and-multiagent-active-inference → closed-loop-policy-trees-and-efe: 0 formal topic relationscollective-and-multiagent-active-inference → finite-to-native-blanket-transfer: 0 formal topic relationscollective-and-multiagent-active-inference → finite-exponential-family-dual-geometry: 0 formal topic relationscollective-and-multiagent-active-inference → two-state-continuous-time-thermodynamics: 0 formal topic relationscollective-and-multiagent-active-inference → standalone-efe-formalizations: 0 formal topic relationscollective-and-multiagent-active-inference → geometric-mechanics-notation: 0 formal topic relationsF15F15learning-concentration-and-model-evidence → core-free-energy: 0 formal topic relationslearning-concentration-and-model-evidence → core-active-inference: 0 formal topic relationslearning-concentration-and-model-evidence → core-bayesian-mechanics: 0 formal topic relationslearning-concentration-and-model-evidence → core-information-geometry: 0 formal topic relationslearning-concentration-and-model-evidence → core-thermodynamics: 0 formal topic relationslearning-concentration-and-model-evidence → measure-bayesian-inversion: 0 formal topic relationslearning-concentration-and-model-evidence → variational-duality-and-information-bounds: 0 formal topic relationslearning-concentration-and-model-evidence → control-and-planning-as-inference: 0 formal topic relationslearning-concentration-and-model-evidence → temporal-and-hierarchical-inference: 0 formal topic relationslearning-concentration-and-model-evidence → causal-blankets-and-interventions: 0 formal topic relationslearning-concentration-and-model-evidence → predictive-coding-and-generalized-coordinates: 0 formal topic relationslearning-concentration-and-model-evidence → path-space-stochastic-thermodynamics: 0 formal topic relationslearning-concentration-and-model-evidence → information-geometry-and-geometric-optimization: 0 formal topic relationslearning-concentration-and-model-evidence → collective-and-multiagent-active-inference: 0 formal topic relationslearning-concentration-and-model-evidence → learning-concentration-and-model-evidence: 0 formal topic relationslearning-concentration-and-model-evidence → finite-sample-risk-and-calibration: 0 formal topic relationslearning-concentration-and-model-evidence → closed-loop-policy-trees-and-efe: 0 formal topic relationslearning-concentration-and-model-evidence → finite-to-native-blanket-transfer: 0 formal topic relationslearning-concentration-and-model-evidence → finite-exponential-family-dual-geometry: 0 formal topic relationslearning-concentration-and-model-evidence → two-state-continuous-time-thermodynamics: 0 formal topic relationslearning-concentration-and-model-evidence → standalone-efe-formalizations: 0 formal topic relationslearning-concentration-and-model-evidence → geometric-mechanics-notation: 0 formal topic relationsF16F16finite-sample-risk-and-calibration → core-free-energy: 0 formal topic relationsfinite-sample-risk-and-calibration → core-active-inference: 0 formal topic relationsfinite-sample-risk-and-calibration → core-bayesian-mechanics: 0 formal topic relationsfinite-sample-risk-and-calibration → core-information-geometry: 0 formal topic relationsfinite-sample-risk-and-calibration → core-thermodynamics: 0 formal topic relationsfinite-sample-risk-and-calibration → measure-bayesian-inversion: 0 formal topic relationsfinite-sample-risk-and-calibration → variational-duality-and-information-bounds: 0 formal topic relationsfinite-sample-risk-and-calibration → control-and-planning-as-inference: 0 formal topic relationsfinite-sample-risk-and-calibration → temporal-and-hierarchical-inference: 0 formal topic relationsfinite-sample-risk-and-calibration → causal-blankets-and-interventions: 0 formal topic relationsfinite-sample-risk-and-calibration → predictive-coding-and-generalized-coordinates: 0 formal topic relationsfinite-sample-risk-and-calibration → path-space-stochastic-thermodynamics: 0 formal topic relationsfinite-sample-risk-and-calibration → information-geometry-and-geometric-optimization: 0 formal topic relationsfinite-sample-risk-and-calibration → collective-and-multiagent-active-inference: 0 formal topic relationsfinite-sample-risk-and-calibration → learning-concentration-and-model-evidence: 0 formal topic relationsfinite-sample-risk-and-calibration → finite-sample-risk-and-calibration: 0 formal topic relationsfinite-sample-risk-and-calibration → closed-loop-policy-trees-and-efe: 0 formal topic relationsfinite-sample-risk-and-calibration → finite-to-native-blanket-transfer: 0 formal topic relationsfinite-sample-risk-and-calibration → finite-exponential-family-dual-geometry: 0 formal topic relationsfinite-sample-risk-and-calibration → two-state-continuous-time-thermodynamics: 0 formal topic relationsfinite-sample-risk-and-calibration → standalone-efe-formalizations: 0 formal topic relationsfinite-sample-risk-and-calibration → geometric-mechanics-notation: 0 formal topic relationsF17F17closed-loop-policy-trees-and-efe → core-free-energy: 0 formal topic relationsclosed-loop-policy-trees-and-efe → core-active-inference: 0 formal topic relationsclosed-loop-policy-trees-and-efe → core-bayesian-mechanics: 0 formal topic relationsclosed-loop-policy-trees-and-efe → core-information-geometry: 0 formal topic relationsclosed-loop-policy-trees-and-efe → core-thermodynamics: 0 formal topic relationsclosed-loop-policy-trees-and-efe → measure-bayesian-inversion: 0 formal topic relationsclosed-loop-policy-trees-and-efe → variational-duality-and-information-bounds: 0 formal topic relationsclosed-loop-policy-trees-and-efe → control-and-planning-as-inference: 0 formal topic relationsclosed-loop-policy-trees-and-efe → temporal-and-hierarchical-inference: 0 formal topic relationsclosed-loop-policy-trees-and-efe → causal-blankets-and-interventions: 0 formal topic relationsclosed-loop-policy-trees-and-efe → predictive-coding-and-generalized-coordinates: 0 formal topic relationsclosed-loop-policy-trees-and-efe → path-space-stochastic-thermodynamics: 0 formal topic relationsclosed-loop-policy-trees-and-efe → information-geometry-and-geometric-optimization: 0 formal topic relationsclosed-loop-policy-trees-and-efe → collective-and-multiagent-active-inference: 0 formal topic relationsclosed-loop-policy-trees-and-efe → learning-concentration-and-model-evidence: 0 formal topic relationsclosed-loop-policy-trees-and-efe → finite-sample-risk-and-calibration: 0 formal topic relationsclosed-loop-policy-trees-and-efe → closed-loop-policy-trees-and-efe: 0 formal topic relationsclosed-loop-policy-trees-and-efe → finite-to-native-blanket-transfer: 0 formal topic relationsclosed-loop-policy-trees-and-efe → finite-exponential-family-dual-geometry: 0 formal topic relationsclosed-loop-policy-trees-and-efe → two-state-continuous-time-thermodynamics: 0 formal topic relationsclosed-loop-policy-trees-and-efe → standalone-efe-formalizations: 0 formal topic relationsclosed-loop-policy-trees-and-efe → geometric-mechanics-notation: 0 formal topic relationsF18F18finite-to-native-blanket-transfer → core-free-energy: 0 formal topic relationsfinite-to-native-blanket-transfer → core-active-inference: 0 formal topic relationsfinite-to-native-blanket-transfer → core-bayesian-mechanics: 0 formal topic relationsfinite-to-native-blanket-transfer → core-information-geometry: 0 formal topic relationsfinite-to-native-blanket-transfer → core-thermodynamics: 0 formal topic relationsfinite-to-native-blanket-transfer → measure-bayesian-inversion: 0 formal topic relationsfinite-to-native-blanket-transfer → variational-duality-and-information-bounds: 0 formal topic relationsfinite-to-native-blanket-transfer → control-and-planning-as-inference: 0 formal topic relationsfinite-to-native-blanket-transfer → temporal-and-hierarchical-inference: 0 formal topic relationsfinite-to-native-blanket-transfer → causal-blankets-and-interventions: 0 formal topic relationsfinite-to-native-blanket-transfer → predictive-coding-and-generalized-coordinates: 0 formal topic relationsfinite-to-native-blanket-transfer → path-space-stochastic-thermodynamics: 0 formal topic relationsfinite-to-native-blanket-transfer → information-geometry-and-geometric-optimization: 0 formal topic relationsfinite-to-native-blanket-transfer → collective-and-multiagent-active-inference: 0 formal topic relationsfinite-to-native-blanket-transfer → learning-concentration-and-model-evidence: 0 formal topic relationsfinite-to-native-blanket-transfer → finite-sample-risk-and-calibration: 0 formal topic relationsfinite-to-native-blanket-transfer → closed-loop-policy-trees-and-efe: 0 formal topic relationsfinite-to-native-blanket-transfer → finite-to-native-blanket-transfer: 0 formal topic relationsfinite-to-native-blanket-transfer → finite-exponential-family-dual-geometry: 0 formal topic relationsfinite-to-native-blanket-transfer → two-state-continuous-time-thermodynamics: 0 formal topic relationsfinite-to-native-blanket-transfer → standalone-efe-formalizations: 0 formal topic relationsfinite-to-native-blanket-transfer → geometric-mechanics-notation: 0 formal topic relationsF19F19finite-exponential-family-dual-geometry → core-free-energy: 0 formal topic relationsfinite-exponential-family-dual-geometry → core-active-inference: 0 formal topic relationsfinite-exponential-family-dual-geometry → core-bayesian-mechanics: 0 formal topic relationsfinite-exponential-family-dual-geometry → core-information-geometry: 0 formal topic relationsfinite-exponential-family-dual-geometry → core-thermodynamics: 0 formal topic relationsfinite-exponential-family-dual-geometry → measure-bayesian-inversion: 0 formal topic relationsfinite-exponential-family-dual-geometry → variational-duality-and-information-bounds: 0 formal topic relationsfinite-exponential-family-dual-geometry → control-and-planning-as-inference: 0 formal topic relationsfinite-exponential-family-dual-geometry → temporal-and-hierarchical-inference: 0 formal topic relationsfinite-exponential-family-dual-geometry → causal-blankets-and-interventions: 0 formal topic relationsfinite-exponential-family-dual-geometry → predictive-coding-and-generalized-coordinates: 0 formal topic relationsfinite-exponential-family-dual-geometry → path-space-stochastic-thermodynamics: 0 formal topic relationsfinite-exponential-family-dual-geometry → information-geometry-and-geometric-optimization: 0 formal topic relationsfinite-exponential-family-dual-geometry → collective-and-multiagent-active-inference: 0 formal topic relationsfinite-exponential-family-dual-geometry → learning-concentration-and-model-evidence: 0 formal topic relationsfinite-exponential-family-dual-geometry → finite-sample-risk-and-calibration: 0 formal topic relationsfinite-exponential-family-dual-geometry → closed-loop-policy-trees-and-efe: 0 formal topic relationsfinite-exponential-family-dual-geometry → finite-to-native-blanket-transfer: 0 formal topic relationsfinite-exponential-family-dual-geometry → finite-exponential-family-dual-geometry: 0 formal topic relationsfinite-exponential-family-dual-geometry → two-state-continuous-time-thermodynamics: 0 formal topic relationsfinite-exponential-family-dual-geometry → standalone-efe-formalizations: 0 formal topic relationsfinite-exponential-family-dual-geometry → geometric-mechanics-notation: 0 formal topic relationsF20F20two-state-continuous-time-thermodynamics → core-free-energy: 0 formal topic relationstwo-state-continuous-time-thermodynamics → core-active-inference: 0 formal topic relationstwo-state-continuous-time-thermodynamics → core-bayesian-mechanics: 0 formal topic relationstwo-state-continuous-time-thermodynamics → core-information-geometry: 0 formal topic relationstwo-state-continuous-time-thermodynamics → core-thermodynamics: 0 formal topic relationstwo-state-continuous-time-thermodynamics → measure-bayesian-inversion: 0 formal topic relationstwo-state-continuous-time-thermodynamics → variational-duality-and-information-bounds: 0 formal topic relationstwo-state-continuous-time-thermodynamics → control-and-planning-as-inference: 0 formal topic relationstwo-state-continuous-time-thermodynamics → temporal-and-hierarchical-inference: 0 formal topic relationstwo-state-continuous-time-thermodynamics → causal-blankets-and-interventions: 0 formal topic relationstwo-state-continuous-time-thermodynamics → predictive-coding-and-generalized-coordinates: 0 formal topic relationstwo-state-continuous-time-thermodynamics → path-space-stochastic-thermodynamics: 0 formal topic relationstwo-state-continuous-time-thermodynamics → information-geometry-and-geometric-optimization: 0 formal topic relationstwo-state-continuous-time-thermodynamics → collective-and-multiagent-active-inference: 0 formal topic relationstwo-state-continuous-time-thermodynamics → learning-concentration-and-model-evidence: 0 formal topic relationstwo-state-continuous-time-thermodynamics → finite-sample-risk-and-calibration: 0 formal topic relationstwo-state-continuous-time-thermodynamics → closed-loop-policy-trees-and-efe: 0 formal topic relationstwo-state-continuous-time-thermodynamics → finite-to-native-blanket-transfer: 0 formal topic relationstwo-state-continuous-time-thermodynamics → finite-exponential-family-dual-geometry: 0 formal topic relationstwo-state-continuous-time-thermodynamics → two-state-continuous-time-thermodynamics: 0 formal topic relationstwo-state-continuous-time-thermodynamics → standalone-efe-formalizations: 0 formal topic relationstwo-state-continuous-time-thermodynamics → geometric-mechanics-notation: 0 formal topic relationsF21F21standalone-efe-formalizations → core-free-energy: 0 formal topic relationsstandalone-efe-formalizations → core-active-inference: 0 formal topic relationsstandalone-efe-formalizations → core-bayesian-mechanics: 0 formal topic relationsstandalone-efe-formalizations → core-information-geometry: 0 formal topic relationsstandalone-efe-formalizations → core-thermodynamics: 0 formal topic relationsstandalone-efe-formalizations → measure-bayesian-inversion: 0 formal topic relationsstandalone-efe-formalizations → variational-duality-and-information-bounds: 0 formal topic relationsstandalone-efe-formalizations → control-and-planning-as-inference: 0 formal topic relationsstandalone-efe-formalizations → temporal-and-hierarchical-inference: 0 formal topic relationsstandalone-efe-formalizations → causal-blankets-and-interventions: 0 formal topic relationsstandalone-efe-formalizations → predictive-coding-and-generalized-coordinates: 0 formal topic relationsstandalone-efe-formalizations → path-space-stochastic-thermodynamics: 0 formal topic relationsstandalone-efe-formalizations → information-geometry-and-geometric-optimization: 0 formal topic relationsstandalone-efe-formalizations → collective-and-multiagent-active-inference: 0 formal topic relationsstandalone-efe-formalizations → learning-concentration-and-model-evidence: 0 formal topic relationsstandalone-efe-formalizations → finite-sample-risk-and-calibration: 0 formal topic relationsstandalone-efe-formalizations → closed-loop-policy-trees-and-efe: 0 formal topic relationsstandalone-efe-formalizations → finite-to-native-blanket-transfer: 0 formal topic relationsstandalone-efe-formalizations → finite-exponential-family-dual-geometry: 0 formal topic relationsstandalone-efe-formalizations → two-state-continuous-time-thermodynamics: 0 formal topic relationsstandalone-efe-formalizations → standalone-efe-formalizations: 0 formal topic relationsstandalone-efe-formalizations → geometric-mechanics-notation: 0 formal topic relationsF22F22geometric-mechanics-notation → core-free-energy: 0 formal topic relationsgeometric-mechanics-notation → core-active-inference: 0 formal topic relationsgeometric-mechanics-notation → core-bayesian-mechanics: 0 formal topic relationsgeometric-mechanics-notation → core-information-geometry: 0 formal topic relationsgeometric-mechanics-notation → core-thermodynamics: 0 formal topic relationsgeometric-mechanics-notation → measure-bayesian-inversion: 0 formal topic relationsgeometric-mechanics-notation → variational-duality-and-information-bounds: 0 formal topic relationsgeometric-mechanics-notation → control-and-planning-as-inference: 0 formal topic relationsgeometric-mechanics-notation → temporal-and-hierarchical-inference: 0 formal topic relationsgeometric-mechanics-notation → causal-blankets-and-interventions: 0 formal topic relationsgeometric-mechanics-notation → predictive-coding-and-generalized-coordinates: 0 formal topic relationsgeometric-mechanics-notation → path-space-stochastic-thermodynamics: 0 formal topic relationsgeometric-mechanics-notation → information-geometry-and-geometric-optimization: 0 formal topic relationsgeometric-mechanics-notation → collective-and-multiagent-active-inference: 0 formal topic relationsgeometric-mechanics-notation → learning-concentration-and-model-evidence: 0 formal topic relationsgeometric-mechanics-notation → finite-sample-risk-and-calibration: 0 formal topic relationsgeometric-mechanics-notation → closed-loop-policy-trees-and-efe: 0 formal topic relationsgeometric-mechanics-notation → finite-to-native-blanket-transfer: 0 formal topic relationsgeometric-mechanics-notation → finite-exponential-family-dual-geometry: 0 formal topic relationsgeometric-mechanics-notation → two-state-continuous-time-thermodynamics: 0 formal topic relationsgeometric-mechanics-notation → standalone-efe-formalizations: 0 formal topic relationsgeometric-mechanics-notation → geometric-mechanics-notation: 0 formal topic relationsFamily key · full topic contracts remain in the accessible HTML tablesF01 · core-free-energyF02 · core-active-inferenceF03 · core-bayesian-mechanicsF04 · core-information-geometryF05 · core-thermodynamicsF06 · measure-bayesian-inversionF07 · variational-duality-and-information-boundsF08 · control-and-planning-as-inferenceF09 · temporal-and-hierarchical-inferenceF10 · causal-blankets-and-interventionsF11 · predictive-coding-and-generalized-coordinatesF12 · path-space-stochastic-thermodynamicsF13 · information-geometry-and-geometric-optimizationF14 · collective-and-multiagent-active-inferenceF15 · learning-concentration-and-model-evidenceF16 · finite-sample-risk-and-calibrationF17 · closed-loop-policy-trees-and-efeF18 · finite-to-native-blanket-transferF19 · finite-exponential-family-dual-geometryF20 · two-state-continuous-time-thermodynamicsF21 · standalone-efe-formalizationsF22 · geometric-mechanics-notationFamily aggregation adds no theorem; editorial upstream affinities are separate. +Formal derivationsDirected family adjacency matrix for formal topic edges. Rows are sources; columns are targets. Counts preserve original authored edges, not family-level theorems. Exact endpoints and qualified witnesses remain in the accessible HTML table. Editorial upstream affinities are excluded.Formal derivationsSource rows → target columns · numbers count original topic edgesF01F01core-free-energy → core-free-energy: 2 formal topic relations2core-free-energy → core-active-inference: 1 formal topic relations1core-free-energy → core-bayesian-mechanics: 1 formal topic relations1core-free-energy → core-information-geometry: 1 formal topic relations1core-free-energy → core-thermodynamics: 0 formal topic relationscore-free-energy → measure-bayesian-inversion: 0 formal topic relationscore-free-energy → variational-duality-and-information-bounds: 0 formal topic relationscore-free-energy → control-and-planning-as-inference: 0 formal topic relationscore-free-energy → temporal-and-hierarchical-inference: 0 formal topic relationscore-free-energy → causal-blankets-and-interventions: 0 formal topic relationscore-free-energy → predictive-coding-and-generalized-coordinates: 0 formal topic relationscore-free-energy → path-space-stochastic-thermodynamics: 0 formal topic relationscore-free-energy → information-geometry-and-geometric-optimization: 0 formal topic relationscore-free-energy → collective-and-multiagent-active-inference: 0 formal topic relationscore-free-energy → learning-concentration-and-model-evidence: 0 formal topic relationscore-free-energy → finite-sample-risk-and-calibration: 0 formal topic relationscore-free-energy → closed-loop-policy-trees-and-efe: 0 formal topic relationscore-free-energy → finite-to-native-blanket-transfer: 0 formal topic relationscore-free-energy → finite-exponential-family-dual-geometry: 0 formal topic relationscore-free-energy → two-state-continuous-time-thermodynamics: 0 formal topic relationscore-free-energy → standalone-efe-formalizations: 0 formal topic relationscore-free-energy → geometric-mechanics-notation: 0 formal topic relationsF02F02core-active-inference → core-free-energy: 0 formal topic relationscore-active-inference → core-active-inference: 3 formal topic relations3core-active-inference → core-bayesian-mechanics: 1 formal topic relations1core-active-inference → core-information-geometry: 1 formal topic relations1core-active-inference → core-thermodynamics: 0 formal topic relationscore-active-inference → measure-bayesian-inversion: 0 formal topic relationscore-active-inference → variational-duality-and-information-bounds: 0 formal topic relationscore-active-inference → control-and-planning-as-inference: 0 formal topic relationscore-active-inference → temporal-and-hierarchical-inference: 0 formal topic relationscore-active-inference → causal-blankets-and-interventions: 0 formal topic relationscore-active-inference → predictive-coding-and-generalized-coordinates: 0 formal topic relationscore-active-inference → path-space-stochastic-thermodynamics: 0 formal topic relationscore-active-inference → information-geometry-and-geometric-optimization: 0 formal topic relationscore-active-inference → collective-and-multiagent-active-inference: 0 formal topic relationscore-active-inference → learning-concentration-and-model-evidence: 0 formal topic relationscore-active-inference → finite-sample-risk-and-calibration: 0 formal topic relationscore-active-inference → closed-loop-policy-trees-and-efe: 0 formal topic relationscore-active-inference → finite-to-native-blanket-transfer: 0 formal topic relationscore-active-inference → finite-exponential-family-dual-geometry: 0 formal topic relationscore-active-inference → two-state-continuous-time-thermodynamics: 0 formal topic relationscore-active-inference → standalone-efe-formalizations: 0 formal topic relationscore-active-inference → geometric-mechanics-notation: 0 formal topic relationsF03F03core-bayesian-mechanics → core-free-energy: 0 formal topic relationscore-bayesian-mechanics → core-active-inference: 0 formal topic relationscore-bayesian-mechanics → core-bayesian-mechanics: 5 formal topic relations5core-bayesian-mechanics → core-information-geometry: 0 formal topic relationscore-bayesian-mechanics → core-thermodynamics: 0 formal topic relationscore-bayesian-mechanics → measure-bayesian-inversion: 0 formal topic relationscore-bayesian-mechanics → variational-duality-and-information-bounds: 0 formal topic relationscore-bayesian-mechanics → control-and-planning-as-inference: 0 formal topic relationscore-bayesian-mechanics → temporal-and-hierarchical-inference: 0 formal topic relationscore-bayesian-mechanics → causal-blankets-and-interventions: 0 formal topic relationscore-bayesian-mechanics → predictive-coding-and-generalized-coordinates: 0 formal topic relationscore-bayesian-mechanics → path-space-stochastic-thermodynamics: 0 formal topic relationscore-bayesian-mechanics → information-geometry-and-geometric-optimization: 0 formal topic relationscore-bayesian-mechanics → collective-and-multiagent-active-inference: 0 formal topic relationscore-bayesian-mechanics → learning-concentration-and-model-evidence: 0 formal topic relationscore-bayesian-mechanics → finite-sample-risk-and-calibration: 0 formal topic relationscore-bayesian-mechanics → closed-loop-policy-trees-and-efe: 0 formal topic relationscore-bayesian-mechanics → finite-to-native-blanket-transfer: 0 formal topic relationscore-bayesian-mechanics → finite-exponential-family-dual-geometry: 0 formal topic relationscore-bayesian-mechanics → two-state-continuous-time-thermodynamics: 0 formal topic relationscore-bayesian-mechanics → standalone-efe-formalizations: 0 formal topic relationscore-bayesian-mechanics → geometric-mechanics-notation: 0 formal topic relationsF04F04core-information-geometry → core-free-energy: 0 formal topic relationscore-information-geometry → core-active-inference: 0 formal topic relationscore-information-geometry → core-bayesian-mechanics: 0 formal topic relationscore-information-geometry → core-information-geometry: 2 formal topic relations2core-information-geometry → core-thermodynamics: 0 formal topic relationscore-information-geometry → measure-bayesian-inversion: 0 formal topic relationscore-information-geometry → variational-duality-and-information-bounds: 0 formal topic relationscore-information-geometry → control-and-planning-as-inference: 0 formal topic relationscore-information-geometry → temporal-and-hierarchical-inference: 0 formal topic relationscore-information-geometry → causal-blankets-and-interventions: 0 formal topic relationscore-information-geometry → predictive-coding-and-generalized-coordinates: 0 formal topic relationscore-information-geometry → path-space-stochastic-thermodynamics: 0 formal topic relationscore-information-geometry → information-geometry-and-geometric-optimization: 1 formal topic relations1core-information-geometry → collective-and-multiagent-active-inference: 0 formal topic relationscore-information-geometry → learning-concentration-and-model-evidence: 0 formal topic relationscore-information-geometry → finite-sample-risk-and-calibration: 0 formal topic relationscore-information-geometry → closed-loop-policy-trees-and-efe: 0 formal topic relationscore-information-geometry → finite-to-native-blanket-transfer: 0 formal topic relationscore-information-geometry → finite-exponential-family-dual-geometry: 0 formal topic relationscore-information-geometry → two-state-continuous-time-thermodynamics: 0 formal topic relationscore-information-geometry → standalone-efe-formalizations: 0 formal topic relationscore-information-geometry → geometric-mechanics-notation: 0 formal topic relationsF05F05core-thermodynamics → core-free-energy: 0 formal topic relationscore-thermodynamics → core-active-inference: 0 formal topic relationscore-thermodynamics → core-bayesian-mechanics: 2 formal topic relations2core-thermodynamics → core-information-geometry: 0 formal topic relationscore-thermodynamics → core-thermodynamics: 3 formal topic relations3core-thermodynamics → measure-bayesian-inversion: 0 formal topic relationscore-thermodynamics → variational-duality-and-information-bounds: 0 formal topic relationscore-thermodynamics → control-and-planning-as-inference: 0 formal topic relationscore-thermodynamics → temporal-and-hierarchical-inference: 0 formal topic relationscore-thermodynamics → causal-blankets-and-interventions: 0 formal topic relationscore-thermodynamics → predictive-coding-and-generalized-coordinates: 0 formal topic relationscore-thermodynamics → path-space-stochastic-thermodynamics: 0 formal topic relationscore-thermodynamics → information-geometry-and-geometric-optimization: 0 formal topic relationscore-thermodynamics → collective-and-multiagent-active-inference: 0 formal topic relationscore-thermodynamics → learning-concentration-and-model-evidence: 0 formal topic relationscore-thermodynamics → finite-sample-risk-and-calibration: 0 formal topic relationscore-thermodynamics → closed-loop-policy-trees-and-efe: 0 formal topic relationscore-thermodynamics → finite-to-native-blanket-transfer: 0 formal topic relationscore-thermodynamics → finite-exponential-family-dual-geometry: 0 formal topic relationscore-thermodynamics → two-state-continuous-time-thermodynamics: 0 formal topic relationscore-thermodynamics → standalone-efe-formalizations: 0 formal topic relationscore-thermodynamics → geometric-mechanics-notation: 0 formal topic relationsF06F06measure-bayesian-inversion → core-free-energy: 0 formal topic relationsmeasure-bayesian-inversion → core-active-inference: 0 formal topic relationsmeasure-bayesian-inversion → core-bayesian-mechanics: 0 formal topic relationsmeasure-bayesian-inversion → core-information-geometry: 0 formal topic relationsmeasure-bayesian-inversion → core-thermodynamics: 0 formal topic relationsmeasure-bayesian-inversion → measure-bayesian-inversion: 0 formal topic relationsmeasure-bayesian-inversion → variational-duality-and-information-bounds: 0 formal topic relationsmeasure-bayesian-inversion → control-and-planning-as-inference: 0 formal topic relationsmeasure-bayesian-inversion → temporal-and-hierarchical-inference: 0 formal topic relationsmeasure-bayesian-inversion → causal-blankets-and-interventions: 0 formal topic relationsmeasure-bayesian-inversion → predictive-coding-and-generalized-coordinates: 0 formal topic relationsmeasure-bayesian-inversion → path-space-stochastic-thermodynamics: 0 formal topic relationsmeasure-bayesian-inversion → information-geometry-and-geometric-optimization: 0 formal topic relationsmeasure-bayesian-inversion → collective-and-multiagent-active-inference: 0 formal topic relationsmeasure-bayesian-inversion → learning-concentration-and-model-evidence: 0 formal topic relationsmeasure-bayesian-inversion → finite-sample-risk-and-calibration: 0 formal topic relationsmeasure-bayesian-inversion → closed-loop-policy-trees-and-efe: 0 formal topic relationsmeasure-bayesian-inversion → finite-to-native-blanket-transfer: 0 formal topic relationsmeasure-bayesian-inversion → finite-exponential-family-dual-geometry: 0 formal topic relationsmeasure-bayesian-inversion → two-state-continuous-time-thermodynamics: 0 formal topic relationsmeasure-bayesian-inversion → standalone-efe-formalizations: 0 formal topic relationsmeasure-bayesian-inversion → geometric-mechanics-notation: 0 formal topic relationsF07F07variational-duality-and-information-bounds → core-free-energy: 1 formal topic relations1variational-duality-and-information-bounds → core-active-inference: 0 formal topic relationsvariational-duality-and-information-bounds → core-bayesian-mechanics: 0 formal topic relationsvariational-duality-and-information-bounds → core-information-geometry: 0 formal topic relationsvariational-duality-and-information-bounds → core-thermodynamics: 0 formal topic relationsvariational-duality-and-information-bounds → measure-bayesian-inversion: 0 formal topic relationsvariational-duality-and-information-bounds → variational-duality-and-information-bounds: 0 formal topic relationsvariational-duality-and-information-bounds → control-and-planning-as-inference: 0 formal topic relationsvariational-duality-and-information-bounds → temporal-and-hierarchical-inference: 0 formal topic relationsvariational-duality-and-information-bounds → causal-blankets-and-interventions: 0 formal topic relationsvariational-duality-and-information-bounds → predictive-coding-and-generalized-coordinates: 0 formal topic relationsvariational-duality-and-information-bounds → path-space-stochastic-thermodynamics: 0 formal topic relationsvariational-duality-and-information-bounds → information-geometry-and-geometric-optimization: 0 formal topic relationsvariational-duality-and-information-bounds → collective-and-multiagent-active-inference: 0 formal topic relationsvariational-duality-and-information-bounds → learning-concentration-and-model-evidence: 0 formal topic relationsvariational-duality-and-information-bounds → finite-sample-risk-and-calibration: 0 formal topic relationsvariational-duality-and-information-bounds → closed-loop-policy-trees-and-efe: 0 formal topic relationsvariational-duality-and-information-bounds → finite-to-native-blanket-transfer: 0 formal topic relationsvariational-duality-and-information-bounds → finite-exponential-family-dual-geometry: 0 formal topic relationsvariational-duality-and-information-bounds → two-state-continuous-time-thermodynamics: 0 formal topic relationsvariational-duality-and-information-bounds → standalone-efe-formalizations: 0 formal topic relationsvariational-duality-and-information-bounds → geometric-mechanics-notation: 0 formal topic relationsF08F08control-and-planning-as-inference → core-free-energy: 0 formal topic relationscontrol-and-planning-as-inference → core-active-inference: 0 formal topic relationscontrol-and-planning-as-inference → core-bayesian-mechanics: 0 formal topic relationscontrol-and-planning-as-inference → core-information-geometry: 0 formal topic relationscontrol-and-planning-as-inference → core-thermodynamics: 0 formal topic relationscontrol-and-planning-as-inference → measure-bayesian-inversion: 0 formal topic relationscontrol-and-planning-as-inference → variational-duality-and-information-bounds: 0 formal topic relationscontrol-and-planning-as-inference → control-and-planning-as-inference: 0 formal topic relationscontrol-and-planning-as-inference → temporal-and-hierarchical-inference: 0 formal topic relationscontrol-and-planning-as-inference → causal-blankets-and-interventions: 0 formal topic relationscontrol-and-planning-as-inference → predictive-coding-and-generalized-coordinates: 0 formal topic relationscontrol-and-planning-as-inference → path-space-stochastic-thermodynamics: 0 formal topic relationscontrol-and-planning-as-inference → information-geometry-and-geometric-optimization: 0 formal topic relationscontrol-and-planning-as-inference → collective-and-multiagent-active-inference: 0 formal topic relationscontrol-and-planning-as-inference → learning-concentration-and-model-evidence: 0 formal topic relationscontrol-and-planning-as-inference → finite-sample-risk-and-calibration: 0 formal topic relationscontrol-and-planning-as-inference → closed-loop-policy-trees-and-efe: 0 formal topic relationscontrol-and-planning-as-inference → finite-to-native-blanket-transfer: 0 formal topic relationscontrol-and-planning-as-inference → finite-exponential-family-dual-geometry: 0 formal topic relationscontrol-and-planning-as-inference → two-state-continuous-time-thermodynamics: 0 formal topic relationscontrol-and-planning-as-inference → standalone-efe-formalizations: 0 formal topic relationscontrol-and-planning-as-inference → geometric-mechanics-notation: 0 formal topic relationsF09F09temporal-and-hierarchical-inference → core-free-energy: 0 formal topic relationstemporal-and-hierarchical-inference → core-active-inference: 0 formal topic relationstemporal-and-hierarchical-inference → core-bayesian-mechanics: 0 formal topic relationstemporal-and-hierarchical-inference → core-information-geometry: 0 formal topic relationstemporal-and-hierarchical-inference → core-thermodynamics: 0 formal topic relationstemporal-and-hierarchical-inference → measure-bayesian-inversion: 0 formal topic relationstemporal-and-hierarchical-inference → variational-duality-and-information-bounds: 0 formal topic relationstemporal-and-hierarchical-inference → control-and-planning-as-inference: 0 formal topic relationstemporal-and-hierarchical-inference → temporal-and-hierarchical-inference: 0 formal topic relationstemporal-and-hierarchical-inference → causal-blankets-and-interventions: 0 formal topic relationstemporal-and-hierarchical-inference → predictive-coding-and-generalized-coordinates: 0 formal topic relationstemporal-and-hierarchical-inference → path-space-stochastic-thermodynamics: 0 formal topic relationstemporal-and-hierarchical-inference → information-geometry-and-geometric-optimization: 0 formal topic relationstemporal-and-hierarchical-inference → collective-and-multiagent-active-inference: 0 formal topic relationstemporal-and-hierarchical-inference → learning-concentration-and-model-evidence: 0 formal topic relationstemporal-and-hierarchical-inference → finite-sample-risk-and-calibration: 0 formal topic relationstemporal-and-hierarchical-inference → closed-loop-policy-trees-and-efe: 0 formal topic relationstemporal-and-hierarchical-inference → finite-to-native-blanket-transfer: 0 formal topic relationstemporal-and-hierarchical-inference → finite-exponential-family-dual-geometry: 0 formal topic relationstemporal-and-hierarchical-inference → two-state-continuous-time-thermodynamics: 0 formal topic relationstemporal-and-hierarchical-inference → standalone-efe-formalizations: 0 formal topic relationstemporal-and-hierarchical-inference → geometric-mechanics-notation: 0 formal topic relationsF10F10causal-blankets-and-interventions → core-free-energy: 0 formal topic relationscausal-blankets-and-interventions → core-active-inference: 0 formal topic relationscausal-blankets-and-interventions → core-bayesian-mechanics: 0 formal topic relationscausal-blankets-and-interventions → core-information-geometry: 0 formal topic relationscausal-blankets-and-interventions → core-thermodynamics: 0 formal topic relationscausal-blankets-and-interventions → measure-bayesian-inversion: 0 formal topic relationscausal-blankets-and-interventions → variational-duality-and-information-bounds: 0 formal topic relationscausal-blankets-and-interventions → control-and-planning-as-inference: 0 formal topic relationscausal-blankets-and-interventions → temporal-and-hierarchical-inference: 0 formal topic relationscausal-blankets-and-interventions → causal-blankets-and-interventions: 0 formal topic relationscausal-blankets-and-interventions → predictive-coding-and-generalized-coordinates: 0 formal topic relationscausal-blankets-and-interventions → path-space-stochastic-thermodynamics: 0 formal topic relationscausal-blankets-and-interventions → information-geometry-and-geometric-optimization: 0 formal topic relationscausal-blankets-and-interventions → collective-and-multiagent-active-inference: 0 formal topic relationscausal-blankets-and-interventions → learning-concentration-and-model-evidence: 0 formal topic relationscausal-blankets-and-interventions → finite-sample-risk-and-calibration: 0 formal topic relationscausal-blankets-and-interventions → closed-loop-policy-trees-and-efe: 0 formal topic relationscausal-blankets-and-interventions → finite-to-native-blanket-transfer: 0 formal topic relationscausal-blankets-and-interventions → finite-exponential-family-dual-geometry: 0 formal topic relationscausal-blankets-and-interventions → two-state-continuous-time-thermodynamics: 0 formal topic relationscausal-blankets-and-interventions → standalone-efe-formalizations: 0 formal topic relationscausal-blankets-and-interventions → geometric-mechanics-notation: 0 formal topic relationsF11F11predictive-coding-and-generalized-coordinates → core-free-energy: 0 formal topic relationspredictive-coding-and-generalized-coordinates → core-active-inference: 0 formal topic relationspredictive-coding-and-generalized-coordinates → core-bayesian-mechanics: 0 formal topic relationspredictive-coding-and-generalized-coordinates → core-information-geometry: 0 formal topic relationspredictive-coding-and-generalized-coordinates → core-thermodynamics: 0 formal topic relationspredictive-coding-and-generalized-coordinates → measure-bayesian-inversion: 0 formal topic relationspredictive-coding-and-generalized-coordinates → variational-duality-and-information-bounds: 0 formal topic relationspredictive-coding-and-generalized-coordinates → control-and-planning-as-inference: 0 formal topic relationspredictive-coding-and-generalized-coordinates → temporal-and-hierarchical-inference: 0 formal topic relationspredictive-coding-and-generalized-coordinates → causal-blankets-and-interventions: 0 formal topic relationspredictive-coding-and-generalized-coordinates → predictive-coding-and-generalized-coordinates: 0 formal topic relationspredictive-coding-and-generalized-coordinates → path-space-stochastic-thermodynamics: 0 formal topic relationspredictive-coding-and-generalized-coordinates → information-geometry-and-geometric-optimization: 0 formal topic relationspredictive-coding-and-generalized-coordinates → collective-and-multiagent-active-inference: 0 formal topic relationspredictive-coding-and-generalized-coordinates → learning-concentration-and-model-evidence: 0 formal topic relationspredictive-coding-and-generalized-coordinates → finite-sample-risk-and-calibration: 0 formal topic relationspredictive-coding-and-generalized-coordinates → closed-loop-policy-trees-and-efe: 0 formal topic relationspredictive-coding-and-generalized-coordinates → finite-to-native-blanket-transfer: 0 formal topic relationspredictive-coding-and-generalized-coordinates → finite-exponential-family-dual-geometry: 0 formal topic relationspredictive-coding-and-generalized-coordinates → two-state-continuous-time-thermodynamics: 0 formal topic relationspredictive-coding-and-generalized-coordinates → standalone-efe-formalizations: 0 formal topic relationspredictive-coding-and-generalized-coordinates → geometric-mechanics-notation: 0 formal topic relationsF12F12path-space-stochastic-thermodynamics → core-free-energy: 0 formal topic relationspath-space-stochastic-thermodynamics → core-active-inference: 0 formal topic relationspath-space-stochastic-thermodynamics → core-bayesian-mechanics: 0 formal topic relationspath-space-stochastic-thermodynamics → core-information-geometry: 0 formal topic relationspath-space-stochastic-thermodynamics → core-thermodynamics: 0 formal topic relationspath-space-stochastic-thermodynamics → measure-bayesian-inversion: 0 formal topic relationspath-space-stochastic-thermodynamics → variational-duality-and-information-bounds: 0 formal topic relationspath-space-stochastic-thermodynamics → control-and-planning-as-inference: 0 formal topic relationspath-space-stochastic-thermodynamics → temporal-and-hierarchical-inference: 0 formal topic relationspath-space-stochastic-thermodynamics → causal-blankets-and-interventions: 0 formal topic relationspath-space-stochastic-thermodynamics → predictive-coding-and-generalized-coordinates: 0 formal topic relationspath-space-stochastic-thermodynamics → path-space-stochastic-thermodynamics: 0 formal topic relationspath-space-stochastic-thermodynamics → information-geometry-and-geometric-optimization: 0 formal topic relationspath-space-stochastic-thermodynamics → collective-and-multiagent-active-inference: 0 formal topic relationspath-space-stochastic-thermodynamics → learning-concentration-and-model-evidence: 0 formal topic relationspath-space-stochastic-thermodynamics → finite-sample-risk-and-calibration: 0 formal topic relationspath-space-stochastic-thermodynamics → closed-loop-policy-trees-and-efe: 0 formal topic relationspath-space-stochastic-thermodynamics → finite-to-native-blanket-transfer: 0 formal topic relationspath-space-stochastic-thermodynamics → finite-exponential-family-dual-geometry: 0 formal topic relationspath-space-stochastic-thermodynamics → two-state-continuous-time-thermodynamics: 0 formal topic relationspath-space-stochastic-thermodynamics → standalone-efe-formalizations: 0 formal topic relationspath-space-stochastic-thermodynamics → geometric-mechanics-notation: 0 formal topic relationsF13F13information-geometry-and-geometric-optimization → core-free-energy: 0 formal topic relationsinformation-geometry-and-geometric-optimization → core-active-inference: 0 formal topic relationsinformation-geometry-and-geometric-optimization → core-bayesian-mechanics: 0 formal topic relationsinformation-geometry-and-geometric-optimization → core-information-geometry: 0 formal topic relationsinformation-geometry-and-geometric-optimization → core-thermodynamics: 0 formal topic relationsinformation-geometry-and-geometric-optimization → measure-bayesian-inversion: 0 formal topic relationsinformation-geometry-and-geometric-optimization → variational-duality-and-information-bounds: 0 formal topic relationsinformation-geometry-and-geometric-optimization → control-and-planning-as-inference: 0 formal topic relationsinformation-geometry-and-geometric-optimization → temporal-and-hierarchical-inference: 0 formal topic relationsinformation-geometry-and-geometric-optimization → causal-blankets-and-interventions: 0 formal topic relationsinformation-geometry-and-geometric-optimization → predictive-coding-and-generalized-coordinates: 0 formal topic relationsinformation-geometry-and-geometric-optimization → path-space-stochastic-thermodynamics: 0 formal topic relationsinformation-geometry-and-geometric-optimization → information-geometry-and-geometric-optimization: 0 formal topic relationsinformation-geometry-and-geometric-optimization → collective-and-multiagent-active-inference: 0 formal topic relationsinformation-geometry-and-geometric-optimization → learning-concentration-and-model-evidence: 0 formal topic relationsinformation-geometry-and-geometric-optimization → finite-sample-risk-and-calibration: 0 formal topic relationsinformation-geometry-and-geometric-optimization → closed-loop-policy-trees-and-efe: 0 formal topic relationsinformation-geometry-and-geometric-optimization → finite-to-native-blanket-transfer: 0 formal topic relationsinformation-geometry-and-geometric-optimization → finite-exponential-family-dual-geometry: 0 formal topic relationsinformation-geometry-and-geometric-optimization → two-state-continuous-time-thermodynamics: 0 formal topic relationsinformation-geometry-and-geometric-optimization → standalone-efe-formalizations: 0 formal topic relationsinformation-geometry-and-geometric-optimization → geometric-mechanics-notation: 0 formal topic relationsF14F14collective-and-multiagent-active-inference → core-free-energy: 0 formal topic relationscollective-and-multiagent-active-inference → core-active-inference: 0 formal topic relationscollective-and-multiagent-active-inference → core-bayesian-mechanics: 0 formal topic relationscollective-and-multiagent-active-inference → core-information-geometry: 0 formal topic relationscollective-and-multiagent-active-inference → core-thermodynamics: 0 formal topic relationscollective-and-multiagent-active-inference → measure-bayesian-inversion: 0 formal topic relationscollective-and-multiagent-active-inference → variational-duality-and-information-bounds: 0 formal topic relationscollective-and-multiagent-active-inference → control-and-planning-as-inference: 0 formal topic relationscollective-and-multiagent-active-inference → temporal-and-hierarchical-inference: 0 formal topic relationscollective-and-multiagent-active-inference → causal-blankets-and-interventions: 0 formal topic relationscollective-and-multiagent-active-inference → predictive-coding-and-generalized-coordinates: 0 formal topic relationscollective-and-multiagent-active-inference → path-space-stochastic-thermodynamics: 0 formal topic relationscollective-and-multiagent-active-inference → information-geometry-and-geometric-optimization: 0 formal topic relationscollective-and-multiagent-active-inference → collective-and-multiagent-active-inference: 0 formal topic relationscollective-and-multiagent-active-inference → learning-concentration-and-model-evidence: 0 formal topic relationscollective-and-multiagent-active-inference → finite-sample-risk-and-calibration: 0 formal topic relationscollective-and-multiagent-active-inference → closed-loop-policy-trees-and-efe: 0 formal topic relationscollective-and-multiagent-active-inference → finite-to-native-blanket-transfer: 0 formal topic relationscollective-and-multiagent-active-inference → finite-exponential-family-dual-geometry: 0 formal topic relationscollective-and-multiagent-active-inference → two-state-continuous-time-thermodynamics: 0 formal topic relationscollective-and-multiagent-active-inference → standalone-efe-formalizations: 0 formal topic relationscollective-and-multiagent-active-inference → geometric-mechanics-notation: 0 formal topic relationsF15F15learning-concentration-and-model-evidence → core-free-energy: 0 formal topic relationslearning-concentration-and-model-evidence → core-active-inference: 0 formal topic relationslearning-concentration-and-model-evidence → core-bayesian-mechanics: 0 formal topic relationslearning-concentration-and-model-evidence → core-information-geometry: 0 formal topic relationslearning-concentration-and-model-evidence → core-thermodynamics: 0 formal topic relationslearning-concentration-and-model-evidence → measure-bayesian-inversion: 0 formal topic relationslearning-concentration-and-model-evidence → variational-duality-and-information-bounds: 0 formal topic relationslearning-concentration-and-model-evidence → control-and-planning-as-inference: 0 formal topic relationslearning-concentration-and-model-evidence → temporal-and-hierarchical-inference: 0 formal topic relationslearning-concentration-and-model-evidence → causal-blankets-and-interventions: 0 formal topic relationslearning-concentration-and-model-evidence → predictive-coding-and-generalized-coordinates: 0 formal topic relationslearning-concentration-and-model-evidence → path-space-stochastic-thermodynamics: 0 formal topic relationslearning-concentration-and-model-evidence → information-geometry-and-geometric-optimization: 0 formal topic relationslearning-concentration-and-model-evidence → collective-and-multiagent-active-inference: 0 formal topic relationslearning-concentration-and-model-evidence → learning-concentration-and-model-evidence: 0 formal topic relationslearning-concentration-and-model-evidence → finite-sample-risk-and-calibration: 0 formal topic relationslearning-concentration-and-model-evidence → closed-loop-policy-trees-and-efe: 0 formal topic relationslearning-concentration-and-model-evidence → finite-to-native-blanket-transfer: 0 formal topic relationslearning-concentration-and-model-evidence → finite-exponential-family-dual-geometry: 0 formal topic relationslearning-concentration-and-model-evidence → two-state-continuous-time-thermodynamics: 0 formal topic relationslearning-concentration-and-model-evidence → standalone-efe-formalizations: 0 formal topic relationslearning-concentration-and-model-evidence → geometric-mechanics-notation: 0 formal topic relationsF16F16finite-sample-risk-and-calibration → core-free-energy: 0 formal topic relationsfinite-sample-risk-and-calibration → core-active-inference: 0 formal topic relationsfinite-sample-risk-and-calibration → core-bayesian-mechanics: 0 formal topic relationsfinite-sample-risk-and-calibration → core-information-geometry: 0 formal topic relationsfinite-sample-risk-and-calibration → core-thermodynamics: 0 formal topic relationsfinite-sample-risk-and-calibration → measure-bayesian-inversion: 0 formal topic relationsfinite-sample-risk-and-calibration → variational-duality-and-information-bounds: 0 formal topic relationsfinite-sample-risk-and-calibration → control-and-planning-as-inference: 0 formal topic relationsfinite-sample-risk-and-calibration → temporal-and-hierarchical-inference: 0 formal topic relationsfinite-sample-risk-and-calibration → causal-blankets-and-interventions: 0 formal topic relationsfinite-sample-risk-and-calibration → predictive-coding-and-generalized-coordinates: 0 formal topic relationsfinite-sample-risk-and-calibration → path-space-stochastic-thermodynamics: 0 formal topic relationsfinite-sample-risk-and-calibration → information-geometry-and-geometric-optimization: 0 formal topic relationsfinite-sample-risk-and-calibration → collective-and-multiagent-active-inference: 0 formal topic relationsfinite-sample-risk-and-calibration → learning-concentration-and-model-evidence: 0 formal topic relationsfinite-sample-risk-and-calibration → finite-sample-risk-and-calibration: 0 formal topic relationsfinite-sample-risk-and-calibration → closed-loop-policy-trees-and-efe: 0 formal topic relationsfinite-sample-risk-and-calibration → finite-to-native-blanket-transfer: 0 formal topic relationsfinite-sample-risk-and-calibration → finite-exponential-family-dual-geometry: 0 formal topic relationsfinite-sample-risk-and-calibration → two-state-continuous-time-thermodynamics: 0 formal topic relationsfinite-sample-risk-and-calibration → standalone-efe-formalizations: 0 formal topic relationsfinite-sample-risk-and-calibration → geometric-mechanics-notation: 0 formal topic relationsF17F17closed-loop-policy-trees-and-efe → core-free-energy: 0 formal topic relationsclosed-loop-policy-trees-and-efe → core-active-inference: 0 formal topic relationsclosed-loop-policy-trees-and-efe → core-bayesian-mechanics: 0 formal topic relationsclosed-loop-policy-trees-and-efe → core-information-geometry: 0 formal topic relationsclosed-loop-policy-trees-and-efe → core-thermodynamics: 0 formal topic relationsclosed-loop-policy-trees-and-efe → measure-bayesian-inversion: 0 formal topic relationsclosed-loop-policy-trees-and-efe → variational-duality-and-information-bounds: 0 formal topic relationsclosed-loop-policy-trees-and-efe → control-and-planning-as-inference: 0 formal topic relationsclosed-loop-policy-trees-and-efe → temporal-and-hierarchical-inference: 0 formal topic relationsclosed-loop-policy-trees-and-efe → causal-blankets-and-interventions: 0 formal topic relationsclosed-loop-policy-trees-and-efe → predictive-coding-and-generalized-coordinates: 0 formal topic relationsclosed-loop-policy-trees-and-efe → path-space-stochastic-thermodynamics: 0 formal topic relationsclosed-loop-policy-trees-and-efe → information-geometry-and-geometric-optimization: 0 formal topic relationsclosed-loop-policy-trees-and-efe → collective-and-multiagent-active-inference: 0 formal topic relationsclosed-loop-policy-trees-and-efe → learning-concentration-and-model-evidence: 0 formal topic relationsclosed-loop-policy-trees-and-efe → finite-sample-risk-and-calibration: 0 formal topic relationsclosed-loop-policy-trees-and-efe → closed-loop-policy-trees-and-efe: 0 formal topic relationsclosed-loop-policy-trees-and-efe → finite-to-native-blanket-transfer: 0 formal topic relationsclosed-loop-policy-trees-and-efe → finite-exponential-family-dual-geometry: 0 formal topic relationsclosed-loop-policy-trees-and-efe → two-state-continuous-time-thermodynamics: 0 formal topic relationsclosed-loop-policy-trees-and-efe → standalone-efe-formalizations: 0 formal topic relationsclosed-loop-policy-trees-and-efe → geometric-mechanics-notation: 0 formal topic relationsF18F18finite-to-native-blanket-transfer → core-free-energy: 0 formal topic relationsfinite-to-native-blanket-transfer → core-active-inference: 0 formal topic relationsfinite-to-native-blanket-transfer → core-bayesian-mechanics: 0 formal topic relationsfinite-to-native-blanket-transfer → core-information-geometry: 0 formal topic relationsfinite-to-native-blanket-transfer → core-thermodynamics: 0 formal topic relationsfinite-to-native-blanket-transfer → measure-bayesian-inversion: 0 formal topic relationsfinite-to-native-blanket-transfer → variational-duality-and-information-bounds: 0 formal topic relationsfinite-to-native-blanket-transfer → control-and-planning-as-inference: 0 formal topic relationsfinite-to-native-blanket-transfer → temporal-and-hierarchical-inference: 0 formal topic relationsfinite-to-native-blanket-transfer → causal-blankets-and-interventions: 0 formal topic relationsfinite-to-native-blanket-transfer → predictive-coding-and-generalized-coordinates: 0 formal topic relationsfinite-to-native-blanket-transfer → path-space-stochastic-thermodynamics: 0 formal topic relationsfinite-to-native-blanket-transfer → information-geometry-and-geometric-optimization: 0 formal topic relationsfinite-to-native-blanket-transfer → collective-and-multiagent-active-inference: 0 formal topic relationsfinite-to-native-blanket-transfer → learning-concentration-and-model-evidence: 0 formal topic relationsfinite-to-native-blanket-transfer → finite-sample-risk-and-calibration: 0 formal topic relationsfinite-to-native-blanket-transfer → closed-loop-policy-trees-and-efe: 0 formal topic relationsfinite-to-native-blanket-transfer → finite-to-native-blanket-transfer: 0 formal topic relationsfinite-to-native-blanket-transfer → finite-exponential-family-dual-geometry: 0 formal topic relationsfinite-to-native-blanket-transfer → two-state-continuous-time-thermodynamics: 0 formal topic relationsfinite-to-native-blanket-transfer → standalone-efe-formalizations: 0 formal topic relationsfinite-to-native-blanket-transfer → geometric-mechanics-notation: 0 formal topic relationsF19F19finite-exponential-family-dual-geometry → core-free-energy: 0 formal topic relationsfinite-exponential-family-dual-geometry → core-active-inference: 0 formal topic relationsfinite-exponential-family-dual-geometry → core-bayesian-mechanics: 0 formal topic relationsfinite-exponential-family-dual-geometry → core-information-geometry: 0 formal topic relationsfinite-exponential-family-dual-geometry → core-thermodynamics: 0 formal topic relationsfinite-exponential-family-dual-geometry → measure-bayesian-inversion: 0 formal topic relationsfinite-exponential-family-dual-geometry → variational-duality-and-information-bounds: 0 formal topic relationsfinite-exponential-family-dual-geometry → control-and-planning-as-inference: 0 formal topic relationsfinite-exponential-family-dual-geometry → temporal-and-hierarchical-inference: 0 formal topic relationsfinite-exponential-family-dual-geometry → causal-blankets-and-interventions: 0 formal topic relationsfinite-exponential-family-dual-geometry → predictive-coding-and-generalized-coordinates: 0 formal topic relationsfinite-exponential-family-dual-geometry → path-space-stochastic-thermodynamics: 0 formal topic relationsfinite-exponential-family-dual-geometry → information-geometry-and-geometric-optimization: 0 formal topic relationsfinite-exponential-family-dual-geometry → collective-and-multiagent-active-inference: 0 formal topic relationsfinite-exponential-family-dual-geometry → learning-concentration-and-model-evidence: 0 formal topic relationsfinite-exponential-family-dual-geometry → finite-sample-risk-and-calibration: 0 formal topic relationsfinite-exponential-family-dual-geometry → closed-loop-policy-trees-and-efe: 0 formal topic relationsfinite-exponential-family-dual-geometry → finite-to-native-blanket-transfer: 0 formal topic relationsfinite-exponential-family-dual-geometry → finite-exponential-family-dual-geometry: 0 formal topic relationsfinite-exponential-family-dual-geometry → two-state-continuous-time-thermodynamics: 0 formal topic relationsfinite-exponential-family-dual-geometry → standalone-efe-formalizations: 0 formal topic relationsfinite-exponential-family-dual-geometry → geometric-mechanics-notation: 0 formal topic relationsF20F20two-state-continuous-time-thermodynamics → core-free-energy: 0 formal topic relationstwo-state-continuous-time-thermodynamics → core-active-inference: 0 formal topic relationstwo-state-continuous-time-thermodynamics → core-bayesian-mechanics: 0 formal topic relationstwo-state-continuous-time-thermodynamics → core-information-geometry: 0 formal topic relationstwo-state-continuous-time-thermodynamics → core-thermodynamics: 0 formal topic relationstwo-state-continuous-time-thermodynamics → measure-bayesian-inversion: 0 formal topic relationstwo-state-continuous-time-thermodynamics → variational-duality-and-information-bounds: 0 formal topic relationstwo-state-continuous-time-thermodynamics → control-and-planning-as-inference: 0 formal topic relationstwo-state-continuous-time-thermodynamics → temporal-and-hierarchical-inference: 0 formal topic relationstwo-state-continuous-time-thermodynamics → causal-blankets-and-interventions: 0 formal topic relationstwo-state-continuous-time-thermodynamics → predictive-coding-and-generalized-coordinates: 0 formal topic relationstwo-state-continuous-time-thermodynamics → path-space-stochastic-thermodynamics: 0 formal topic relationstwo-state-continuous-time-thermodynamics → information-geometry-and-geometric-optimization: 0 formal topic relationstwo-state-continuous-time-thermodynamics → collective-and-multiagent-active-inference: 0 formal topic relationstwo-state-continuous-time-thermodynamics → learning-concentration-and-model-evidence: 0 formal topic relationstwo-state-continuous-time-thermodynamics → finite-sample-risk-and-calibration: 0 formal topic relationstwo-state-continuous-time-thermodynamics → closed-loop-policy-trees-and-efe: 0 formal topic relationstwo-state-continuous-time-thermodynamics → finite-to-native-blanket-transfer: 0 formal topic relationstwo-state-continuous-time-thermodynamics → finite-exponential-family-dual-geometry: 0 formal topic relationstwo-state-continuous-time-thermodynamics → two-state-continuous-time-thermodynamics: 0 formal topic relationstwo-state-continuous-time-thermodynamics → standalone-efe-formalizations: 0 formal topic relationstwo-state-continuous-time-thermodynamics → geometric-mechanics-notation: 0 formal topic relationsF21F21standalone-efe-formalizations → core-free-energy: 0 formal topic relationsstandalone-efe-formalizations → core-active-inference: 0 formal topic relationsstandalone-efe-formalizations → core-bayesian-mechanics: 0 formal topic relationsstandalone-efe-formalizations → core-information-geometry: 0 formal topic relationsstandalone-efe-formalizations → core-thermodynamics: 0 formal topic relationsstandalone-efe-formalizations → measure-bayesian-inversion: 0 formal topic relationsstandalone-efe-formalizations → variational-duality-and-information-bounds: 0 formal topic relationsstandalone-efe-formalizations → control-and-planning-as-inference: 0 formal topic relationsstandalone-efe-formalizations → temporal-and-hierarchical-inference: 0 formal topic relationsstandalone-efe-formalizations → causal-blankets-and-interventions: 0 formal topic relationsstandalone-efe-formalizations → predictive-coding-and-generalized-coordinates: 0 formal topic relationsstandalone-efe-formalizations → path-space-stochastic-thermodynamics: 0 formal topic relationsstandalone-efe-formalizations → information-geometry-and-geometric-optimization: 0 formal topic relationsstandalone-efe-formalizations → collective-and-multiagent-active-inference: 0 formal topic relationsstandalone-efe-formalizations → learning-concentration-and-model-evidence: 0 formal topic relationsstandalone-efe-formalizations → finite-sample-risk-and-calibration: 0 formal topic relationsstandalone-efe-formalizations → closed-loop-policy-trees-and-efe: 0 formal topic relationsstandalone-efe-formalizations → finite-to-native-blanket-transfer: 0 formal topic relationsstandalone-efe-formalizations → finite-exponential-family-dual-geometry: 0 formal topic relationsstandalone-efe-formalizations → two-state-continuous-time-thermodynamics: 0 formal topic relationsstandalone-efe-formalizations → standalone-efe-formalizations: 0 formal topic relationsstandalone-efe-formalizations → geometric-mechanics-notation: 0 formal topic relationsF22F22geometric-mechanics-notation → core-free-energy: 0 formal topic relationsgeometric-mechanics-notation → core-active-inference: 0 formal topic relationsgeometric-mechanics-notation → core-bayesian-mechanics: 0 formal topic relationsgeometric-mechanics-notation → core-information-geometry: 0 formal topic relationsgeometric-mechanics-notation → core-thermodynamics: 0 formal topic relationsgeometric-mechanics-notation → measure-bayesian-inversion: 0 formal topic relationsgeometric-mechanics-notation → variational-duality-and-information-bounds: 0 formal topic relationsgeometric-mechanics-notation → control-and-planning-as-inference: 0 formal topic relationsgeometric-mechanics-notation → temporal-and-hierarchical-inference: 0 formal topic relationsgeometric-mechanics-notation → causal-blankets-and-interventions: 0 formal topic relationsgeometric-mechanics-notation → predictive-coding-and-generalized-coordinates: 0 formal topic relationsgeometric-mechanics-notation → path-space-stochastic-thermodynamics: 0 formal topic relationsgeometric-mechanics-notation → information-geometry-and-geometric-optimization: 0 formal topic relationsgeometric-mechanics-notation → collective-and-multiagent-active-inference: 0 formal topic relationsgeometric-mechanics-notation → learning-concentration-and-model-evidence: 0 formal topic relationsgeometric-mechanics-notation → finite-sample-risk-and-calibration: 0 formal topic relationsgeometric-mechanics-notation → closed-loop-policy-trees-and-efe: 0 formal topic relationsgeometric-mechanics-notation → finite-to-native-blanket-transfer: 0 formal topic relationsgeometric-mechanics-notation → finite-exponential-family-dual-geometry: 0 formal topic relationsgeometric-mechanics-notation → two-state-continuous-time-thermodynamics: 0 formal topic relationsgeometric-mechanics-notation → standalone-efe-formalizations: 0 formal topic relationsgeometric-mechanics-notation → geometric-mechanics-notation: 0 formal topic relationsFamily key · full topic contracts remain in the accessible HTML tablesF01 · core-free-energyF02 · core-active-inferenceF03 · core-bayesian-mechanicsF04 · core-information-geometryF05 · core-thermodynamicsF06 · measure-bayesian-inversionF07 · variational-duality-and-information-boundsF08 · control-and-planning-as-inferenceF09 · temporal-and-hierarchical-inferenceF10 · causal-blankets-and-interventionsF11 · predictive-coding-and-generalized-coordinatesF12 · path-space-stochastic-thermodynamicsF13 · information-geometry-and-geometric-optimizationF14 · collective-and-multiagent-active-inferenceF15 · learning-concentration-and-model-evidenceF16 · finite-sample-risk-and-calibrationF17 · closed-loop-policy-trees-and-efeF18 · finite-to-native-blanket-transferF19 · finite-exponential-family-dual-geometryF20 · two-state-continuous-time-thermodynamicsF21 · standalone-efe-formalizationsF22 · geometric-mechanics-notationFamily aggregation adds no theorem; editorial upstream affinities are separate. diff --git a/docs/mathematical-positioning/panels/authored-relations.svg b/docs/mathematical-positioning/panels/authored-relations.svg index dfbc6db5..115208ec 100644 --- a/docs/mathematical-positioning/panels/authored-relations.svg +++ b/docs/mathematical-positioning/panels/authored-relations.svg @@ -1 +1 @@ -Typed authored relation adjacency matricesThree directed adjacency matrices aggregate exact topic edges by family. Rows are sources, columns are targets. Numbers count original edges, not family theorems. Formal, theorem pairing and conceptual kinds remain separate. Editorial upstream affinities are listed in a fourth separate band. Exact topic endpoints and witnesses are available in the HTML table.Authored relation graph · source rows → target columnsCell counts aggregate canonical topic edges, not family-level proofs or inferred implications.formalF01F01core-free-energy → core-free-energy: 2 formal topic relationscore-free-energy → core-free-energy: 2 formal topic relations2core-free-energy → core-active-inference: 1 formal topic relationscore-free-energy → core-active-inference: 1 formal topic relations1core-free-energy → core-bayesian-mechanics: 1 formal topic relationscore-free-energy → core-bayesian-mechanics: 1 formal topic relations1core-free-energy → core-information-geometry: 1 formal topic relationscore-free-energy → core-information-geometry: 1 formal topic relations1core-free-energy → core-thermodynamics: 0 formal topic relationscore-free-energy → measure-bayesian-inversion: 0 formal topic relationscore-free-energy → variational-duality-and-information-bounds: 0 formal topic relationscore-free-energy → control-and-planning-as-inference: 0 formal topic relationscore-free-energy → temporal-and-hierarchical-inference: 0 formal topic relationscore-free-energy → causal-blankets-and-interventions: 0 formal topic relationscore-free-energy → predictive-coding-and-generalized-coordinates: 0 formal topic relationscore-free-energy → path-space-stochastic-thermodynamics: 0 formal topic relationscore-free-energy → information-geometry-and-geometric-optimization: 0 formal topic relationscore-free-energy → collective-and-multiagent-active-inference: 0 formal topic relationscore-free-energy → learning-concentration-and-model-evidence: 0 formal topic relationscore-free-energy → finite-sample-risk-and-calibration: 0 formal topic relationscore-free-energy → closed-loop-policy-trees-and-efe: 0 formal topic relationscore-free-energy → finite-to-native-blanket-transfer: 0 formal topic relationscore-free-energy → finite-exponential-family-dual-geometry: 0 formal topic relationscore-free-energy → two-state-continuous-time-thermodynamics: 0 formal topic relationscore-free-energy → standalone-efe-formalizations: 0 formal topic relationscore-free-energy → geometric-mechanics-notation: 0 formal topic relationsF02F02core-active-inference → core-free-energy: 0 formal topic relationscore-active-inference → core-active-inference: 2 formal topic relationscore-active-inference → core-active-inference: 2 formal topic relations2core-active-inference → core-bayesian-mechanics: 1 formal topic relationscore-active-inference → core-bayesian-mechanics: 1 formal topic relations1core-active-inference → core-information-geometry: 1 formal topic relationscore-active-inference → core-information-geometry: 1 formal topic relations1core-active-inference → core-thermodynamics: 0 formal topic relationscore-active-inference → measure-bayesian-inversion: 0 formal topic relationscore-active-inference → variational-duality-and-information-bounds: 0 formal topic relationscore-active-inference → control-and-planning-as-inference: 0 formal topic relationscore-active-inference → temporal-and-hierarchical-inference: 0 formal topic relationscore-active-inference → causal-blankets-and-interventions: 0 formal topic relationscore-active-inference → predictive-coding-and-generalized-coordinates: 0 formal topic relationscore-active-inference → path-space-stochastic-thermodynamics: 0 formal topic relationscore-active-inference → information-geometry-and-geometric-optimization: 0 formal topic relationscore-active-inference → collective-and-multiagent-active-inference: 0 formal topic relationscore-active-inference → learning-concentration-and-model-evidence: 0 formal topic relationscore-active-inference → finite-sample-risk-and-calibration: 0 formal topic relationscore-active-inference → closed-loop-policy-trees-and-efe: 0 formal topic relationscore-active-inference → finite-to-native-blanket-transfer: 0 formal topic relationscore-active-inference → finite-exponential-family-dual-geometry: 0 formal topic relationscore-active-inference → two-state-continuous-time-thermodynamics: 0 formal topic relationscore-active-inference → standalone-efe-formalizations: 0 formal topic relationscore-active-inference → geometric-mechanics-notation: 0 formal topic relationsF03F03core-bayesian-mechanics → core-free-energy: 0 formal topic relationscore-bayesian-mechanics → core-active-inference: 0 formal topic relationscore-bayesian-mechanics → core-bayesian-mechanics: 4 formal topic relationscore-bayesian-mechanics → core-bayesian-mechanics: 4 formal topic relations4core-bayesian-mechanics → core-information-geometry: 0 formal topic relationscore-bayesian-mechanics → core-thermodynamics: 0 formal topic relationscore-bayesian-mechanics → measure-bayesian-inversion: 0 formal topic relationscore-bayesian-mechanics → variational-duality-and-information-bounds: 0 formal topic relationscore-bayesian-mechanics → control-and-planning-as-inference: 0 formal topic relationscore-bayesian-mechanics → temporal-and-hierarchical-inference: 0 formal topic relationscore-bayesian-mechanics → causal-blankets-and-interventions: 0 formal topic relationscore-bayesian-mechanics → predictive-coding-and-generalized-coordinates: 0 formal topic relationscore-bayesian-mechanics → path-space-stochastic-thermodynamics: 0 formal topic relationscore-bayesian-mechanics → information-geometry-and-geometric-optimization: 0 formal topic relationscore-bayesian-mechanics → collective-and-multiagent-active-inference: 0 formal topic relationscore-bayesian-mechanics → learning-concentration-and-model-evidence: 0 formal topic relationscore-bayesian-mechanics → finite-sample-risk-and-calibration: 0 formal topic relationscore-bayesian-mechanics → closed-loop-policy-trees-and-efe: 0 formal topic relationscore-bayesian-mechanics → finite-to-native-blanket-transfer: 0 formal topic relationscore-bayesian-mechanics → finite-exponential-family-dual-geometry: 0 formal topic relationscore-bayesian-mechanics → two-state-continuous-time-thermodynamics: 0 formal topic relationscore-bayesian-mechanics → standalone-efe-formalizations: 0 formal topic relationscore-bayesian-mechanics → geometric-mechanics-notation: 0 formal topic relationsF04F04core-information-geometry → core-free-energy: 0 formal topic relationscore-information-geometry → core-active-inference: 0 formal topic relationscore-information-geometry → core-bayesian-mechanics: 0 formal topic relationscore-information-geometry → core-information-geometry: 2 formal topic relationscore-information-geometry → core-information-geometry: 2 formal topic relations2core-information-geometry → core-thermodynamics: 0 formal topic relationscore-information-geometry → measure-bayesian-inversion: 0 formal topic relationscore-information-geometry → variational-duality-and-information-bounds: 0 formal topic relationscore-information-geometry → control-and-planning-as-inference: 0 formal topic relationscore-information-geometry → temporal-and-hierarchical-inference: 0 formal topic relationscore-information-geometry → causal-blankets-and-interventions: 0 formal topic relationscore-information-geometry → predictive-coding-and-generalized-coordinates: 0 formal topic relationscore-information-geometry → path-space-stochastic-thermodynamics: 0 formal topic relationscore-information-geometry → information-geometry-and-geometric-optimization: 0 formal topic relationscore-information-geometry → collective-and-multiagent-active-inference: 0 formal topic relationscore-information-geometry → learning-concentration-and-model-evidence: 0 formal topic relationscore-information-geometry → finite-sample-risk-and-calibration: 0 formal topic relationscore-information-geometry → closed-loop-policy-trees-and-efe: 0 formal topic relationscore-information-geometry → finite-to-native-blanket-transfer: 0 formal topic relationscore-information-geometry → finite-exponential-family-dual-geometry: 0 formal topic relationscore-information-geometry → two-state-continuous-time-thermodynamics: 0 formal topic relationscore-information-geometry → standalone-efe-formalizations: 0 formal topic relationscore-information-geometry → geometric-mechanics-notation: 0 formal topic relationsF05F05core-thermodynamics → core-free-energy: 0 formal topic relationscore-thermodynamics → core-active-inference: 0 formal topic relationscore-thermodynamics → core-bayesian-mechanics: 2 formal topic relationscore-thermodynamics → core-bayesian-mechanics: 2 formal topic relations2core-thermodynamics → core-information-geometry: 0 formal topic relationscore-thermodynamics → core-thermodynamics: 2 formal topic relationscore-thermodynamics → core-thermodynamics: 2 formal topic relations2core-thermodynamics → measure-bayesian-inversion: 0 formal topic relationscore-thermodynamics → variational-duality-and-information-bounds: 0 formal topic relationscore-thermodynamics → control-and-planning-as-inference: 0 formal topic relationscore-thermodynamics → temporal-and-hierarchical-inference: 0 formal topic relationscore-thermodynamics → causal-blankets-and-interventions: 0 formal topic relationscore-thermodynamics → predictive-coding-and-generalized-coordinates: 0 formal topic relationscore-thermodynamics → path-space-stochastic-thermodynamics: 0 formal topic relationscore-thermodynamics → information-geometry-and-geometric-optimization: 0 formal topic relationscore-thermodynamics → collective-and-multiagent-active-inference: 0 formal topic relationscore-thermodynamics → learning-concentration-and-model-evidence: 0 formal topic relationscore-thermodynamics → finite-sample-risk-and-calibration: 0 formal topic relationscore-thermodynamics → closed-loop-policy-trees-and-efe: 0 formal topic relationscore-thermodynamics → finite-to-native-blanket-transfer: 0 formal topic relationscore-thermodynamics → finite-exponential-family-dual-geometry: 0 formal topic relationscore-thermodynamics → two-state-continuous-time-thermodynamics: 0 formal topic relationscore-thermodynamics → standalone-efe-formalizations: 0 formal topic relationscore-thermodynamics → geometric-mechanics-notation: 0 formal topic relationsF06F06measure-bayesian-inversion → core-free-energy: 0 formal topic relationsmeasure-bayesian-inversion → core-active-inference: 0 formal topic relationsmeasure-bayesian-inversion → core-bayesian-mechanics: 0 formal topic relationsmeasure-bayesian-inversion → core-information-geometry: 0 formal topic relationsmeasure-bayesian-inversion → core-thermodynamics: 0 formal topic relationsmeasure-bayesian-inversion → measure-bayesian-inversion: 0 formal topic relationsmeasure-bayesian-inversion → variational-duality-and-information-bounds: 0 formal topic relationsmeasure-bayesian-inversion → control-and-planning-as-inference: 0 formal topic relationsmeasure-bayesian-inversion → temporal-and-hierarchical-inference: 0 formal topic relationsmeasure-bayesian-inversion → causal-blankets-and-interventions: 0 formal topic relationsmeasure-bayesian-inversion → predictive-coding-and-generalized-coordinates: 0 formal topic relationsmeasure-bayesian-inversion → path-space-stochastic-thermodynamics: 0 formal topic relationsmeasure-bayesian-inversion → information-geometry-and-geometric-optimization: 0 formal topic relationsmeasure-bayesian-inversion → collective-and-multiagent-active-inference: 0 formal topic relationsmeasure-bayesian-inversion → learning-concentration-and-model-evidence: 0 formal topic relationsmeasure-bayesian-inversion → finite-sample-risk-and-calibration: 0 formal topic relationsmeasure-bayesian-inversion → closed-loop-policy-trees-and-efe: 0 formal topic relationsmeasure-bayesian-inversion → finite-to-native-blanket-transfer: 0 formal topic relationsmeasure-bayesian-inversion → finite-exponential-family-dual-geometry: 0 formal topic relationsmeasure-bayesian-inversion → two-state-continuous-time-thermodynamics: 0 formal topic relationsmeasure-bayesian-inversion → standalone-efe-formalizations: 0 formal topic relationsmeasure-bayesian-inversion → geometric-mechanics-notation: 0 formal topic relationsF07F07variational-duality-and-information-bounds → core-free-energy: 1 formal topic relationsvariational-duality-and-information-bounds → core-free-energy: 1 formal topic relations1variational-duality-and-information-bounds → core-active-inference: 0 formal topic relationsvariational-duality-and-information-bounds → core-bayesian-mechanics: 0 formal topic relationsvariational-duality-and-information-bounds → core-information-geometry: 0 formal topic relationsvariational-duality-and-information-bounds → core-thermodynamics: 0 formal topic relationsvariational-duality-and-information-bounds → measure-bayesian-inversion: 0 formal topic relationsvariational-duality-and-information-bounds → variational-duality-and-information-bounds: 0 formal topic relationsvariational-duality-and-information-bounds → control-and-planning-as-inference: 0 formal topic relationsvariational-duality-and-information-bounds → temporal-and-hierarchical-inference: 0 formal topic relationsvariational-duality-and-information-bounds → causal-blankets-and-interventions: 0 formal topic relationsvariational-duality-and-information-bounds → predictive-coding-and-generalized-coordinates: 0 formal topic relationsvariational-duality-and-information-bounds → path-space-stochastic-thermodynamics: 0 formal topic relationsvariational-duality-and-information-bounds → information-geometry-and-geometric-optimization: 0 formal topic relationsvariational-duality-and-information-bounds → collective-and-multiagent-active-inference: 0 formal topic relationsvariational-duality-and-information-bounds → learning-concentration-and-model-evidence: 0 formal topic relationsvariational-duality-and-information-bounds → finite-sample-risk-and-calibration: 0 formal topic relationsvariational-duality-and-information-bounds → closed-loop-policy-trees-and-efe: 0 formal topic relationsvariational-duality-and-information-bounds → finite-to-native-blanket-transfer: 0 formal topic relationsvariational-duality-and-information-bounds → finite-exponential-family-dual-geometry: 0 formal topic relationsvariational-duality-and-information-bounds → two-state-continuous-time-thermodynamics: 0 formal topic relationsvariational-duality-and-information-bounds → standalone-efe-formalizations: 0 formal topic relationsvariational-duality-and-information-bounds → geometric-mechanics-notation: 0 formal topic relationsF08F08control-and-planning-as-inference → core-free-energy: 0 formal topic relationscontrol-and-planning-as-inference → core-active-inference: 0 formal topic relationscontrol-and-planning-as-inference → core-bayesian-mechanics: 0 formal topic relationscontrol-and-planning-as-inference → core-information-geometry: 0 formal topic relationscontrol-and-planning-as-inference → core-thermodynamics: 0 formal topic relationscontrol-and-planning-as-inference → measure-bayesian-inversion: 0 formal topic relationscontrol-and-planning-as-inference → variational-duality-and-information-bounds: 0 formal topic relationscontrol-and-planning-as-inference → control-and-planning-as-inference: 0 formal topic relationscontrol-and-planning-as-inference → temporal-and-hierarchical-inference: 0 formal topic relationscontrol-and-planning-as-inference → causal-blankets-and-interventions: 0 formal topic relationscontrol-and-planning-as-inference → predictive-coding-and-generalized-coordinates: 0 formal topic relationscontrol-and-planning-as-inference → path-space-stochastic-thermodynamics: 0 formal topic relationscontrol-and-planning-as-inference → information-geometry-and-geometric-optimization: 0 formal topic relationscontrol-and-planning-as-inference → collective-and-multiagent-active-inference: 0 formal topic relationscontrol-and-planning-as-inference → learning-concentration-and-model-evidence: 0 formal topic relationscontrol-and-planning-as-inference → finite-sample-risk-and-calibration: 0 formal topic relationscontrol-and-planning-as-inference → closed-loop-policy-trees-and-efe: 0 formal topic relationscontrol-and-planning-as-inference → finite-to-native-blanket-transfer: 0 formal topic relationscontrol-and-planning-as-inference → finite-exponential-family-dual-geometry: 0 formal topic relationscontrol-and-planning-as-inference → two-state-continuous-time-thermodynamics: 0 formal topic relationscontrol-and-planning-as-inference → standalone-efe-formalizations: 0 formal topic relationscontrol-and-planning-as-inference → geometric-mechanics-notation: 0 formal topic relationsF09F09temporal-and-hierarchical-inference → core-free-energy: 0 formal topic relationstemporal-and-hierarchical-inference → core-active-inference: 0 formal topic relationstemporal-and-hierarchical-inference → core-bayesian-mechanics: 0 formal topic relationstemporal-and-hierarchical-inference → core-information-geometry: 0 formal topic relationstemporal-and-hierarchical-inference → core-thermodynamics: 0 formal topic relationstemporal-and-hierarchical-inference → measure-bayesian-inversion: 0 formal topic relationstemporal-and-hierarchical-inference → variational-duality-and-information-bounds: 0 formal topic relationstemporal-and-hierarchical-inference → control-and-planning-as-inference: 0 formal topic relationstemporal-and-hierarchical-inference → temporal-and-hierarchical-inference: 0 formal topic relationstemporal-and-hierarchical-inference → causal-blankets-and-interventions: 0 formal topic relationstemporal-and-hierarchical-inference → predictive-coding-and-generalized-coordinates: 0 formal topic relationstemporal-and-hierarchical-inference → path-space-stochastic-thermodynamics: 0 formal topic relationstemporal-and-hierarchical-inference → information-geometry-and-geometric-optimization: 0 formal topic relationstemporal-and-hierarchical-inference → collective-and-multiagent-active-inference: 0 formal topic relationstemporal-and-hierarchical-inference → learning-concentration-and-model-evidence: 0 formal topic relationstemporal-and-hierarchical-inference → finite-sample-risk-and-calibration: 0 formal topic relationstemporal-and-hierarchical-inference → closed-loop-policy-trees-and-efe: 0 formal topic relationstemporal-and-hierarchical-inference → finite-to-native-blanket-transfer: 0 formal topic relationstemporal-and-hierarchical-inference → finite-exponential-family-dual-geometry: 0 formal topic relationstemporal-and-hierarchical-inference → two-state-continuous-time-thermodynamics: 0 formal topic relationstemporal-and-hierarchical-inference → standalone-efe-formalizations: 0 formal topic relationstemporal-and-hierarchical-inference → geometric-mechanics-notation: 0 formal topic relationsF10F10causal-blankets-and-interventions → core-free-energy: 0 formal topic relationscausal-blankets-and-interventions → core-active-inference: 0 formal topic relationscausal-blankets-and-interventions → core-bayesian-mechanics: 0 formal topic relationscausal-blankets-and-interventions → core-information-geometry: 0 formal topic relationscausal-blankets-and-interventions → core-thermodynamics: 0 formal topic relationscausal-blankets-and-interventions → measure-bayesian-inversion: 0 formal topic relationscausal-blankets-and-interventions → variational-duality-and-information-bounds: 0 formal topic relationscausal-blankets-and-interventions → control-and-planning-as-inference: 0 formal topic relationscausal-blankets-and-interventions → temporal-and-hierarchical-inference: 0 formal topic relationscausal-blankets-and-interventions → causal-blankets-and-interventions: 0 formal topic relationscausal-blankets-and-interventions → predictive-coding-and-generalized-coordinates: 0 formal topic relationscausal-blankets-and-interventions → path-space-stochastic-thermodynamics: 0 formal topic relationscausal-blankets-and-interventions → information-geometry-and-geometric-optimization: 0 formal topic relationscausal-blankets-and-interventions → collective-and-multiagent-active-inference: 0 formal topic relationscausal-blankets-and-interventions → learning-concentration-and-model-evidence: 0 formal topic relationscausal-blankets-and-interventions → finite-sample-risk-and-calibration: 0 formal topic relationscausal-blankets-and-interventions → closed-loop-policy-trees-and-efe: 0 formal topic relationscausal-blankets-and-interventions → finite-to-native-blanket-transfer: 0 formal topic relationscausal-blankets-and-interventions → finite-exponential-family-dual-geometry: 0 formal topic relationscausal-blankets-and-interventions → two-state-continuous-time-thermodynamics: 0 formal topic relationscausal-blankets-and-interventions → standalone-efe-formalizations: 0 formal topic relationscausal-blankets-and-interventions → geometric-mechanics-notation: 0 formal topic relationsF11F11predictive-coding-and-generalized-coordinates → core-free-energy: 0 formal topic relationspredictive-coding-and-generalized-coordinates → core-active-inference: 0 formal topic relationspredictive-coding-and-generalized-coordinates → core-bayesian-mechanics: 0 formal topic relationspredictive-coding-and-generalized-coordinates → core-information-geometry: 0 formal topic relationspredictive-coding-and-generalized-coordinates → core-thermodynamics: 0 formal topic relationspredictive-coding-and-generalized-coordinates → measure-bayesian-inversion: 0 formal topic relationspredictive-coding-and-generalized-coordinates → variational-duality-and-information-bounds: 0 formal topic relationspredictive-coding-and-generalized-coordinates → control-and-planning-as-inference: 0 formal topic relationspredictive-coding-and-generalized-coordinates → temporal-and-hierarchical-inference: 0 formal topic relationspredictive-coding-and-generalized-coordinates → causal-blankets-and-interventions: 0 formal topic relationspredictive-coding-and-generalized-coordinates → predictive-coding-and-generalized-coordinates: 0 formal topic relationspredictive-coding-and-generalized-coordinates → path-space-stochastic-thermodynamics: 0 formal topic relationspredictive-coding-and-generalized-coordinates → information-geometry-and-geometric-optimization: 0 formal topic relationspredictive-coding-and-generalized-coordinates → collective-and-multiagent-active-inference: 0 formal topic relationspredictive-coding-and-generalized-coordinates → learning-concentration-and-model-evidence: 0 formal topic relationspredictive-coding-and-generalized-coordinates → finite-sample-risk-and-calibration: 0 formal topic relationspredictive-coding-and-generalized-coordinates → closed-loop-policy-trees-and-efe: 0 formal topic relationspredictive-coding-and-generalized-coordinates → finite-to-native-blanket-transfer: 0 formal topic relationspredictive-coding-and-generalized-coordinates → finite-exponential-family-dual-geometry: 0 formal topic relationspredictive-coding-and-generalized-coordinates → two-state-continuous-time-thermodynamics: 0 formal topic relationspredictive-coding-and-generalized-coordinates → standalone-efe-formalizations: 0 formal topic relationspredictive-coding-and-generalized-coordinates → geometric-mechanics-notation: 0 formal topic relationsF12F12path-space-stochastic-thermodynamics → core-free-energy: 0 formal topic relationspath-space-stochastic-thermodynamics → core-active-inference: 0 formal topic relationspath-space-stochastic-thermodynamics → core-bayesian-mechanics: 0 formal topic relationspath-space-stochastic-thermodynamics → core-information-geometry: 0 formal topic relationspath-space-stochastic-thermodynamics → core-thermodynamics: 0 formal topic relationspath-space-stochastic-thermodynamics → measure-bayesian-inversion: 0 formal topic relationspath-space-stochastic-thermodynamics → variational-duality-and-information-bounds: 0 formal topic relationspath-space-stochastic-thermodynamics → control-and-planning-as-inference: 0 formal topic relationspath-space-stochastic-thermodynamics → temporal-and-hierarchical-inference: 0 formal topic relationspath-space-stochastic-thermodynamics → causal-blankets-and-interventions: 0 formal topic relationspath-space-stochastic-thermodynamics → predictive-coding-and-generalized-coordinates: 0 formal topic relationspath-space-stochastic-thermodynamics → path-space-stochastic-thermodynamics: 0 formal topic relationspath-space-stochastic-thermodynamics → information-geometry-and-geometric-optimization: 0 formal topic relationspath-space-stochastic-thermodynamics → collective-and-multiagent-active-inference: 0 formal topic relationspath-space-stochastic-thermodynamics → learning-concentration-and-model-evidence: 0 formal topic relationspath-space-stochastic-thermodynamics → finite-sample-risk-and-calibration: 0 formal topic relationspath-space-stochastic-thermodynamics → closed-loop-policy-trees-and-efe: 0 formal topic relationspath-space-stochastic-thermodynamics → finite-to-native-blanket-transfer: 0 formal topic relationspath-space-stochastic-thermodynamics → finite-exponential-family-dual-geometry: 0 formal topic relationspath-space-stochastic-thermodynamics → two-state-continuous-time-thermodynamics: 0 formal topic relationspath-space-stochastic-thermodynamics → standalone-efe-formalizations: 0 formal topic relationspath-space-stochastic-thermodynamics → geometric-mechanics-notation: 0 formal topic relationsF13F13information-geometry-and-geometric-optimization → core-free-energy: 0 formal topic relationsinformation-geometry-and-geometric-optimization → core-active-inference: 0 formal topic relationsinformation-geometry-and-geometric-optimization → core-bayesian-mechanics: 0 formal topic relationsinformation-geometry-and-geometric-optimization → core-information-geometry: 0 formal topic relationsinformation-geometry-and-geometric-optimization → core-thermodynamics: 0 formal topic relationsinformation-geometry-and-geometric-optimization → measure-bayesian-inversion: 0 formal topic relationsinformation-geometry-and-geometric-optimization → variational-duality-and-information-bounds: 0 formal topic relationsinformation-geometry-and-geometric-optimization → control-and-planning-as-inference: 0 formal topic relationsinformation-geometry-and-geometric-optimization → temporal-and-hierarchical-inference: 0 formal topic relationsinformation-geometry-and-geometric-optimization → causal-blankets-and-interventions: 0 formal topic relationsinformation-geometry-and-geometric-optimization → predictive-coding-and-generalized-coordinates: 0 formal topic relationsinformation-geometry-and-geometric-optimization → path-space-stochastic-thermodynamics: 0 formal topic relationsinformation-geometry-and-geometric-optimization → information-geometry-and-geometric-optimization: 0 formal topic relationsinformation-geometry-and-geometric-optimization → collective-and-multiagent-active-inference: 0 formal topic relationsinformation-geometry-and-geometric-optimization → learning-concentration-and-model-evidence: 0 formal topic relationsinformation-geometry-and-geometric-optimization → finite-sample-risk-and-calibration: 0 formal topic relationsinformation-geometry-and-geometric-optimization → closed-loop-policy-trees-and-efe: 0 formal topic relationsinformation-geometry-and-geometric-optimization → finite-to-native-blanket-transfer: 0 formal topic relationsinformation-geometry-and-geometric-optimization → finite-exponential-family-dual-geometry: 0 formal topic relationsinformation-geometry-and-geometric-optimization → two-state-continuous-time-thermodynamics: 0 formal topic relationsinformation-geometry-and-geometric-optimization → standalone-efe-formalizations: 0 formal topic relationsinformation-geometry-and-geometric-optimization → geometric-mechanics-notation: 0 formal topic relationsF14F14collective-and-multiagent-active-inference → core-free-energy: 0 formal topic relationscollective-and-multiagent-active-inference → core-active-inference: 0 formal topic relationscollective-and-multiagent-active-inference → core-bayesian-mechanics: 0 formal topic relationscollective-and-multiagent-active-inference → core-information-geometry: 0 formal topic relationscollective-and-multiagent-active-inference → core-thermodynamics: 0 formal topic relationscollective-and-multiagent-active-inference → measure-bayesian-inversion: 0 formal topic relationscollective-and-multiagent-active-inference → variational-duality-and-information-bounds: 0 formal topic relationscollective-and-multiagent-active-inference → control-and-planning-as-inference: 0 formal topic relationscollective-and-multiagent-active-inference → temporal-and-hierarchical-inference: 0 formal topic relationscollective-and-multiagent-active-inference → causal-blankets-and-interventions: 0 formal topic relationscollective-and-multiagent-active-inference → predictive-coding-and-generalized-coordinates: 0 formal topic relationscollective-and-multiagent-active-inference → path-space-stochastic-thermodynamics: 0 formal topic relationscollective-and-multiagent-active-inference → information-geometry-and-geometric-optimization: 0 formal topic relationscollective-and-multiagent-active-inference → collective-and-multiagent-active-inference: 0 formal topic relationscollective-and-multiagent-active-inference → learning-concentration-and-model-evidence: 0 formal topic relationscollective-and-multiagent-active-inference → finite-sample-risk-and-calibration: 0 formal topic relationscollective-and-multiagent-active-inference → closed-loop-policy-trees-and-efe: 0 formal topic relationscollective-and-multiagent-active-inference → finite-to-native-blanket-transfer: 0 formal topic relationscollective-and-multiagent-active-inference → finite-exponential-family-dual-geometry: 0 formal topic relationscollective-and-multiagent-active-inference → two-state-continuous-time-thermodynamics: 0 formal topic relationscollective-and-multiagent-active-inference → standalone-efe-formalizations: 0 formal topic relationscollective-and-multiagent-active-inference → geometric-mechanics-notation: 0 formal topic relationsF15F15learning-concentration-and-model-evidence → core-free-energy: 0 formal topic relationslearning-concentration-and-model-evidence → core-active-inference: 0 formal topic relationslearning-concentration-and-model-evidence → core-bayesian-mechanics: 0 formal topic relationslearning-concentration-and-model-evidence → core-information-geometry: 0 formal topic relationslearning-concentration-and-model-evidence → core-thermodynamics: 0 formal topic relationslearning-concentration-and-model-evidence → measure-bayesian-inversion: 0 formal topic relationslearning-concentration-and-model-evidence → variational-duality-and-information-bounds: 0 formal topic relationslearning-concentration-and-model-evidence → control-and-planning-as-inference: 0 formal topic relationslearning-concentration-and-model-evidence → temporal-and-hierarchical-inference: 0 formal topic relationslearning-concentration-and-model-evidence → causal-blankets-and-interventions: 0 formal topic relationslearning-concentration-and-model-evidence → predictive-coding-and-generalized-coordinates: 0 formal topic relationslearning-concentration-and-model-evidence → path-space-stochastic-thermodynamics: 0 formal topic relationslearning-concentration-and-model-evidence → information-geometry-and-geometric-optimization: 0 formal topic relationslearning-concentration-and-model-evidence → collective-and-multiagent-active-inference: 0 formal topic relationslearning-concentration-and-model-evidence → learning-concentration-and-model-evidence: 0 formal topic relationslearning-concentration-and-model-evidence → finite-sample-risk-and-calibration: 0 formal topic relationslearning-concentration-and-model-evidence → closed-loop-policy-trees-and-efe: 0 formal topic relationslearning-concentration-and-model-evidence → finite-to-native-blanket-transfer: 0 formal topic relationslearning-concentration-and-model-evidence → finite-exponential-family-dual-geometry: 0 formal topic relationslearning-concentration-and-model-evidence → two-state-continuous-time-thermodynamics: 0 formal topic relationslearning-concentration-and-model-evidence → standalone-efe-formalizations: 0 formal topic relationslearning-concentration-and-model-evidence → geometric-mechanics-notation: 0 formal topic relationsF16F16finite-sample-risk-and-calibration → core-free-energy: 0 formal topic relationsfinite-sample-risk-and-calibration → core-active-inference: 0 formal topic relationsfinite-sample-risk-and-calibration → core-bayesian-mechanics: 0 formal topic relationsfinite-sample-risk-and-calibration → core-information-geometry: 0 formal topic relationsfinite-sample-risk-and-calibration → core-thermodynamics: 0 formal topic relationsfinite-sample-risk-and-calibration → measure-bayesian-inversion: 0 formal topic relationsfinite-sample-risk-and-calibration → variational-duality-and-information-bounds: 0 formal topic relationsfinite-sample-risk-and-calibration → control-and-planning-as-inference: 0 formal topic relationsfinite-sample-risk-and-calibration → temporal-and-hierarchical-inference: 0 formal topic relationsfinite-sample-risk-and-calibration → causal-blankets-and-interventions: 0 formal topic relationsfinite-sample-risk-and-calibration → predictive-coding-and-generalized-coordinates: 0 formal topic relationsfinite-sample-risk-and-calibration → path-space-stochastic-thermodynamics: 0 formal topic relationsfinite-sample-risk-and-calibration → information-geometry-and-geometric-optimization: 0 formal topic relationsfinite-sample-risk-and-calibration → collective-and-multiagent-active-inference: 0 formal topic relationsfinite-sample-risk-and-calibration → learning-concentration-and-model-evidence: 0 formal topic relationsfinite-sample-risk-and-calibration → finite-sample-risk-and-calibration: 0 formal topic relationsfinite-sample-risk-and-calibration → closed-loop-policy-trees-and-efe: 0 formal topic relationsfinite-sample-risk-and-calibration → finite-to-native-blanket-transfer: 0 formal topic relationsfinite-sample-risk-and-calibration → finite-exponential-family-dual-geometry: 0 formal topic relationsfinite-sample-risk-and-calibration → two-state-continuous-time-thermodynamics: 0 formal topic relationsfinite-sample-risk-and-calibration → standalone-efe-formalizations: 0 formal topic relationsfinite-sample-risk-and-calibration → geometric-mechanics-notation: 0 formal topic relationsF17F17closed-loop-policy-trees-and-efe → core-free-energy: 0 formal topic relationsclosed-loop-policy-trees-and-efe → core-active-inference: 0 formal topic relationsclosed-loop-policy-trees-and-efe → core-bayesian-mechanics: 0 formal topic relationsclosed-loop-policy-trees-and-efe → core-information-geometry: 0 formal topic relationsclosed-loop-policy-trees-and-efe → core-thermodynamics: 0 formal topic relationsclosed-loop-policy-trees-and-efe → measure-bayesian-inversion: 0 formal topic relationsclosed-loop-policy-trees-and-efe → variational-duality-and-information-bounds: 0 formal topic relationsclosed-loop-policy-trees-and-efe → control-and-planning-as-inference: 0 formal topic relationsclosed-loop-policy-trees-and-efe → temporal-and-hierarchical-inference: 0 formal topic relationsclosed-loop-policy-trees-and-efe → causal-blankets-and-interventions: 0 formal topic relationsclosed-loop-policy-trees-and-efe → predictive-coding-and-generalized-coordinates: 0 formal topic relationsclosed-loop-policy-trees-and-efe → path-space-stochastic-thermodynamics: 0 formal topic relationsclosed-loop-policy-trees-and-efe → information-geometry-and-geometric-optimization: 0 formal topic relationsclosed-loop-policy-trees-and-efe → collective-and-multiagent-active-inference: 0 formal topic relationsclosed-loop-policy-trees-and-efe → learning-concentration-and-model-evidence: 0 formal topic relationsclosed-loop-policy-trees-and-efe → finite-sample-risk-and-calibration: 0 formal topic relationsclosed-loop-policy-trees-and-efe → closed-loop-policy-trees-and-efe: 0 formal topic relationsclosed-loop-policy-trees-and-efe → finite-to-native-blanket-transfer: 0 formal topic relationsclosed-loop-policy-trees-and-efe → finite-exponential-family-dual-geometry: 0 formal topic relationsclosed-loop-policy-trees-and-efe → two-state-continuous-time-thermodynamics: 0 formal topic relationsclosed-loop-policy-trees-and-efe → standalone-efe-formalizations: 0 formal topic relationsclosed-loop-policy-trees-and-efe → geometric-mechanics-notation: 0 formal topic relationsF18F18finite-to-native-blanket-transfer → core-free-energy: 0 formal topic relationsfinite-to-native-blanket-transfer → core-active-inference: 0 formal topic relationsfinite-to-native-blanket-transfer → core-bayesian-mechanics: 0 formal topic relationsfinite-to-native-blanket-transfer → core-information-geometry: 0 formal topic relationsfinite-to-native-blanket-transfer → core-thermodynamics: 0 formal topic relationsfinite-to-native-blanket-transfer → measure-bayesian-inversion: 0 formal topic relationsfinite-to-native-blanket-transfer → variational-duality-and-information-bounds: 0 formal topic relationsfinite-to-native-blanket-transfer → control-and-planning-as-inference: 0 formal topic relationsfinite-to-native-blanket-transfer → temporal-and-hierarchical-inference: 0 formal topic relationsfinite-to-native-blanket-transfer → causal-blankets-and-interventions: 0 formal topic relationsfinite-to-native-blanket-transfer → predictive-coding-and-generalized-coordinates: 0 formal topic relationsfinite-to-native-blanket-transfer → path-space-stochastic-thermodynamics: 0 formal topic relationsfinite-to-native-blanket-transfer → information-geometry-and-geometric-optimization: 0 formal topic relationsfinite-to-native-blanket-transfer → collective-and-multiagent-active-inference: 0 formal topic relationsfinite-to-native-blanket-transfer → learning-concentration-and-model-evidence: 0 formal topic relationsfinite-to-native-blanket-transfer → finite-sample-risk-and-calibration: 0 formal topic relationsfinite-to-native-blanket-transfer → closed-loop-policy-trees-and-efe: 0 formal topic relationsfinite-to-native-blanket-transfer → finite-to-native-blanket-transfer: 0 formal topic relationsfinite-to-native-blanket-transfer → finite-exponential-family-dual-geometry: 0 formal topic relationsfinite-to-native-blanket-transfer → two-state-continuous-time-thermodynamics: 0 formal topic relationsfinite-to-native-blanket-transfer → standalone-efe-formalizations: 0 formal topic relationsfinite-to-native-blanket-transfer → geometric-mechanics-notation: 0 formal topic relationsF19F19finite-exponential-family-dual-geometry → core-free-energy: 0 formal topic relationsfinite-exponential-family-dual-geometry → core-active-inference: 0 formal topic relationsfinite-exponential-family-dual-geometry → core-bayesian-mechanics: 0 formal topic relationsfinite-exponential-family-dual-geometry → core-information-geometry: 0 formal topic relationsfinite-exponential-family-dual-geometry → core-thermodynamics: 0 formal topic relationsfinite-exponential-family-dual-geometry → measure-bayesian-inversion: 0 formal topic relationsfinite-exponential-family-dual-geometry → variational-duality-and-information-bounds: 0 formal topic relationsfinite-exponential-family-dual-geometry → control-and-planning-as-inference: 0 formal topic relationsfinite-exponential-family-dual-geometry → temporal-and-hierarchical-inference: 0 formal topic relationsfinite-exponential-family-dual-geometry → causal-blankets-and-interventions: 0 formal topic relationsfinite-exponential-family-dual-geometry → predictive-coding-and-generalized-coordinates: 0 formal topic relationsfinite-exponential-family-dual-geometry → path-space-stochastic-thermodynamics: 0 formal topic relationsfinite-exponential-family-dual-geometry → information-geometry-and-geometric-optimization: 0 formal topic relationsfinite-exponential-family-dual-geometry → collective-and-multiagent-active-inference: 0 formal topic relationsfinite-exponential-family-dual-geometry → learning-concentration-and-model-evidence: 0 formal topic relationsfinite-exponential-family-dual-geometry → finite-sample-risk-and-calibration: 0 formal topic relationsfinite-exponential-family-dual-geometry → closed-loop-policy-trees-and-efe: 0 formal topic relationsfinite-exponential-family-dual-geometry → finite-to-native-blanket-transfer: 0 formal topic relationsfinite-exponential-family-dual-geometry → finite-exponential-family-dual-geometry: 0 formal topic relationsfinite-exponential-family-dual-geometry → two-state-continuous-time-thermodynamics: 0 formal topic relationsfinite-exponential-family-dual-geometry → standalone-efe-formalizations: 0 formal topic relationsfinite-exponential-family-dual-geometry → geometric-mechanics-notation: 0 formal topic relationsF20F20two-state-continuous-time-thermodynamics → core-free-energy: 0 formal topic relationstwo-state-continuous-time-thermodynamics → core-active-inference: 0 formal topic relationstwo-state-continuous-time-thermodynamics → core-bayesian-mechanics: 0 formal topic relationstwo-state-continuous-time-thermodynamics → core-information-geometry: 0 formal topic relationstwo-state-continuous-time-thermodynamics → core-thermodynamics: 0 formal topic relationstwo-state-continuous-time-thermodynamics → measure-bayesian-inversion: 0 formal topic relationstwo-state-continuous-time-thermodynamics → variational-duality-and-information-bounds: 0 formal topic relationstwo-state-continuous-time-thermodynamics → control-and-planning-as-inference: 0 formal topic relationstwo-state-continuous-time-thermodynamics → temporal-and-hierarchical-inference: 0 formal topic relationstwo-state-continuous-time-thermodynamics → causal-blankets-and-interventions: 0 formal topic relationstwo-state-continuous-time-thermodynamics → predictive-coding-and-generalized-coordinates: 0 formal topic relationstwo-state-continuous-time-thermodynamics → path-space-stochastic-thermodynamics: 0 formal topic relationstwo-state-continuous-time-thermodynamics → information-geometry-and-geometric-optimization: 0 formal topic relationstwo-state-continuous-time-thermodynamics → collective-and-multiagent-active-inference: 0 formal topic relationstwo-state-continuous-time-thermodynamics → learning-concentration-and-model-evidence: 0 formal topic relationstwo-state-continuous-time-thermodynamics → finite-sample-risk-and-calibration: 0 formal topic relationstwo-state-continuous-time-thermodynamics → closed-loop-policy-trees-and-efe: 0 formal topic relationstwo-state-continuous-time-thermodynamics → finite-to-native-blanket-transfer: 0 formal topic relationstwo-state-continuous-time-thermodynamics → finite-exponential-family-dual-geometry: 0 formal topic relationstwo-state-continuous-time-thermodynamics → two-state-continuous-time-thermodynamics: 0 formal topic relationstwo-state-continuous-time-thermodynamics → standalone-efe-formalizations: 0 formal topic relationstwo-state-continuous-time-thermodynamics → geometric-mechanics-notation: 0 formal topic relationsF21F21standalone-efe-formalizations → core-free-energy: 0 formal topic relationsstandalone-efe-formalizations → core-active-inference: 0 formal topic relationsstandalone-efe-formalizations → core-bayesian-mechanics: 0 formal topic relationsstandalone-efe-formalizations → core-information-geometry: 0 formal topic relationsstandalone-efe-formalizations → core-thermodynamics: 0 formal topic relationsstandalone-efe-formalizations → measure-bayesian-inversion: 0 formal topic relationsstandalone-efe-formalizations → variational-duality-and-information-bounds: 0 formal topic relationsstandalone-efe-formalizations → control-and-planning-as-inference: 0 formal topic relationsstandalone-efe-formalizations → temporal-and-hierarchical-inference: 0 formal topic relationsstandalone-efe-formalizations → causal-blankets-and-interventions: 0 formal topic relationsstandalone-efe-formalizations → predictive-coding-and-generalized-coordinates: 0 formal topic relationsstandalone-efe-formalizations → path-space-stochastic-thermodynamics: 0 formal topic relationsstandalone-efe-formalizations → information-geometry-and-geometric-optimization: 0 formal topic relationsstandalone-efe-formalizations → collective-and-multiagent-active-inference: 0 formal topic relationsstandalone-efe-formalizations → learning-concentration-and-model-evidence: 0 formal topic relationsstandalone-efe-formalizations → finite-sample-risk-and-calibration: 0 formal topic relationsstandalone-efe-formalizations → closed-loop-policy-trees-and-efe: 0 formal topic relationsstandalone-efe-formalizations → finite-to-native-blanket-transfer: 0 formal topic relationsstandalone-efe-formalizations → finite-exponential-family-dual-geometry: 0 formal topic relationsstandalone-efe-formalizations → two-state-continuous-time-thermodynamics: 0 formal topic relationsstandalone-efe-formalizations → standalone-efe-formalizations: 0 formal topic relationsstandalone-efe-formalizations → geometric-mechanics-notation: 0 formal topic relationsF22F22geometric-mechanics-notation → core-free-energy: 0 formal topic relationsgeometric-mechanics-notation → core-active-inference: 0 formal topic relationsgeometric-mechanics-notation → core-bayesian-mechanics: 0 formal topic relationsgeometric-mechanics-notation → core-information-geometry: 0 formal topic relationsgeometric-mechanics-notation → core-thermodynamics: 0 formal topic relationsgeometric-mechanics-notation → measure-bayesian-inversion: 0 formal topic relationsgeometric-mechanics-notation → variational-duality-and-information-bounds: 0 formal topic relationsgeometric-mechanics-notation → control-and-planning-as-inference: 0 formal topic relationsgeometric-mechanics-notation → temporal-and-hierarchical-inference: 0 formal topic relationsgeometric-mechanics-notation → causal-blankets-and-interventions: 0 formal topic relationsgeometric-mechanics-notation → predictive-coding-and-generalized-coordinates: 0 formal topic relationsgeometric-mechanics-notation → path-space-stochastic-thermodynamics: 0 formal topic relationsgeometric-mechanics-notation → information-geometry-and-geometric-optimization: 0 formal topic relationsgeometric-mechanics-notation → collective-and-multiagent-active-inference: 0 formal topic relationsgeometric-mechanics-notation → learning-concentration-and-model-evidence: 0 formal topic relationsgeometric-mechanics-notation → finite-sample-risk-and-calibration: 0 formal topic relationsgeometric-mechanics-notation → closed-loop-policy-trees-and-efe: 0 formal topic relationsgeometric-mechanics-notation → finite-to-native-blanket-transfer: 0 formal topic relationsgeometric-mechanics-notation → finite-exponential-family-dual-geometry: 0 formal topic relationsgeometric-mechanics-notation → two-state-continuous-time-thermodynamics: 0 formal topic relationsgeometric-mechanics-notation → standalone-efe-formalizations: 0 formal topic relationsgeometric-mechanics-notation → geometric-mechanics-notation: 0 formal topic relationsformal_pairingF01F01core-free-energy → core-free-energy: 0 formal_pairing topic relationscore-free-energy → core-active-inference: 0 formal_pairing topic relationscore-free-energy → core-bayesian-mechanics: 0 formal_pairing topic relationscore-free-energy → core-information-geometry: 0 formal_pairing topic relationscore-free-energy → core-thermodynamics: 0 formal_pairing topic relationscore-free-energy → measure-bayesian-inversion: 0 formal_pairing topic relationscore-free-energy → variational-duality-and-information-bounds: 0 formal_pairing topic relationscore-free-energy → control-and-planning-as-inference: 0 formal_pairing topic relationscore-free-energy → temporal-and-hierarchical-inference: 0 formal_pairing topic relationscore-free-energy → causal-blankets-and-interventions: 0 formal_pairing topic relationscore-free-energy → predictive-coding-and-generalized-coordinates: 0 formal_pairing topic relationscore-free-energy → path-space-stochastic-thermodynamics: 0 formal_pairing topic relationscore-free-energy → information-geometry-and-geometric-optimization: 0 formal_pairing topic relationscore-free-energy → collective-and-multiagent-active-inference: 0 formal_pairing topic relationscore-free-energy → learning-concentration-and-model-evidence: 0 formal_pairing topic relationscore-free-energy → finite-sample-risk-and-calibration: 0 formal_pairing topic relationscore-free-energy → closed-loop-policy-trees-and-efe: 0 formal_pairing topic relationscore-free-energy → finite-to-native-blanket-transfer: 0 formal_pairing topic relationscore-free-energy → finite-exponential-family-dual-geometry: 0 formal_pairing topic relationscore-free-energy → two-state-continuous-time-thermodynamics: 0 formal_pairing topic relationscore-free-energy → standalone-efe-formalizations: 0 formal_pairing topic relationscore-free-energy → geometric-mechanics-notation: 0 formal_pairing topic relationsF02F02core-active-inference → core-free-energy: 0 formal_pairing topic relationscore-active-inference → core-active-inference: 0 formal_pairing topic relationscore-active-inference → core-bayesian-mechanics: 0 formal_pairing topic relationscore-active-inference → core-information-geometry: 0 formal_pairing topic relationscore-active-inference → core-thermodynamics: 0 formal_pairing topic relationscore-active-inference → measure-bayesian-inversion: 0 formal_pairing topic relationscore-active-inference → variational-duality-and-information-bounds: 0 formal_pairing topic relationscore-active-inference → control-and-planning-as-inference: 0 formal_pairing topic relationscore-active-inference → temporal-and-hierarchical-inference: 0 formal_pairing topic relationscore-active-inference → causal-blankets-and-interventions: 0 formal_pairing topic relationscore-active-inference → predictive-coding-and-generalized-coordinates: 0 formal_pairing topic relationscore-active-inference → path-space-stochastic-thermodynamics: 0 formal_pairing topic relationscore-active-inference → information-geometry-and-geometric-optimization: 0 formal_pairing topic relationscore-active-inference → collective-and-multiagent-active-inference: 0 formal_pairing topic relationscore-active-inference → learning-concentration-and-model-evidence: 0 formal_pairing topic relationscore-active-inference → finite-sample-risk-and-calibration: 0 formal_pairing topic relationscore-active-inference → closed-loop-policy-trees-and-efe: 0 formal_pairing topic relationscore-active-inference → finite-to-native-blanket-transfer: 0 formal_pairing topic relationscore-active-inference → finite-exponential-family-dual-geometry: 0 formal_pairing topic relationscore-active-inference → two-state-continuous-time-thermodynamics: 0 formal_pairing topic relationscore-active-inference → standalone-efe-formalizations: 0 formal_pairing topic relationscore-active-inference → geometric-mechanics-notation: 0 formal_pairing topic relationsF03F03core-bayesian-mechanics → core-free-energy: 0 formal_pairing topic relationscore-bayesian-mechanics → core-active-inference: 0 formal_pairing topic relationscore-bayesian-mechanics → core-bayesian-mechanics: 0 formal_pairing topic relationscore-bayesian-mechanics → core-information-geometry: 0 formal_pairing topic relationscore-bayesian-mechanics → core-thermodynamics: 0 formal_pairing topic relationscore-bayesian-mechanics → measure-bayesian-inversion: 0 formal_pairing topic relationscore-bayesian-mechanics → variational-duality-and-information-bounds: 0 formal_pairing topic relationscore-bayesian-mechanics → control-and-planning-as-inference: 0 formal_pairing topic relationscore-bayesian-mechanics → temporal-and-hierarchical-inference: 0 formal_pairing topic relationscore-bayesian-mechanics → causal-blankets-and-interventions: 0 formal_pairing topic relationscore-bayesian-mechanics → predictive-coding-and-generalized-coordinates: 0 formal_pairing topic relationscore-bayesian-mechanics → path-space-stochastic-thermodynamics: 0 formal_pairing topic relationscore-bayesian-mechanics → information-geometry-and-geometric-optimization: 0 formal_pairing topic relationscore-bayesian-mechanics → collective-and-multiagent-active-inference: 0 formal_pairing topic relationscore-bayesian-mechanics → learning-concentration-and-model-evidence: 0 formal_pairing topic relationscore-bayesian-mechanics → finite-sample-risk-and-calibration: 0 formal_pairing topic relationscore-bayesian-mechanics → closed-loop-policy-trees-and-efe: 0 formal_pairing topic relationscore-bayesian-mechanics → finite-to-native-blanket-transfer: 0 formal_pairing topic relationscore-bayesian-mechanics → finite-exponential-family-dual-geometry: 0 formal_pairing topic relationscore-bayesian-mechanics → two-state-continuous-time-thermodynamics: 0 formal_pairing topic relationscore-bayesian-mechanics → standalone-efe-formalizations: 0 formal_pairing topic relationscore-bayesian-mechanics → geometric-mechanics-notation: 0 formal_pairing topic relationsF04F04core-information-geometry → core-free-energy: 0 formal_pairing topic relationscore-information-geometry → core-active-inference: 0 formal_pairing topic relationscore-information-geometry → core-bayesian-mechanics: 0 formal_pairing topic relationscore-information-geometry → core-information-geometry: 1 formal_pairing topic relationscore-information-geometry → core-information-geometry: 1 formal_pairing topic relations1core-information-geometry → core-thermodynamics: 0 formal_pairing topic relationscore-information-geometry → measure-bayesian-inversion: 0 formal_pairing topic relationscore-information-geometry → variational-duality-and-information-bounds: 0 formal_pairing topic relationscore-information-geometry → control-and-planning-as-inference: 0 formal_pairing topic relationscore-information-geometry → temporal-and-hierarchical-inference: 0 formal_pairing topic relationscore-information-geometry → causal-blankets-and-interventions: 0 formal_pairing topic relationscore-information-geometry → predictive-coding-and-generalized-coordinates: 0 formal_pairing topic relationscore-information-geometry → path-space-stochastic-thermodynamics: 0 formal_pairing topic relationscore-information-geometry → information-geometry-and-geometric-optimization: 0 formal_pairing topic relationscore-information-geometry → collective-and-multiagent-active-inference: 0 formal_pairing topic relationscore-information-geometry → learning-concentration-and-model-evidence: 0 formal_pairing topic relationscore-information-geometry → finite-sample-risk-and-calibration: 0 formal_pairing topic relationscore-information-geometry → closed-loop-policy-trees-and-efe: 0 formal_pairing topic relationscore-information-geometry → finite-to-native-blanket-transfer: 0 formal_pairing topic relationscore-information-geometry → finite-exponential-family-dual-geometry: 0 formal_pairing topic relationscore-information-geometry → two-state-continuous-time-thermodynamics: 0 formal_pairing topic relationscore-information-geometry → standalone-efe-formalizations: 0 formal_pairing topic relationscore-information-geometry → geometric-mechanics-notation: 0 formal_pairing topic relationsF05F05core-thermodynamics → core-free-energy: 0 formal_pairing topic relationscore-thermodynamics → core-active-inference: 0 formal_pairing topic relationscore-thermodynamics → core-bayesian-mechanics: 0 formal_pairing topic relationscore-thermodynamics → core-information-geometry: 0 formal_pairing topic relationscore-thermodynamics → core-thermodynamics: 0 formal_pairing topic relationscore-thermodynamics → measure-bayesian-inversion: 0 formal_pairing topic relationscore-thermodynamics → variational-duality-and-information-bounds: 0 formal_pairing topic relationscore-thermodynamics → control-and-planning-as-inference: 0 formal_pairing topic relationscore-thermodynamics → temporal-and-hierarchical-inference: 0 formal_pairing topic relationscore-thermodynamics → causal-blankets-and-interventions: 0 formal_pairing topic relationscore-thermodynamics → predictive-coding-and-generalized-coordinates: 0 formal_pairing topic relationscore-thermodynamics → path-space-stochastic-thermodynamics: 0 formal_pairing topic relationscore-thermodynamics → information-geometry-and-geometric-optimization: 0 formal_pairing topic relationscore-thermodynamics → collective-and-multiagent-active-inference: 0 formal_pairing topic relationscore-thermodynamics → learning-concentration-and-model-evidence: 0 formal_pairing topic relationscore-thermodynamics → finite-sample-risk-and-calibration: 0 formal_pairing topic relationscore-thermodynamics → closed-loop-policy-trees-and-efe: 0 formal_pairing topic relationscore-thermodynamics → finite-to-native-blanket-transfer: 0 formal_pairing topic relationscore-thermodynamics → finite-exponential-family-dual-geometry: 0 formal_pairing topic relationscore-thermodynamics → two-state-continuous-time-thermodynamics: 0 formal_pairing topic relationscore-thermodynamics → standalone-efe-formalizations: 0 formal_pairing topic relationscore-thermodynamics → geometric-mechanics-notation: 0 formal_pairing topic relationsF06F06measure-bayesian-inversion → core-free-energy: 1 formal_pairing topic relationsmeasure-bayesian-inversion → core-free-energy: 1 formal_pairing topic relations1measure-bayesian-inversion → core-active-inference: 0 formal_pairing topic relationsmeasure-bayesian-inversion → core-bayesian-mechanics: 6 formal_pairing topic relationsmeasure-bayesian-inversion → core-bayesian-mechanics: 6 formal_pairing topic relations6measure-bayesian-inversion → core-information-geometry: 0 formal_pairing topic relationsmeasure-bayesian-inversion → core-thermodynamics: 0 formal_pairing topic relationsmeasure-bayesian-inversion → measure-bayesian-inversion: 0 formal_pairing topic relationsmeasure-bayesian-inversion → variational-duality-and-information-bounds: 0 formal_pairing topic relationsmeasure-bayesian-inversion → control-and-planning-as-inference: 0 formal_pairing topic relationsmeasure-bayesian-inversion → temporal-and-hierarchical-inference: 0 formal_pairing topic relationsmeasure-bayesian-inversion → causal-blankets-and-interventions: 0 formal_pairing topic relationsmeasure-bayesian-inversion → predictive-coding-and-generalized-coordinates: 0 formal_pairing topic relationsmeasure-bayesian-inversion → path-space-stochastic-thermodynamics: 0 formal_pairing topic relationsmeasure-bayesian-inversion → information-geometry-and-geometric-optimization: 0 formal_pairing topic relationsmeasure-bayesian-inversion → collective-and-multiagent-active-inference: 0 formal_pairing topic relationsmeasure-bayesian-inversion → learning-concentration-and-model-evidence: 0 formal_pairing topic relationsmeasure-bayesian-inversion → finite-sample-risk-and-calibration: 0 formal_pairing topic relationsmeasure-bayesian-inversion → closed-loop-policy-trees-and-efe: 0 formal_pairing topic relationsmeasure-bayesian-inversion → finite-to-native-blanket-transfer: 0 formal_pairing topic relationsmeasure-bayesian-inversion → finite-exponential-family-dual-geometry: 0 formal_pairing topic relationsmeasure-bayesian-inversion → two-state-continuous-time-thermodynamics: 0 formal_pairing topic relationsmeasure-bayesian-inversion → standalone-efe-formalizations: 0 formal_pairing topic relationsmeasure-bayesian-inversion → geometric-mechanics-notation: 0 formal_pairing topic relationsF07F07variational-duality-and-information-bounds → core-free-energy: 3 formal_pairing topic relationsvariational-duality-and-information-bounds → core-free-energy: 3 formal_pairing topic relations3variational-duality-and-information-bounds → core-active-inference: 1 formal_pairing topic relationsvariational-duality-and-information-bounds → core-active-inference: 1 formal_pairing topic relations1variational-duality-and-information-bounds → core-bayesian-mechanics: 0 formal_pairing topic relationsvariational-duality-and-information-bounds → core-information-geometry: 2 formal_pairing topic relationsvariational-duality-and-information-bounds → core-information-geometry: 2 formal_pairing topic relations2variational-duality-and-information-bounds → core-thermodynamics: 0 formal_pairing topic relationsvariational-duality-and-information-bounds → measure-bayesian-inversion: 0 formal_pairing topic relationsvariational-duality-and-information-bounds → variational-duality-and-information-bounds: 0 formal_pairing topic relationsvariational-duality-and-information-bounds → control-and-planning-as-inference: 0 formal_pairing topic relationsvariational-duality-and-information-bounds → temporal-and-hierarchical-inference: 0 formal_pairing topic relationsvariational-duality-and-information-bounds → causal-blankets-and-interventions: 0 formal_pairing topic relationsvariational-duality-and-information-bounds → predictive-coding-and-generalized-coordinates: 0 formal_pairing topic relationsvariational-duality-and-information-bounds → path-space-stochastic-thermodynamics: 0 formal_pairing topic relationsvariational-duality-and-information-bounds → information-geometry-and-geometric-optimization: 0 formal_pairing topic relationsvariational-duality-and-information-bounds → collective-and-multiagent-active-inference: 0 formal_pairing topic relationsvariational-duality-and-information-bounds → learning-concentration-and-model-evidence: 0 formal_pairing topic relationsvariational-duality-and-information-bounds → finite-sample-risk-and-calibration: 0 formal_pairing topic relationsvariational-duality-and-information-bounds → closed-loop-policy-trees-and-efe: 0 formal_pairing topic relationsvariational-duality-and-information-bounds → finite-to-native-blanket-transfer: 0 formal_pairing topic relationsvariational-duality-and-information-bounds → finite-exponential-family-dual-geometry: 0 formal_pairing topic relationsvariational-duality-and-information-bounds → two-state-continuous-time-thermodynamics: 0 formal_pairing topic relationsvariational-duality-and-information-bounds → standalone-efe-formalizations: 0 formal_pairing topic relationsvariational-duality-and-information-bounds → geometric-mechanics-notation: 0 formal_pairing topic relationsF08F08control-and-planning-as-inference → core-free-energy: 0 formal_pairing topic relationscontrol-and-planning-as-inference → core-active-inference: 6 formal_pairing topic relationscontrol-and-planning-as-inference → core-active-inference: 6 formal_pairing topic relations6control-and-planning-as-inference → core-bayesian-mechanics: 0 formal_pairing topic relationscontrol-and-planning-as-inference → core-information-geometry: 0 formal_pairing topic relationscontrol-and-planning-as-inference → core-thermodynamics: 1 formal_pairing topic relationscontrol-and-planning-as-inference → core-thermodynamics: 1 formal_pairing topic relations1control-and-planning-as-inference → measure-bayesian-inversion: 0 formal_pairing topic relationscontrol-and-planning-as-inference → variational-duality-and-information-bounds: 0 formal_pairing topic relationscontrol-and-planning-as-inference → control-and-planning-as-inference: 0 formal_pairing topic relationscontrol-and-planning-as-inference → temporal-and-hierarchical-inference: 0 formal_pairing topic relationscontrol-and-planning-as-inference → causal-blankets-and-interventions: 0 formal_pairing topic relationscontrol-and-planning-as-inference → predictive-coding-and-generalized-coordinates: 0 formal_pairing topic relationscontrol-and-planning-as-inference → path-space-stochastic-thermodynamics: 0 formal_pairing topic relationscontrol-and-planning-as-inference → information-geometry-and-geometric-optimization: 0 formal_pairing topic relationscontrol-and-planning-as-inference → collective-and-multiagent-active-inference: 0 formal_pairing topic relationscontrol-and-planning-as-inference → learning-concentration-and-model-evidence: 0 formal_pairing topic relationscontrol-and-planning-as-inference → finite-sample-risk-and-calibration: 0 formal_pairing topic relationscontrol-and-planning-as-inference → closed-loop-policy-trees-and-efe: 0 formal_pairing topic relationscontrol-and-planning-as-inference → finite-to-native-blanket-transfer: 0 formal_pairing topic relationscontrol-and-planning-as-inference → finite-exponential-family-dual-geometry: 0 formal_pairing topic relationscontrol-and-planning-as-inference → two-state-continuous-time-thermodynamics: 0 formal_pairing topic relationscontrol-and-planning-as-inference → standalone-efe-formalizations: 0 formal_pairing topic relationscontrol-and-planning-as-inference → geometric-mechanics-notation: 0 formal_pairing topic relationsF09F09temporal-and-hierarchical-inference → core-free-energy: 0 formal_pairing topic relationstemporal-and-hierarchical-inference → core-active-inference: 5 formal_pairing topic relationstemporal-and-hierarchical-inference → core-active-inference: 5 formal_pairing topic relations5temporal-and-hierarchical-inference → core-bayesian-mechanics: 2 formal_pairing topic relationstemporal-and-hierarchical-inference → core-bayesian-mechanics: 2 formal_pairing topic relations2temporal-and-hierarchical-inference → core-information-geometry: 0 formal_pairing topic relationstemporal-and-hierarchical-inference → core-thermodynamics: 0 formal_pairing topic relationstemporal-and-hierarchical-inference → measure-bayesian-inversion: 0 formal_pairing topic relationstemporal-and-hierarchical-inference → variational-duality-and-information-bounds: 0 formal_pairing topic relationstemporal-and-hierarchical-inference → control-and-planning-as-inference: 0 formal_pairing topic relationstemporal-and-hierarchical-inference → temporal-and-hierarchical-inference: 0 formal_pairing topic relationstemporal-and-hierarchical-inference → causal-blankets-and-interventions: 0 formal_pairing topic relationstemporal-and-hierarchical-inference → predictive-coding-and-generalized-coordinates: 0 formal_pairing topic relationstemporal-and-hierarchical-inference → path-space-stochastic-thermodynamics: 0 formal_pairing topic relationstemporal-and-hierarchical-inference → information-geometry-and-geometric-optimization: 0 formal_pairing topic relationstemporal-and-hierarchical-inference → collective-and-multiagent-active-inference: 0 formal_pairing topic relationstemporal-and-hierarchical-inference → learning-concentration-and-model-evidence: 0 formal_pairing topic relationstemporal-and-hierarchical-inference → finite-sample-risk-and-calibration: 0 formal_pairing topic relationstemporal-and-hierarchical-inference → closed-loop-policy-trees-and-efe: 0 formal_pairing topic relationstemporal-and-hierarchical-inference → finite-to-native-blanket-transfer: 0 formal_pairing topic relationstemporal-and-hierarchical-inference → finite-exponential-family-dual-geometry: 0 formal_pairing topic relationstemporal-and-hierarchical-inference → two-state-continuous-time-thermodynamics: 0 formal_pairing topic relationstemporal-and-hierarchical-inference → standalone-efe-formalizations: 0 formal_pairing topic relationstemporal-and-hierarchical-inference → geometric-mechanics-notation: 0 formal_pairing topic relationsF10F10causal-blankets-and-interventions → core-free-energy: 0 formal_pairing topic relationscausal-blankets-and-interventions → core-active-inference: 1 formal_pairing topic relationscausal-blankets-and-interventions → core-active-inference: 1 formal_pairing topic relations1causal-blankets-and-interventions → core-bayesian-mechanics: 6 formal_pairing topic relationscausal-blankets-and-interventions → core-bayesian-mechanics: 6 formal_pairing topic relations6causal-blankets-and-interventions → core-information-geometry: 0 formal_pairing topic relationscausal-blankets-and-interventions → core-thermodynamics: 0 formal_pairing topic relationscausal-blankets-and-interventions → measure-bayesian-inversion: 0 formal_pairing topic relationscausal-blankets-and-interventions → variational-duality-and-information-bounds: 0 formal_pairing topic relationscausal-blankets-and-interventions → control-and-planning-as-inference: 0 formal_pairing topic relationscausal-blankets-and-interventions → temporal-and-hierarchical-inference: 0 formal_pairing topic relationscausal-blankets-and-interventions → causal-blankets-and-interventions: 0 formal_pairing topic relationscausal-blankets-and-interventions → predictive-coding-and-generalized-coordinates: 0 formal_pairing topic relationscausal-blankets-and-interventions → path-space-stochastic-thermodynamics: 0 formal_pairing topic relationscausal-blankets-and-interventions → information-geometry-and-geometric-optimization: 0 formal_pairing topic relationscausal-blankets-and-interventions → collective-and-multiagent-active-inference: 0 formal_pairing topic relationscausal-blankets-and-interventions → learning-concentration-and-model-evidence: 0 formal_pairing topic relationscausal-blankets-and-interventions → finite-sample-risk-and-calibration: 0 formal_pairing topic relationscausal-blankets-and-interventions → closed-loop-policy-trees-and-efe: 0 formal_pairing topic relationscausal-blankets-and-interventions → finite-to-native-blanket-transfer: 0 formal_pairing topic relationscausal-blankets-and-interventions → finite-exponential-family-dual-geometry: 0 formal_pairing topic relationscausal-blankets-and-interventions → two-state-continuous-time-thermodynamics: 0 formal_pairing topic relationscausal-blankets-and-interventions → standalone-efe-formalizations: 0 formal_pairing topic relationscausal-blankets-and-interventions → geometric-mechanics-notation: 0 formal_pairing topic relationsF11F11predictive-coding-and-generalized-coordinates → core-free-energy: 7 formal_pairing topic relationspredictive-coding-and-generalized-coordinates → core-free-energy: 7 formal_pairing topic relations7predictive-coding-and-generalized-coordinates → core-active-inference: 0 formal_pairing topic relationspredictive-coding-and-generalized-coordinates → core-bayesian-mechanics: 0 formal_pairing topic relationspredictive-coding-and-generalized-coordinates → core-information-geometry: 0 formal_pairing topic relationspredictive-coding-and-generalized-coordinates → core-thermodynamics: 0 formal_pairing topic relationspredictive-coding-and-generalized-coordinates → measure-bayesian-inversion: 0 formal_pairing topic relationspredictive-coding-and-generalized-coordinates → variational-duality-and-information-bounds: 0 formal_pairing topic relationspredictive-coding-and-generalized-coordinates → control-and-planning-as-inference: 0 formal_pairing topic relationspredictive-coding-and-generalized-coordinates → temporal-and-hierarchical-inference: 0 formal_pairing topic relationspredictive-coding-and-generalized-coordinates → causal-blankets-and-interventions: 0 formal_pairing topic relationspredictive-coding-and-generalized-coordinates → predictive-coding-and-generalized-coordinates: 0 formal_pairing topic relationspredictive-coding-and-generalized-coordinates → path-space-stochastic-thermodynamics: 0 formal_pairing topic relationspredictive-coding-and-generalized-coordinates → information-geometry-and-geometric-optimization: 0 formal_pairing topic relationspredictive-coding-and-generalized-coordinates → collective-and-multiagent-active-inference: 0 formal_pairing topic relationspredictive-coding-and-generalized-coordinates → learning-concentration-and-model-evidence: 0 formal_pairing topic relationspredictive-coding-and-generalized-coordinates → finite-sample-risk-and-calibration: 0 formal_pairing topic relationspredictive-coding-and-generalized-coordinates → closed-loop-policy-trees-and-efe: 0 formal_pairing topic relationspredictive-coding-and-generalized-coordinates → finite-to-native-blanket-transfer: 0 formal_pairing topic relationspredictive-coding-and-generalized-coordinates → finite-exponential-family-dual-geometry: 0 formal_pairing topic relationspredictive-coding-and-generalized-coordinates → two-state-continuous-time-thermodynamics: 0 formal_pairing topic relationspredictive-coding-and-generalized-coordinates → standalone-efe-formalizations: 0 formal_pairing topic relationspredictive-coding-and-generalized-coordinates → geometric-mechanics-notation: 0 formal_pairing topic relationsF12F12path-space-stochastic-thermodynamics → core-free-energy: 0 formal_pairing topic relationspath-space-stochastic-thermodynamics → core-active-inference: 0 formal_pairing topic relationspath-space-stochastic-thermodynamics → core-bayesian-mechanics: 2 formal_pairing topic relationspath-space-stochastic-thermodynamics → core-bayesian-mechanics: 2 formal_pairing topic relations2path-space-stochastic-thermodynamics → core-information-geometry: 1 formal_pairing topic relationspath-space-stochastic-thermodynamics → core-information-geometry: 1 formal_pairing topic relations1path-space-stochastic-thermodynamics → core-thermodynamics: 4 formal_pairing topic relationspath-space-stochastic-thermodynamics → core-thermodynamics: 4 formal_pairing topic relations4path-space-stochastic-thermodynamics → measure-bayesian-inversion: 0 formal_pairing topic relationspath-space-stochastic-thermodynamics → variational-duality-and-information-bounds: 0 formal_pairing topic relationspath-space-stochastic-thermodynamics → control-and-planning-as-inference: 0 formal_pairing topic relationspath-space-stochastic-thermodynamics → temporal-and-hierarchical-inference: 0 formal_pairing topic relationspath-space-stochastic-thermodynamics → causal-blankets-and-interventions: 0 formal_pairing topic relationspath-space-stochastic-thermodynamics → predictive-coding-and-generalized-coordinates: 0 formal_pairing topic relationspath-space-stochastic-thermodynamics → path-space-stochastic-thermodynamics: 0 formal_pairing topic relationspath-space-stochastic-thermodynamics → information-geometry-and-geometric-optimization: 0 formal_pairing topic relationspath-space-stochastic-thermodynamics → collective-and-multiagent-active-inference: 0 formal_pairing topic relationspath-space-stochastic-thermodynamics → learning-concentration-and-model-evidence: 0 formal_pairing topic relationspath-space-stochastic-thermodynamics → finite-sample-risk-and-calibration: 0 formal_pairing topic relationspath-space-stochastic-thermodynamics → closed-loop-policy-trees-and-efe: 0 formal_pairing topic relationspath-space-stochastic-thermodynamics → finite-to-native-blanket-transfer: 0 formal_pairing topic relationspath-space-stochastic-thermodynamics → finite-exponential-family-dual-geometry: 0 formal_pairing topic relationspath-space-stochastic-thermodynamics → two-state-continuous-time-thermodynamics: 0 formal_pairing topic relationspath-space-stochastic-thermodynamics → standalone-efe-formalizations: 0 formal_pairing topic relationspath-space-stochastic-thermodynamics → geometric-mechanics-notation: 0 formal_pairing topic relationsF13F13information-geometry-and-geometric-optimization → core-free-energy: 0 formal_pairing topic relationsinformation-geometry-and-geometric-optimization → core-active-inference: 0 formal_pairing topic relationsinformation-geometry-and-geometric-optimization → core-bayesian-mechanics: 0 formal_pairing topic relationsinformation-geometry-and-geometric-optimization → core-information-geometry: 7 formal_pairing topic relationsinformation-geometry-and-geometric-optimization → core-information-geometry: 7 formal_pairing topic relations7information-geometry-and-geometric-optimization → core-thermodynamics: 0 formal_pairing topic relationsinformation-geometry-and-geometric-optimization → measure-bayesian-inversion: 0 formal_pairing topic relationsinformation-geometry-and-geometric-optimization → variational-duality-and-information-bounds: 0 formal_pairing topic relationsinformation-geometry-and-geometric-optimization → control-and-planning-as-inference: 0 formal_pairing topic relationsinformation-geometry-and-geometric-optimization → temporal-and-hierarchical-inference: 0 formal_pairing topic relationsinformation-geometry-and-geometric-optimization → causal-blankets-and-interventions: 0 formal_pairing topic relationsinformation-geometry-and-geometric-optimization → predictive-coding-and-generalized-coordinates: 0 formal_pairing topic relationsinformation-geometry-and-geometric-optimization → path-space-stochastic-thermodynamics: 0 formal_pairing topic relationsinformation-geometry-and-geometric-optimization → information-geometry-and-geometric-optimization: 0 formal_pairing topic relationsinformation-geometry-and-geometric-optimization → collective-and-multiagent-active-inference: 0 formal_pairing topic relationsinformation-geometry-and-geometric-optimization → learning-concentration-and-model-evidence: 0 formal_pairing topic relationsinformation-geometry-and-geometric-optimization → finite-sample-risk-and-calibration: 0 formal_pairing topic relationsinformation-geometry-and-geometric-optimization → closed-loop-policy-trees-and-efe: 0 formal_pairing topic relationsinformation-geometry-and-geometric-optimization → finite-to-native-blanket-transfer: 0 formal_pairing topic relationsinformation-geometry-and-geometric-optimization → finite-exponential-family-dual-geometry: 0 formal_pairing topic relationsinformation-geometry-and-geometric-optimization → two-state-continuous-time-thermodynamics: 0 formal_pairing topic relationsinformation-geometry-and-geometric-optimization → standalone-efe-formalizations: 0 formal_pairing topic relationsinformation-geometry-and-geometric-optimization → geometric-mechanics-notation: 0 formal_pairing topic relationsF14F14collective-and-multiagent-active-inference → core-free-energy: 3 formal_pairing topic relationscollective-and-multiagent-active-inference → core-free-energy: 3 formal_pairing topic relations3collective-and-multiagent-active-inference → core-active-inference: 2 formal_pairing topic relationscollective-and-multiagent-active-inference → core-active-inference: 2 formal_pairing topic relations2collective-and-multiagent-active-inference → core-bayesian-mechanics: 1 formal_pairing topic relationscollective-and-multiagent-active-inference → core-bayesian-mechanics: 1 formal_pairing topic relations1collective-and-multiagent-active-inference → core-information-geometry: 0 formal_pairing topic relationscollective-and-multiagent-active-inference → core-thermodynamics: 1 formal_pairing topic relationscollective-and-multiagent-active-inference → core-thermodynamics: 1 formal_pairing topic relations1collective-and-multiagent-active-inference → measure-bayesian-inversion: 0 formal_pairing topic relationscollective-and-multiagent-active-inference → variational-duality-and-information-bounds: 0 formal_pairing topic relationscollective-and-multiagent-active-inference → control-and-planning-as-inference: 0 formal_pairing topic relationscollective-and-multiagent-active-inference → temporal-and-hierarchical-inference: 0 formal_pairing topic relationscollective-and-multiagent-active-inference → causal-blankets-and-interventions: 0 formal_pairing topic relationscollective-and-multiagent-active-inference → predictive-coding-and-generalized-coordinates: 0 formal_pairing topic relationscollective-and-multiagent-active-inference → path-space-stochastic-thermodynamics: 0 formal_pairing topic relationscollective-and-multiagent-active-inference → information-geometry-and-geometric-optimization: 0 formal_pairing topic relationscollective-and-multiagent-active-inference → collective-and-multiagent-active-inference: 0 formal_pairing topic relationscollective-and-multiagent-active-inference → learning-concentration-and-model-evidence: 0 formal_pairing topic relationscollective-and-multiagent-active-inference → finite-sample-risk-and-calibration: 0 formal_pairing topic relationscollective-and-multiagent-active-inference → closed-loop-policy-trees-and-efe: 0 formal_pairing topic relationscollective-and-multiagent-active-inference → finite-to-native-blanket-transfer: 0 formal_pairing topic relationscollective-and-multiagent-active-inference → finite-exponential-family-dual-geometry: 0 formal_pairing topic relationscollective-and-multiagent-active-inference → two-state-continuous-time-thermodynamics: 0 formal_pairing topic relationscollective-and-multiagent-active-inference → standalone-efe-formalizations: 0 formal_pairing topic relationscollective-and-multiagent-active-inference → geometric-mechanics-notation: 0 formal_pairing topic relationsF15F15learning-concentration-and-model-evidence → core-free-energy: 2 formal_pairing topic relationslearning-concentration-and-model-evidence → core-free-energy: 2 formal_pairing topic relations2learning-concentration-and-model-evidence → core-active-inference: 0 formal_pairing topic relationslearning-concentration-and-model-evidence → core-bayesian-mechanics: 5 formal_pairing topic relationslearning-concentration-and-model-evidence → core-bayesian-mechanics: 5 formal_pairing topic relations5learning-concentration-and-model-evidence → core-information-geometry: 0 formal_pairing topic relationslearning-concentration-and-model-evidence → core-thermodynamics: 0 formal_pairing topic relationslearning-concentration-and-model-evidence → measure-bayesian-inversion: 0 formal_pairing topic relationslearning-concentration-and-model-evidence → variational-duality-and-information-bounds: 0 formal_pairing topic relationslearning-concentration-and-model-evidence → control-and-planning-as-inference: 0 formal_pairing topic relationslearning-concentration-and-model-evidence → temporal-and-hierarchical-inference: 0 formal_pairing topic relationslearning-concentration-and-model-evidence → causal-blankets-and-interventions: 0 formal_pairing topic relationslearning-concentration-and-model-evidence → predictive-coding-and-generalized-coordinates: 0 formal_pairing topic relationslearning-concentration-and-model-evidence → path-space-stochastic-thermodynamics: 0 formal_pairing topic relationslearning-concentration-and-model-evidence → information-geometry-and-geometric-optimization: 0 formal_pairing topic relationslearning-concentration-and-model-evidence → collective-and-multiagent-active-inference: 0 formal_pairing topic relationslearning-concentration-and-model-evidence → learning-concentration-and-model-evidence: 0 formal_pairing topic relationslearning-concentration-and-model-evidence → finite-sample-risk-and-calibration: 0 formal_pairing topic relationslearning-concentration-and-model-evidence → closed-loop-policy-trees-and-efe: 0 formal_pairing topic relationslearning-concentration-and-model-evidence → finite-to-native-blanket-transfer: 0 formal_pairing topic relationslearning-concentration-and-model-evidence → finite-exponential-family-dual-geometry: 0 formal_pairing topic relationslearning-concentration-and-model-evidence → two-state-continuous-time-thermodynamics: 0 formal_pairing topic relationslearning-concentration-and-model-evidence → standalone-efe-formalizations: 0 formal_pairing topic relationslearning-concentration-and-model-evidence → geometric-mechanics-notation: 0 formal_pairing topic relationsF16F16finite-sample-risk-and-calibration → core-free-energy: 0 formal_pairing topic relationsfinite-sample-risk-and-calibration → core-active-inference: 0 formal_pairing topic relationsfinite-sample-risk-and-calibration → core-bayesian-mechanics: 5 formal_pairing topic relationsfinite-sample-risk-and-calibration → core-bayesian-mechanics: 5 formal_pairing topic relations5finite-sample-risk-and-calibration → core-information-geometry: 0 formal_pairing topic relationsfinite-sample-risk-and-calibration → core-thermodynamics: 0 formal_pairing topic relationsfinite-sample-risk-and-calibration → measure-bayesian-inversion: 0 formal_pairing topic relationsfinite-sample-risk-and-calibration → variational-duality-and-information-bounds: 0 formal_pairing topic relationsfinite-sample-risk-and-calibration → control-and-planning-as-inference: 0 formal_pairing topic relationsfinite-sample-risk-and-calibration → temporal-and-hierarchical-inference: 0 formal_pairing topic relationsfinite-sample-risk-and-calibration → causal-blankets-and-interventions: 0 formal_pairing topic relationsfinite-sample-risk-and-calibration → predictive-coding-and-generalized-coordinates: 0 formal_pairing topic relationsfinite-sample-risk-and-calibration → path-space-stochastic-thermodynamics: 0 formal_pairing topic relationsfinite-sample-risk-and-calibration → information-geometry-and-geometric-optimization: 0 formal_pairing topic relationsfinite-sample-risk-and-calibration → collective-and-multiagent-active-inference: 0 formal_pairing topic relationsfinite-sample-risk-and-calibration → learning-concentration-and-model-evidence: 2 formal_pairing topic relationsfinite-sample-risk-and-calibration → learning-concentration-and-model-evidence: 2 formal_pairing topic relations2finite-sample-risk-and-calibration → finite-sample-risk-and-calibration: 0 formal_pairing topic relationsfinite-sample-risk-and-calibration → closed-loop-policy-trees-and-efe: 0 formal_pairing topic relationsfinite-sample-risk-and-calibration → finite-to-native-blanket-transfer: 0 formal_pairing topic relationsfinite-sample-risk-and-calibration → finite-exponential-family-dual-geometry: 0 formal_pairing topic relationsfinite-sample-risk-and-calibration → two-state-continuous-time-thermodynamics: 0 formal_pairing topic relationsfinite-sample-risk-and-calibration → standalone-efe-formalizations: 0 formal_pairing topic relationsfinite-sample-risk-and-calibration → geometric-mechanics-notation: 0 formal_pairing topic relationsF17F17closed-loop-policy-trees-and-efe → core-free-energy: 0 formal_pairing topic relationsclosed-loop-policy-trees-and-efe → core-active-inference: 4 formal_pairing topic relationsclosed-loop-policy-trees-and-efe → core-active-inference: 4 formal_pairing topic relations4closed-loop-policy-trees-and-efe → core-bayesian-mechanics: 0 formal_pairing topic relationsclosed-loop-policy-trees-and-efe → core-information-geometry: 0 formal_pairing topic relationsclosed-loop-policy-trees-and-efe → core-thermodynamics: 0 formal_pairing topic relationsclosed-loop-policy-trees-and-efe → measure-bayesian-inversion: 0 formal_pairing topic relationsclosed-loop-policy-trees-and-efe → variational-duality-and-information-bounds: 0 formal_pairing topic relationsclosed-loop-policy-trees-and-efe → control-and-planning-as-inference: 3 formal_pairing topic relationsclosed-loop-policy-trees-and-efe → control-and-planning-as-inference: 3 formal_pairing topic relations3closed-loop-policy-trees-and-efe → temporal-and-hierarchical-inference: 0 formal_pairing topic relationsclosed-loop-policy-trees-and-efe → causal-blankets-and-interventions: 0 formal_pairing topic relationsclosed-loop-policy-trees-and-efe → predictive-coding-and-generalized-coordinates: 0 formal_pairing topic relationsclosed-loop-policy-trees-and-efe → path-space-stochastic-thermodynamics: 0 formal_pairing topic relationsclosed-loop-policy-trees-and-efe → information-geometry-and-geometric-optimization: 0 formal_pairing topic relationsclosed-loop-policy-trees-and-efe → collective-and-multiagent-active-inference: 0 formal_pairing topic relationsclosed-loop-policy-trees-and-efe → learning-concentration-and-model-evidence: 0 formal_pairing topic relationsclosed-loop-policy-trees-and-efe → finite-sample-risk-and-calibration: 0 formal_pairing topic relationsclosed-loop-policy-trees-and-efe → closed-loop-policy-trees-and-efe: 0 formal_pairing topic relationsclosed-loop-policy-trees-and-efe → finite-to-native-blanket-transfer: 0 formal_pairing topic relationsclosed-loop-policy-trees-and-efe → finite-exponential-family-dual-geometry: 0 formal_pairing topic relationsclosed-loop-policy-trees-and-efe → two-state-continuous-time-thermodynamics: 0 formal_pairing topic relationsclosed-loop-policy-trees-and-efe → standalone-efe-formalizations: 0 formal_pairing topic relationsclosed-loop-policy-trees-and-efe → geometric-mechanics-notation: 0 formal_pairing topic relationsF18F18finite-to-native-blanket-transfer → core-free-energy: 1 formal_pairing topic relationsfinite-to-native-blanket-transfer → core-free-energy: 1 formal_pairing topic relations1finite-to-native-blanket-transfer → core-active-inference: 0 formal_pairing topic relationsfinite-to-native-blanket-transfer → core-bayesian-mechanics: 4 formal_pairing topic relationsfinite-to-native-blanket-transfer → core-bayesian-mechanics: 4 formal_pairing topic relations4finite-to-native-blanket-transfer → core-information-geometry: 0 formal_pairing topic relationsfinite-to-native-blanket-transfer → core-thermodynamics: 0 formal_pairing topic relationsfinite-to-native-blanket-transfer → measure-bayesian-inversion: 0 formal_pairing topic relationsfinite-to-native-blanket-transfer → variational-duality-and-information-bounds: 0 formal_pairing topic relationsfinite-to-native-blanket-transfer → control-and-planning-as-inference: 0 formal_pairing topic relationsfinite-to-native-blanket-transfer → temporal-and-hierarchical-inference: 0 formal_pairing topic relationsfinite-to-native-blanket-transfer → causal-blankets-and-interventions: 2 formal_pairing topic relationsfinite-to-native-blanket-transfer → causal-blankets-and-interventions: 2 formal_pairing topic relations2finite-to-native-blanket-transfer → predictive-coding-and-generalized-coordinates: 0 formal_pairing topic relationsfinite-to-native-blanket-transfer → path-space-stochastic-thermodynamics: 0 formal_pairing topic relationsfinite-to-native-blanket-transfer → information-geometry-and-geometric-optimization: 0 formal_pairing topic relationsfinite-to-native-blanket-transfer → collective-and-multiagent-active-inference: 0 formal_pairing topic relationsfinite-to-native-blanket-transfer → learning-concentration-and-model-evidence: 0 formal_pairing topic relationsfinite-to-native-blanket-transfer → finite-sample-risk-and-calibration: 0 formal_pairing topic relationsfinite-to-native-blanket-transfer → closed-loop-policy-trees-and-efe: 0 formal_pairing topic relationsfinite-to-native-blanket-transfer → finite-to-native-blanket-transfer: 0 formal_pairing topic relationsfinite-to-native-blanket-transfer → finite-exponential-family-dual-geometry: 0 formal_pairing topic relationsfinite-to-native-blanket-transfer → two-state-continuous-time-thermodynamics: 0 formal_pairing topic relationsfinite-to-native-blanket-transfer → standalone-efe-formalizations: 0 formal_pairing topic relationsfinite-to-native-blanket-transfer → geometric-mechanics-notation: 0 formal_pairing topic relationsF19F19finite-exponential-family-dual-geometry → core-free-energy: 1 formal_pairing topic relationsfinite-exponential-family-dual-geometry → core-free-energy: 1 formal_pairing topic relations1finite-exponential-family-dual-geometry → core-active-inference: 0 formal_pairing topic relationsfinite-exponential-family-dual-geometry → core-bayesian-mechanics: 1 formal_pairing topic relationsfinite-exponential-family-dual-geometry → core-bayesian-mechanics: 1 formal_pairing topic relations1finite-exponential-family-dual-geometry → core-information-geometry: 2 formal_pairing topic relationsfinite-exponential-family-dual-geometry → core-information-geometry: 2 formal_pairing topic relations2finite-exponential-family-dual-geometry → core-thermodynamics: 1 formal_pairing topic relationsfinite-exponential-family-dual-geometry → core-thermodynamics: 1 formal_pairing topic relations1finite-exponential-family-dual-geometry → measure-bayesian-inversion: 0 formal_pairing topic relationsfinite-exponential-family-dual-geometry → variational-duality-and-information-bounds: 0 formal_pairing topic relationsfinite-exponential-family-dual-geometry → control-and-planning-as-inference: 0 formal_pairing topic relationsfinite-exponential-family-dual-geometry → temporal-and-hierarchical-inference: 0 formal_pairing topic relationsfinite-exponential-family-dual-geometry → causal-blankets-and-interventions: 0 formal_pairing topic relationsfinite-exponential-family-dual-geometry → predictive-coding-and-generalized-coordinates: 0 formal_pairing topic relationsfinite-exponential-family-dual-geometry → path-space-stochastic-thermodynamics: 0 formal_pairing topic relationsfinite-exponential-family-dual-geometry → information-geometry-and-geometric-optimization: 2 formal_pairing topic relationsfinite-exponential-family-dual-geometry → information-geometry-and-geometric-optimization: 2 formal_pairing topic relations2finite-exponential-family-dual-geometry → collective-and-multiagent-active-inference: 0 formal_pairing topic relationsfinite-exponential-family-dual-geometry → learning-concentration-and-model-evidence: 0 formal_pairing topic relationsfinite-exponential-family-dual-geometry → finite-sample-risk-and-calibration: 0 formal_pairing topic relationsfinite-exponential-family-dual-geometry → closed-loop-policy-trees-and-efe: 0 formal_pairing topic relationsfinite-exponential-family-dual-geometry → finite-to-native-blanket-transfer: 0 formal_pairing topic relationsfinite-exponential-family-dual-geometry → finite-exponential-family-dual-geometry: 0 formal_pairing topic relationsfinite-exponential-family-dual-geometry → two-state-continuous-time-thermodynamics: 0 formal_pairing topic relationsfinite-exponential-family-dual-geometry → standalone-efe-formalizations: 0 formal_pairing topic relationsfinite-exponential-family-dual-geometry → geometric-mechanics-notation: 0 formal_pairing topic relationsF20F20two-state-continuous-time-thermodynamics → core-free-energy: 3 formal_pairing topic relationstwo-state-continuous-time-thermodynamics → core-free-energy: 3 formal_pairing topic relations3two-state-continuous-time-thermodynamics → core-active-inference: 0 formal_pairing topic relationstwo-state-continuous-time-thermodynamics → core-bayesian-mechanics: 4 formal_pairing topic relationstwo-state-continuous-time-thermodynamics → core-bayesian-mechanics: 4 formal_pairing topic relations4two-state-continuous-time-thermodynamics → core-information-geometry: 0 formal_pairing topic relationstwo-state-continuous-time-thermodynamics → core-thermodynamics: 0 formal_pairing topic relationstwo-state-continuous-time-thermodynamics → measure-bayesian-inversion: 0 formal_pairing topic relationstwo-state-continuous-time-thermodynamics → variational-duality-and-information-bounds: 0 formal_pairing topic relationstwo-state-continuous-time-thermodynamics → control-and-planning-as-inference: 0 formal_pairing topic relationstwo-state-continuous-time-thermodynamics → temporal-and-hierarchical-inference: 0 formal_pairing topic relationstwo-state-continuous-time-thermodynamics → causal-blankets-and-interventions: 0 formal_pairing topic relationstwo-state-continuous-time-thermodynamics → predictive-coding-and-generalized-coordinates: 0 formal_pairing topic relationstwo-state-continuous-time-thermodynamics → path-space-stochastic-thermodynamics: 0 formal_pairing topic relationstwo-state-continuous-time-thermodynamics → information-geometry-and-geometric-optimization: 0 formal_pairing topic relationstwo-state-continuous-time-thermodynamics → collective-and-multiagent-active-inference: 0 formal_pairing topic relationstwo-state-continuous-time-thermodynamics → learning-concentration-and-model-evidence: 0 formal_pairing topic relationstwo-state-continuous-time-thermodynamics → finite-sample-risk-and-calibration: 0 formal_pairing topic relationstwo-state-continuous-time-thermodynamics → closed-loop-policy-trees-and-efe: 0 formal_pairing topic relationstwo-state-continuous-time-thermodynamics → finite-to-native-blanket-transfer: 0 formal_pairing topic relationstwo-state-continuous-time-thermodynamics → finite-exponential-family-dual-geometry: 0 formal_pairing topic relationstwo-state-continuous-time-thermodynamics → two-state-continuous-time-thermodynamics: 0 formal_pairing topic relationstwo-state-continuous-time-thermodynamics → standalone-efe-formalizations: 0 formal_pairing topic relationstwo-state-continuous-time-thermodynamics → geometric-mechanics-notation: 0 formal_pairing topic relationsF21F21standalone-efe-formalizations → core-free-energy: 0 formal_pairing topic relationsstandalone-efe-formalizations → core-active-inference: 1 formal_pairing topic relationsstandalone-efe-formalizations → core-active-inference: 1 formal_pairing topic relations1standalone-efe-formalizations → core-bayesian-mechanics: 0 formal_pairing topic relationsstandalone-efe-formalizations → core-information-geometry: 0 formal_pairing topic relationsstandalone-efe-formalizations → core-thermodynamics: 1 formal_pairing topic relationsstandalone-efe-formalizations → core-thermodynamics: 1 formal_pairing topic relations1standalone-efe-formalizations → measure-bayesian-inversion: 0 formal_pairing topic relationsstandalone-efe-formalizations → variational-duality-and-information-bounds: 1 formal_pairing topic relationsstandalone-efe-formalizations → variational-duality-and-information-bounds: 1 formal_pairing topic relations1standalone-efe-formalizations → control-and-planning-as-inference: 1 formal_pairing topic relationsstandalone-efe-formalizations → control-and-planning-as-inference: 1 formal_pairing topic relations1standalone-efe-formalizations → temporal-and-hierarchical-inference: 0 formal_pairing topic relationsstandalone-efe-formalizations → causal-blankets-and-interventions: 0 formal_pairing topic relationsstandalone-efe-formalizations → predictive-coding-and-generalized-coordinates: 0 formal_pairing topic relationsstandalone-efe-formalizations → path-space-stochastic-thermodynamics: 0 formal_pairing topic relationsstandalone-efe-formalizations → information-geometry-and-geometric-optimization: 0 formal_pairing topic relationsstandalone-efe-formalizations → collective-and-multiagent-active-inference: 0 formal_pairing topic relationsstandalone-efe-formalizations → learning-concentration-and-model-evidence: 0 formal_pairing topic relationsstandalone-efe-formalizations → finite-sample-risk-and-calibration: 0 formal_pairing topic relationsstandalone-efe-formalizations → closed-loop-policy-trees-and-efe: 0 formal_pairing topic relationsstandalone-efe-formalizations → finite-to-native-blanket-transfer: 0 formal_pairing topic relationsstandalone-efe-formalizations → finite-exponential-family-dual-geometry: 0 formal_pairing topic relationsstandalone-efe-formalizations → two-state-continuous-time-thermodynamics: 1 formal_pairing topic relationsstandalone-efe-formalizations → two-state-continuous-time-thermodynamics: 1 formal_pairing topic relations1standalone-efe-formalizations → standalone-efe-formalizations: 1 formal_pairing topic relationsstandalone-efe-formalizations → standalone-efe-formalizations: 1 formal_pairing topic relations1standalone-efe-formalizations → geometric-mechanics-notation: 0 formal_pairing topic relationsF22F22geometric-mechanics-notation → core-free-energy: 0 formal_pairing topic relationsgeometric-mechanics-notation → core-active-inference: 0 formal_pairing topic relationsgeometric-mechanics-notation → core-bayesian-mechanics: 0 formal_pairing topic relationsgeometric-mechanics-notation → core-information-geometry: 0 formal_pairing topic relationsgeometric-mechanics-notation → core-thermodynamics: 3 formal_pairing topic relationsgeometric-mechanics-notation → core-thermodynamics: 3 formal_pairing topic relations3geometric-mechanics-notation → measure-bayesian-inversion: 0 formal_pairing topic relationsgeometric-mechanics-notation → variational-duality-and-information-bounds: 0 formal_pairing topic relationsgeometric-mechanics-notation → control-and-planning-as-inference: 0 formal_pairing topic relationsgeometric-mechanics-notation → temporal-and-hierarchical-inference: 0 formal_pairing topic relationsgeometric-mechanics-notation → causal-blankets-and-interventions: 0 formal_pairing topic relationsgeometric-mechanics-notation → predictive-coding-and-generalized-coordinates: 0 formal_pairing topic relationsgeometric-mechanics-notation → path-space-stochastic-thermodynamics: 0 formal_pairing topic relationsgeometric-mechanics-notation → information-geometry-and-geometric-optimization: 0 formal_pairing topic relationsgeometric-mechanics-notation → collective-and-multiagent-active-inference: 0 formal_pairing topic relationsgeometric-mechanics-notation → learning-concentration-and-model-evidence: 0 formal_pairing topic relationsgeometric-mechanics-notation → finite-sample-risk-and-calibration: 0 formal_pairing topic relationsgeometric-mechanics-notation → closed-loop-policy-trees-and-efe: 0 formal_pairing topic relationsgeometric-mechanics-notation → finite-to-native-blanket-transfer: 0 formal_pairing topic relationsgeometric-mechanics-notation → finite-exponential-family-dual-geometry: 0 formal_pairing topic relationsgeometric-mechanics-notation → two-state-continuous-time-thermodynamics: 0 formal_pairing topic relationsgeometric-mechanics-notation → standalone-efe-formalizations: 1 formal_pairing topic relationsgeometric-mechanics-notation → standalone-efe-formalizations: 1 formal_pairing topic relations1geometric-mechanics-notation → geometric-mechanics-notation: 3 formal_pairing topic relationsgeometric-mechanics-notation → geometric-mechanics-notation: 3 formal_pairing topic relations3conceptualF01F01core-free-energy → core-free-energy: 1 conceptual topic relationscore-free-energy → core-free-energy: 1 conceptual topic relations1core-free-energy → core-active-inference: 0 conceptual topic relationscore-free-energy → core-bayesian-mechanics: 0 conceptual topic relationscore-free-energy → core-information-geometry: 0 conceptual topic relationscore-free-energy → core-thermodynamics: 0 conceptual topic relationscore-free-energy → measure-bayesian-inversion: 0 conceptual topic relationscore-free-energy → variational-duality-and-information-bounds: 0 conceptual topic relationscore-free-energy → control-and-planning-as-inference: 0 conceptual topic relationscore-free-energy → temporal-and-hierarchical-inference: 0 conceptual topic relationscore-free-energy → causal-blankets-and-interventions: 0 conceptual topic relationscore-free-energy → predictive-coding-and-generalized-coordinates: 0 conceptual topic relationscore-free-energy → path-space-stochastic-thermodynamics: 0 conceptual topic relationscore-free-energy → information-geometry-and-geometric-optimization: 0 conceptual topic relationscore-free-energy → collective-and-multiagent-active-inference: 0 conceptual topic relationscore-free-energy → learning-concentration-and-model-evidence: 0 conceptual topic relationscore-free-energy → finite-sample-risk-and-calibration: 0 conceptual topic relationscore-free-energy → closed-loop-policy-trees-and-efe: 0 conceptual topic relationscore-free-energy → finite-to-native-blanket-transfer: 0 conceptual topic relationscore-free-energy → finite-exponential-family-dual-geometry: 0 conceptual topic relationscore-free-energy → two-state-continuous-time-thermodynamics: 0 conceptual topic relationscore-free-energy → standalone-efe-formalizations: 0 conceptual topic relationscore-free-energy → geometric-mechanics-notation: 0 conceptual topic relationsF02F02core-active-inference → core-free-energy: 0 conceptual topic relationscore-active-inference → core-active-inference: 2 conceptual topic relationscore-active-inference → core-active-inference: 2 conceptual topic relations2core-active-inference → core-bayesian-mechanics: 0 conceptual topic relationscore-active-inference → core-information-geometry: 0 conceptual topic relationscore-active-inference → core-thermodynamics: 0 conceptual topic relationscore-active-inference → measure-bayesian-inversion: 0 conceptual topic relationscore-active-inference → variational-duality-and-information-bounds: 0 conceptual topic relationscore-active-inference → control-and-planning-as-inference: 0 conceptual topic relationscore-active-inference → temporal-and-hierarchical-inference: 0 conceptual topic relationscore-active-inference → causal-blankets-and-interventions: 0 conceptual topic relationscore-active-inference → predictive-coding-and-generalized-coordinates: 0 conceptual topic relationscore-active-inference → path-space-stochastic-thermodynamics: 0 conceptual topic relationscore-active-inference → information-geometry-and-geometric-optimization: 0 conceptual topic relationscore-active-inference → collective-and-multiagent-active-inference: 0 conceptual topic relationscore-active-inference → learning-concentration-and-model-evidence: 0 conceptual topic relationscore-active-inference → finite-sample-risk-and-calibration: 0 conceptual topic relationscore-active-inference → closed-loop-policy-trees-and-efe: 0 conceptual topic relationscore-active-inference → finite-to-native-blanket-transfer: 0 conceptual topic relationscore-active-inference → finite-exponential-family-dual-geometry: 0 conceptual topic relationscore-active-inference → two-state-continuous-time-thermodynamics: 0 conceptual topic relationscore-active-inference → standalone-efe-formalizations: 0 conceptual topic relationscore-active-inference → geometric-mechanics-notation: 0 conceptual topic relationsF03F03core-bayesian-mechanics → core-free-energy: 0 conceptual topic relationscore-bayesian-mechanics → core-active-inference: 0 conceptual topic relationscore-bayesian-mechanics → core-bayesian-mechanics: 2 conceptual topic relationscore-bayesian-mechanics → core-bayesian-mechanics: 2 conceptual topic relations2core-bayesian-mechanics → core-information-geometry: 0 conceptual topic relationscore-bayesian-mechanics → core-thermodynamics: 0 conceptual topic relationscore-bayesian-mechanics → measure-bayesian-inversion: 0 conceptual topic relationscore-bayesian-mechanics → variational-duality-and-information-bounds: 0 conceptual topic relationscore-bayesian-mechanics → control-and-planning-as-inference: 0 conceptual topic relationscore-bayesian-mechanics → temporal-and-hierarchical-inference: 0 conceptual topic relationscore-bayesian-mechanics → causal-blankets-and-interventions: 0 conceptual topic relationscore-bayesian-mechanics → predictive-coding-and-generalized-coordinates: 0 conceptual topic relationscore-bayesian-mechanics → path-space-stochastic-thermodynamics: 0 conceptual topic relationscore-bayesian-mechanics → information-geometry-and-geometric-optimization: 0 conceptual topic relationscore-bayesian-mechanics → collective-and-multiagent-active-inference: 0 conceptual topic relationscore-bayesian-mechanics → learning-concentration-and-model-evidence: 0 conceptual topic relationscore-bayesian-mechanics → finite-sample-risk-and-calibration: 0 conceptual topic relationscore-bayesian-mechanics → closed-loop-policy-trees-and-efe: 0 conceptual topic relationscore-bayesian-mechanics → finite-to-native-blanket-transfer: 0 conceptual topic relationscore-bayesian-mechanics → finite-exponential-family-dual-geometry: 0 conceptual topic relationscore-bayesian-mechanics → two-state-continuous-time-thermodynamics: 0 conceptual topic relationscore-bayesian-mechanics → standalone-efe-formalizations: 0 conceptual topic relationscore-bayesian-mechanics → geometric-mechanics-notation: 0 conceptual topic relationsF04F04core-information-geometry → core-free-energy: 0 conceptual topic relationscore-information-geometry → core-active-inference: 0 conceptual topic relationscore-information-geometry → core-bayesian-mechanics: 0 conceptual topic relationscore-information-geometry → core-information-geometry: 1 conceptual topic relationscore-information-geometry → core-information-geometry: 1 conceptual topic relations1core-information-geometry → core-thermodynamics: 0 conceptual topic relationscore-information-geometry → measure-bayesian-inversion: 0 conceptual topic relationscore-information-geometry → variational-duality-and-information-bounds: 0 conceptual topic relationscore-information-geometry → control-and-planning-as-inference: 0 conceptual topic relationscore-information-geometry → temporal-and-hierarchical-inference: 0 conceptual topic relationscore-information-geometry → causal-blankets-and-interventions: 0 conceptual topic relationscore-information-geometry → predictive-coding-and-generalized-coordinates: 0 conceptual topic relationscore-information-geometry → path-space-stochastic-thermodynamics: 0 conceptual topic relationscore-information-geometry → information-geometry-and-geometric-optimization: 0 conceptual topic relationscore-information-geometry → collective-and-multiagent-active-inference: 0 conceptual topic relationscore-information-geometry → learning-concentration-and-model-evidence: 0 conceptual topic relationscore-information-geometry → finite-sample-risk-and-calibration: 0 conceptual topic relationscore-information-geometry → closed-loop-policy-trees-and-efe: 0 conceptual topic relationscore-information-geometry → finite-to-native-blanket-transfer: 0 conceptual topic relationscore-information-geometry → finite-exponential-family-dual-geometry: 0 conceptual topic relationscore-information-geometry → two-state-continuous-time-thermodynamics: 0 conceptual topic relationscore-information-geometry → standalone-efe-formalizations: 0 conceptual topic relationscore-information-geometry → geometric-mechanics-notation: 0 conceptual topic relationsF05F05core-thermodynamics → core-free-energy: 1 conceptual topic relationscore-thermodynamics → core-free-energy: 1 conceptual topic relations1core-thermodynamics → core-active-inference: 0 conceptual topic relationscore-thermodynamics → core-bayesian-mechanics: 0 conceptual topic relationscore-thermodynamics → core-information-geometry: 0 conceptual topic relationscore-thermodynamics → core-thermodynamics: 1 conceptual topic relationscore-thermodynamics → core-thermodynamics: 1 conceptual topic relations1core-thermodynamics → measure-bayesian-inversion: 0 conceptual topic relationscore-thermodynamics → variational-duality-and-information-bounds: 0 conceptual topic relationscore-thermodynamics → control-and-planning-as-inference: 0 conceptual topic relationscore-thermodynamics → temporal-and-hierarchical-inference: 0 conceptual topic relationscore-thermodynamics → causal-blankets-and-interventions: 0 conceptual topic relationscore-thermodynamics → predictive-coding-and-generalized-coordinates: 0 conceptual topic relationscore-thermodynamics → path-space-stochastic-thermodynamics: 0 conceptual topic relationscore-thermodynamics → information-geometry-and-geometric-optimization: 0 conceptual topic relationscore-thermodynamics → collective-and-multiagent-active-inference: 0 conceptual topic relationscore-thermodynamics → learning-concentration-and-model-evidence: 0 conceptual topic relationscore-thermodynamics → finite-sample-risk-and-calibration: 0 conceptual topic relationscore-thermodynamics → closed-loop-policy-trees-and-efe: 0 conceptual topic relationscore-thermodynamics → finite-to-native-blanket-transfer: 0 conceptual topic relationscore-thermodynamics → finite-exponential-family-dual-geometry: 0 conceptual topic relationscore-thermodynamics → two-state-continuous-time-thermodynamics: 0 conceptual topic relationscore-thermodynamics → standalone-efe-formalizations: 0 conceptual topic relationscore-thermodynamics → geometric-mechanics-notation: 0 conceptual topic relationsF06F06measure-bayesian-inversion → core-free-energy: 0 conceptual topic relationsmeasure-bayesian-inversion → core-active-inference: 0 conceptual topic relationsmeasure-bayesian-inversion → core-bayesian-mechanics: 0 conceptual topic relationsmeasure-bayesian-inversion → core-information-geometry: 0 conceptual topic relationsmeasure-bayesian-inversion → core-thermodynamics: 0 conceptual topic relationsmeasure-bayesian-inversion → measure-bayesian-inversion: 0 conceptual topic relationsmeasure-bayesian-inversion → variational-duality-and-information-bounds: 0 conceptual topic relationsmeasure-bayesian-inversion → control-and-planning-as-inference: 0 conceptual topic relationsmeasure-bayesian-inversion → temporal-and-hierarchical-inference: 0 conceptual topic relationsmeasure-bayesian-inversion → causal-blankets-and-interventions: 0 conceptual topic relationsmeasure-bayesian-inversion → predictive-coding-and-generalized-coordinates: 0 conceptual topic relationsmeasure-bayesian-inversion → path-space-stochastic-thermodynamics: 0 conceptual topic relationsmeasure-bayesian-inversion → information-geometry-and-geometric-optimization: 0 conceptual topic relationsmeasure-bayesian-inversion → collective-and-multiagent-active-inference: 0 conceptual topic relationsmeasure-bayesian-inversion → learning-concentration-and-model-evidence: 0 conceptual topic relationsmeasure-bayesian-inversion → finite-sample-risk-and-calibration: 0 conceptual topic relationsmeasure-bayesian-inversion → closed-loop-policy-trees-and-efe: 0 conceptual topic relationsmeasure-bayesian-inversion → finite-to-native-blanket-transfer: 0 conceptual topic relationsmeasure-bayesian-inversion → finite-exponential-family-dual-geometry: 0 conceptual topic relationsmeasure-bayesian-inversion → two-state-continuous-time-thermodynamics: 0 conceptual topic relationsmeasure-bayesian-inversion → standalone-efe-formalizations: 0 conceptual topic relationsmeasure-bayesian-inversion → geometric-mechanics-notation: 0 conceptual topic relationsF07F07variational-duality-and-information-bounds → core-free-energy: 0 conceptual topic relationsvariational-duality-and-information-bounds → core-active-inference: 0 conceptual topic relationsvariational-duality-and-information-bounds → core-bayesian-mechanics: 0 conceptual topic relationsvariational-duality-and-information-bounds → core-information-geometry: 0 conceptual topic relationsvariational-duality-and-information-bounds → core-thermodynamics: 0 conceptual topic relationsvariational-duality-and-information-bounds → measure-bayesian-inversion: 0 conceptual topic relationsvariational-duality-and-information-bounds → variational-duality-and-information-bounds: 0 conceptual topic relationsvariational-duality-and-information-bounds → control-and-planning-as-inference: 0 conceptual topic relationsvariational-duality-and-information-bounds → temporal-and-hierarchical-inference: 0 conceptual topic relationsvariational-duality-and-information-bounds → causal-blankets-and-interventions: 0 conceptual topic relationsvariational-duality-and-information-bounds → predictive-coding-and-generalized-coordinates: 0 conceptual topic relationsvariational-duality-and-information-bounds → path-space-stochastic-thermodynamics: 0 conceptual topic relationsvariational-duality-and-information-bounds → information-geometry-and-geometric-optimization: 0 conceptual topic relationsvariational-duality-and-information-bounds → collective-and-multiagent-active-inference: 0 conceptual topic relationsvariational-duality-and-information-bounds → learning-concentration-and-model-evidence: 0 conceptual topic relationsvariational-duality-and-information-bounds → finite-sample-risk-and-calibration: 0 conceptual topic relationsvariational-duality-and-information-bounds → closed-loop-policy-trees-and-efe: 0 conceptual topic relationsvariational-duality-and-information-bounds → finite-to-native-blanket-transfer: 0 conceptual topic relationsvariational-duality-and-information-bounds → finite-exponential-family-dual-geometry: 0 conceptual topic relationsvariational-duality-and-information-bounds → two-state-continuous-time-thermodynamics: 0 conceptual topic relationsvariational-duality-and-information-bounds → standalone-efe-formalizations: 0 conceptual topic relationsvariational-duality-and-information-bounds → geometric-mechanics-notation: 0 conceptual topic relationsF08F08control-and-planning-as-inference → core-free-energy: 0 conceptual topic relationscontrol-and-planning-as-inference → core-active-inference: 0 conceptual topic relationscontrol-and-planning-as-inference → core-bayesian-mechanics: 0 conceptual topic relationscontrol-and-planning-as-inference → core-information-geometry: 0 conceptual topic relationscontrol-and-planning-as-inference → core-thermodynamics: 0 conceptual topic relationscontrol-and-planning-as-inference → measure-bayesian-inversion: 0 conceptual topic relationscontrol-and-planning-as-inference → variational-duality-and-information-bounds: 0 conceptual topic relationscontrol-and-planning-as-inference → control-and-planning-as-inference: 0 conceptual topic relationscontrol-and-planning-as-inference → temporal-and-hierarchical-inference: 0 conceptual topic relationscontrol-and-planning-as-inference → causal-blankets-and-interventions: 0 conceptual topic relationscontrol-and-planning-as-inference → predictive-coding-and-generalized-coordinates: 0 conceptual topic relationscontrol-and-planning-as-inference → path-space-stochastic-thermodynamics: 0 conceptual topic relationscontrol-and-planning-as-inference → information-geometry-and-geometric-optimization: 0 conceptual topic relationscontrol-and-planning-as-inference → collective-and-multiagent-active-inference: 0 conceptual topic relationscontrol-and-planning-as-inference → learning-concentration-and-model-evidence: 0 conceptual topic relationscontrol-and-planning-as-inference → finite-sample-risk-and-calibration: 0 conceptual topic relationscontrol-and-planning-as-inference → closed-loop-policy-trees-and-efe: 0 conceptual topic relationscontrol-and-planning-as-inference → finite-to-native-blanket-transfer: 0 conceptual topic relationscontrol-and-planning-as-inference → finite-exponential-family-dual-geometry: 0 conceptual topic relationscontrol-and-planning-as-inference → two-state-continuous-time-thermodynamics: 0 conceptual topic relationscontrol-and-planning-as-inference → standalone-efe-formalizations: 0 conceptual topic relationscontrol-and-planning-as-inference → geometric-mechanics-notation: 0 conceptual topic relationsF09F09temporal-and-hierarchical-inference → core-free-energy: 0 conceptual topic relationstemporal-and-hierarchical-inference → core-active-inference: 0 conceptual topic relationstemporal-and-hierarchical-inference → core-bayesian-mechanics: 0 conceptual topic relationstemporal-and-hierarchical-inference → core-information-geometry: 0 conceptual topic relationstemporal-and-hierarchical-inference → core-thermodynamics: 0 conceptual topic relationstemporal-and-hierarchical-inference → measure-bayesian-inversion: 0 conceptual topic relationstemporal-and-hierarchical-inference → variational-duality-and-information-bounds: 0 conceptual topic relationstemporal-and-hierarchical-inference → control-and-planning-as-inference: 0 conceptual topic relationstemporal-and-hierarchical-inference → temporal-and-hierarchical-inference: 0 conceptual topic relationstemporal-and-hierarchical-inference → causal-blankets-and-interventions: 0 conceptual topic relationstemporal-and-hierarchical-inference → predictive-coding-and-generalized-coordinates: 0 conceptual topic relationstemporal-and-hierarchical-inference → path-space-stochastic-thermodynamics: 0 conceptual topic relationstemporal-and-hierarchical-inference → information-geometry-and-geometric-optimization: 0 conceptual topic relationstemporal-and-hierarchical-inference → collective-and-multiagent-active-inference: 0 conceptual topic relationstemporal-and-hierarchical-inference → learning-concentration-and-model-evidence: 0 conceptual topic relationstemporal-and-hierarchical-inference → finite-sample-risk-and-calibration: 0 conceptual topic relationstemporal-and-hierarchical-inference → closed-loop-policy-trees-and-efe: 0 conceptual topic relationstemporal-and-hierarchical-inference → finite-to-native-blanket-transfer: 0 conceptual topic relationstemporal-and-hierarchical-inference → finite-exponential-family-dual-geometry: 0 conceptual topic relationstemporal-and-hierarchical-inference → two-state-continuous-time-thermodynamics: 0 conceptual topic relationstemporal-and-hierarchical-inference → standalone-efe-formalizations: 0 conceptual topic relationstemporal-and-hierarchical-inference → geometric-mechanics-notation: 0 conceptual topic relationsF10F10causal-blankets-and-interventions → core-free-energy: 0 conceptual topic relationscausal-blankets-and-interventions → core-active-inference: 0 conceptual topic relationscausal-blankets-and-interventions → core-bayesian-mechanics: 0 conceptual topic relationscausal-blankets-and-interventions → core-information-geometry: 0 conceptual topic relationscausal-blankets-and-interventions → core-thermodynamics: 0 conceptual topic relationscausal-blankets-and-interventions → measure-bayesian-inversion: 0 conceptual topic relationscausal-blankets-and-interventions → variational-duality-and-information-bounds: 0 conceptual topic relationscausal-blankets-and-interventions → control-and-planning-as-inference: 0 conceptual topic relationscausal-blankets-and-interventions → temporal-and-hierarchical-inference: 0 conceptual topic relationscausal-blankets-and-interventions → causal-blankets-and-interventions: 0 conceptual topic relationscausal-blankets-and-interventions → predictive-coding-and-generalized-coordinates: 0 conceptual topic relationscausal-blankets-and-interventions → path-space-stochastic-thermodynamics: 0 conceptual topic relationscausal-blankets-and-interventions → information-geometry-and-geometric-optimization: 0 conceptual topic relationscausal-blankets-and-interventions → collective-and-multiagent-active-inference: 0 conceptual topic relationscausal-blankets-and-interventions → learning-concentration-and-model-evidence: 0 conceptual topic relationscausal-blankets-and-interventions → finite-sample-risk-and-calibration: 0 conceptual topic relationscausal-blankets-and-interventions → closed-loop-policy-trees-and-efe: 0 conceptual topic relationscausal-blankets-and-interventions → finite-to-native-blanket-transfer: 0 conceptual topic relationscausal-blankets-and-interventions → finite-exponential-family-dual-geometry: 0 conceptual topic relationscausal-blankets-and-interventions → two-state-continuous-time-thermodynamics: 0 conceptual topic relationscausal-blankets-and-interventions → standalone-efe-formalizations: 0 conceptual topic relationscausal-blankets-and-interventions → geometric-mechanics-notation: 0 conceptual topic relationsF11F11predictive-coding-and-generalized-coordinates → core-free-energy: 0 conceptual topic relationspredictive-coding-and-generalized-coordinates → core-active-inference: 0 conceptual topic relationspredictive-coding-and-generalized-coordinates → core-bayesian-mechanics: 0 conceptual topic relationspredictive-coding-and-generalized-coordinates → core-information-geometry: 0 conceptual topic relationspredictive-coding-and-generalized-coordinates → core-thermodynamics: 0 conceptual topic relationspredictive-coding-and-generalized-coordinates → measure-bayesian-inversion: 0 conceptual topic relationspredictive-coding-and-generalized-coordinates → variational-duality-and-information-bounds: 0 conceptual topic relationspredictive-coding-and-generalized-coordinates → control-and-planning-as-inference: 0 conceptual topic relationspredictive-coding-and-generalized-coordinates → temporal-and-hierarchical-inference: 0 conceptual topic relationspredictive-coding-and-generalized-coordinates → causal-blankets-and-interventions: 0 conceptual topic relationspredictive-coding-and-generalized-coordinates → predictive-coding-and-generalized-coordinates: 0 conceptual topic relationspredictive-coding-and-generalized-coordinates → path-space-stochastic-thermodynamics: 0 conceptual topic relationspredictive-coding-and-generalized-coordinates → information-geometry-and-geometric-optimization: 0 conceptual topic relationspredictive-coding-and-generalized-coordinates → collective-and-multiagent-active-inference: 0 conceptual topic relationspredictive-coding-and-generalized-coordinates → learning-concentration-and-model-evidence: 0 conceptual topic relationspredictive-coding-and-generalized-coordinates → finite-sample-risk-and-calibration: 0 conceptual topic relationspredictive-coding-and-generalized-coordinates → closed-loop-policy-trees-and-efe: 0 conceptual topic relationspredictive-coding-and-generalized-coordinates → finite-to-native-blanket-transfer: 0 conceptual topic relationspredictive-coding-and-generalized-coordinates → finite-exponential-family-dual-geometry: 0 conceptual topic relationspredictive-coding-and-generalized-coordinates → two-state-continuous-time-thermodynamics: 0 conceptual topic relationspredictive-coding-and-generalized-coordinates → standalone-efe-formalizations: 0 conceptual topic relationspredictive-coding-and-generalized-coordinates → geometric-mechanics-notation: 0 conceptual topic relationsF12F12path-space-stochastic-thermodynamics → core-free-energy: 0 conceptual topic relationspath-space-stochastic-thermodynamics → core-active-inference: 0 conceptual topic relationspath-space-stochastic-thermodynamics → core-bayesian-mechanics: 0 conceptual topic relationspath-space-stochastic-thermodynamics → core-information-geometry: 0 conceptual topic relationspath-space-stochastic-thermodynamics → core-thermodynamics: 0 conceptual topic relationspath-space-stochastic-thermodynamics → measure-bayesian-inversion: 0 conceptual topic relationspath-space-stochastic-thermodynamics → variational-duality-and-information-bounds: 0 conceptual topic relationspath-space-stochastic-thermodynamics → control-and-planning-as-inference: 0 conceptual topic relationspath-space-stochastic-thermodynamics → temporal-and-hierarchical-inference: 0 conceptual topic relationspath-space-stochastic-thermodynamics → causal-blankets-and-interventions: 0 conceptual topic relationspath-space-stochastic-thermodynamics → predictive-coding-and-generalized-coordinates: 0 conceptual topic relationspath-space-stochastic-thermodynamics → path-space-stochastic-thermodynamics: 0 conceptual topic relationspath-space-stochastic-thermodynamics → information-geometry-and-geometric-optimization: 0 conceptual topic relationspath-space-stochastic-thermodynamics → collective-and-multiagent-active-inference: 0 conceptual topic relationspath-space-stochastic-thermodynamics → learning-concentration-and-model-evidence: 0 conceptual topic relationspath-space-stochastic-thermodynamics → finite-sample-risk-and-calibration: 0 conceptual topic relationspath-space-stochastic-thermodynamics → closed-loop-policy-trees-and-efe: 0 conceptual topic relationspath-space-stochastic-thermodynamics → finite-to-native-blanket-transfer: 0 conceptual topic relationspath-space-stochastic-thermodynamics → finite-exponential-family-dual-geometry: 0 conceptual topic relationspath-space-stochastic-thermodynamics → two-state-continuous-time-thermodynamics: 0 conceptual topic relationspath-space-stochastic-thermodynamics → standalone-efe-formalizations: 0 conceptual topic relationspath-space-stochastic-thermodynamics → geometric-mechanics-notation: 0 conceptual topic relationsF13F13information-geometry-and-geometric-optimization → core-free-energy: 0 conceptual topic relationsinformation-geometry-and-geometric-optimization → core-active-inference: 0 conceptual topic relationsinformation-geometry-and-geometric-optimization → core-bayesian-mechanics: 0 conceptual topic relationsinformation-geometry-and-geometric-optimization → core-information-geometry: 0 conceptual topic relationsinformation-geometry-and-geometric-optimization → core-thermodynamics: 0 conceptual topic relationsinformation-geometry-and-geometric-optimization → measure-bayesian-inversion: 0 conceptual topic relationsinformation-geometry-and-geometric-optimization → variational-duality-and-information-bounds: 0 conceptual topic relationsinformation-geometry-and-geometric-optimization → control-and-planning-as-inference: 0 conceptual topic relationsinformation-geometry-and-geometric-optimization → temporal-and-hierarchical-inference: 0 conceptual topic relationsinformation-geometry-and-geometric-optimization → causal-blankets-and-interventions: 0 conceptual topic relationsinformation-geometry-and-geometric-optimization → predictive-coding-and-generalized-coordinates: 0 conceptual topic relationsinformation-geometry-and-geometric-optimization → path-space-stochastic-thermodynamics: 0 conceptual topic relationsinformation-geometry-and-geometric-optimization → information-geometry-and-geometric-optimization: 0 conceptual topic relationsinformation-geometry-and-geometric-optimization → collective-and-multiagent-active-inference: 0 conceptual topic relationsinformation-geometry-and-geometric-optimization → learning-concentration-and-model-evidence: 0 conceptual topic relationsinformation-geometry-and-geometric-optimization → finite-sample-risk-and-calibration: 0 conceptual topic relationsinformation-geometry-and-geometric-optimization → closed-loop-policy-trees-and-efe: 0 conceptual topic relationsinformation-geometry-and-geometric-optimization → finite-to-native-blanket-transfer: 0 conceptual topic relationsinformation-geometry-and-geometric-optimization → finite-exponential-family-dual-geometry: 0 conceptual topic relationsinformation-geometry-and-geometric-optimization → two-state-continuous-time-thermodynamics: 0 conceptual topic relationsinformation-geometry-and-geometric-optimization → standalone-efe-formalizations: 0 conceptual topic relationsinformation-geometry-and-geometric-optimization → geometric-mechanics-notation: 0 conceptual topic relationsF14F14collective-and-multiagent-active-inference → core-free-energy: 0 conceptual topic relationscollective-and-multiagent-active-inference → core-active-inference: 0 conceptual topic relationscollective-and-multiagent-active-inference → core-bayesian-mechanics: 0 conceptual topic relationscollective-and-multiagent-active-inference → core-information-geometry: 0 conceptual topic relationscollective-and-multiagent-active-inference → core-thermodynamics: 0 conceptual topic relationscollective-and-multiagent-active-inference → measure-bayesian-inversion: 0 conceptual topic relationscollective-and-multiagent-active-inference → variational-duality-and-information-bounds: 0 conceptual topic relationscollective-and-multiagent-active-inference → control-and-planning-as-inference: 0 conceptual topic relationscollective-and-multiagent-active-inference → temporal-and-hierarchical-inference: 0 conceptual topic relationscollective-and-multiagent-active-inference → causal-blankets-and-interventions: 0 conceptual topic relationscollective-and-multiagent-active-inference → predictive-coding-and-generalized-coordinates: 0 conceptual topic relationscollective-and-multiagent-active-inference → path-space-stochastic-thermodynamics: 0 conceptual topic relationscollective-and-multiagent-active-inference → information-geometry-and-geometric-optimization: 0 conceptual topic relationscollective-and-multiagent-active-inference → collective-and-multiagent-active-inference: 0 conceptual topic relationscollective-and-multiagent-active-inference → learning-concentration-and-model-evidence: 0 conceptual topic relationscollective-and-multiagent-active-inference → finite-sample-risk-and-calibration: 0 conceptual topic relationscollective-and-multiagent-active-inference → closed-loop-policy-trees-and-efe: 0 conceptual topic relationscollective-and-multiagent-active-inference → finite-to-native-blanket-transfer: 0 conceptual topic relationscollective-and-multiagent-active-inference → finite-exponential-family-dual-geometry: 0 conceptual topic relationscollective-and-multiagent-active-inference → two-state-continuous-time-thermodynamics: 0 conceptual topic relationscollective-and-multiagent-active-inference → standalone-efe-formalizations: 0 conceptual topic relationscollective-and-multiagent-active-inference → geometric-mechanics-notation: 0 conceptual topic relationsF15F15learning-concentration-and-model-evidence → core-free-energy: 0 conceptual topic relationslearning-concentration-and-model-evidence → core-active-inference: 0 conceptual topic relationslearning-concentration-and-model-evidence → core-bayesian-mechanics: 0 conceptual topic relationslearning-concentration-and-model-evidence → core-information-geometry: 0 conceptual topic relationslearning-concentration-and-model-evidence → core-thermodynamics: 0 conceptual topic relationslearning-concentration-and-model-evidence → measure-bayesian-inversion: 0 conceptual topic relationslearning-concentration-and-model-evidence → variational-duality-and-information-bounds: 0 conceptual topic relationslearning-concentration-and-model-evidence → control-and-planning-as-inference: 0 conceptual topic relationslearning-concentration-and-model-evidence → temporal-and-hierarchical-inference: 0 conceptual topic relationslearning-concentration-and-model-evidence → causal-blankets-and-interventions: 0 conceptual topic relationslearning-concentration-and-model-evidence → predictive-coding-and-generalized-coordinates: 0 conceptual topic relationslearning-concentration-and-model-evidence → path-space-stochastic-thermodynamics: 0 conceptual topic relationslearning-concentration-and-model-evidence → information-geometry-and-geometric-optimization: 0 conceptual topic relationslearning-concentration-and-model-evidence → collective-and-multiagent-active-inference: 0 conceptual topic relationslearning-concentration-and-model-evidence → learning-concentration-and-model-evidence: 0 conceptual topic relationslearning-concentration-and-model-evidence → finite-sample-risk-and-calibration: 0 conceptual topic relationslearning-concentration-and-model-evidence → closed-loop-policy-trees-and-efe: 0 conceptual topic relationslearning-concentration-and-model-evidence → finite-to-native-blanket-transfer: 0 conceptual topic relationslearning-concentration-and-model-evidence → finite-exponential-family-dual-geometry: 0 conceptual topic relationslearning-concentration-and-model-evidence → two-state-continuous-time-thermodynamics: 0 conceptual topic relationslearning-concentration-and-model-evidence → standalone-efe-formalizations: 0 conceptual topic relationslearning-concentration-and-model-evidence → geometric-mechanics-notation: 0 conceptual topic relationsF16F16finite-sample-risk-and-calibration → core-free-energy: 0 conceptual topic relationsfinite-sample-risk-and-calibration → core-active-inference: 0 conceptual topic relationsfinite-sample-risk-and-calibration → core-bayesian-mechanics: 0 conceptual topic relationsfinite-sample-risk-and-calibration → core-information-geometry: 0 conceptual topic relationsfinite-sample-risk-and-calibration → core-thermodynamics: 0 conceptual topic relationsfinite-sample-risk-and-calibration → measure-bayesian-inversion: 0 conceptual topic relationsfinite-sample-risk-and-calibration → variational-duality-and-information-bounds: 0 conceptual topic relationsfinite-sample-risk-and-calibration → control-and-planning-as-inference: 0 conceptual topic relationsfinite-sample-risk-and-calibration → temporal-and-hierarchical-inference: 0 conceptual topic relationsfinite-sample-risk-and-calibration → causal-blankets-and-interventions: 0 conceptual topic relationsfinite-sample-risk-and-calibration → predictive-coding-and-generalized-coordinates: 0 conceptual topic relationsfinite-sample-risk-and-calibration → path-space-stochastic-thermodynamics: 0 conceptual topic relationsfinite-sample-risk-and-calibration → information-geometry-and-geometric-optimization: 0 conceptual topic relationsfinite-sample-risk-and-calibration → collective-and-multiagent-active-inference: 0 conceptual topic relationsfinite-sample-risk-and-calibration → learning-concentration-and-model-evidence: 0 conceptual topic relationsfinite-sample-risk-and-calibration → finite-sample-risk-and-calibration: 0 conceptual topic relationsfinite-sample-risk-and-calibration → closed-loop-policy-trees-and-efe: 0 conceptual topic relationsfinite-sample-risk-and-calibration → finite-to-native-blanket-transfer: 0 conceptual topic relationsfinite-sample-risk-and-calibration → finite-exponential-family-dual-geometry: 0 conceptual topic relationsfinite-sample-risk-and-calibration → two-state-continuous-time-thermodynamics: 0 conceptual topic relationsfinite-sample-risk-and-calibration → standalone-efe-formalizations: 0 conceptual topic relationsfinite-sample-risk-and-calibration → geometric-mechanics-notation: 0 conceptual topic relationsF17F17closed-loop-policy-trees-and-efe → core-free-energy: 0 conceptual topic relationsclosed-loop-policy-trees-and-efe → core-active-inference: 0 conceptual topic relationsclosed-loop-policy-trees-and-efe → core-bayesian-mechanics: 0 conceptual topic relationsclosed-loop-policy-trees-and-efe → core-information-geometry: 0 conceptual topic relationsclosed-loop-policy-trees-and-efe → core-thermodynamics: 0 conceptual topic relationsclosed-loop-policy-trees-and-efe → measure-bayesian-inversion: 0 conceptual topic relationsclosed-loop-policy-trees-and-efe → variational-duality-and-information-bounds: 0 conceptual topic relationsclosed-loop-policy-trees-and-efe → control-and-planning-as-inference: 0 conceptual topic relationsclosed-loop-policy-trees-and-efe → temporal-and-hierarchical-inference: 0 conceptual topic relationsclosed-loop-policy-trees-and-efe → causal-blankets-and-interventions: 0 conceptual topic relationsclosed-loop-policy-trees-and-efe → predictive-coding-and-generalized-coordinates: 0 conceptual topic relationsclosed-loop-policy-trees-and-efe → path-space-stochastic-thermodynamics: 0 conceptual topic relationsclosed-loop-policy-trees-and-efe → information-geometry-and-geometric-optimization: 0 conceptual topic relationsclosed-loop-policy-trees-and-efe → collective-and-multiagent-active-inference: 0 conceptual topic relationsclosed-loop-policy-trees-and-efe → learning-concentration-and-model-evidence: 0 conceptual topic relationsclosed-loop-policy-trees-and-efe → finite-sample-risk-and-calibration: 0 conceptual topic relationsclosed-loop-policy-trees-and-efe → closed-loop-policy-trees-and-efe: 0 conceptual topic relationsclosed-loop-policy-trees-and-efe → finite-to-native-blanket-transfer: 0 conceptual topic relationsclosed-loop-policy-trees-and-efe → finite-exponential-family-dual-geometry: 0 conceptual topic relationsclosed-loop-policy-trees-and-efe → two-state-continuous-time-thermodynamics: 0 conceptual topic relationsclosed-loop-policy-trees-and-efe → standalone-efe-formalizations: 0 conceptual topic relationsclosed-loop-policy-trees-and-efe → geometric-mechanics-notation: 0 conceptual topic relationsF18F18finite-to-native-blanket-transfer → core-free-energy: 0 conceptual topic relationsfinite-to-native-blanket-transfer → core-active-inference: 0 conceptual topic relationsfinite-to-native-blanket-transfer → core-bayesian-mechanics: 0 conceptual topic relationsfinite-to-native-blanket-transfer → core-information-geometry: 0 conceptual topic relationsfinite-to-native-blanket-transfer → core-thermodynamics: 0 conceptual topic relationsfinite-to-native-blanket-transfer → measure-bayesian-inversion: 0 conceptual topic relationsfinite-to-native-blanket-transfer → variational-duality-and-information-bounds: 0 conceptual topic relationsfinite-to-native-blanket-transfer → control-and-planning-as-inference: 0 conceptual topic relationsfinite-to-native-blanket-transfer → temporal-and-hierarchical-inference: 0 conceptual topic relationsfinite-to-native-blanket-transfer → causal-blankets-and-interventions: 0 conceptual topic relationsfinite-to-native-blanket-transfer → predictive-coding-and-generalized-coordinates: 0 conceptual topic relationsfinite-to-native-blanket-transfer → path-space-stochastic-thermodynamics: 0 conceptual topic relationsfinite-to-native-blanket-transfer → information-geometry-and-geometric-optimization: 0 conceptual topic relationsfinite-to-native-blanket-transfer → collective-and-multiagent-active-inference: 0 conceptual topic relationsfinite-to-native-blanket-transfer → learning-concentration-and-model-evidence: 0 conceptual topic relationsfinite-to-native-blanket-transfer → finite-sample-risk-and-calibration: 0 conceptual topic relationsfinite-to-native-blanket-transfer → closed-loop-policy-trees-and-efe: 0 conceptual topic relationsfinite-to-native-blanket-transfer → finite-to-native-blanket-transfer: 0 conceptual topic relationsfinite-to-native-blanket-transfer → finite-exponential-family-dual-geometry: 0 conceptual topic relationsfinite-to-native-blanket-transfer → two-state-continuous-time-thermodynamics: 0 conceptual topic relationsfinite-to-native-blanket-transfer → standalone-efe-formalizations: 0 conceptual topic relationsfinite-to-native-blanket-transfer → geometric-mechanics-notation: 0 conceptual topic relationsF19F19finite-exponential-family-dual-geometry → core-free-energy: 0 conceptual topic relationsfinite-exponential-family-dual-geometry → core-active-inference: 0 conceptual topic relationsfinite-exponential-family-dual-geometry → core-bayesian-mechanics: 0 conceptual topic relationsfinite-exponential-family-dual-geometry → core-information-geometry: 0 conceptual topic relationsfinite-exponential-family-dual-geometry → core-thermodynamics: 0 conceptual topic relationsfinite-exponential-family-dual-geometry → measure-bayesian-inversion: 0 conceptual topic relationsfinite-exponential-family-dual-geometry → variational-duality-and-information-bounds: 0 conceptual topic relationsfinite-exponential-family-dual-geometry → control-and-planning-as-inference: 0 conceptual topic relationsfinite-exponential-family-dual-geometry → temporal-and-hierarchical-inference: 0 conceptual topic relationsfinite-exponential-family-dual-geometry → causal-blankets-and-interventions: 0 conceptual topic relationsfinite-exponential-family-dual-geometry → predictive-coding-and-generalized-coordinates: 0 conceptual topic relationsfinite-exponential-family-dual-geometry → path-space-stochastic-thermodynamics: 0 conceptual topic relationsfinite-exponential-family-dual-geometry → information-geometry-and-geometric-optimization: 0 conceptual topic relationsfinite-exponential-family-dual-geometry → collective-and-multiagent-active-inference: 0 conceptual topic relationsfinite-exponential-family-dual-geometry → learning-concentration-and-model-evidence: 0 conceptual topic relationsfinite-exponential-family-dual-geometry → finite-sample-risk-and-calibration: 0 conceptual topic relationsfinite-exponential-family-dual-geometry → closed-loop-policy-trees-and-efe: 0 conceptual topic relationsfinite-exponential-family-dual-geometry → finite-to-native-blanket-transfer: 0 conceptual topic relationsfinite-exponential-family-dual-geometry → finite-exponential-family-dual-geometry: 0 conceptual topic relationsfinite-exponential-family-dual-geometry → two-state-continuous-time-thermodynamics: 0 conceptual topic relationsfinite-exponential-family-dual-geometry → standalone-efe-formalizations: 0 conceptual topic relationsfinite-exponential-family-dual-geometry → geometric-mechanics-notation: 0 conceptual topic relationsF20F20two-state-continuous-time-thermodynamics → core-free-energy: 0 conceptual topic relationstwo-state-continuous-time-thermodynamics → core-active-inference: 0 conceptual topic relationstwo-state-continuous-time-thermodynamics → core-bayesian-mechanics: 0 conceptual topic relationstwo-state-continuous-time-thermodynamics → core-information-geometry: 0 conceptual topic relationstwo-state-continuous-time-thermodynamics → core-thermodynamics: 0 conceptual topic relationstwo-state-continuous-time-thermodynamics → measure-bayesian-inversion: 0 conceptual topic relationstwo-state-continuous-time-thermodynamics → variational-duality-and-information-bounds: 0 conceptual topic relationstwo-state-continuous-time-thermodynamics → control-and-planning-as-inference: 0 conceptual topic relationstwo-state-continuous-time-thermodynamics → temporal-and-hierarchical-inference: 0 conceptual topic relationstwo-state-continuous-time-thermodynamics → causal-blankets-and-interventions: 0 conceptual topic relationstwo-state-continuous-time-thermodynamics → predictive-coding-and-generalized-coordinates: 0 conceptual topic relationstwo-state-continuous-time-thermodynamics → path-space-stochastic-thermodynamics: 0 conceptual topic relationstwo-state-continuous-time-thermodynamics → information-geometry-and-geometric-optimization: 0 conceptual topic relationstwo-state-continuous-time-thermodynamics → collective-and-multiagent-active-inference: 0 conceptual topic relationstwo-state-continuous-time-thermodynamics → learning-concentration-and-model-evidence: 0 conceptual topic relationstwo-state-continuous-time-thermodynamics → finite-sample-risk-and-calibration: 0 conceptual topic relationstwo-state-continuous-time-thermodynamics → closed-loop-policy-trees-and-efe: 0 conceptual topic relationstwo-state-continuous-time-thermodynamics → finite-to-native-blanket-transfer: 0 conceptual topic relationstwo-state-continuous-time-thermodynamics → finite-exponential-family-dual-geometry: 0 conceptual topic relationstwo-state-continuous-time-thermodynamics → two-state-continuous-time-thermodynamics: 0 conceptual topic relationstwo-state-continuous-time-thermodynamics → standalone-efe-formalizations: 0 conceptual topic relationstwo-state-continuous-time-thermodynamics → geometric-mechanics-notation: 0 conceptual topic relationsF21F21standalone-efe-formalizations → core-free-energy: 0 conceptual topic relationsstandalone-efe-formalizations → core-active-inference: 0 conceptual topic relationsstandalone-efe-formalizations → core-bayesian-mechanics: 0 conceptual topic relationsstandalone-efe-formalizations → core-information-geometry: 0 conceptual topic relationsstandalone-efe-formalizations → core-thermodynamics: 0 conceptual topic relationsstandalone-efe-formalizations → measure-bayesian-inversion: 0 conceptual topic relationsstandalone-efe-formalizations → variational-duality-and-information-bounds: 0 conceptual topic relationsstandalone-efe-formalizations → control-and-planning-as-inference: 0 conceptual topic relationsstandalone-efe-formalizations → temporal-and-hierarchical-inference: 0 conceptual topic relationsstandalone-efe-formalizations → causal-blankets-and-interventions: 0 conceptual topic relationsstandalone-efe-formalizations → predictive-coding-and-generalized-coordinates: 0 conceptual topic relationsstandalone-efe-formalizations → path-space-stochastic-thermodynamics: 0 conceptual topic relationsstandalone-efe-formalizations → information-geometry-and-geometric-optimization: 0 conceptual topic relationsstandalone-efe-formalizations → collective-and-multiagent-active-inference: 0 conceptual topic relationsstandalone-efe-formalizations → learning-concentration-and-model-evidence: 0 conceptual topic relationsstandalone-efe-formalizations → finite-sample-risk-and-calibration: 0 conceptual topic relationsstandalone-efe-formalizations → closed-loop-policy-trees-and-efe: 0 conceptual topic relationsstandalone-efe-formalizations → finite-to-native-blanket-transfer: 0 conceptual topic relationsstandalone-efe-formalizations → finite-exponential-family-dual-geometry: 0 conceptual topic relationsstandalone-efe-formalizations → two-state-continuous-time-thermodynamics: 0 conceptual topic relationsstandalone-efe-formalizations → standalone-efe-formalizations: 0 conceptual topic relationsstandalone-efe-formalizations → geometric-mechanics-notation: 0 conceptual topic relationsF22F22geometric-mechanics-notation → core-free-energy: 0 conceptual topic relationsgeometric-mechanics-notation → core-active-inference: 0 conceptual topic relationsgeometric-mechanics-notation → core-bayesian-mechanics: 0 conceptual topic relationsgeometric-mechanics-notation → core-information-geometry: 0 conceptual topic relationsgeometric-mechanics-notation → core-thermodynamics: 0 conceptual topic relationsgeometric-mechanics-notation → measure-bayesian-inversion: 0 conceptual topic relationsgeometric-mechanics-notation → variational-duality-and-information-bounds: 0 conceptual topic relationsgeometric-mechanics-notation → control-and-planning-as-inference: 0 conceptual topic relationsgeometric-mechanics-notation → temporal-and-hierarchical-inference: 0 conceptual topic relationsgeometric-mechanics-notation → causal-blankets-and-interventions: 0 conceptual topic relationsgeometric-mechanics-notation → predictive-coding-and-generalized-coordinates: 0 conceptual topic relationsgeometric-mechanics-notation → path-space-stochastic-thermodynamics: 0 conceptual topic relationsgeometric-mechanics-notation → information-geometry-and-geometric-optimization: 0 conceptual topic relationsgeometric-mechanics-notation → collective-and-multiagent-active-inference: 0 conceptual topic relationsgeometric-mechanics-notation → learning-concentration-and-model-evidence: 0 conceptual topic relationsgeometric-mechanics-notation → finite-sample-risk-and-calibration: 0 conceptual topic relationsgeometric-mechanics-notation → closed-loop-policy-trees-and-efe: 0 conceptual topic relationsgeometric-mechanics-notation → finite-to-native-blanket-transfer: 0 conceptual topic relationsgeometric-mechanics-notation → finite-exponential-family-dual-geometry: 0 conceptual topic relationsgeometric-mechanics-notation → two-state-continuous-time-thermodynamics: 0 conceptual topic relationsgeometric-mechanics-notation → standalone-efe-formalizations: 0 conceptual topic relationsgeometric-mechanics-notation → geometric-mechanics-notation: 0 conceptual topic relationsFamily key (the exact topic graph remains in the accessible HTML table)F01 · core-free-energyF02 · core-active-inferenceF03 · core-bayesian-mechanicsF04 · core-information-geometryF05 · core-thermodynamicsF06 · measure-bayesian-inversionF07 · variational-duality-and-information-boundsF08 · control-and-planning-as-inferenceF09 · temporal-and-hierarchical-inferenceF10 · causal-blankets-and-interventionsF11 · predictive-coding-and-generalized-coordinatesF12 · path-space-stochastic-thermodynamicsF13 · information-geometry-and-geometric-optimizationF14 · collective-and-multiagent-active-inferenceF15 · learning-concentration-and-model-evidenceF16 · finite-sample-risk-and-calibrationF17 · closed-loop-policy-trees-and-efeF18 · finite-to-native-blanket-transferF19 · finite-exponential-family-dual-geometryF20 · two-state-continuous-time-thermodynamicsF21 · standalone-efe-formalizationsF22 · geometric-mechanics-notationEditorial upstream affinities · no formal edge or native acceptanceupstream-140 ···→ F06: Match priors, noise, memory and stopping rules.upstream-221 ···→ F14: Product laws do not imply a disorder thermodynamic limit.upstream-222 ···→ F07: Separate finiteness from limiting pressure and bounded-potential assumptions.upstream-360 ···→ F04: Fisher information does not imply MTW curvature.upstream-374 ···→ F18: Match compact carriers, map norms and transport cost. +Typed authored relation adjacency matricesThree directed adjacency matrices aggregate exact topic edges by family. Rows are sources, columns are targets. Numbers count original edges, not family theorems. Formal, theorem pairing and conceptual kinds remain separate. Editorial upstream affinities are listed in a fourth separate band. Exact topic endpoints and witnesses are available in the HTML table.Authored relation graph · source rows → target columnsCell counts aggregate canonical topic edges, not family-level proofs or inferred implications.formalF01F01core-free-energy → core-free-energy: 2 formal topic relationscore-free-energy → core-free-energy: 2 formal topic relations2core-free-energy → core-active-inference: 1 formal topic relationscore-free-energy → core-active-inference: 1 formal topic relations1core-free-energy → core-bayesian-mechanics: 1 formal topic relationscore-free-energy → core-bayesian-mechanics: 1 formal topic relations1core-free-energy → core-information-geometry: 1 formal topic relationscore-free-energy → core-information-geometry: 1 formal topic relations1core-free-energy → core-thermodynamics: 0 formal topic relationscore-free-energy → measure-bayesian-inversion: 0 formal topic relationscore-free-energy → variational-duality-and-information-bounds: 0 formal topic relationscore-free-energy → control-and-planning-as-inference: 0 formal topic relationscore-free-energy → temporal-and-hierarchical-inference: 0 formal topic relationscore-free-energy → causal-blankets-and-interventions: 0 formal topic relationscore-free-energy → predictive-coding-and-generalized-coordinates: 0 formal topic relationscore-free-energy → path-space-stochastic-thermodynamics: 0 formal topic relationscore-free-energy → information-geometry-and-geometric-optimization: 0 formal topic relationscore-free-energy → collective-and-multiagent-active-inference: 0 formal topic relationscore-free-energy → learning-concentration-and-model-evidence: 0 formal topic relationscore-free-energy → finite-sample-risk-and-calibration: 0 formal topic relationscore-free-energy → closed-loop-policy-trees-and-efe: 0 formal topic relationscore-free-energy → finite-to-native-blanket-transfer: 0 formal topic relationscore-free-energy → finite-exponential-family-dual-geometry: 0 formal topic relationscore-free-energy → two-state-continuous-time-thermodynamics: 0 formal topic relationscore-free-energy → standalone-efe-formalizations: 0 formal topic relationscore-free-energy → geometric-mechanics-notation: 0 formal topic relationsF02F02core-active-inference → core-free-energy: 0 formal topic relationscore-active-inference → core-active-inference: 3 formal topic relationscore-active-inference → core-active-inference: 3 formal topic relations3core-active-inference → core-bayesian-mechanics: 1 formal topic relationscore-active-inference → core-bayesian-mechanics: 1 formal topic relations1core-active-inference → core-information-geometry: 1 formal topic relationscore-active-inference → core-information-geometry: 1 formal topic relations1core-active-inference → core-thermodynamics: 0 formal topic relationscore-active-inference → measure-bayesian-inversion: 0 formal topic relationscore-active-inference → variational-duality-and-information-bounds: 0 formal topic relationscore-active-inference → control-and-planning-as-inference: 0 formal topic relationscore-active-inference → temporal-and-hierarchical-inference: 0 formal topic relationscore-active-inference → causal-blankets-and-interventions: 0 formal topic relationscore-active-inference → predictive-coding-and-generalized-coordinates: 0 formal topic relationscore-active-inference → path-space-stochastic-thermodynamics: 0 formal topic relationscore-active-inference → information-geometry-and-geometric-optimization: 0 formal topic relationscore-active-inference → collective-and-multiagent-active-inference: 0 formal topic relationscore-active-inference → learning-concentration-and-model-evidence: 0 formal topic relationscore-active-inference → finite-sample-risk-and-calibration: 0 formal topic relationscore-active-inference → closed-loop-policy-trees-and-efe: 0 formal topic relationscore-active-inference → finite-to-native-blanket-transfer: 0 formal topic relationscore-active-inference → finite-exponential-family-dual-geometry: 0 formal topic relationscore-active-inference → two-state-continuous-time-thermodynamics: 0 formal topic relationscore-active-inference → standalone-efe-formalizations: 0 formal topic relationscore-active-inference → geometric-mechanics-notation: 0 formal topic relationsF03F03core-bayesian-mechanics → core-free-energy: 0 formal topic relationscore-bayesian-mechanics → core-active-inference: 0 formal topic relationscore-bayesian-mechanics → core-bayesian-mechanics: 5 formal topic relationscore-bayesian-mechanics → core-bayesian-mechanics: 5 formal topic relations5core-bayesian-mechanics → core-information-geometry: 0 formal topic relationscore-bayesian-mechanics → core-thermodynamics: 0 formal topic relationscore-bayesian-mechanics → measure-bayesian-inversion: 0 formal topic relationscore-bayesian-mechanics → variational-duality-and-information-bounds: 0 formal topic relationscore-bayesian-mechanics → control-and-planning-as-inference: 0 formal topic relationscore-bayesian-mechanics → temporal-and-hierarchical-inference: 0 formal topic relationscore-bayesian-mechanics → causal-blankets-and-interventions: 0 formal topic relationscore-bayesian-mechanics → predictive-coding-and-generalized-coordinates: 0 formal topic relationscore-bayesian-mechanics → path-space-stochastic-thermodynamics: 0 formal topic relationscore-bayesian-mechanics → information-geometry-and-geometric-optimization: 0 formal topic relationscore-bayesian-mechanics → collective-and-multiagent-active-inference: 0 formal topic relationscore-bayesian-mechanics → learning-concentration-and-model-evidence: 0 formal topic relationscore-bayesian-mechanics → finite-sample-risk-and-calibration: 0 formal topic relationscore-bayesian-mechanics → closed-loop-policy-trees-and-efe: 0 formal topic relationscore-bayesian-mechanics → finite-to-native-blanket-transfer: 0 formal topic relationscore-bayesian-mechanics → finite-exponential-family-dual-geometry: 0 formal topic relationscore-bayesian-mechanics → two-state-continuous-time-thermodynamics: 0 formal topic relationscore-bayesian-mechanics → standalone-efe-formalizations: 0 formal topic relationscore-bayesian-mechanics → geometric-mechanics-notation: 0 formal topic relationsF04F04core-information-geometry → core-free-energy: 0 formal topic relationscore-information-geometry → core-active-inference: 0 formal topic relationscore-information-geometry → core-bayesian-mechanics: 0 formal topic relationscore-information-geometry → core-information-geometry: 2 formal topic relationscore-information-geometry → core-information-geometry: 2 formal topic relations2core-information-geometry → core-thermodynamics: 0 formal topic relationscore-information-geometry → measure-bayesian-inversion: 0 formal topic relationscore-information-geometry → variational-duality-and-information-bounds: 0 formal topic relationscore-information-geometry → control-and-planning-as-inference: 0 formal topic relationscore-information-geometry → temporal-and-hierarchical-inference: 0 formal topic relationscore-information-geometry → causal-blankets-and-interventions: 0 formal topic relationscore-information-geometry → predictive-coding-and-generalized-coordinates: 0 formal topic relationscore-information-geometry → path-space-stochastic-thermodynamics: 0 formal topic relationscore-information-geometry → information-geometry-and-geometric-optimization: 1 formal topic relationscore-information-geometry → information-geometry-and-geometric-optimization: 1 formal topic relations1core-information-geometry → collective-and-multiagent-active-inference: 0 formal topic relationscore-information-geometry → learning-concentration-and-model-evidence: 0 formal topic relationscore-information-geometry → finite-sample-risk-and-calibration: 0 formal topic relationscore-information-geometry → closed-loop-policy-trees-and-efe: 0 formal topic relationscore-information-geometry → finite-to-native-blanket-transfer: 0 formal topic relationscore-information-geometry → finite-exponential-family-dual-geometry: 0 formal topic relationscore-information-geometry → two-state-continuous-time-thermodynamics: 0 formal topic relationscore-information-geometry → standalone-efe-formalizations: 0 formal topic relationscore-information-geometry → geometric-mechanics-notation: 0 formal topic relationsF05F05core-thermodynamics → core-free-energy: 0 formal topic relationscore-thermodynamics → core-active-inference: 0 formal topic relationscore-thermodynamics → core-bayesian-mechanics: 2 formal topic relationscore-thermodynamics → core-bayesian-mechanics: 2 formal topic relations2core-thermodynamics → core-information-geometry: 0 formal topic relationscore-thermodynamics → core-thermodynamics: 3 formal topic relationscore-thermodynamics → core-thermodynamics: 3 formal topic relations3core-thermodynamics → measure-bayesian-inversion: 0 formal topic relationscore-thermodynamics → variational-duality-and-information-bounds: 0 formal topic relationscore-thermodynamics → control-and-planning-as-inference: 0 formal topic relationscore-thermodynamics → temporal-and-hierarchical-inference: 0 formal topic relationscore-thermodynamics → causal-blankets-and-interventions: 0 formal topic relationscore-thermodynamics → predictive-coding-and-generalized-coordinates: 0 formal topic relationscore-thermodynamics → path-space-stochastic-thermodynamics: 0 formal topic relationscore-thermodynamics → information-geometry-and-geometric-optimization: 0 formal topic relationscore-thermodynamics → collective-and-multiagent-active-inference: 0 formal topic relationscore-thermodynamics → learning-concentration-and-model-evidence: 0 formal topic relationscore-thermodynamics → finite-sample-risk-and-calibration: 0 formal topic relationscore-thermodynamics → closed-loop-policy-trees-and-efe: 0 formal topic relationscore-thermodynamics → finite-to-native-blanket-transfer: 0 formal topic relationscore-thermodynamics → finite-exponential-family-dual-geometry: 0 formal topic relationscore-thermodynamics → two-state-continuous-time-thermodynamics: 0 formal topic relationscore-thermodynamics → standalone-efe-formalizations: 0 formal topic relationscore-thermodynamics → geometric-mechanics-notation: 0 formal topic relationsF06F06measure-bayesian-inversion → core-free-energy: 0 formal topic relationsmeasure-bayesian-inversion → core-active-inference: 0 formal topic relationsmeasure-bayesian-inversion → core-bayesian-mechanics: 0 formal topic relationsmeasure-bayesian-inversion → core-information-geometry: 0 formal topic relationsmeasure-bayesian-inversion → core-thermodynamics: 0 formal topic relationsmeasure-bayesian-inversion → measure-bayesian-inversion: 0 formal topic relationsmeasure-bayesian-inversion → variational-duality-and-information-bounds: 0 formal topic relationsmeasure-bayesian-inversion → control-and-planning-as-inference: 0 formal topic relationsmeasure-bayesian-inversion → temporal-and-hierarchical-inference: 0 formal topic relationsmeasure-bayesian-inversion → causal-blankets-and-interventions: 0 formal topic relationsmeasure-bayesian-inversion → predictive-coding-and-generalized-coordinates: 0 formal topic relationsmeasure-bayesian-inversion → path-space-stochastic-thermodynamics: 0 formal topic relationsmeasure-bayesian-inversion → information-geometry-and-geometric-optimization: 0 formal topic relationsmeasure-bayesian-inversion → collective-and-multiagent-active-inference: 0 formal topic relationsmeasure-bayesian-inversion → learning-concentration-and-model-evidence: 0 formal topic relationsmeasure-bayesian-inversion → finite-sample-risk-and-calibration: 0 formal topic relationsmeasure-bayesian-inversion → closed-loop-policy-trees-and-efe: 0 formal topic relationsmeasure-bayesian-inversion → finite-to-native-blanket-transfer: 0 formal topic relationsmeasure-bayesian-inversion → finite-exponential-family-dual-geometry: 0 formal topic relationsmeasure-bayesian-inversion → two-state-continuous-time-thermodynamics: 0 formal topic relationsmeasure-bayesian-inversion → standalone-efe-formalizations: 0 formal topic relationsmeasure-bayesian-inversion → geometric-mechanics-notation: 0 formal topic relationsF07F07variational-duality-and-information-bounds → core-free-energy: 1 formal topic relationsvariational-duality-and-information-bounds → core-free-energy: 1 formal topic relations1variational-duality-and-information-bounds → core-active-inference: 0 formal topic relationsvariational-duality-and-information-bounds → core-bayesian-mechanics: 0 formal topic relationsvariational-duality-and-information-bounds → core-information-geometry: 0 formal topic relationsvariational-duality-and-information-bounds → core-thermodynamics: 0 formal topic relationsvariational-duality-and-information-bounds → measure-bayesian-inversion: 0 formal topic relationsvariational-duality-and-information-bounds → variational-duality-and-information-bounds: 0 formal topic relationsvariational-duality-and-information-bounds → control-and-planning-as-inference: 0 formal topic relationsvariational-duality-and-information-bounds → temporal-and-hierarchical-inference: 0 formal topic relationsvariational-duality-and-information-bounds → causal-blankets-and-interventions: 0 formal topic relationsvariational-duality-and-information-bounds → predictive-coding-and-generalized-coordinates: 0 formal topic relationsvariational-duality-and-information-bounds → path-space-stochastic-thermodynamics: 0 formal topic relationsvariational-duality-and-information-bounds → information-geometry-and-geometric-optimization: 0 formal topic relationsvariational-duality-and-information-bounds → collective-and-multiagent-active-inference: 0 formal topic relationsvariational-duality-and-information-bounds → learning-concentration-and-model-evidence: 0 formal topic relationsvariational-duality-and-information-bounds → finite-sample-risk-and-calibration: 0 formal topic relationsvariational-duality-and-information-bounds → closed-loop-policy-trees-and-efe: 0 formal topic relationsvariational-duality-and-information-bounds → finite-to-native-blanket-transfer: 0 formal topic relationsvariational-duality-and-information-bounds → finite-exponential-family-dual-geometry: 0 formal topic relationsvariational-duality-and-information-bounds → two-state-continuous-time-thermodynamics: 0 formal topic relationsvariational-duality-and-information-bounds → standalone-efe-formalizations: 0 formal topic relationsvariational-duality-and-information-bounds → geometric-mechanics-notation: 0 formal topic relationsF08F08control-and-planning-as-inference → core-free-energy: 0 formal topic relationscontrol-and-planning-as-inference → core-active-inference: 0 formal topic relationscontrol-and-planning-as-inference → core-bayesian-mechanics: 0 formal topic relationscontrol-and-planning-as-inference → core-information-geometry: 0 formal topic relationscontrol-and-planning-as-inference → core-thermodynamics: 0 formal topic relationscontrol-and-planning-as-inference → measure-bayesian-inversion: 0 formal topic relationscontrol-and-planning-as-inference → variational-duality-and-information-bounds: 0 formal topic relationscontrol-and-planning-as-inference → control-and-planning-as-inference: 0 formal topic relationscontrol-and-planning-as-inference → temporal-and-hierarchical-inference: 0 formal topic relationscontrol-and-planning-as-inference → causal-blankets-and-interventions: 0 formal topic relationscontrol-and-planning-as-inference → predictive-coding-and-generalized-coordinates: 0 formal topic relationscontrol-and-planning-as-inference → path-space-stochastic-thermodynamics: 0 formal topic relationscontrol-and-planning-as-inference → information-geometry-and-geometric-optimization: 0 formal topic relationscontrol-and-planning-as-inference → collective-and-multiagent-active-inference: 0 formal topic relationscontrol-and-planning-as-inference → learning-concentration-and-model-evidence: 0 formal topic relationscontrol-and-planning-as-inference → finite-sample-risk-and-calibration: 0 formal topic relationscontrol-and-planning-as-inference → closed-loop-policy-trees-and-efe: 0 formal topic relationscontrol-and-planning-as-inference → finite-to-native-blanket-transfer: 0 formal topic relationscontrol-and-planning-as-inference → finite-exponential-family-dual-geometry: 0 formal topic relationscontrol-and-planning-as-inference → two-state-continuous-time-thermodynamics: 0 formal topic relationscontrol-and-planning-as-inference → standalone-efe-formalizations: 0 formal topic relationscontrol-and-planning-as-inference → geometric-mechanics-notation: 0 formal topic relationsF09F09temporal-and-hierarchical-inference → core-free-energy: 0 formal topic relationstemporal-and-hierarchical-inference → core-active-inference: 0 formal topic relationstemporal-and-hierarchical-inference → core-bayesian-mechanics: 0 formal topic relationstemporal-and-hierarchical-inference → core-information-geometry: 0 formal topic relationstemporal-and-hierarchical-inference → core-thermodynamics: 0 formal topic relationstemporal-and-hierarchical-inference → measure-bayesian-inversion: 0 formal topic relationstemporal-and-hierarchical-inference → variational-duality-and-information-bounds: 0 formal topic relationstemporal-and-hierarchical-inference → control-and-planning-as-inference: 0 formal topic relationstemporal-and-hierarchical-inference → temporal-and-hierarchical-inference: 0 formal topic relationstemporal-and-hierarchical-inference → causal-blankets-and-interventions: 0 formal topic relationstemporal-and-hierarchical-inference → predictive-coding-and-generalized-coordinates: 0 formal topic relationstemporal-and-hierarchical-inference → path-space-stochastic-thermodynamics: 0 formal topic relationstemporal-and-hierarchical-inference → information-geometry-and-geometric-optimization: 0 formal topic relationstemporal-and-hierarchical-inference → collective-and-multiagent-active-inference: 0 formal topic relationstemporal-and-hierarchical-inference → learning-concentration-and-model-evidence: 0 formal topic relationstemporal-and-hierarchical-inference → finite-sample-risk-and-calibration: 0 formal topic relationstemporal-and-hierarchical-inference → closed-loop-policy-trees-and-efe: 0 formal topic relationstemporal-and-hierarchical-inference → finite-to-native-blanket-transfer: 0 formal topic relationstemporal-and-hierarchical-inference → finite-exponential-family-dual-geometry: 0 formal topic relationstemporal-and-hierarchical-inference → two-state-continuous-time-thermodynamics: 0 formal topic relationstemporal-and-hierarchical-inference → standalone-efe-formalizations: 0 formal topic relationstemporal-and-hierarchical-inference → geometric-mechanics-notation: 0 formal topic relationsF10F10causal-blankets-and-interventions → core-free-energy: 0 formal topic relationscausal-blankets-and-interventions → core-active-inference: 0 formal topic relationscausal-blankets-and-interventions → core-bayesian-mechanics: 0 formal topic relationscausal-blankets-and-interventions → core-information-geometry: 0 formal topic relationscausal-blankets-and-interventions → core-thermodynamics: 0 formal topic relationscausal-blankets-and-interventions → measure-bayesian-inversion: 0 formal topic relationscausal-blankets-and-interventions → variational-duality-and-information-bounds: 0 formal topic relationscausal-blankets-and-interventions → control-and-planning-as-inference: 0 formal topic relationscausal-blankets-and-interventions → temporal-and-hierarchical-inference: 0 formal topic relationscausal-blankets-and-interventions → causal-blankets-and-interventions: 0 formal topic relationscausal-blankets-and-interventions → predictive-coding-and-generalized-coordinates: 0 formal topic relationscausal-blankets-and-interventions → path-space-stochastic-thermodynamics: 0 formal topic relationscausal-blankets-and-interventions → information-geometry-and-geometric-optimization: 0 formal topic relationscausal-blankets-and-interventions → collective-and-multiagent-active-inference: 0 formal topic relationscausal-blankets-and-interventions → learning-concentration-and-model-evidence: 0 formal topic relationscausal-blankets-and-interventions → finite-sample-risk-and-calibration: 0 formal topic relationscausal-blankets-and-interventions → closed-loop-policy-trees-and-efe: 0 formal topic relationscausal-blankets-and-interventions → finite-to-native-blanket-transfer: 0 formal topic relationscausal-blankets-and-interventions → finite-exponential-family-dual-geometry: 0 formal topic relationscausal-blankets-and-interventions → two-state-continuous-time-thermodynamics: 0 formal topic relationscausal-blankets-and-interventions → standalone-efe-formalizations: 0 formal topic relationscausal-blankets-and-interventions → geometric-mechanics-notation: 0 formal topic relationsF11F11predictive-coding-and-generalized-coordinates → core-free-energy: 0 formal topic relationspredictive-coding-and-generalized-coordinates → core-active-inference: 0 formal topic relationspredictive-coding-and-generalized-coordinates → core-bayesian-mechanics: 0 formal topic relationspredictive-coding-and-generalized-coordinates → core-information-geometry: 0 formal topic relationspredictive-coding-and-generalized-coordinates → core-thermodynamics: 0 formal topic relationspredictive-coding-and-generalized-coordinates → measure-bayesian-inversion: 0 formal topic relationspredictive-coding-and-generalized-coordinates → variational-duality-and-information-bounds: 0 formal topic relationspredictive-coding-and-generalized-coordinates → control-and-planning-as-inference: 0 formal topic relationspredictive-coding-and-generalized-coordinates → temporal-and-hierarchical-inference: 0 formal topic relationspredictive-coding-and-generalized-coordinates → causal-blankets-and-interventions: 0 formal topic relationspredictive-coding-and-generalized-coordinates → predictive-coding-and-generalized-coordinates: 0 formal topic relationspredictive-coding-and-generalized-coordinates → path-space-stochastic-thermodynamics: 0 formal topic relationspredictive-coding-and-generalized-coordinates → information-geometry-and-geometric-optimization: 0 formal topic relationspredictive-coding-and-generalized-coordinates → collective-and-multiagent-active-inference: 0 formal topic relationspredictive-coding-and-generalized-coordinates → learning-concentration-and-model-evidence: 0 formal topic relationspredictive-coding-and-generalized-coordinates → finite-sample-risk-and-calibration: 0 formal topic relationspredictive-coding-and-generalized-coordinates → closed-loop-policy-trees-and-efe: 0 formal topic relationspredictive-coding-and-generalized-coordinates → finite-to-native-blanket-transfer: 0 formal topic relationspredictive-coding-and-generalized-coordinates → finite-exponential-family-dual-geometry: 0 formal topic relationspredictive-coding-and-generalized-coordinates → two-state-continuous-time-thermodynamics: 0 formal topic relationspredictive-coding-and-generalized-coordinates → standalone-efe-formalizations: 0 formal topic relationspredictive-coding-and-generalized-coordinates → geometric-mechanics-notation: 0 formal topic relationsF12F12path-space-stochastic-thermodynamics → core-free-energy: 0 formal topic relationspath-space-stochastic-thermodynamics → core-active-inference: 0 formal topic relationspath-space-stochastic-thermodynamics → core-bayesian-mechanics: 0 formal topic relationspath-space-stochastic-thermodynamics → core-information-geometry: 0 formal topic relationspath-space-stochastic-thermodynamics → core-thermodynamics: 0 formal topic relationspath-space-stochastic-thermodynamics → measure-bayesian-inversion: 0 formal topic relationspath-space-stochastic-thermodynamics → variational-duality-and-information-bounds: 0 formal topic relationspath-space-stochastic-thermodynamics → control-and-planning-as-inference: 0 formal topic relationspath-space-stochastic-thermodynamics → temporal-and-hierarchical-inference: 0 formal topic relationspath-space-stochastic-thermodynamics → causal-blankets-and-interventions: 0 formal topic relationspath-space-stochastic-thermodynamics → predictive-coding-and-generalized-coordinates: 0 formal topic relationspath-space-stochastic-thermodynamics → path-space-stochastic-thermodynamics: 0 formal topic relationspath-space-stochastic-thermodynamics → information-geometry-and-geometric-optimization: 0 formal topic relationspath-space-stochastic-thermodynamics → collective-and-multiagent-active-inference: 0 formal topic relationspath-space-stochastic-thermodynamics → learning-concentration-and-model-evidence: 0 formal topic relationspath-space-stochastic-thermodynamics → finite-sample-risk-and-calibration: 0 formal topic relationspath-space-stochastic-thermodynamics → closed-loop-policy-trees-and-efe: 0 formal topic relationspath-space-stochastic-thermodynamics → finite-to-native-blanket-transfer: 0 formal topic relationspath-space-stochastic-thermodynamics → finite-exponential-family-dual-geometry: 0 formal topic relationspath-space-stochastic-thermodynamics → two-state-continuous-time-thermodynamics: 0 formal topic relationspath-space-stochastic-thermodynamics → standalone-efe-formalizations: 0 formal topic relationspath-space-stochastic-thermodynamics → geometric-mechanics-notation: 0 formal topic relationsF13F13information-geometry-and-geometric-optimization → core-free-energy: 0 formal topic relationsinformation-geometry-and-geometric-optimization → core-active-inference: 0 formal topic relationsinformation-geometry-and-geometric-optimization → core-bayesian-mechanics: 0 formal topic relationsinformation-geometry-and-geometric-optimization → core-information-geometry: 0 formal topic relationsinformation-geometry-and-geometric-optimization → core-thermodynamics: 0 formal topic relationsinformation-geometry-and-geometric-optimization → measure-bayesian-inversion: 0 formal topic relationsinformation-geometry-and-geometric-optimization → variational-duality-and-information-bounds: 0 formal topic relationsinformation-geometry-and-geometric-optimization → control-and-planning-as-inference: 0 formal topic relationsinformation-geometry-and-geometric-optimization → temporal-and-hierarchical-inference: 0 formal topic relationsinformation-geometry-and-geometric-optimization → causal-blankets-and-interventions: 0 formal topic relationsinformation-geometry-and-geometric-optimization → predictive-coding-and-generalized-coordinates: 0 formal topic relationsinformation-geometry-and-geometric-optimization → path-space-stochastic-thermodynamics: 0 formal topic relationsinformation-geometry-and-geometric-optimization → information-geometry-and-geometric-optimization: 0 formal topic relationsinformation-geometry-and-geometric-optimization → collective-and-multiagent-active-inference: 0 formal topic relationsinformation-geometry-and-geometric-optimization → learning-concentration-and-model-evidence: 0 formal topic relationsinformation-geometry-and-geometric-optimization → finite-sample-risk-and-calibration: 0 formal topic relationsinformation-geometry-and-geometric-optimization → closed-loop-policy-trees-and-efe: 0 formal topic relationsinformation-geometry-and-geometric-optimization → finite-to-native-blanket-transfer: 0 formal topic relationsinformation-geometry-and-geometric-optimization → finite-exponential-family-dual-geometry: 0 formal topic relationsinformation-geometry-and-geometric-optimization → two-state-continuous-time-thermodynamics: 0 formal topic relationsinformation-geometry-and-geometric-optimization → standalone-efe-formalizations: 0 formal topic relationsinformation-geometry-and-geometric-optimization → geometric-mechanics-notation: 0 formal topic relationsF14F14collective-and-multiagent-active-inference → core-free-energy: 0 formal topic relationscollective-and-multiagent-active-inference → core-active-inference: 0 formal topic relationscollective-and-multiagent-active-inference → core-bayesian-mechanics: 0 formal topic relationscollective-and-multiagent-active-inference → core-information-geometry: 0 formal topic relationscollective-and-multiagent-active-inference → core-thermodynamics: 0 formal topic relationscollective-and-multiagent-active-inference → measure-bayesian-inversion: 0 formal topic relationscollective-and-multiagent-active-inference → variational-duality-and-information-bounds: 0 formal topic relationscollective-and-multiagent-active-inference → control-and-planning-as-inference: 0 formal topic relationscollective-and-multiagent-active-inference → temporal-and-hierarchical-inference: 0 formal topic relationscollective-and-multiagent-active-inference → causal-blankets-and-interventions: 0 formal topic relationscollective-and-multiagent-active-inference → predictive-coding-and-generalized-coordinates: 0 formal topic relationscollective-and-multiagent-active-inference → path-space-stochastic-thermodynamics: 0 formal topic relationscollective-and-multiagent-active-inference → information-geometry-and-geometric-optimization: 0 formal topic relationscollective-and-multiagent-active-inference → collective-and-multiagent-active-inference: 0 formal topic relationscollective-and-multiagent-active-inference → learning-concentration-and-model-evidence: 0 formal topic relationscollective-and-multiagent-active-inference → finite-sample-risk-and-calibration: 0 formal topic relationscollective-and-multiagent-active-inference → closed-loop-policy-trees-and-efe: 0 formal topic relationscollective-and-multiagent-active-inference → finite-to-native-blanket-transfer: 0 formal topic relationscollective-and-multiagent-active-inference → finite-exponential-family-dual-geometry: 0 formal topic relationscollective-and-multiagent-active-inference → two-state-continuous-time-thermodynamics: 0 formal topic relationscollective-and-multiagent-active-inference → standalone-efe-formalizations: 0 formal topic relationscollective-and-multiagent-active-inference → geometric-mechanics-notation: 0 formal topic relationsF15F15learning-concentration-and-model-evidence → core-free-energy: 0 formal topic relationslearning-concentration-and-model-evidence → core-active-inference: 0 formal topic relationslearning-concentration-and-model-evidence → core-bayesian-mechanics: 0 formal topic relationslearning-concentration-and-model-evidence → core-information-geometry: 0 formal topic relationslearning-concentration-and-model-evidence → core-thermodynamics: 0 formal topic relationslearning-concentration-and-model-evidence → measure-bayesian-inversion: 0 formal topic relationslearning-concentration-and-model-evidence → variational-duality-and-information-bounds: 0 formal topic relationslearning-concentration-and-model-evidence → control-and-planning-as-inference: 0 formal topic relationslearning-concentration-and-model-evidence → temporal-and-hierarchical-inference: 0 formal topic relationslearning-concentration-and-model-evidence → causal-blankets-and-interventions: 0 formal topic relationslearning-concentration-and-model-evidence → predictive-coding-and-generalized-coordinates: 0 formal topic relationslearning-concentration-and-model-evidence → path-space-stochastic-thermodynamics: 0 formal topic relationslearning-concentration-and-model-evidence → information-geometry-and-geometric-optimization: 0 formal topic relationslearning-concentration-and-model-evidence → collective-and-multiagent-active-inference: 0 formal topic relationslearning-concentration-and-model-evidence → learning-concentration-and-model-evidence: 0 formal topic relationslearning-concentration-and-model-evidence → finite-sample-risk-and-calibration: 0 formal topic relationslearning-concentration-and-model-evidence → closed-loop-policy-trees-and-efe: 0 formal topic relationslearning-concentration-and-model-evidence → finite-to-native-blanket-transfer: 0 formal topic relationslearning-concentration-and-model-evidence → finite-exponential-family-dual-geometry: 0 formal topic relationslearning-concentration-and-model-evidence → two-state-continuous-time-thermodynamics: 0 formal topic relationslearning-concentration-and-model-evidence → standalone-efe-formalizations: 0 formal topic relationslearning-concentration-and-model-evidence → geometric-mechanics-notation: 0 formal topic relationsF16F16finite-sample-risk-and-calibration → core-free-energy: 0 formal topic relationsfinite-sample-risk-and-calibration → core-active-inference: 0 formal topic relationsfinite-sample-risk-and-calibration → core-bayesian-mechanics: 0 formal topic relationsfinite-sample-risk-and-calibration → core-information-geometry: 0 formal topic relationsfinite-sample-risk-and-calibration → core-thermodynamics: 0 formal topic relationsfinite-sample-risk-and-calibration → measure-bayesian-inversion: 0 formal topic relationsfinite-sample-risk-and-calibration → variational-duality-and-information-bounds: 0 formal topic relationsfinite-sample-risk-and-calibration → control-and-planning-as-inference: 0 formal topic relationsfinite-sample-risk-and-calibration → temporal-and-hierarchical-inference: 0 formal topic relationsfinite-sample-risk-and-calibration → causal-blankets-and-interventions: 0 formal topic relationsfinite-sample-risk-and-calibration → predictive-coding-and-generalized-coordinates: 0 formal topic relationsfinite-sample-risk-and-calibration → path-space-stochastic-thermodynamics: 0 formal topic relationsfinite-sample-risk-and-calibration → information-geometry-and-geometric-optimization: 0 formal topic relationsfinite-sample-risk-and-calibration → collective-and-multiagent-active-inference: 0 formal topic relationsfinite-sample-risk-and-calibration → learning-concentration-and-model-evidence: 0 formal topic relationsfinite-sample-risk-and-calibration → finite-sample-risk-and-calibration: 0 formal topic relationsfinite-sample-risk-and-calibration → closed-loop-policy-trees-and-efe: 0 formal topic relationsfinite-sample-risk-and-calibration → finite-to-native-blanket-transfer: 0 formal topic relationsfinite-sample-risk-and-calibration → finite-exponential-family-dual-geometry: 0 formal topic relationsfinite-sample-risk-and-calibration → two-state-continuous-time-thermodynamics: 0 formal topic relationsfinite-sample-risk-and-calibration → standalone-efe-formalizations: 0 formal topic relationsfinite-sample-risk-and-calibration → geometric-mechanics-notation: 0 formal topic relationsF17F17closed-loop-policy-trees-and-efe → core-free-energy: 0 formal topic relationsclosed-loop-policy-trees-and-efe → core-active-inference: 0 formal topic relationsclosed-loop-policy-trees-and-efe → core-bayesian-mechanics: 0 formal topic relationsclosed-loop-policy-trees-and-efe → core-information-geometry: 0 formal topic relationsclosed-loop-policy-trees-and-efe → core-thermodynamics: 0 formal topic relationsclosed-loop-policy-trees-and-efe → measure-bayesian-inversion: 0 formal topic relationsclosed-loop-policy-trees-and-efe → variational-duality-and-information-bounds: 0 formal topic relationsclosed-loop-policy-trees-and-efe → control-and-planning-as-inference: 0 formal topic relationsclosed-loop-policy-trees-and-efe → temporal-and-hierarchical-inference: 0 formal topic relationsclosed-loop-policy-trees-and-efe → causal-blankets-and-interventions: 0 formal topic relationsclosed-loop-policy-trees-and-efe → predictive-coding-and-generalized-coordinates: 0 formal topic relationsclosed-loop-policy-trees-and-efe → path-space-stochastic-thermodynamics: 0 formal topic relationsclosed-loop-policy-trees-and-efe → information-geometry-and-geometric-optimization: 0 formal topic relationsclosed-loop-policy-trees-and-efe → collective-and-multiagent-active-inference: 0 formal topic relationsclosed-loop-policy-trees-and-efe → learning-concentration-and-model-evidence: 0 formal topic relationsclosed-loop-policy-trees-and-efe → finite-sample-risk-and-calibration: 0 formal topic relationsclosed-loop-policy-trees-and-efe → closed-loop-policy-trees-and-efe: 0 formal topic relationsclosed-loop-policy-trees-and-efe → finite-to-native-blanket-transfer: 0 formal topic relationsclosed-loop-policy-trees-and-efe → finite-exponential-family-dual-geometry: 0 formal topic relationsclosed-loop-policy-trees-and-efe → two-state-continuous-time-thermodynamics: 0 formal topic relationsclosed-loop-policy-trees-and-efe → standalone-efe-formalizations: 0 formal topic relationsclosed-loop-policy-trees-and-efe → geometric-mechanics-notation: 0 formal topic relationsF18F18finite-to-native-blanket-transfer → core-free-energy: 0 formal topic relationsfinite-to-native-blanket-transfer → core-active-inference: 0 formal topic relationsfinite-to-native-blanket-transfer → core-bayesian-mechanics: 0 formal topic relationsfinite-to-native-blanket-transfer → core-information-geometry: 0 formal topic relationsfinite-to-native-blanket-transfer → core-thermodynamics: 0 formal topic relationsfinite-to-native-blanket-transfer → measure-bayesian-inversion: 0 formal topic relationsfinite-to-native-blanket-transfer → variational-duality-and-information-bounds: 0 formal topic relationsfinite-to-native-blanket-transfer → control-and-planning-as-inference: 0 formal topic relationsfinite-to-native-blanket-transfer → temporal-and-hierarchical-inference: 0 formal topic relationsfinite-to-native-blanket-transfer → causal-blankets-and-interventions: 0 formal topic relationsfinite-to-native-blanket-transfer → predictive-coding-and-generalized-coordinates: 0 formal topic relationsfinite-to-native-blanket-transfer → path-space-stochastic-thermodynamics: 0 formal topic relationsfinite-to-native-blanket-transfer → information-geometry-and-geometric-optimization: 0 formal topic relationsfinite-to-native-blanket-transfer → collective-and-multiagent-active-inference: 0 formal topic relationsfinite-to-native-blanket-transfer → learning-concentration-and-model-evidence: 0 formal topic relationsfinite-to-native-blanket-transfer → finite-sample-risk-and-calibration: 0 formal topic relationsfinite-to-native-blanket-transfer → closed-loop-policy-trees-and-efe: 0 formal topic relationsfinite-to-native-blanket-transfer → finite-to-native-blanket-transfer: 0 formal topic relationsfinite-to-native-blanket-transfer → finite-exponential-family-dual-geometry: 0 formal topic relationsfinite-to-native-blanket-transfer → two-state-continuous-time-thermodynamics: 0 formal topic relationsfinite-to-native-blanket-transfer → standalone-efe-formalizations: 0 formal topic relationsfinite-to-native-blanket-transfer → geometric-mechanics-notation: 0 formal topic relationsF19F19finite-exponential-family-dual-geometry → core-free-energy: 0 formal topic relationsfinite-exponential-family-dual-geometry → core-active-inference: 0 formal topic relationsfinite-exponential-family-dual-geometry → core-bayesian-mechanics: 0 formal topic relationsfinite-exponential-family-dual-geometry → core-information-geometry: 0 formal topic relationsfinite-exponential-family-dual-geometry → core-thermodynamics: 0 formal topic relationsfinite-exponential-family-dual-geometry → measure-bayesian-inversion: 0 formal topic relationsfinite-exponential-family-dual-geometry → variational-duality-and-information-bounds: 0 formal topic relationsfinite-exponential-family-dual-geometry → control-and-planning-as-inference: 0 formal topic relationsfinite-exponential-family-dual-geometry → temporal-and-hierarchical-inference: 0 formal topic relationsfinite-exponential-family-dual-geometry → causal-blankets-and-interventions: 0 formal topic relationsfinite-exponential-family-dual-geometry → predictive-coding-and-generalized-coordinates: 0 formal topic relationsfinite-exponential-family-dual-geometry → path-space-stochastic-thermodynamics: 0 formal topic relationsfinite-exponential-family-dual-geometry → information-geometry-and-geometric-optimization: 0 formal topic relationsfinite-exponential-family-dual-geometry → collective-and-multiagent-active-inference: 0 formal topic relationsfinite-exponential-family-dual-geometry → learning-concentration-and-model-evidence: 0 formal topic relationsfinite-exponential-family-dual-geometry → finite-sample-risk-and-calibration: 0 formal topic relationsfinite-exponential-family-dual-geometry → closed-loop-policy-trees-and-efe: 0 formal topic relationsfinite-exponential-family-dual-geometry → finite-to-native-blanket-transfer: 0 formal topic relationsfinite-exponential-family-dual-geometry → finite-exponential-family-dual-geometry: 0 formal topic relationsfinite-exponential-family-dual-geometry → two-state-continuous-time-thermodynamics: 0 formal topic relationsfinite-exponential-family-dual-geometry → standalone-efe-formalizations: 0 formal topic relationsfinite-exponential-family-dual-geometry → geometric-mechanics-notation: 0 formal topic relationsF20F20two-state-continuous-time-thermodynamics → core-free-energy: 0 formal topic relationstwo-state-continuous-time-thermodynamics → core-active-inference: 0 formal topic relationstwo-state-continuous-time-thermodynamics → core-bayesian-mechanics: 0 formal topic relationstwo-state-continuous-time-thermodynamics → core-information-geometry: 0 formal topic relationstwo-state-continuous-time-thermodynamics → core-thermodynamics: 0 formal topic relationstwo-state-continuous-time-thermodynamics → measure-bayesian-inversion: 0 formal topic relationstwo-state-continuous-time-thermodynamics → variational-duality-and-information-bounds: 0 formal topic relationstwo-state-continuous-time-thermodynamics → control-and-planning-as-inference: 0 formal topic relationstwo-state-continuous-time-thermodynamics → temporal-and-hierarchical-inference: 0 formal topic relationstwo-state-continuous-time-thermodynamics → causal-blankets-and-interventions: 0 formal topic relationstwo-state-continuous-time-thermodynamics → predictive-coding-and-generalized-coordinates: 0 formal topic relationstwo-state-continuous-time-thermodynamics → path-space-stochastic-thermodynamics: 0 formal topic relationstwo-state-continuous-time-thermodynamics → information-geometry-and-geometric-optimization: 0 formal topic relationstwo-state-continuous-time-thermodynamics → collective-and-multiagent-active-inference: 0 formal topic relationstwo-state-continuous-time-thermodynamics → learning-concentration-and-model-evidence: 0 formal topic relationstwo-state-continuous-time-thermodynamics → finite-sample-risk-and-calibration: 0 formal topic relationstwo-state-continuous-time-thermodynamics → closed-loop-policy-trees-and-efe: 0 formal topic relationstwo-state-continuous-time-thermodynamics → finite-to-native-blanket-transfer: 0 formal topic relationstwo-state-continuous-time-thermodynamics → finite-exponential-family-dual-geometry: 0 formal topic relationstwo-state-continuous-time-thermodynamics → two-state-continuous-time-thermodynamics: 0 formal topic relationstwo-state-continuous-time-thermodynamics → standalone-efe-formalizations: 0 formal topic relationstwo-state-continuous-time-thermodynamics → geometric-mechanics-notation: 0 formal topic relationsF21F21standalone-efe-formalizations → core-free-energy: 0 formal topic relationsstandalone-efe-formalizations → core-active-inference: 0 formal topic relationsstandalone-efe-formalizations → core-bayesian-mechanics: 0 formal topic relationsstandalone-efe-formalizations → core-information-geometry: 0 formal topic relationsstandalone-efe-formalizations → core-thermodynamics: 0 formal topic relationsstandalone-efe-formalizations → measure-bayesian-inversion: 0 formal topic relationsstandalone-efe-formalizations → variational-duality-and-information-bounds: 0 formal topic relationsstandalone-efe-formalizations → control-and-planning-as-inference: 0 formal topic relationsstandalone-efe-formalizations → temporal-and-hierarchical-inference: 0 formal topic relationsstandalone-efe-formalizations → causal-blankets-and-interventions: 0 formal topic relationsstandalone-efe-formalizations → predictive-coding-and-generalized-coordinates: 0 formal topic relationsstandalone-efe-formalizations → path-space-stochastic-thermodynamics: 0 formal topic relationsstandalone-efe-formalizations → information-geometry-and-geometric-optimization: 0 formal topic relationsstandalone-efe-formalizations → collective-and-multiagent-active-inference: 0 formal topic relationsstandalone-efe-formalizations → learning-concentration-and-model-evidence: 0 formal topic relationsstandalone-efe-formalizations → finite-sample-risk-and-calibration: 0 formal topic relationsstandalone-efe-formalizations → closed-loop-policy-trees-and-efe: 0 formal topic relationsstandalone-efe-formalizations → finite-to-native-blanket-transfer: 0 formal topic relationsstandalone-efe-formalizations → finite-exponential-family-dual-geometry: 0 formal topic relationsstandalone-efe-formalizations → two-state-continuous-time-thermodynamics: 0 formal topic relationsstandalone-efe-formalizations → standalone-efe-formalizations: 0 formal topic relationsstandalone-efe-formalizations → geometric-mechanics-notation: 0 formal topic relationsF22F22geometric-mechanics-notation → core-free-energy: 0 formal topic relationsgeometric-mechanics-notation → core-active-inference: 0 formal topic relationsgeometric-mechanics-notation → core-bayesian-mechanics: 0 formal topic relationsgeometric-mechanics-notation → core-information-geometry: 0 formal topic relationsgeometric-mechanics-notation → core-thermodynamics: 0 formal topic relationsgeometric-mechanics-notation → measure-bayesian-inversion: 0 formal topic relationsgeometric-mechanics-notation → variational-duality-and-information-bounds: 0 formal topic relationsgeometric-mechanics-notation → control-and-planning-as-inference: 0 formal topic relationsgeometric-mechanics-notation → temporal-and-hierarchical-inference: 0 formal topic relationsgeometric-mechanics-notation → causal-blankets-and-interventions: 0 formal topic relationsgeometric-mechanics-notation → predictive-coding-and-generalized-coordinates: 0 formal topic relationsgeometric-mechanics-notation → path-space-stochastic-thermodynamics: 0 formal topic relationsgeometric-mechanics-notation → information-geometry-and-geometric-optimization: 0 formal topic relationsgeometric-mechanics-notation → collective-and-multiagent-active-inference: 0 formal topic relationsgeometric-mechanics-notation → learning-concentration-and-model-evidence: 0 formal topic relationsgeometric-mechanics-notation → finite-sample-risk-and-calibration: 0 formal topic relationsgeometric-mechanics-notation → closed-loop-policy-trees-and-efe: 0 formal topic relationsgeometric-mechanics-notation → finite-to-native-blanket-transfer: 0 formal topic relationsgeometric-mechanics-notation → finite-exponential-family-dual-geometry: 0 formal topic relationsgeometric-mechanics-notation → two-state-continuous-time-thermodynamics: 0 formal topic relationsgeometric-mechanics-notation → standalone-efe-formalizations: 0 formal topic relationsgeometric-mechanics-notation → geometric-mechanics-notation: 0 formal topic relationsformal_pairingF01F01core-free-energy → core-free-energy: 0 formal_pairing topic relationscore-free-energy → core-active-inference: 0 formal_pairing topic relationscore-free-energy → core-bayesian-mechanics: 0 formal_pairing topic relationscore-free-energy → core-information-geometry: 0 formal_pairing topic relationscore-free-energy → core-thermodynamics: 0 formal_pairing topic relationscore-free-energy → measure-bayesian-inversion: 0 formal_pairing topic relationscore-free-energy → variational-duality-and-information-bounds: 0 formal_pairing topic relationscore-free-energy → control-and-planning-as-inference: 0 formal_pairing topic relationscore-free-energy → temporal-and-hierarchical-inference: 0 formal_pairing topic relationscore-free-energy → causal-blankets-and-interventions: 0 formal_pairing topic relationscore-free-energy → predictive-coding-and-generalized-coordinates: 0 formal_pairing topic relationscore-free-energy → path-space-stochastic-thermodynamics: 0 formal_pairing topic relationscore-free-energy → information-geometry-and-geometric-optimization: 0 formal_pairing topic relationscore-free-energy → collective-and-multiagent-active-inference: 0 formal_pairing topic relationscore-free-energy → learning-concentration-and-model-evidence: 0 formal_pairing topic relationscore-free-energy → finite-sample-risk-and-calibration: 0 formal_pairing topic relationscore-free-energy → closed-loop-policy-trees-and-efe: 0 formal_pairing topic relationscore-free-energy → finite-to-native-blanket-transfer: 0 formal_pairing topic relationscore-free-energy → finite-exponential-family-dual-geometry: 0 formal_pairing topic relationscore-free-energy → two-state-continuous-time-thermodynamics: 0 formal_pairing topic relationscore-free-energy → standalone-efe-formalizations: 0 formal_pairing topic relationscore-free-energy → geometric-mechanics-notation: 0 formal_pairing topic relationsF02F02core-active-inference → core-free-energy: 0 formal_pairing topic relationscore-active-inference → core-active-inference: 0 formal_pairing topic relationscore-active-inference → core-bayesian-mechanics: 0 formal_pairing topic relationscore-active-inference → core-information-geometry: 0 formal_pairing topic relationscore-active-inference → core-thermodynamics: 0 formal_pairing topic relationscore-active-inference → measure-bayesian-inversion: 0 formal_pairing topic relationscore-active-inference → variational-duality-and-information-bounds: 0 formal_pairing topic relationscore-active-inference → control-and-planning-as-inference: 0 formal_pairing topic relationscore-active-inference → temporal-and-hierarchical-inference: 0 formal_pairing topic relationscore-active-inference → causal-blankets-and-interventions: 0 formal_pairing topic relationscore-active-inference → predictive-coding-and-generalized-coordinates: 0 formal_pairing topic relationscore-active-inference → path-space-stochastic-thermodynamics: 0 formal_pairing topic relationscore-active-inference → information-geometry-and-geometric-optimization: 0 formal_pairing topic relationscore-active-inference → collective-and-multiagent-active-inference: 0 formal_pairing topic relationscore-active-inference → learning-concentration-and-model-evidence: 0 formal_pairing topic relationscore-active-inference → finite-sample-risk-and-calibration: 0 formal_pairing topic relationscore-active-inference → closed-loop-policy-trees-and-efe: 0 formal_pairing topic relationscore-active-inference → finite-to-native-blanket-transfer: 0 formal_pairing topic relationscore-active-inference → finite-exponential-family-dual-geometry: 0 formal_pairing topic relationscore-active-inference → two-state-continuous-time-thermodynamics: 0 formal_pairing topic relationscore-active-inference → standalone-efe-formalizations: 0 formal_pairing topic relationscore-active-inference → geometric-mechanics-notation: 0 formal_pairing topic relationsF03F03core-bayesian-mechanics → core-free-energy: 0 formal_pairing topic relationscore-bayesian-mechanics → core-active-inference: 0 formal_pairing topic relationscore-bayesian-mechanics → core-bayesian-mechanics: 0 formal_pairing topic relationscore-bayesian-mechanics → core-information-geometry: 0 formal_pairing topic relationscore-bayesian-mechanics → core-thermodynamics: 0 formal_pairing topic relationscore-bayesian-mechanics → measure-bayesian-inversion: 0 formal_pairing topic relationscore-bayesian-mechanics → variational-duality-and-information-bounds: 0 formal_pairing topic relationscore-bayesian-mechanics → control-and-planning-as-inference: 0 formal_pairing topic relationscore-bayesian-mechanics → temporal-and-hierarchical-inference: 0 formal_pairing topic relationscore-bayesian-mechanics → causal-blankets-and-interventions: 0 formal_pairing topic relationscore-bayesian-mechanics → predictive-coding-and-generalized-coordinates: 0 formal_pairing topic relationscore-bayesian-mechanics → path-space-stochastic-thermodynamics: 0 formal_pairing topic relationscore-bayesian-mechanics → information-geometry-and-geometric-optimization: 0 formal_pairing topic relationscore-bayesian-mechanics → collective-and-multiagent-active-inference: 0 formal_pairing topic relationscore-bayesian-mechanics → learning-concentration-and-model-evidence: 0 formal_pairing topic relationscore-bayesian-mechanics → finite-sample-risk-and-calibration: 0 formal_pairing topic relationscore-bayesian-mechanics → closed-loop-policy-trees-and-efe: 0 formal_pairing topic relationscore-bayesian-mechanics → finite-to-native-blanket-transfer: 0 formal_pairing topic relationscore-bayesian-mechanics → finite-exponential-family-dual-geometry: 0 formal_pairing topic relationscore-bayesian-mechanics → two-state-continuous-time-thermodynamics: 0 formal_pairing topic relationscore-bayesian-mechanics → standalone-efe-formalizations: 0 formal_pairing topic relationscore-bayesian-mechanics → geometric-mechanics-notation: 0 formal_pairing topic relationsF04F04core-information-geometry → core-free-energy: 0 formal_pairing topic relationscore-information-geometry → core-active-inference: 0 formal_pairing topic relationscore-information-geometry → core-bayesian-mechanics: 0 formal_pairing topic relationscore-information-geometry → core-information-geometry: 1 formal_pairing topic relationscore-information-geometry → core-information-geometry: 1 formal_pairing topic relations1core-information-geometry → core-thermodynamics: 0 formal_pairing topic relationscore-information-geometry → measure-bayesian-inversion: 0 formal_pairing topic relationscore-information-geometry → variational-duality-and-information-bounds: 0 formal_pairing topic relationscore-information-geometry → control-and-planning-as-inference: 0 formal_pairing topic relationscore-information-geometry → temporal-and-hierarchical-inference: 0 formal_pairing topic relationscore-information-geometry → causal-blankets-and-interventions: 0 formal_pairing topic relationscore-information-geometry → predictive-coding-and-generalized-coordinates: 0 formal_pairing topic relationscore-information-geometry → path-space-stochastic-thermodynamics: 0 formal_pairing topic relationscore-information-geometry → information-geometry-and-geometric-optimization: 0 formal_pairing topic relationscore-information-geometry → collective-and-multiagent-active-inference: 0 formal_pairing topic relationscore-information-geometry → learning-concentration-and-model-evidence: 0 formal_pairing topic relationscore-information-geometry → finite-sample-risk-and-calibration: 0 formal_pairing topic relationscore-information-geometry → closed-loop-policy-trees-and-efe: 0 formal_pairing topic relationscore-information-geometry → finite-to-native-blanket-transfer: 0 formal_pairing topic relationscore-information-geometry → finite-exponential-family-dual-geometry: 0 formal_pairing topic relationscore-information-geometry → two-state-continuous-time-thermodynamics: 0 formal_pairing topic relationscore-information-geometry → standalone-efe-formalizations: 0 formal_pairing topic relationscore-information-geometry → geometric-mechanics-notation: 0 formal_pairing topic relationsF05F05core-thermodynamics → core-free-energy: 0 formal_pairing topic relationscore-thermodynamics → core-active-inference: 0 formal_pairing topic relationscore-thermodynamics → core-bayesian-mechanics: 0 formal_pairing topic relationscore-thermodynamics → core-information-geometry: 0 formal_pairing topic relationscore-thermodynamics → core-thermodynamics: 0 formal_pairing topic relationscore-thermodynamics → measure-bayesian-inversion: 0 formal_pairing topic relationscore-thermodynamics → variational-duality-and-information-bounds: 0 formal_pairing topic relationscore-thermodynamics → control-and-planning-as-inference: 0 formal_pairing topic relationscore-thermodynamics → temporal-and-hierarchical-inference: 0 formal_pairing topic relationscore-thermodynamics → causal-blankets-and-interventions: 0 formal_pairing topic relationscore-thermodynamics → predictive-coding-and-generalized-coordinates: 0 formal_pairing topic relationscore-thermodynamics → path-space-stochastic-thermodynamics: 0 formal_pairing topic relationscore-thermodynamics → information-geometry-and-geometric-optimization: 0 formal_pairing topic relationscore-thermodynamics → collective-and-multiagent-active-inference: 0 formal_pairing topic relationscore-thermodynamics → learning-concentration-and-model-evidence: 0 formal_pairing topic relationscore-thermodynamics → finite-sample-risk-and-calibration: 0 formal_pairing topic relationscore-thermodynamics → closed-loop-policy-trees-and-efe: 0 formal_pairing topic relationscore-thermodynamics → finite-to-native-blanket-transfer: 0 formal_pairing topic relationscore-thermodynamics → finite-exponential-family-dual-geometry: 0 formal_pairing topic relationscore-thermodynamics → two-state-continuous-time-thermodynamics: 0 formal_pairing topic relationscore-thermodynamics → standalone-efe-formalizations: 0 formal_pairing topic relationscore-thermodynamics → geometric-mechanics-notation: 0 formal_pairing topic relationsF06F06measure-bayesian-inversion → core-free-energy: 1 formal_pairing topic relationsmeasure-bayesian-inversion → core-free-energy: 1 formal_pairing topic relations1measure-bayesian-inversion → core-active-inference: 0 formal_pairing topic relationsmeasure-bayesian-inversion → core-bayesian-mechanics: 6 formal_pairing topic relationsmeasure-bayesian-inversion → core-bayesian-mechanics: 6 formal_pairing topic relations6measure-bayesian-inversion → core-information-geometry: 0 formal_pairing topic relationsmeasure-bayesian-inversion → core-thermodynamics: 0 formal_pairing topic relationsmeasure-bayesian-inversion → measure-bayesian-inversion: 0 formal_pairing topic relationsmeasure-bayesian-inversion → variational-duality-and-information-bounds: 0 formal_pairing topic relationsmeasure-bayesian-inversion → control-and-planning-as-inference: 0 formal_pairing topic relationsmeasure-bayesian-inversion → temporal-and-hierarchical-inference: 0 formal_pairing topic relationsmeasure-bayesian-inversion → causal-blankets-and-interventions: 0 formal_pairing topic relationsmeasure-bayesian-inversion → predictive-coding-and-generalized-coordinates: 0 formal_pairing topic relationsmeasure-bayesian-inversion → path-space-stochastic-thermodynamics: 0 formal_pairing topic relationsmeasure-bayesian-inversion → information-geometry-and-geometric-optimization: 0 formal_pairing topic relationsmeasure-bayesian-inversion → collective-and-multiagent-active-inference: 0 formal_pairing topic relationsmeasure-bayesian-inversion → learning-concentration-and-model-evidence: 0 formal_pairing topic relationsmeasure-bayesian-inversion → finite-sample-risk-and-calibration: 0 formal_pairing topic relationsmeasure-bayesian-inversion → closed-loop-policy-trees-and-efe: 0 formal_pairing topic relationsmeasure-bayesian-inversion → finite-to-native-blanket-transfer: 0 formal_pairing topic relationsmeasure-bayesian-inversion → finite-exponential-family-dual-geometry: 0 formal_pairing topic relationsmeasure-bayesian-inversion → two-state-continuous-time-thermodynamics: 0 formal_pairing topic relationsmeasure-bayesian-inversion → standalone-efe-formalizations: 0 formal_pairing topic relationsmeasure-bayesian-inversion → geometric-mechanics-notation: 0 formal_pairing topic relationsF07F07variational-duality-and-information-bounds → core-free-energy: 3 formal_pairing topic relationsvariational-duality-and-information-bounds → core-free-energy: 3 formal_pairing topic relations3variational-duality-and-information-bounds → core-active-inference: 1 formal_pairing topic relationsvariational-duality-and-information-bounds → core-active-inference: 1 formal_pairing topic relations1variational-duality-and-information-bounds → core-bayesian-mechanics: 0 formal_pairing topic relationsvariational-duality-and-information-bounds → core-information-geometry: 2 formal_pairing topic relationsvariational-duality-and-information-bounds → core-information-geometry: 2 formal_pairing topic relations2variational-duality-and-information-bounds → core-thermodynamics: 0 formal_pairing topic relationsvariational-duality-and-information-bounds → measure-bayesian-inversion: 0 formal_pairing topic relationsvariational-duality-and-information-bounds → variational-duality-and-information-bounds: 0 formal_pairing topic relationsvariational-duality-and-information-bounds → control-and-planning-as-inference: 0 formal_pairing topic relationsvariational-duality-and-information-bounds → temporal-and-hierarchical-inference: 0 formal_pairing topic relationsvariational-duality-and-information-bounds → causal-blankets-and-interventions: 0 formal_pairing topic relationsvariational-duality-and-information-bounds → predictive-coding-and-generalized-coordinates: 0 formal_pairing topic relationsvariational-duality-and-information-bounds → path-space-stochastic-thermodynamics: 0 formal_pairing topic relationsvariational-duality-and-information-bounds → information-geometry-and-geometric-optimization: 0 formal_pairing topic relationsvariational-duality-and-information-bounds → collective-and-multiagent-active-inference: 0 formal_pairing topic relationsvariational-duality-and-information-bounds → learning-concentration-and-model-evidence: 0 formal_pairing topic relationsvariational-duality-and-information-bounds → finite-sample-risk-and-calibration: 0 formal_pairing topic relationsvariational-duality-and-information-bounds → closed-loop-policy-trees-and-efe: 0 formal_pairing topic relationsvariational-duality-and-information-bounds → finite-to-native-blanket-transfer: 0 formal_pairing topic relationsvariational-duality-and-information-bounds → finite-exponential-family-dual-geometry: 0 formal_pairing topic relationsvariational-duality-and-information-bounds → two-state-continuous-time-thermodynamics: 0 formal_pairing topic relationsvariational-duality-and-information-bounds → standalone-efe-formalizations: 0 formal_pairing topic relationsvariational-duality-and-information-bounds → geometric-mechanics-notation: 0 formal_pairing topic relationsF08F08control-and-planning-as-inference → core-free-energy: 0 formal_pairing topic relationscontrol-and-planning-as-inference → core-active-inference: 6 formal_pairing topic relationscontrol-and-planning-as-inference → core-active-inference: 6 formal_pairing topic relations6control-and-planning-as-inference → core-bayesian-mechanics: 0 formal_pairing topic relationscontrol-and-planning-as-inference → core-information-geometry: 0 formal_pairing topic relationscontrol-and-planning-as-inference → core-thermodynamics: 1 formal_pairing topic relationscontrol-and-planning-as-inference → core-thermodynamics: 1 formal_pairing topic relations1control-and-planning-as-inference → measure-bayesian-inversion: 0 formal_pairing topic relationscontrol-and-planning-as-inference → variational-duality-and-information-bounds: 0 formal_pairing topic relationscontrol-and-planning-as-inference → control-and-planning-as-inference: 0 formal_pairing topic relationscontrol-and-planning-as-inference → temporal-and-hierarchical-inference: 0 formal_pairing topic relationscontrol-and-planning-as-inference → causal-blankets-and-interventions: 0 formal_pairing topic relationscontrol-and-planning-as-inference → predictive-coding-and-generalized-coordinates: 0 formal_pairing topic relationscontrol-and-planning-as-inference → path-space-stochastic-thermodynamics: 0 formal_pairing topic relationscontrol-and-planning-as-inference → information-geometry-and-geometric-optimization: 0 formal_pairing topic relationscontrol-and-planning-as-inference → collective-and-multiagent-active-inference: 0 formal_pairing topic relationscontrol-and-planning-as-inference → learning-concentration-and-model-evidence: 0 formal_pairing topic relationscontrol-and-planning-as-inference → finite-sample-risk-and-calibration: 0 formal_pairing topic relationscontrol-and-planning-as-inference → closed-loop-policy-trees-and-efe: 0 formal_pairing topic relationscontrol-and-planning-as-inference → finite-to-native-blanket-transfer: 0 formal_pairing topic relationscontrol-and-planning-as-inference → finite-exponential-family-dual-geometry: 0 formal_pairing topic relationscontrol-and-planning-as-inference → two-state-continuous-time-thermodynamics: 0 formal_pairing topic relationscontrol-and-planning-as-inference → standalone-efe-formalizations: 0 formal_pairing topic relationscontrol-and-planning-as-inference → geometric-mechanics-notation: 0 formal_pairing topic relationsF09F09temporal-and-hierarchical-inference → core-free-energy: 0 formal_pairing topic relationstemporal-and-hierarchical-inference → core-active-inference: 5 formal_pairing topic relationstemporal-and-hierarchical-inference → core-active-inference: 5 formal_pairing topic relations5temporal-and-hierarchical-inference → core-bayesian-mechanics: 2 formal_pairing topic relationstemporal-and-hierarchical-inference → core-bayesian-mechanics: 2 formal_pairing topic relations2temporal-and-hierarchical-inference → core-information-geometry: 0 formal_pairing topic relationstemporal-and-hierarchical-inference → core-thermodynamics: 0 formal_pairing topic relationstemporal-and-hierarchical-inference → measure-bayesian-inversion: 0 formal_pairing topic relationstemporal-and-hierarchical-inference → variational-duality-and-information-bounds: 0 formal_pairing topic relationstemporal-and-hierarchical-inference → control-and-planning-as-inference: 0 formal_pairing topic relationstemporal-and-hierarchical-inference → temporal-and-hierarchical-inference: 0 formal_pairing topic relationstemporal-and-hierarchical-inference → causal-blankets-and-interventions: 0 formal_pairing topic relationstemporal-and-hierarchical-inference → predictive-coding-and-generalized-coordinates: 0 formal_pairing topic relationstemporal-and-hierarchical-inference → path-space-stochastic-thermodynamics: 0 formal_pairing topic relationstemporal-and-hierarchical-inference → information-geometry-and-geometric-optimization: 0 formal_pairing topic relationstemporal-and-hierarchical-inference → collective-and-multiagent-active-inference: 0 formal_pairing topic relationstemporal-and-hierarchical-inference → learning-concentration-and-model-evidence: 0 formal_pairing topic relationstemporal-and-hierarchical-inference → finite-sample-risk-and-calibration: 0 formal_pairing topic relationstemporal-and-hierarchical-inference → closed-loop-policy-trees-and-efe: 0 formal_pairing topic relationstemporal-and-hierarchical-inference → finite-to-native-blanket-transfer: 0 formal_pairing topic relationstemporal-and-hierarchical-inference → finite-exponential-family-dual-geometry: 0 formal_pairing topic relationstemporal-and-hierarchical-inference → two-state-continuous-time-thermodynamics: 0 formal_pairing topic relationstemporal-and-hierarchical-inference → standalone-efe-formalizations: 0 formal_pairing topic relationstemporal-and-hierarchical-inference → geometric-mechanics-notation: 0 formal_pairing topic relationsF10F10causal-blankets-and-interventions → core-free-energy: 0 formal_pairing topic relationscausal-blankets-and-interventions → core-active-inference: 1 formal_pairing topic relationscausal-blankets-and-interventions → core-active-inference: 1 formal_pairing topic relations1causal-blankets-and-interventions → core-bayesian-mechanics: 6 formal_pairing topic relationscausal-blankets-and-interventions → core-bayesian-mechanics: 6 formal_pairing topic relations6causal-blankets-and-interventions → core-information-geometry: 0 formal_pairing topic relationscausal-blankets-and-interventions → core-thermodynamics: 0 formal_pairing topic relationscausal-blankets-and-interventions → measure-bayesian-inversion: 0 formal_pairing topic relationscausal-blankets-and-interventions → variational-duality-and-information-bounds: 0 formal_pairing topic relationscausal-blankets-and-interventions → control-and-planning-as-inference: 0 formal_pairing topic relationscausal-blankets-and-interventions → temporal-and-hierarchical-inference: 0 formal_pairing topic relationscausal-blankets-and-interventions → causal-blankets-and-interventions: 0 formal_pairing topic relationscausal-blankets-and-interventions → predictive-coding-and-generalized-coordinates: 0 formal_pairing topic relationscausal-blankets-and-interventions → path-space-stochastic-thermodynamics: 0 formal_pairing topic relationscausal-blankets-and-interventions → information-geometry-and-geometric-optimization: 0 formal_pairing topic relationscausal-blankets-and-interventions → collective-and-multiagent-active-inference: 0 formal_pairing topic relationscausal-blankets-and-interventions → learning-concentration-and-model-evidence: 0 formal_pairing topic relationscausal-blankets-and-interventions → finite-sample-risk-and-calibration: 0 formal_pairing topic relationscausal-blankets-and-interventions → closed-loop-policy-trees-and-efe: 0 formal_pairing topic relationscausal-blankets-and-interventions → finite-to-native-blanket-transfer: 0 formal_pairing topic relationscausal-blankets-and-interventions → finite-exponential-family-dual-geometry: 0 formal_pairing topic relationscausal-blankets-and-interventions → two-state-continuous-time-thermodynamics: 0 formal_pairing topic relationscausal-blankets-and-interventions → standalone-efe-formalizations: 0 formal_pairing topic relationscausal-blankets-and-interventions → geometric-mechanics-notation: 0 formal_pairing topic relationsF11F11predictive-coding-and-generalized-coordinates → core-free-energy: 7 formal_pairing topic relationspredictive-coding-and-generalized-coordinates → core-free-energy: 7 formal_pairing topic relations7predictive-coding-and-generalized-coordinates → core-active-inference: 0 formal_pairing topic relationspredictive-coding-and-generalized-coordinates → core-bayesian-mechanics: 0 formal_pairing topic relationspredictive-coding-and-generalized-coordinates → core-information-geometry: 0 formal_pairing topic relationspredictive-coding-and-generalized-coordinates → core-thermodynamics: 0 formal_pairing topic relationspredictive-coding-and-generalized-coordinates → measure-bayesian-inversion: 0 formal_pairing topic relationspredictive-coding-and-generalized-coordinates → variational-duality-and-information-bounds: 0 formal_pairing topic relationspredictive-coding-and-generalized-coordinates → control-and-planning-as-inference: 0 formal_pairing topic relationspredictive-coding-and-generalized-coordinates → temporal-and-hierarchical-inference: 0 formal_pairing topic relationspredictive-coding-and-generalized-coordinates → causal-blankets-and-interventions: 0 formal_pairing topic relationspredictive-coding-and-generalized-coordinates → predictive-coding-and-generalized-coordinates: 0 formal_pairing topic relationspredictive-coding-and-generalized-coordinates → path-space-stochastic-thermodynamics: 0 formal_pairing topic relationspredictive-coding-and-generalized-coordinates → information-geometry-and-geometric-optimization: 0 formal_pairing topic relationspredictive-coding-and-generalized-coordinates → collective-and-multiagent-active-inference: 0 formal_pairing topic relationspredictive-coding-and-generalized-coordinates → learning-concentration-and-model-evidence: 0 formal_pairing topic relationspredictive-coding-and-generalized-coordinates → finite-sample-risk-and-calibration: 0 formal_pairing topic relationspredictive-coding-and-generalized-coordinates → closed-loop-policy-trees-and-efe: 0 formal_pairing topic relationspredictive-coding-and-generalized-coordinates → finite-to-native-blanket-transfer: 0 formal_pairing topic relationspredictive-coding-and-generalized-coordinates → finite-exponential-family-dual-geometry: 0 formal_pairing topic relationspredictive-coding-and-generalized-coordinates → two-state-continuous-time-thermodynamics: 0 formal_pairing topic relationspredictive-coding-and-generalized-coordinates → standalone-efe-formalizations: 0 formal_pairing topic relationspredictive-coding-and-generalized-coordinates → geometric-mechanics-notation: 0 formal_pairing topic relationsF12F12path-space-stochastic-thermodynamics → core-free-energy: 0 formal_pairing topic relationspath-space-stochastic-thermodynamics → core-active-inference: 0 formal_pairing topic relationspath-space-stochastic-thermodynamics → core-bayesian-mechanics: 2 formal_pairing topic relationspath-space-stochastic-thermodynamics → core-bayesian-mechanics: 2 formal_pairing topic relations2path-space-stochastic-thermodynamics → core-information-geometry: 1 formal_pairing topic relationspath-space-stochastic-thermodynamics → core-information-geometry: 1 formal_pairing topic relations1path-space-stochastic-thermodynamics → core-thermodynamics: 4 formal_pairing topic relationspath-space-stochastic-thermodynamics → core-thermodynamics: 4 formal_pairing topic relations4path-space-stochastic-thermodynamics → measure-bayesian-inversion: 0 formal_pairing topic relationspath-space-stochastic-thermodynamics → variational-duality-and-information-bounds: 0 formal_pairing topic relationspath-space-stochastic-thermodynamics → control-and-planning-as-inference: 0 formal_pairing topic relationspath-space-stochastic-thermodynamics → temporal-and-hierarchical-inference: 0 formal_pairing topic relationspath-space-stochastic-thermodynamics → causal-blankets-and-interventions: 0 formal_pairing topic relationspath-space-stochastic-thermodynamics → predictive-coding-and-generalized-coordinates: 0 formal_pairing topic relationspath-space-stochastic-thermodynamics → path-space-stochastic-thermodynamics: 0 formal_pairing topic relationspath-space-stochastic-thermodynamics → information-geometry-and-geometric-optimization: 0 formal_pairing topic relationspath-space-stochastic-thermodynamics → collective-and-multiagent-active-inference: 0 formal_pairing topic relationspath-space-stochastic-thermodynamics → learning-concentration-and-model-evidence: 0 formal_pairing topic relationspath-space-stochastic-thermodynamics → finite-sample-risk-and-calibration: 0 formal_pairing topic relationspath-space-stochastic-thermodynamics → closed-loop-policy-trees-and-efe: 0 formal_pairing topic relationspath-space-stochastic-thermodynamics → finite-to-native-blanket-transfer: 0 formal_pairing topic relationspath-space-stochastic-thermodynamics → finite-exponential-family-dual-geometry: 0 formal_pairing topic relationspath-space-stochastic-thermodynamics → two-state-continuous-time-thermodynamics: 0 formal_pairing topic relationspath-space-stochastic-thermodynamics → standalone-efe-formalizations: 0 formal_pairing topic relationspath-space-stochastic-thermodynamics → geometric-mechanics-notation: 0 formal_pairing topic relationsF13F13information-geometry-and-geometric-optimization → core-free-energy: 0 formal_pairing topic relationsinformation-geometry-and-geometric-optimization → core-active-inference: 0 formal_pairing topic relationsinformation-geometry-and-geometric-optimization → core-bayesian-mechanics: 0 formal_pairing topic relationsinformation-geometry-and-geometric-optimization → core-information-geometry: 7 formal_pairing topic relationsinformation-geometry-and-geometric-optimization → core-information-geometry: 7 formal_pairing topic relations7information-geometry-and-geometric-optimization → core-thermodynamics: 0 formal_pairing topic relationsinformation-geometry-and-geometric-optimization → measure-bayesian-inversion: 0 formal_pairing topic relationsinformation-geometry-and-geometric-optimization → variational-duality-and-information-bounds: 0 formal_pairing topic relationsinformation-geometry-and-geometric-optimization → control-and-planning-as-inference: 0 formal_pairing topic relationsinformation-geometry-and-geometric-optimization → temporal-and-hierarchical-inference: 0 formal_pairing topic relationsinformation-geometry-and-geometric-optimization → causal-blankets-and-interventions: 0 formal_pairing topic relationsinformation-geometry-and-geometric-optimization → predictive-coding-and-generalized-coordinates: 0 formal_pairing topic relationsinformation-geometry-and-geometric-optimization → path-space-stochastic-thermodynamics: 0 formal_pairing topic relationsinformation-geometry-and-geometric-optimization → information-geometry-and-geometric-optimization: 0 formal_pairing topic relationsinformation-geometry-and-geometric-optimization → collective-and-multiagent-active-inference: 0 formal_pairing topic relationsinformation-geometry-and-geometric-optimization → learning-concentration-and-model-evidence: 0 formal_pairing topic relationsinformation-geometry-and-geometric-optimization → finite-sample-risk-and-calibration: 0 formal_pairing topic relationsinformation-geometry-and-geometric-optimization → closed-loop-policy-trees-and-efe: 0 formal_pairing topic relationsinformation-geometry-and-geometric-optimization → finite-to-native-blanket-transfer: 0 formal_pairing topic relationsinformation-geometry-and-geometric-optimization → finite-exponential-family-dual-geometry: 0 formal_pairing topic relationsinformation-geometry-and-geometric-optimization → two-state-continuous-time-thermodynamics: 0 formal_pairing topic relationsinformation-geometry-and-geometric-optimization → standalone-efe-formalizations: 0 formal_pairing topic relationsinformation-geometry-and-geometric-optimization → geometric-mechanics-notation: 0 formal_pairing topic relationsF14F14collective-and-multiagent-active-inference → core-free-energy: 3 formal_pairing topic relationscollective-and-multiagent-active-inference → core-free-energy: 3 formal_pairing topic relations3collective-and-multiagent-active-inference → core-active-inference: 2 formal_pairing topic relationscollective-and-multiagent-active-inference → core-active-inference: 2 formal_pairing topic relations2collective-and-multiagent-active-inference → core-bayesian-mechanics: 1 formal_pairing topic relationscollective-and-multiagent-active-inference → core-bayesian-mechanics: 1 formal_pairing topic relations1collective-and-multiagent-active-inference → core-information-geometry: 0 formal_pairing topic relationscollective-and-multiagent-active-inference → core-thermodynamics: 1 formal_pairing topic relationscollective-and-multiagent-active-inference → core-thermodynamics: 1 formal_pairing topic relations1collective-and-multiagent-active-inference → measure-bayesian-inversion: 0 formal_pairing topic relationscollective-and-multiagent-active-inference → variational-duality-and-information-bounds: 0 formal_pairing topic relationscollective-and-multiagent-active-inference → control-and-planning-as-inference: 0 formal_pairing topic relationscollective-and-multiagent-active-inference → temporal-and-hierarchical-inference: 0 formal_pairing topic relationscollective-and-multiagent-active-inference → causal-blankets-and-interventions: 0 formal_pairing topic relationscollective-and-multiagent-active-inference → predictive-coding-and-generalized-coordinates: 0 formal_pairing topic relationscollective-and-multiagent-active-inference → path-space-stochastic-thermodynamics: 0 formal_pairing topic relationscollective-and-multiagent-active-inference → information-geometry-and-geometric-optimization: 0 formal_pairing topic relationscollective-and-multiagent-active-inference → collective-and-multiagent-active-inference: 0 formal_pairing topic relationscollective-and-multiagent-active-inference → learning-concentration-and-model-evidence: 0 formal_pairing topic relationscollective-and-multiagent-active-inference → finite-sample-risk-and-calibration: 0 formal_pairing topic relationscollective-and-multiagent-active-inference → closed-loop-policy-trees-and-efe: 0 formal_pairing topic relationscollective-and-multiagent-active-inference → finite-to-native-blanket-transfer: 0 formal_pairing topic relationscollective-and-multiagent-active-inference → finite-exponential-family-dual-geometry: 0 formal_pairing topic relationscollective-and-multiagent-active-inference → two-state-continuous-time-thermodynamics: 0 formal_pairing topic relationscollective-and-multiagent-active-inference → standalone-efe-formalizations: 0 formal_pairing topic relationscollective-and-multiagent-active-inference → geometric-mechanics-notation: 0 formal_pairing topic relationsF15F15learning-concentration-and-model-evidence → core-free-energy: 2 formal_pairing topic relationslearning-concentration-and-model-evidence → core-free-energy: 2 formal_pairing topic relations2learning-concentration-and-model-evidence → core-active-inference: 0 formal_pairing topic relationslearning-concentration-and-model-evidence → core-bayesian-mechanics: 5 formal_pairing topic relationslearning-concentration-and-model-evidence → core-bayesian-mechanics: 5 formal_pairing topic relations5learning-concentration-and-model-evidence → core-information-geometry: 0 formal_pairing topic relationslearning-concentration-and-model-evidence → core-thermodynamics: 0 formal_pairing topic relationslearning-concentration-and-model-evidence → measure-bayesian-inversion: 0 formal_pairing topic relationslearning-concentration-and-model-evidence → variational-duality-and-information-bounds: 0 formal_pairing topic relationslearning-concentration-and-model-evidence → control-and-planning-as-inference: 0 formal_pairing topic relationslearning-concentration-and-model-evidence → temporal-and-hierarchical-inference: 0 formal_pairing topic relationslearning-concentration-and-model-evidence → causal-blankets-and-interventions: 0 formal_pairing topic relationslearning-concentration-and-model-evidence → predictive-coding-and-generalized-coordinates: 0 formal_pairing topic relationslearning-concentration-and-model-evidence → path-space-stochastic-thermodynamics: 0 formal_pairing topic relationslearning-concentration-and-model-evidence → information-geometry-and-geometric-optimization: 0 formal_pairing topic relationslearning-concentration-and-model-evidence → collective-and-multiagent-active-inference: 0 formal_pairing topic relationslearning-concentration-and-model-evidence → learning-concentration-and-model-evidence: 0 formal_pairing topic relationslearning-concentration-and-model-evidence → finite-sample-risk-and-calibration: 0 formal_pairing topic relationslearning-concentration-and-model-evidence → closed-loop-policy-trees-and-efe: 0 formal_pairing topic relationslearning-concentration-and-model-evidence → finite-to-native-blanket-transfer: 0 formal_pairing topic relationslearning-concentration-and-model-evidence → finite-exponential-family-dual-geometry: 0 formal_pairing topic relationslearning-concentration-and-model-evidence → two-state-continuous-time-thermodynamics: 0 formal_pairing topic relationslearning-concentration-and-model-evidence → standalone-efe-formalizations: 0 formal_pairing topic relationslearning-concentration-and-model-evidence → geometric-mechanics-notation: 0 formal_pairing topic relationsF16F16finite-sample-risk-and-calibration → core-free-energy: 0 formal_pairing topic relationsfinite-sample-risk-and-calibration → core-active-inference: 0 formal_pairing topic relationsfinite-sample-risk-and-calibration → core-bayesian-mechanics: 5 formal_pairing topic relationsfinite-sample-risk-and-calibration → core-bayesian-mechanics: 5 formal_pairing topic relations5finite-sample-risk-and-calibration → core-information-geometry: 0 formal_pairing topic relationsfinite-sample-risk-and-calibration → core-thermodynamics: 0 formal_pairing topic relationsfinite-sample-risk-and-calibration → measure-bayesian-inversion: 0 formal_pairing topic relationsfinite-sample-risk-and-calibration → variational-duality-and-information-bounds: 0 formal_pairing topic relationsfinite-sample-risk-and-calibration → control-and-planning-as-inference: 0 formal_pairing topic relationsfinite-sample-risk-and-calibration → temporal-and-hierarchical-inference: 0 formal_pairing topic relationsfinite-sample-risk-and-calibration → causal-blankets-and-interventions: 0 formal_pairing topic relationsfinite-sample-risk-and-calibration → predictive-coding-and-generalized-coordinates: 0 formal_pairing topic relationsfinite-sample-risk-and-calibration → path-space-stochastic-thermodynamics: 0 formal_pairing topic relationsfinite-sample-risk-and-calibration → information-geometry-and-geometric-optimization: 0 formal_pairing topic relationsfinite-sample-risk-and-calibration → collective-and-multiagent-active-inference: 0 formal_pairing topic relationsfinite-sample-risk-and-calibration → learning-concentration-and-model-evidence: 2 formal_pairing topic relationsfinite-sample-risk-and-calibration → learning-concentration-and-model-evidence: 2 formal_pairing topic relations2finite-sample-risk-and-calibration → finite-sample-risk-and-calibration: 0 formal_pairing topic relationsfinite-sample-risk-and-calibration → closed-loop-policy-trees-and-efe: 0 formal_pairing topic relationsfinite-sample-risk-and-calibration → finite-to-native-blanket-transfer: 0 formal_pairing topic relationsfinite-sample-risk-and-calibration → finite-exponential-family-dual-geometry: 0 formal_pairing topic relationsfinite-sample-risk-and-calibration → two-state-continuous-time-thermodynamics: 0 formal_pairing topic relationsfinite-sample-risk-and-calibration → standalone-efe-formalizations: 0 formal_pairing topic relationsfinite-sample-risk-and-calibration → geometric-mechanics-notation: 0 formal_pairing topic relationsF17F17closed-loop-policy-trees-and-efe → core-free-energy: 0 formal_pairing topic relationsclosed-loop-policy-trees-and-efe → core-active-inference: 4 formal_pairing topic relationsclosed-loop-policy-trees-and-efe → core-active-inference: 4 formal_pairing topic relations4closed-loop-policy-trees-and-efe → core-bayesian-mechanics: 0 formal_pairing topic relationsclosed-loop-policy-trees-and-efe → core-information-geometry: 0 formal_pairing topic relationsclosed-loop-policy-trees-and-efe → core-thermodynamics: 0 formal_pairing topic relationsclosed-loop-policy-trees-and-efe → measure-bayesian-inversion: 0 formal_pairing topic relationsclosed-loop-policy-trees-and-efe → variational-duality-and-information-bounds: 0 formal_pairing topic relationsclosed-loop-policy-trees-and-efe → control-and-planning-as-inference: 3 formal_pairing topic relationsclosed-loop-policy-trees-and-efe → control-and-planning-as-inference: 3 formal_pairing topic relations3closed-loop-policy-trees-and-efe → temporal-and-hierarchical-inference: 0 formal_pairing topic relationsclosed-loop-policy-trees-and-efe → causal-blankets-and-interventions: 0 formal_pairing topic relationsclosed-loop-policy-trees-and-efe → predictive-coding-and-generalized-coordinates: 0 formal_pairing topic relationsclosed-loop-policy-trees-and-efe → path-space-stochastic-thermodynamics: 0 formal_pairing topic relationsclosed-loop-policy-trees-and-efe → information-geometry-and-geometric-optimization: 0 formal_pairing topic relationsclosed-loop-policy-trees-and-efe → collective-and-multiagent-active-inference: 0 formal_pairing topic relationsclosed-loop-policy-trees-and-efe → learning-concentration-and-model-evidence: 0 formal_pairing topic relationsclosed-loop-policy-trees-and-efe → finite-sample-risk-and-calibration: 0 formal_pairing topic relationsclosed-loop-policy-trees-and-efe → closed-loop-policy-trees-and-efe: 0 formal_pairing topic relationsclosed-loop-policy-trees-and-efe → finite-to-native-blanket-transfer: 0 formal_pairing topic relationsclosed-loop-policy-trees-and-efe → finite-exponential-family-dual-geometry: 0 formal_pairing topic relationsclosed-loop-policy-trees-and-efe → two-state-continuous-time-thermodynamics: 0 formal_pairing topic relationsclosed-loop-policy-trees-and-efe → standalone-efe-formalizations: 0 formal_pairing topic relationsclosed-loop-policy-trees-and-efe → geometric-mechanics-notation: 0 formal_pairing topic relationsF18F18finite-to-native-blanket-transfer → core-free-energy: 1 formal_pairing topic relationsfinite-to-native-blanket-transfer → core-free-energy: 1 formal_pairing topic relations1finite-to-native-blanket-transfer → core-active-inference: 0 formal_pairing topic relationsfinite-to-native-blanket-transfer → core-bayesian-mechanics: 4 formal_pairing topic relationsfinite-to-native-blanket-transfer → core-bayesian-mechanics: 4 formal_pairing topic relations4finite-to-native-blanket-transfer → core-information-geometry: 0 formal_pairing topic relationsfinite-to-native-blanket-transfer → core-thermodynamics: 0 formal_pairing topic relationsfinite-to-native-blanket-transfer → measure-bayesian-inversion: 0 formal_pairing topic relationsfinite-to-native-blanket-transfer → variational-duality-and-information-bounds: 0 formal_pairing topic relationsfinite-to-native-blanket-transfer → control-and-planning-as-inference: 0 formal_pairing topic relationsfinite-to-native-blanket-transfer → temporal-and-hierarchical-inference: 0 formal_pairing topic relationsfinite-to-native-blanket-transfer → causal-blankets-and-interventions: 2 formal_pairing topic relationsfinite-to-native-blanket-transfer → causal-blankets-and-interventions: 2 formal_pairing topic relations2finite-to-native-blanket-transfer → predictive-coding-and-generalized-coordinates: 0 formal_pairing topic relationsfinite-to-native-blanket-transfer → path-space-stochastic-thermodynamics: 0 formal_pairing topic relationsfinite-to-native-blanket-transfer → information-geometry-and-geometric-optimization: 0 formal_pairing topic relationsfinite-to-native-blanket-transfer → collective-and-multiagent-active-inference: 0 formal_pairing topic relationsfinite-to-native-blanket-transfer → learning-concentration-and-model-evidence: 0 formal_pairing topic relationsfinite-to-native-blanket-transfer → finite-sample-risk-and-calibration: 0 formal_pairing topic relationsfinite-to-native-blanket-transfer → closed-loop-policy-trees-and-efe: 0 formal_pairing topic relationsfinite-to-native-blanket-transfer → finite-to-native-blanket-transfer: 0 formal_pairing topic relationsfinite-to-native-blanket-transfer → finite-exponential-family-dual-geometry: 0 formal_pairing topic relationsfinite-to-native-blanket-transfer → two-state-continuous-time-thermodynamics: 0 formal_pairing topic relationsfinite-to-native-blanket-transfer → standalone-efe-formalizations: 0 formal_pairing topic relationsfinite-to-native-blanket-transfer → geometric-mechanics-notation: 0 formal_pairing topic relationsF19F19finite-exponential-family-dual-geometry → core-free-energy: 1 formal_pairing topic relationsfinite-exponential-family-dual-geometry → core-free-energy: 1 formal_pairing topic relations1finite-exponential-family-dual-geometry → core-active-inference: 0 formal_pairing topic relationsfinite-exponential-family-dual-geometry → core-bayesian-mechanics: 1 formal_pairing topic relationsfinite-exponential-family-dual-geometry → core-bayesian-mechanics: 1 formal_pairing topic relations1finite-exponential-family-dual-geometry → core-information-geometry: 2 formal_pairing topic relationsfinite-exponential-family-dual-geometry → core-information-geometry: 2 formal_pairing topic relations2finite-exponential-family-dual-geometry → core-thermodynamics: 1 formal_pairing topic relationsfinite-exponential-family-dual-geometry → core-thermodynamics: 1 formal_pairing topic relations1finite-exponential-family-dual-geometry → measure-bayesian-inversion: 0 formal_pairing topic relationsfinite-exponential-family-dual-geometry → variational-duality-and-information-bounds: 0 formal_pairing topic relationsfinite-exponential-family-dual-geometry → control-and-planning-as-inference: 0 formal_pairing topic relationsfinite-exponential-family-dual-geometry → temporal-and-hierarchical-inference: 0 formal_pairing topic relationsfinite-exponential-family-dual-geometry → causal-blankets-and-interventions: 0 formal_pairing topic relationsfinite-exponential-family-dual-geometry → predictive-coding-and-generalized-coordinates: 0 formal_pairing topic relationsfinite-exponential-family-dual-geometry → path-space-stochastic-thermodynamics: 0 formal_pairing topic relationsfinite-exponential-family-dual-geometry → information-geometry-and-geometric-optimization: 2 formal_pairing topic relationsfinite-exponential-family-dual-geometry → information-geometry-and-geometric-optimization: 2 formal_pairing topic relations2finite-exponential-family-dual-geometry → collective-and-multiagent-active-inference: 0 formal_pairing topic relationsfinite-exponential-family-dual-geometry → learning-concentration-and-model-evidence: 0 formal_pairing topic relationsfinite-exponential-family-dual-geometry → finite-sample-risk-and-calibration: 0 formal_pairing topic relationsfinite-exponential-family-dual-geometry → closed-loop-policy-trees-and-efe: 0 formal_pairing topic relationsfinite-exponential-family-dual-geometry → finite-to-native-blanket-transfer: 0 formal_pairing topic relationsfinite-exponential-family-dual-geometry → finite-exponential-family-dual-geometry: 0 formal_pairing topic relationsfinite-exponential-family-dual-geometry → two-state-continuous-time-thermodynamics: 0 formal_pairing topic relationsfinite-exponential-family-dual-geometry → standalone-efe-formalizations: 0 formal_pairing topic relationsfinite-exponential-family-dual-geometry → geometric-mechanics-notation: 0 formal_pairing topic relationsF20F20two-state-continuous-time-thermodynamics → core-free-energy: 3 formal_pairing topic relationstwo-state-continuous-time-thermodynamics → core-free-energy: 3 formal_pairing topic relations3two-state-continuous-time-thermodynamics → core-active-inference: 0 formal_pairing topic relationstwo-state-continuous-time-thermodynamics → core-bayesian-mechanics: 4 formal_pairing topic relationstwo-state-continuous-time-thermodynamics → core-bayesian-mechanics: 4 formal_pairing topic relations4two-state-continuous-time-thermodynamics → core-information-geometry: 0 formal_pairing topic relationstwo-state-continuous-time-thermodynamics → core-thermodynamics: 0 formal_pairing topic relationstwo-state-continuous-time-thermodynamics → measure-bayesian-inversion: 0 formal_pairing topic relationstwo-state-continuous-time-thermodynamics → variational-duality-and-information-bounds: 0 formal_pairing topic relationstwo-state-continuous-time-thermodynamics → control-and-planning-as-inference: 0 formal_pairing topic relationstwo-state-continuous-time-thermodynamics → temporal-and-hierarchical-inference: 0 formal_pairing topic relationstwo-state-continuous-time-thermodynamics → causal-blankets-and-interventions: 0 formal_pairing topic relationstwo-state-continuous-time-thermodynamics → predictive-coding-and-generalized-coordinates: 0 formal_pairing topic relationstwo-state-continuous-time-thermodynamics → path-space-stochastic-thermodynamics: 0 formal_pairing topic relationstwo-state-continuous-time-thermodynamics → information-geometry-and-geometric-optimization: 0 formal_pairing topic relationstwo-state-continuous-time-thermodynamics → collective-and-multiagent-active-inference: 0 formal_pairing topic relationstwo-state-continuous-time-thermodynamics → learning-concentration-and-model-evidence: 0 formal_pairing topic relationstwo-state-continuous-time-thermodynamics → finite-sample-risk-and-calibration: 0 formal_pairing topic relationstwo-state-continuous-time-thermodynamics → closed-loop-policy-trees-and-efe: 0 formal_pairing topic relationstwo-state-continuous-time-thermodynamics → finite-to-native-blanket-transfer: 0 formal_pairing topic relationstwo-state-continuous-time-thermodynamics → finite-exponential-family-dual-geometry: 0 formal_pairing topic relationstwo-state-continuous-time-thermodynamics → two-state-continuous-time-thermodynamics: 0 formal_pairing topic relationstwo-state-continuous-time-thermodynamics → standalone-efe-formalizations: 0 formal_pairing topic relationstwo-state-continuous-time-thermodynamics → geometric-mechanics-notation: 0 formal_pairing topic relationsF21F21standalone-efe-formalizations → core-free-energy: 0 formal_pairing topic relationsstandalone-efe-formalizations → core-active-inference: 1 formal_pairing topic relationsstandalone-efe-formalizations → core-active-inference: 1 formal_pairing topic relations1standalone-efe-formalizations → core-bayesian-mechanics: 0 formal_pairing topic relationsstandalone-efe-formalizations → core-information-geometry: 0 formal_pairing topic relationsstandalone-efe-formalizations → core-thermodynamics: 1 formal_pairing topic relationsstandalone-efe-formalizations → core-thermodynamics: 1 formal_pairing topic relations1standalone-efe-formalizations → measure-bayesian-inversion: 0 formal_pairing topic relationsstandalone-efe-formalizations → variational-duality-and-information-bounds: 1 formal_pairing topic relationsstandalone-efe-formalizations → variational-duality-and-information-bounds: 1 formal_pairing topic relations1standalone-efe-formalizations → control-and-planning-as-inference: 1 formal_pairing topic relationsstandalone-efe-formalizations → control-and-planning-as-inference: 1 formal_pairing topic relations1standalone-efe-formalizations → temporal-and-hierarchical-inference: 0 formal_pairing topic relationsstandalone-efe-formalizations → causal-blankets-and-interventions: 0 formal_pairing topic relationsstandalone-efe-formalizations → predictive-coding-and-generalized-coordinates: 0 formal_pairing topic relationsstandalone-efe-formalizations → path-space-stochastic-thermodynamics: 0 formal_pairing topic relationsstandalone-efe-formalizations → information-geometry-and-geometric-optimization: 0 formal_pairing topic relationsstandalone-efe-formalizations → collective-and-multiagent-active-inference: 0 formal_pairing topic relationsstandalone-efe-formalizations → learning-concentration-and-model-evidence: 0 formal_pairing topic relationsstandalone-efe-formalizations → finite-sample-risk-and-calibration: 0 formal_pairing topic relationsstandalone-efe-formalizations → closed-loop-policy-trees-and-efe: 0 formal_pairing topic relationsstandalone-efe-formalizations → finite-to-native-blanket-transfer: 0 formal_pairing topic relationsstandalone-efe-formalizations → finite-exponential-family-dual-geometry: 0 formal_pairing topic relationsstandalone-efe-formalizations → two-state-continuous-time-thermodynamics: 1 formal_pairing topic relationsstandalone-efe-formalizations → two-state-continuous-time-thermodynamics: 1 formal_pairing topic relations1standalone-efe-formalizations → standalone-efe-formalizations: 1 formal_pairing topic relationsstandalone-efe-formalizations → standalone-efe-formalizations: 1 formal_pairing topic relations1standalone-efe-formalizations → geometric-mechanics-notation: 0 formal_pairing topic relationsF22F22geometric-mechanics-notation → core-free-energy: 0 formal_pairing topic relationsgeometric-mechanics-notation → core-active-inference: 0 formal_pairing topic relationsgeometric-mechanics-notation → core-bayesian-mechanics: 0 formal_pairing topic relationsgeometric-mechanics-notation → core-information-geometry: 0 formal_pairing topic relationsgeometric-mechanics-notation → core-thermodynamics: 3 formal_pairing topic relationsgeometric-mechanics-notation → core-thermodynamics: 3 formal_pairing topic relations3geometric-mechanics-notation → measure-bayesian-inversion: 0 formal_pairing topic relationsgeometric-mechanics-notation → variational-duality-and-information-bounds: 0 formal_pairing topic relationsgeometric-mechanics-notation → control-and-planning-as-inference: 0 formal_pairing topic relationsgeometric-mechanics-notation → temporal-and-hierarchical-inference: 0 formal_pairing topic relationsgeometric-mechanics-notation → causal-blankets-and-interventions: 0 formal_pairing topic relationsgeometric-mechanics-notation → predictive-coding-and-generalized-coordinates: 0 formal_pairing topic relationsgeometric-mechanics-notation → path-space-stochastic-thermodynamics: 0 formal_pairing topic relationsgeometric-mechanics-notation → information-geometry-and-geometric-optimization: 0 formal_pairing topic relationsgeometric-mechanics-notation → collective-and-multiagent-active-inference: 0 formal_pairing topic relationsgeometric-mechanics-notation → learning-concentration-and-model-evidence: 0 formal_pairing topic relationsgeometric-mechanics-notation → finite-sample-risk-and-calibration: 0 formal_pairing topic relationsgeometric-mechanics-notation → closed-loop-policy-trees-and-efe: 0 formal_pairing topic relationsgeometric-mechanics-notation → finite-to-native-blanket-transfer: 0 formal_pairing topic relationsgeometric-mechanics-notation → finite-exponential-family-dual-geometry: 0 formal_pairing topic relationsgeometric-mechanics-notation → two-state-continuous-time-thermodynamics: 0 formal_pairing topic relationsgeometric-mechanics-notation → standalone-efe-formalizations: 1 formal_pairing topic relationsgeometric-mechanics-notation → standalone-efe-formalizations: 1 formal_pairing topic relations1geometric-mechanics-notation → geometric-mechanics-notation: 3 formal_pairing topic relationsgeometric-mechanics-notation → geometric-mechanics-notation: 3 formal_pairing topic relations3conceptualF01F01core-free-energy → core-free-energy: 1 conceptual topic relationscore-free-energy → core-free-energy: 1 conceptual topic relations1core-free-energy → core-active-inference: 0 conceptual topic relationscore-free-energy → core-bayesian-mechanics: 0 conceptual topic relationscore-free-energy → core-information-geometry: 0 conceptual topic relationscore-free-energy → core-thermodynamics: 0 conceptual topic relationscore-free-energy → measure-bayesian-inversion: 0 conceptual topic relationscore-free-energy → variational-duality-and-information-bounds: 0 conceptual topic relationscore-free-energy → control-and-planning-as-inference: 0 conceptual topic relationscore-free-energy → temporal-and-hierarchical-inference: 0 conceptual topic relationscore-free-energy → causal-blankets-and-interventions: 0 conceptual topic relationscore-free-energy → predictive-coding-and-generalized-coordinates: 0 conceptual topic relationscore-free-energy → path-space-stochastic-thermodynamics: 0 conceptual topic relationscore-free-energy → information-geometry-and-geometric-optimization: 0 conceptual topic relationscore-free-energy → collective-and-multiagent-active-inference: 0 conceptual topic relationscore-free-energy → learning-concentration-and-model-evidence: 0 conceptual topic relationscore-free-energy → finite-sample-risk-and-calibration: 0 conceptual topic relationscore-free-energy → closed-loop-policy-trees-and-efe: 0 conceptual topic relationscore-free-energy → finite-to-native-blanket-transfer: 0 conceptual topic relationscore-free-energy → finite-exponential-family-dual-geometry: 0 conceptual topic relationscore-free-energy → two-state-continuous-time-thermodynamics: 0 conceptual topic relationscore-free-energy → standalone-efe-formalizations: 0 conceptual topic relationscore-free-energy → geometric-mechanics-notation: 0 conceptual topic relationsF02F02core-active-inference → core-free-energy: 0 conceptual topic relationscore-active-inference → core-active-inference: 2 conceptual topic relationscore-active-inference → core-active-inference: 2 conceptual topic relations2core-active-inference → core-bayesian-mechanics: 0 conceptual topic relationscore-active-inference → core-information-geometry: 0 conceptual topic relationscore-active-inference → core-thermodynamics: 0 conceptual topic relationscore-active-inference → measure-bayesian-inversion: 0 conceptual topic relationscore-active-inference → variational-duality-and-information-bounds: 0 conceptual topic relationscore-active-inference → control-and-planning-as-inference: 0 conceptual topic relationscore-active-inference → temporal-and-hierarchical-inference: 0 conceptual topic relationscore-active-inference → causal-blankets-and-interventions: 0 conceptual topic relationscore-active-inference → predictive-coding-and-generalized-coordinates: 0 conceptual topic relationscore-active-inference → path-space-stochastic-thermodynamics: 0 conceptual topic relationscore-active-inference → information-geometry-and-geometric-optimization: 0 conceptual topic relationscore-active-inference → collective-and-multiagent-active-inference: 0 conceptual topic relationscore-active-inference → learning-concentration-and-model-evidence: 0 conceptual topic relationscore-active-inference → finite-sample-risk-and-calibration: 0 conceptual topic relationscore-active-inference → closed-loop-policy-trees-and-efe: 0 conceptual topic relationscore-active-inference → finite-to-native-blanket-transfer: 0 conceptual topic relationscore-active-inference → finite-exponential-family-dual-geometry: 0 conceptual topic relationscore-active-inference → two-state-continuous-time-thermodynamics: 0 conceptual topic relationscore-active-inference → standalone-efe-formalizations: 0 conceptual topic relationscore-active-inference → geometric-mechanics-notation: 0 conceptual topic relationsF03F03core-bayesian-mechanics → core-free-energy: 0 conceptual topic relationscore-bayesian-mechanics → core-active-inference: 0 conceptual topic relationscore-bayesian-mechanics → core-bayesian-mechanics: 2 conceptual topic relationscore-bayesian-mechanics → core-bayesian-mechanics: 2 conceptual topic relations2core-bayesian-mechanics → core-information-geometry: 0 conceptual topic relationscore-bayesian-mechanics → core-thermodynamics: 0 conceptual topic relationscore-bayesian-mechanics → measure-bayesian-inversion: 0 conceptual topic relationscore-bayesian-mechanics → variational-duality-and-information-bounds: 0 conceptual topic relationscore-bayesian-mechanics → control-and-planning-as-inference: 0 conceptual topic relationscore-bayesian-mechanics → temporal-and-hierarchical-inference: 0 conceptual topic relationscore-bayesian-mechanics → causal-blankets-and-interventions: 0 conceptual topic relationscore-bayesian-mechanics → predictive-coding-and-generalized-coordinates: 0 conceptual topic relationscore-bayesian-mechanics → path-space-stochastic-thermodynamics: 0 conceptual topic relationscore-bayesian-mechanics → information-geometry-and-geometric-optimization: 0 conceptual topic relationscore-bayesian-mechanics → collective-and-multiagent-active-inference: 0 conceptual topic relationscore-bayesian-mechanics → learning-concentration-and-model-evidence: 0 conceptual topic relationscore-bayesian-mechanics → finite-sample-risk-and-calibration: 0 conceptual topic relationscore-bayesian-mechanics → closed-loop-policy-trees-and-efe: 0 conceptual topic relationscore-bayesian-mechanics → finite-to-native-blanket-transfer: 0 conceptual topic relationscore-bayesian-mechanics → finite-exponential-family-dual-geometry: 0 conceptual topic relationscore-bayesian-mechanics → two-state-continuous-time-thermodynamics: 0 conceptual topic relationscore-bayesian-mechanics → standalone-efe-formalizations: 0 conceptual topic relationscore-bayesian-mechanics → geometric-mechanics-notation: 0 conceptual topic relationsF04F04core-information-geometry → core-free-energy: 0 conceptual topic relationscore-information-geometry → core-active-inference: 0 conceptual topic relationscore-information-geometry → core-bayesian-mechanics: 0 conceptual topic relationscore-information-geometry → core-information-geometry: 1 conceptual topic relationscore-information-geometry → core-information-geometry: 1 conceptual topic relations1core-information-geometry → core-thermodynamics: 0 conceptual topic relationscore-information-geometry → measure-bayesian-inversion: 0 conceptual topic relationscore-information-geometry → variational-duality-and-information-bounds: 0 conceptual topic relationscore-information-geometry → control-and-planning-as-inference: 0 conceptual topic relationscore-information-geometry → temporal-and-hierarchical-inference: 0 conceptual topic relationscore-information-geometry → causal-blankets-and-interventions: 0 conceptual topic relationscore-information-geometry → predictive-coding-and-generalized-coordinates: 0 conceptual topic relationscore-information-geometry → path-space-stochastic-thermodynamics: 0 conceptual topic relationscore-information-geometry → information-geometry-and-geometric-optimization: 0 conceptual topic relationscore-information-geometry → collective-and-multiagent-active-inference: 0 conceptual topic relationscore-information-geometry → learning-concentration-and-model-evidence: 0 conceptual topic relationscore-information-geometry → finite-sample-risk-and-calibration: 0 conceptual topic relationscore-information-geometry → closed-loop-policy-trees-and-efe: 0 conceptual topic relationscore-information-geometry → finite-to-native-blanket-transfer: 0 conceptual topic relationscore-information-geometry → finite-exponential-family-dual-geometry: 0 conceptual topic relationscore-information-geometry → two-state-continuous-time-thermodynamics: 0 conceptual topic relationscore-information-geometry → standalone-efe-formalizations: 0 conceptual topic relationscore-information-geometry → geometric-mechanics-notation: 0 conceptual topic relationsF05F05core-thermodynamics → core-free-energy: 1 conceptual topic relationscore-thermodynamics → core-free-energy: 1 conceptual topic relations1core-thermodynamics → core-active-inference: 0 conceptual topic relationscore-thermodynamics → core-bayesian-mechanics: 0 conceptual topic relationscore-thermodynamics → core-information-geometry: 0 conceptual topic relationscore-thermodynamics → core-thermodynamics: 1 conceptual topic relationscore-thermodynamics → core-thermodynamics: 1 conceptual topic relations1core-thermodynamics → measure-bayesian-inversion: 0 conceptual topic relationscore-thermodynamics → variational-duality-and-information-bounds: 0 conceptual topic relationscore-thermodynamics → control-and-planning-as-inference: 0 conceptual topic relationscore-thermodynamics → temporal-and-hierarchical-inference: 0 conceptual topic relationscore-thermodynamics → causal-blankets-and-interventions: 0 conceptual topic relationscore-thermodynamics → predictive-coding-and-generalized-coordinates: 0 conceptual topic relationscore-thermodynamics → path-space-stochastic-thermodynamics: 0 conceptual topic relationscore-thermodynamics → information-geometry-and-geometric-optimization: 0 conceptual topic relationscore-thermodynamics → collective-and-multiagent-active-inference: 0 conceptual topic relationscore-thermodynamics → learning-concentration-and-model-evidence: 0 conceptual topic relationscore-thermodynamics → finite-sample-risk-and-calibration: 0 conceptual topic relationscore-thermodynamics → closed-loop-policy-trees-and-efe: 0 conceptual topic relationscore-thermodynamics → finite-to-native-blanket-transfer: 0 conceptual topic relationscore-thermodynamics → finite-exponential-family-dual-geometry: 0 conceptual topic relationscore-thermodynamics → two-state-continuous-time-thermodynamics: 0 conceptual topic relationscore-thermodynamics → standalone-efe-formalizations: 0 conceptual topic relationscore-thermodynamics → geometric-mechanics-notation: 0 conceptual topic relationsF06F06measure-bayesian-inversion → core-free-energy: 0 conceptual topic relationsmeasure-bayesian-inversion → core-active-inference: 0 conceptual topic relationsmeasure-bayesian-inversion → core-bayesian-mechanics: 0 conceptual topic relationsmeasure-bayesian-inversion → core-information-geometry: 0 conceptual topic relationsmeasure-bayesian-inversion → core-thermodynamics: 0 conceptual topic relationsmeasure-bayesian-inversion → measure-bayesian-inversion: 0 conceptual topic relationsmeasure-bayesian-inversion → variational-duality-and-information-bounds: 0 conceptual topic relationsmeasure-bayesian-inversion → control-and-planning-as-inference: 0 conceptual topic relationsmeasure-bayesian-inversion → temporal-and-hierarchical-inference: 0 conceptual topic relationsmeasure-bayesian-inversion → causal-blankets-and-interventions: 0 conceptual topic relationsmeasure-bayesian-inversion → predictive-coding-and-generalized-coordinates: 0 conceptual topic relationsmeasure-bayesian-inversion → path-space-stochastic-thermodynamics: 0 conceptual topic relationsmeasure-bayesian-inversion → information-geometry-and-geometric-optimization: 0 conceptual topic relationsmeasure-bayesian-inversion → collective-and-multiagent-active-inference: 0 conceptual topic relationsmeasure-bayesian-inversion → learning-concentration-and-model-evidence: 0 conceptual topic relationsmeasure-bayesian-inversion → finite-sample-risk-and-calibration: 0 conceptual topic relationsmeasure-bayesian-inversion → closed-loop-policy-trees-and-efe: 0 conceptual topic relationsmeasure-bayesian-inversion → finite-to-native-blanket-transfer: 0 conceptual topic relationsmeasure-bayesian-inversion → finite-exponential-family-dual-geometry: 0 conceptual topic relationsmeasure-bayesian-inversion → two-state-continuous-time-thermodynamics: 0 conceptual topic relationsmeasure-bayesian-inversion → standalone-efe-formalizations: 0 conceptual topic relationsmeasure-bayesian-inversion → geometric-mechanics-notation: 0 conceptual topic relationsF07F07variational-duality-and-information-bounds → core-free-energy: 0 conceptual topic relationsvariational-duality-and-information-bounds → core-active-inference: 0 conceptual topic relationsvariational-duality-and-information-bounds → core-bayesian-mechanics: 0 conceptual topic relationsvariational-duality-and-information-bounds → core-information-geometry: 0 conceptual topic relationsvariational-duality-and-information-bounds → core-thermodynamics: 0 conceptual topic relationsvariational-duality-and-information-bounds → measure-bayesian-inversion: 0 conceptual topic relationsvariational-duality-and-information-bounds → variational-duality-and-information-bounds: 0 conceptual topic relationsvariational-duality-and-information-bounds → control-and-planning-as-inference: 0 conceptual topic relationsvariational-duality-and-information-bounds → temporal-and-hierarchical-inference: 0 conceptual topic relationsvariational-duality-and-information-bounds → causal-blankets-and-interventions: 0 conceptual topic relationsvariational-duality-and-information-bounds → predictive-coding-and-generalized-coordinates: 0 conceptual topic relationsvariational-duality-and-information-bounds → path-space-stochastic-thermodynamics: 0 conceptual topic relationsvariational-duality-and-information-bounds → information-geometry-and-geometric-optimization: 0 conceptual topic relationsvariational-duality-and-information-bounds → collective-and-multiagent-active-inference: 0 conceptual topic relationsvariational-duality-and-information-bounds → learning-concentration-and-model-evidence: 0 conceptual topic relationsvariational-duality-and-information-bounds → finite-sample-risk-and-calibration: 0 conceptual topic relationsvariational-duality-and-information-bounds → closed-loop-policy-trees-and-efe: 0 conceptual topic relationsvariational-duality-and-information-bounds → finite-to-native-blanket-transfer: 0 conceptual topic relationsvariational-duality-and-information-bounds → finite-exponential-family-dual-geometry: 0 conceptual topic relationsvariational-duality-and-information-bounds → two-state-continuous-time-thermodynamics: 0 conceptual topic relationsvariational-duality-and-information-bounds → standalone-efe-formalizations: 0 conceptual topic relationsvariational-duality-and-information-bounds → geometric-mechanics-notation: 0 conceptual topic relationsF08F08control-and-planning-as-inference → core-free-energy: 0 conceptual topic relationscontrol-and-planning-as-inference → core-active-inference: 0 conceptual topic relationscontrol-and-planning-as-inference → core-bayesian-mechanics: 0 conceptual topic relationscontrol-and-planning-as-inference → core-information-geometry: 0 conceptual topic relationscontrol-and-planning-as-inference → core-thermodynamics: 0 conceptual topic relationscontrol-and-planning-as-inference → measure-bayesian-inversion: 0 conceptual topic relationscontrol-and-planning-as-inference → variational-duality-and-information-bounds: 0 conceptual topic relationscontrol-and-planning-as-inference → control-and-planning-as-inference: 0 conceptual topic relationscontrol-and-planning-as-inference → temporal-and-hierarchical-inference: 0 conceptual topic relationscontrol-and-planning-as-inference → causal-blankets-and-interventions: 0 conceptual topic relationscontrol-and-planning-as-inference → predictive-coding-and-generalized-coordinates: 0 conceptual topic relationscontrol-and-planning-as-inference → path-space-stochastic-thermodynamics: 0 conceptual topic relationscontrol-and-planning-as-inference → information-geometry-and-geometric-optimization: 0 conceptual topic relationscontrol-and-planning-as-inference → collective-and-multiagent-active-inference: 0 conceptual topic relationscontrol-and-planning-as-inference → learning-concentration-and-model-evidence: 0 conceptual topic relationscontrol-and-planning-as-inference → finite-sample-risk-and-calibration: 0 conceptual topic relationscontrol-and-planning-as-inference → closed-loop-policy-trees-and-efe: 0 conceptual topic relationscontrol-and-planning-as-inference → finite-to-native-blanket-transfer: 0 conceptual topic relationscontrol-and-planning-as-inference → finite-exponential-family-dual-geometry: 0 conceptual topic relationscontrol-and-planning-as-inference → two-state-continuous-time-thermodynamics: 0 conceptual topic relationscontrol-and-planning-as-inference → standalone-efe-formalizations: 0 conceptual topic relationscontrol-and-planning-as-inference → geometric-mechanics-notation: 0 conceptual topic relationsF09F09temporal-and-hierarchical-inference → core-free-energy: 0 conceptual topic relationstemporal-and-hierarchical-inference → core-active-inference: 0 conceptual topic relationstemporal-and-hierarchical-inference → core-bayesian-mechanics: 0 conceptual topic relationstemporal-and-hierarchical-inference → core-information-geometry: 0 conceptual topic relationstemporal-and-hierarchical-inference → core-thermodynamics: 0 conceptual topic relationstemporal-and-hierarchical-inference → measure-bayesian-inversion: 0 conceptual topic relationstemporal-and-hierarchical-inference → variational-duality-and-information-bounds: 0 conceptual topic relationstemporal-and-hierarchical-inference → control-and-planning-as-inference: 0 conceptual topic relationstemporal-and-hierarchical-inference → temporal-and-hierarchical-inference: 0 conceptual topic relationstemporal-and-hierarchical-inference → causal-blankets-and-interventions: 0 conceptual topic relationstemporal-and-hierarchical-inference → predictive-coding-and-generalized-coordinates: 0 conceptual topic relationstemporal-and-hierarchical-inference → path-space-stochastic-thermodynamics: 0 conceptual topic relationstemporal-and-hierarchical-inference → information-geometry-and-geometric-optimization: 0 conceptual topic relationstemporal-and-hierarchical-inference → collective-and-multiagent-active-inference: 0 conceptual topic relationstemporal-and-hierarchical-inference → learning-concentration-and-model-evidence: 0 conceptual topic relationstemporal-and-hierarchical-inference → finite-sample-risk-and-calibration: 0 conceptual topic relationstemporal-and-hierarchical-inference → closed-loop-policy-trees-and-efe: 0 conceptual topic relationstemporal-and-hierarchical-inference → finite-to-native-blanket-transfer: 0 conceptual topic relationstemporal-and-hierarchical-inference → finite-exponential-family-dual-geometry: 0 conceptual topic relationstemporal-and-hierarchical-inference → two-state-continuous-time-thermodynamics: 0 conceptual topic relationstemporal-and-hierarchical-inference → standalone-efe-formalizations: 0 conceptual topic relationstemporal-and-hierarchical-inference → geometric-mechanics-notation: 0 conceptual topic relationsF10F10causal-blankets-and-interventions → core-free-energy: 0 conceptual topic relationscausal-blankets-and-interventions → core-active-inference: 0 conceptual topic relationscausal-blankets-and-interventions → core-bayesian-mechanics: 0 conceptual topic relationscausal-blankets-and-interventions → core-information-geometry: 0 conceptual topic relationscausal-blankets-and-interventions → core-thermodynamics: 0 conceptual topic relationscausal-blankets-and-interventions → measure-bayesian-inversion: 0 conceptual topic relationscausal-blankets-and-interventions → variational-duality-and-information-bounds: 0 conceptual topic relationscausal-blankets-and-interventions → control-and-planning-as-inference: 0 conceptual topic relationscausal-blankets-and-interventions → temporal-and-hierarchical-inference: 0 conceptual topic relationscausal-blankets-and-interventions → causal-blankets-and-interventions: 0 conceptual topic relationscausal-blankets-and-interventions → predictive-coding-and-generalized-coordinates: 0 conceptual topic relationscausal-blankets-and-interventions → path-space-stochastic-thermodynamics: 0 conceptual topic relationscausal-blankets-and-interventions → information-geometry-and-geometric-optimization: 0 conceptual topic relationscausal-blankets-and-interventions → collective-and-multiagent-active-inference: 0 conceptual topic relationscausal-blankets-and-interventions → learning-concentration-and-model-evidence: 0 conceptual topic relationscausal-blankets-and-interventions → finite-sample-risk-and-calibration: 0 conceptual topic relationscausal-blankets-and-interventions → closed-loop-policy-trees-and-efe: 0 conceptual topic relationscausal-blankets-and-interventions → finite-to-native-blanket-transfer: 0 conceptual topic relationscausal-blankets-and-interventions → finite-exponential-family-dual-geometry: 0 conceptual topic relationscausal-blankets-and-interventions → two-state-continuous-time-thermodynamics: 0 conceptual topic relationscausal-blankets-and-interventions → standalone-efe-formalizations: 0 conceptual topic relationscausal-blankets-and-interventions → geometric-mechanics-notation: 0 conceptual topic relationsF11F11predictive-coding-and-generalized-coordinates → core-free-energy: 0 conceptual topic relationspredictive-coding-and-generalized-coordinates → core-active-inference: 0 conceptual topic relationspredictive-coding-and-generalized-coordinates → core-bayesian-mechanics: 0 conceptual topic relationspredictive-coding-and-generalized-coordinates → core-information-geometry: 0 conceptual topic relationspredictive-coding-and-generalized-coordinates → core-thermodynamics: 0 conceptual topic relationspredictive-coding-and-generalized-coordinates → measure-bayesian-inversion: 0 conceptual topic relationspredictive-coding-and-generalized-coordinates → variational-duality-and-information-bounds: 0 conceptual topic relationspredictive-coding-and-generalized-coordinates → control-and-planning-as-inference: 0 conceptual topic relationspredictive-coding-and-generalized-coordinates → temporal-and-hierarchical-inference: 0 conceptual topic relationspredictive-coding-and-generalized-coordinates → causal-blankets-and-interventions: 0 conceptual topic relationspredictive-coding-and-generalized-coordinates → predictive-coding-and-generalized-coordinates: 0 conceptual topic relationspredictive-coding-and-generalized-coordinates → path-space-stochastic-thermodynamics: 0 conceptual topic relationspredictive-coding-and-generalized-coordinates → information-geometry-and-geometric-optimization: 0 conceptual topic relationspredictive-coding-and-generalized-coordinates → collective-and-multiagent-active-inference: 0 conceptual topic relationspredictive-coding-and-generalized-coordinates → learning-concentration-and-model-evidence: 0 conceptual topic relationspredictive-coding-and-generalized-coordinates → finite-sample-risk-and-calibration: 0 conceptual topic relationspredictive-coding-and-generalized-coordinates → closed-loop-policy-trees-and-efe: 0 conceptual topic relationspredictive-coding-and-generalized-coordinates → finite-to-native-blanket-transfer: 0 conceptual topic relationspredictive-coding-and-generalized-coordinates → finite-exponential-family-dual-geometry: 0 conceptual topic relationspredictive-coding-and-generalized-coordinates → two-state-continuous-time-thermodynamics: 0 conceptual topic relationspredictive-coding-and-generalized-coordinates → standalone-efe-formalizations: 0 conceptual topic relationspredictive-coding-and-generalized-coordinates → geometric-mechanics-notation: 0 conceptual topic relationsF12F12path-space-stochastic-thermodynamics → core-free-energy: 0 conceptual topic relationspath-space-stochastic-thermodynamics → core-active-inference: 0 conceptual topic relationspath-space-stochastic-thermodynamics → core-bayesian-mechanics: 0 conceptual topic relationspath-space-stochastic-thermodynamics → core-information-geometry: 0 conceptual topic relationspath-space-stochastic-thermodynamics → core-thermodynamics: 0 conceptual topic relationspath-space-stochastic-thermodynamics → measure-bayesian-inversion: 0 conceptual topic relationspath-space-stochastic-thermodynamics → variational-duality-and-information-bounds: 0 conceptual topic relationspath-space-stochastic-thermodynamics → control-and-planning-as-inference: 0 conceptual topic relationspath-space-stochastic-thermodynamics → temporal-and-hierarchical-inference: 0 conceptual topic relationspath-space-stochastic-thermodynamics → causal-blankets-and-interventions: 0 conceptual topic relationspath-space-stochastic-thermodynamics → predictive-coding-and-generalized-coordinates: 0 conceptual topic relationspath-space-stochastic-thermodynamics → path-space-stochastic-thermodynamics: 0 conceptual topic relationspath-space-stochastic-thermodynamics → information-geometry-and-geometric-optimization: 0 conceptual topic relationspath-space-stochastic-thermodynamics → collective-and-multiagent-active-inference: 0 conceptual topic relationspath-space-stochastic-thermodynamics → learning-concentration-and-model-evidence: 0 conceptual topic relationspath-space-stochastic-thermodynamics → finite-sample-risk-and-calibration: 0 conceptual topic relationspath-space-stochastic-thermodynamics → closed-loop-policy-trees-and-efe: 0 conceptual topic relationspath-space-stochastic-thermodynamics → finite-to-native-blanket-transfer: 0 conceptual topic relationspath-space-stochastic-thermodynamics → finite-exponential-family-dual-geometry: 0 conceptual topic relationspath-space-stochastic-thermodynamics → two-state-continuous-time-thermodynamics: 0 conceptual topic relationspath-space-stochastic-thermodynamics → standalone-efe-formalizations: 0 conceptual topic relationspath-space-stochastic-thermodynamics → geometric-mechanics-notation: 0 conceptual topic relationsF13F13information-geometry-and-geometric-optimization → core-free-energy: 0 conceptual topic relationsinformation-geometry-and-geometric-optimization → core-active-inference: 0 conceptual topic relationsinformation-geometry-and-geometric-optimization → core-bayesian-mechanics: 0 conceptual topic relationsinformation-geometry-and-geometric-optimization → core-information-geometry: 0 conceptual topic relationsinformation-geometry-and-geometric-optimization → core-thermodynamics: 0 conceptual topic relationsinformation-geometry-and-geometric-optimization → measure-bayesian-inversion: 0 conceptual topic relationsinformation-geometry-and-geometric-optimization → variational-duality-and-information-bounds: 0 conceptual topic relationsinformation-geometry-and-geometric-optimization → control-and-planning-as-inference: 0 conceptual topic relationsinformation-geometry-and-geometric-optimization → temporal-and-hierarchical-inference: 0 conceptual topic relationsinformation-geometry-and-geometric-optimization → causal-blankets-and-interventions: 0 conceptual topic relationsinformation-geometry-and-geometric-optimization → predictive-coding-and-generalized-coordinates: 0 conceptual topic relationsinformation-geometry-and-geometric-optimization → path-space-stochastic-thermodynamics: 0 conceptual topic relationsinformation-geometry-and-geometric-optimization → information-geometry-and-geometric-optimization: 0 conceptual topic relationsinformation-geometry-and-geometric-optimization → collective-and-multiagent-active-inference: 0 conceptual topic relationsinformation-geometry-and-geometric-optimization → learning-concentration-and-model-evidence: 0 conceptual topic relationsinformation-geometry-and-geometric-optimization → finite-sample-risk-and-calibration: 0 conceptual topic relationsinformation-geometry-and-geometric-optimization → closed-loop-policy-trees-and-efe: 0 conceptual topic relationsinformation-geometry-and-geometric-optimization → finite-to-native-blanket-transfer: 0 conceptual topic relationsinformation-geometry-and-geometric-optimization → finite-exponential-family-dual-geometry: 0 conceptual topic relationsinformation-geometry-and-geometric-optimization → two-state-continuous-time-thermodynamics: 0 conceptual topic relationsinformation-geometry-and-geometric-optimization → standalone-efe-formalizations: 0 conceptual topic relationsinformation-geometry-and-geometric-optimization → geometric-mechanics-notation: 0 conceptual topic relationsF14F14collective-and-multiagent-active-inference → core-free-energy: 0 conceptual topic relationscollective-and-multiagent-active-inference → core-active-inference: 0 conceptual topic relationscollective-and-multiagent-active-inference → core-bayesian-mechanics: 0 conceptual topic relationscollective-and-multiagent-active-inference → core-information-geometry: 0 conceptual topic relationscollective-and-multiagent-active-inference → core-thermodynamics: 0 conceptual topic relationscollective-and-multiagent-active-inference → measure-bayesian-inversion: 0 conceptual topic relationscollective-and-multiagent-active-inference → variational-duality-and-information-bounds: 0 conceptual topic relationscollective-and-multiagent-active-inference → control-and-planning-as-inference: 0 conceptual topic relationscollective-and-multiagent-active-inference → temporal-and-hierarchical-inference: 0 conceptual topic relationscollective-and-multiagent-active-inference → causal-blankets-and-interventions: 0 conceptual topic relationscollective-and-multiagent-active-inference → predictive-coding-and-generalized-coordinates: 0 conceptual topic relationscollective-and-multiagent-active-inference → path-space-stochastic-thermodynamics: 0 conceptual topic relationscollective-and-multiagent-active-inference → information-geometry-and-geometric-optimization: 0 conceptual topic relationscollective-and-multiagent-active-inference → collective-and-multiagent-active-inference: 0 conceptual topic relationscollective-and-multiagent-active-inference → learning-concentration-and-model-evidence: 0 conceptual topic relationscollective-and-multiagent-active-inference → finite-sample-risk-and-calibration: 0 conceptual topic relationscollective-and-multiagent-active-inference → closed-loop-policy-trees-and-efe: 0 conceptual topic relationscollective-and-multiagent-active-inference → finite-to-native-blanket-transfer: 0 conceptual topic relationscollective-and-multiagent-active-inference → finite-exponential-family-dual-geometry: 0 conceptual topic relationscollective-and-multiagent-active-inference → two-state-continuous-time-thermodynamics: 0 conceptual topic relationscollective-and-multiagent-active-inference → standalone-efe-formalizations: 0 conceptual topic relationscollective-and-multiagent-active-inference → geometric-mechanics-notation: 0 conceptual topic relationsF15F15learning-concentration-and-model-evidence → core-free-energy: 0 conceptual topic relationslearning-concentration-and-model-evidence → core-active-inference: 0 conceptual topic relationslearning-concentration-and-model-evidence → core-bayesian-mechanics: 0 conceptual topic relationslearning-concentration-and-model-evidence → core-information-geometry: 0 conceptual topic relationslearning-concentration-and-model-evidence → core-thermodynamics: 0 conceptual topic relationslearning-concentration-and-model-evidence → measure-bayesian-inversion: 0 conceptual topic relationslearning-concentration-and-model-evidence → variational-duality-and-information-bounds: 0 conceptual topic relationslearning-concentration-and-model-evidence → control-and-planning-as-inference: 0 conceptual topic relationslearning-concentration-and-model-evidence → temporal-and-hierarchical-inference: 0 conceptual topic relationslearning-concentration-and-model-evidence → causal-blankets-and-interventions: 0 conceptual topic relationslearning-concentration-and-model-evidence → predictive-coding-and-generalized-coordinates: 0 conceptual topic relationslearning-concentration-and-model-evidence → path-space-stochastic-thermodynamics: 0 conceptual topic relationslearning-concentration-and-model-evidence → information-geometry-and-geometric-optimization: 0 conceptual topic relationslearning-concentration-and-model-evidence → collective-and-multiagent-active-inference: 0 conceptual topic relationslearning-concentration-and-model-evidence → learning-concentration-and-model-evidence: 0 conceptual topic relationslearning-concentration-and-model-evidence → finite-sample-risk-and-calibration: 0 conceptual topic relationslearning-concentration-and-model-evidence → closed-loop-policy-trees-and-efe: 0 conceptual topic relationslearning-concentration-and-model-evidence → finite-to-native-blanket-transfer: 0 conceptual topic relationslearning-concentration-and-model-evidence → finite-exponential-family-dual-geometry: 0 conceptual topic relationslearning-concentration-and-model-evidence → two-state-continuous-time-thermodynamics: 0 conceptual topic relationslearning-concentration-and-model-evidence → standalone-efe-formalizations: 0 conceptual topic relationslearning-concentration-and-model-evidence → geometric-mechanics-notation: 0 conceptual topic relationsF16F16finite-sample-risk-and-calibration → core-free-energy: 0 conceptual topic relationsfinite-sample-risk-and-calibration → core-active-inference: 0 conceptual topic relationsfinite-sample-risk-and-calibration → core-bayesian-mechanics: 0 conceptual topic relationsfinite-sample-risk-and-calibration → core-information-geometry: 0 conceptual topic relationsfinite-sample-risk-and-calibration → core-thermodynamics: 0 conceptual topic relationsfinite-sample-risk-and-calibration → measure-bayesian-inversion: 0 conceptual topic relationsfinite-sample-risk-and-calibration → variational-duality-and-information-bounds: 0 conceptual topic relationsfinite-sample-risk-and-calibration → control-and-planning-as-inference: 0 conceptual topic relationsfinite-sample-risk-and-calibration → temporal-and-hierarchical-inference: 0 conceptual topic relationsfinite-sample-risk-and-calibration → causal-blankets-and-interventions: 0 conceptual topic relationsfinite-sample-risk-and-calibration → predictive-coding-and-generalized-coordinates: 0 conceptual topic relationsfinite-sample-risk-and-calibration → path-space-stochastic-thermodynamics: 0 conceptual topic relationsfinite-sample-risk-and-calibration → information-geometry-and-geometric-optimization: 0 conceptual topic relationsfinite-sample-risk-and-calibration → collective-and-multiagent-active-inference: 0 conceptual topic relationsfinite-sample-risk-and-calibration → learning-concentration-and-model-evidence: 0 conceptual topic relationsfinite-sample-risk-and-calibration → finite-sample-risk-and-calibration: 0 conceptual topic relationsfinite-sample-risk-and-calibration → closed-loop-policy-trees-and-efe: 0 conceptual topic relationsfinite-sample-risk-and-calibration → finite-to-native-blanket-transfer: 0 conceptual topic relationsfinite-sample-risk-and-calibration → finite-exponential-family-dual-geometry: 0 conceptual topic relationsfinite-sample-risk-and-calibration → two-state-continuous-time-thermodynamics: 0 conceptual topic relationsfinite-sample-risk-and-calibration → standalone-efe-formalizations: 0 conceptual topic relationsfinite-sample-risk-and-calibration → geometric-mechanics-notation: 0 conceptual topic relationsF17F17closed-loop-policy-trees-and-efe → core-free-energy: 0 conceptual topic relationsclosed-loop-policy-trees-and-efe → core-active-inference: 0 conceptual topic relationsclosed-loop-policy-trees-and-efe → core-bayesian-mechanics: 0 conceptual topic relationsclosed-loop-policy-trees-and-efe → core-information-geometry: 0 conceptual topic relationsclosed-loop-policy-trees-and-efe → core-thermodynamics: 0 conceptual topic relationsclosed-loop-policy-trees-and-efe → measure-bayesian-inversion: 0 conceptual topic relationsclosed-loop-policy-trees-and-efe → variational-duality-and-information-bounds: 0 conceptual topic relationsclosed-loop-policy-trees-and-efe → control-and-planning-as-inference: 0 conceptual topic relationsclosed-loop-policy-trees-and-efe → temporal-and-hierarchical-inference: 0 conceptual topic relationsclosed-loop-policy-trees-and-efe → causal-blankets-and-interventions: 0 conceptual topic relationsclosed-loop-policy-trees-and-efe → predictive-coding-and-generalized-coordinates: 0 conceptual topic relationsclosed-loop-policy-trees-and-efe → path-space-stochastic-thermodynamics: 0 conceptual topic relationsclosed-loop-policy-trees-and-efe → information-geometry-and-geometric-optimization: 0 conceptual topic relationsclosed-loop-policy-trees-and-efe → collective-and-multiagent-active-inference: 0 conceptual topic relationsclosed-loop-policy-trees-and-efe → learning-concentration-and-model-evidence: 0 conceptual topic relationsclosed-loop-policy-trees-and-efe → finite-sample-risk-and-calibration: 0 conceptual topic relationsclosed-loop-policy-trees-and-efe → closed-loop-policy-trees-and-efe: 0 conceptual topic relationsclosed-loop-policy-trees-and-efe → finite-to-native-blanket-transfer: 0 conceptual topic relationsclosed-loop-policy-trees-and-efe → finite-exponential-family-dual-geometry: 0 conceptual topic relationsclosed-loop-policy-trees-and-efe → two-state-continuous-time-thermodynamics: 0 conceptual topic relationsclosed-loop-policy-trees-and-efe → standalone-efe-formalizations: 0 conceptual topic relationsclosed-loop-policy-trees-and-efe → geometric-mechanics-notation: 0 conceptual topic relationsF18F18finite-to-native-blanket-transfer → core-free-energy: 0 conceptual topic relationsfinite-to-native-blanket-transfer → core-active-inference: 0 conceptual topic relationsfinite-to-native-blanket-transfer → core-bayesian-mechanics: 0 conceptual topic relationsfinite-to-native-blanket-transfer → core-information-geometry: 0 conceptual topic relationsfinite-to-native-blanket-transfer → core-thermodynamics: 0 conceptual topic relationsfinite-to-native-blanket-transfer → measure-bayesian-inversion: 0 conceptual topic relationsfinite-to-native-blanket-transfer → variational-duality-and-information-bounds: 0 conceptual topic relationsfinite-to-native-blanket-transfer → control-and-planning-as-inference: 0 conceptual topic relationsfinite-to-native-blanket-transfer → temporal-and-hierarchical-inference: 0 conceptual topic relationsfinite-to-native-blanket-transfer → causal-blankets-and-interventions: 0 conceptual topic relationsfinite-to-native-blanket-transfer → predictive-coding-and-generalized-coordinates: 0 conceptual topic relationsfinite-to-native-blanket-transfer → path-space-stochastic-thermodynamics: 0 conceptual topic relationsfinite-to-native-blanket-transfer → information-geometry-and-geometric-optimization: 0 conceptual topic relationsfinite-to-native-blanket-transfer → collective-and-multiagent-active-inference: 0 conceptual topic relationsfinite-to-native-blanket-transfer → learning-concentration-and-model-evidence: 0 conceptual topic relationsfinite-to-native-blanket-transfer → finite-sample-risk-and-calibration: 0 conceptual topic relationsfinite-to-native-blanket-transfer → closed-loop-policy-trees-and-efe: 0 conceptual topic relationsfinite-to-native-blanket-transfer → finite-to-native-blanket-transfer: 0 conceptual topic relationsfinite-to-native-blanket-transfer → finite-exponential-family-dual-geometry: 0 conceptual topic relationsfinite-to-native-blanket-transfer → two-state-continuous-time-thermodynamics: 0 conceptual topic relationsfinite-to-native-blanket-transfer → standalone-efe-formalizations: 0 conceptual topic relationsfinite-to-native-blanket-transfer → geometric-mechanics-notation: 0 conceptual topic relationsF19F19finite-exponential-family-dual-geometry → core-free-energy: 0 conceptual topic relationsfinite-exponential-family-dual-geometry → core-active-inference: 0 conceptual topic relationsfinite-exponential-family-dual-geometry → core-bayesian-mechanics: 0 conceptual topic relationsfinite-exponential-family-dual-geometry → core-information-geometry: 0 conceptual topic relationsfinite-exponential-family-dual-geometry → core-thermodynamics: 0 conceptual topic relationsfinite-exponential-family-dual-geometry → measure-bayesian-inversion: 0 conceptual topic relationsfinite-exponential-family-dual-geometry → variational-duality-and-information-bounds: 0 conceptual topic relationsfinite-exponential-family-dual-geometry → control-and-planning-as-inference: 0 conceptual topic relationsfinite-exponential-family-dual-geometry → temporal-and-hierarchical-inference: 0 conceptual topic relationsfinite-exponential-family-dual-geometry → causal-blankets-and-interventions: 0 conceptual topic relationsfinite-exponential-family-dual-geometry → predictive-coding-and-generalized-coordinates: 0 conceptual topic relationsfinite-exponential-family-dual-geometry → path-space-stochastic-thermodynamics: 0 conceptual topic relationsfinite-exponential-family-dual-geometry → information-geometry-and-geometric-optimization: 0 conceptual topic relationsfinite-exponential-family-dual-geometry → collective-and-multiagent-active-inference: 0 conceptual topic relationsfinite-exponential-family-dual-geometry → learning-concentration-and-model-evidence: 0 conceptual topic relationsfinite-exponential-family-dual-geometry → finite-sample-risk-and-calibration: 0 conceptual topic relationsfinite-exponential-family-dual-geometry → closed-loop-policy-trees-and-efe: 0 conceptual topic relationsfinite-exponential-family-dual-geometry → finite-to-native-blanket-transfer: 0 conceptual topic relationsfinite-exponential-family-dual-geometry → finite-exponential-family-dual-geometry: 0 conceptual topic relationsfinite-exponential-family-dual-geometry → two-state-continuous-time-thermodynamics: 0 conceptual topic relationsfinite-exponential-family-dual-geometry → standalone-efe-formalizations: 0 conceptual topic relationsfinite-exponential-family-dual-geometry → geometric-mechanics-notation: 0 conceptual topic relationsF20F20two-state-continuous-time-thermodynamics → core-free-energy: 0 conceptual topic relationstwo-state-continuous-time-thermodynamics → core-active-inference: 0 conceptual topic relationstwo-state-continuous-time-thermodynamics → core-bayesian-mechanics: 0 conceptual topic relationstwo-state-continuous-time-thermodynamics → core-information-geometry: 0 conceptual topic relationstwo-state-continuous-time-thermodynamics → core-thermodynamics: 0 conceptual topic relationstwo-state-continuous-time-thermodynamics → measure-bayesian-inversion: 0 conceptual topic relationstwo-state-continuous-time-thermodynamics → variational-duality-and-information-bounds: 0 conceptual topic relationstwo-state-continuous-time-thermodynamics → control-and-planning-as-inference: 0 conceptual topic relationstwo-state-continuous-time-thermodynamics → temporal-and-hierarchical-inference: 0 conceptual topic relationstwo-state-continuous-time-thermodynamics → causal-blankets-and-interventions: 0 conceptual topic relationstwo-state-continuous-time-thermodynamics → predictive-coding-and-generalized-coordinates: 0 conceptual topic relationstwo-state-continuous-time-thermodynamics → path-space-stochastic-thermodynamics: 0 conceptual topic relationstwo-state-continuous-time-thermodynamics → information-geometry-and-geometric-optimization: 0 conceptual topic relationstwo-state-continuous-time-thermodynamics → collective-and-multiagent-active-inference: 0 conceptual topic relationstwo-state-continuous-time-thermodynamics → learning-concentration-and-model-evidence: 0 conceptual topic relationstwo-state-continuous-time-thermodynamics → finite-sample-risk-and-calibration: 0 conceptual topic relationstwo-state-continuous-time-thermodynamics → closed-loop-policy-trees-and-efe: 0 conceptual topic relationstwo-state-continuous-time-thermodynamics → finite-to-native-blanket-transfer: 0 conceptual topic relationstwo-state-continuous-time-thermodynamics → finite-exponential-family-dual-geometry: 0 conceptual topic relationstwo-state-continuous-time-thermodynamics → two-state-continuous-time-thermodynamics: 0 conceptual topic relationstwo-state-continuous-time-thermodynamics → standalone-efe-formalizations: 0 conceptual topic relationstwo-state-continuous-time-thermodynamics → geometric-mechanics-notation: 0 conceptual topic relationsF21F21standalone-efe-formalizations → core-free-energy: 0 conceptual topic relationsstandalone-efe-formalizations → core-active-inference: 0 conceptual topic relationsstandalone-efe-formalizations → core-bayesian-mechanics: 0 conceptual topic relationsstandalone-efe-formalizations → core-information-geometry: 0 conceptual topic relationsstandalone-efe-formalizations → core-thermodynamics: 0 conceptual topic relationsstandalone-efe-formalizations → measure-bayesian-inversion: 0 conceptual topic relationsstandalone-efe-formalizations → variational-duality-and-information-bounds: 0 conceptual topic relationsstandalone-efe-formalizations → control-and-planning-as-inference: 0 conceptual topic relationsstandalone-efe-formalizations → temporal-and-hierarchical-inference: 0 conceptual topic relationsstandalone-efe-formalizations → causal-blankets-and-interventions: 0 conceptual topic relationsstandalone-efe-formalizations → predictive-coding-and-generalized-coordinates: 0 conceptual topic relationsstandalone-efe-formalizations → path-space-stochastic-thermodynamics: 0 conceptual topic relationsstandalone-efe-formalizations → information-geometry-and-geometric-optimization: 0 conceptual topic relationsstandalone-efe-formalizations → collective-and-multiagent-active-inference: 0 conceptual topic relationsstandalone-efe-formalizations → learning-concentration-and-model-evidence: 0 conceptual topic relationsstandalone-efe-formalizations → finite-sample-risk-and-calibration: 0 conceptual topic relationsstandalone-efe-formalizations → closed-loop-policy-trees-and-efe: 0 conceptual topic relationsstandalone-efe-formalizations → finite-to-native-blanket-transfer: 0 conceptual topic relationsstandalone-efe-formalizations → finite-exponential-family-dual-geometry: 0 conceptual topic relationsstandalone-efe-formalizations → two-state-continuous-time-thermodynamics: 0 conceptual topic relationsstandalone-efe-formalizations → standalone-efe-formalizations: 0 conceptual topic relationsstandalone-efe-formalizations → geometric-mechanics-notation: 0 conceptual topic relationsF22F22geometric-mechanics-notation → core-free-energy: 0 conceptual topic relationsgeometric-mechanics-notation → core-active-inference: 0 conceptual topic relationsgeometric-mechanics-notation → core-bayesian-mechanics: 0 conceptual topic relationsgeometric-mechanics-notation → core-information-geometry: 0 conceptual topic relationsgeometric-mechanics-notation → core-thermodynamics: 0 conceptual topic relationsgeometric-mechanics-notation → measure-bayesian-inversion: 0 conceptual topic relationsgeometric-mechanics-notation → variational-duality-and-information-bounds: 0 conceptual topic relationsgeometric-mechanics-notation → control-and-planning-as-inference: 0 conceptual topic relationsgeometric-mechanics-notation → temporal-and-hierarchical-inference: 0 conceptual topic relationsgeometric-mechanics-notation → causal-blankets-and-interventions: 0 conceptual topic relationsgeometric-mechanics-notation → predictive-coding-and-generalized-coordinates: 0 conceptual topic relationsgeometric-mechanics-notation → path-space-stochastic-thermodynamics: 0 conceptual topic relationsgeometric-mechanics-notation → information-geometry-and-geometric-optimization: 0 conceptual topic relationsgeometric-mechanics-notation → collective-and-multiagent-active-inference: 0 conceptual topic relationsgeometric-mechanics-notation → learning-concentration-and-model-evidence: 0 conceptual topic relationsgeometric-mechanics-notation → finite-sample-risk-and-calibration: 0 conceptual topic relationsgeometric-mechanics-notation → closed-loop-policy-trees-and-efe: 0 conceptual topic relationsgeometric-mechanics-notation → finite-to-native-blanket-transfer: 0 conceptual topic relationsgeometric-mechanics-notation → finite-exponential-family-dual-geometry: 0 conceptual topic relationsgeometric-mechanics-notation → two-state-continuous-time-thermodynamics: 0 conceptual topic relationsgeometric-mechanics-notation → standalone-efe-formalizations: 0 conceptual topic relationsgeometric-mechanics-notation → geometric-mechanics-notation: 0 conceptual topic relationsFamily key (the exact topic graph remains in the accessible HTML table)F01 · core-free-energyF02 · core-active-inferenceF03 · core-bayesian-mechanicsF04 · core-information-geometryF05 · core-thermodynamicsF06 · measure-bayesian-inversionF07 · variational-duality-and-information-boundsF08 · control-and-planning-as-inferenceF09 · temporal-and-hierarchical-inferenceF10 · causal-blankets-and-interventionsF11 · predictive-coding-and-generalized-coordinatesF12 · path-space-stochastic-thermodynamicsF13 · information-geometry-and-geometric-optimizationF14 · collective-and-multiagent-active-inferenceF15 · learning-concentration-and-model-evidenceF16 · finite-sample-risk-and-calibrationF17 · closed-loop-policy-trees-and-efeF18 · finite-to-native-blanket-transferF19 · finite-exponential-family-dual-geometryF20 · two-state-continuous-time-thermodynamicsF21 · standalone-efe-formalizationsF22 · geometric-mechanics-notationEditorial upstream affinities · no formal edge or native acceptanceupstream-140 ···→ F06: Match priors, noise, memory and stopping rules.upstream-221 ···→ F14: Product laws do not imply a disorder thermodynamic limit.upstream-222 ···→ F07: Separate finiteness from limiting pressure and bounded-potential assumptions.upstream-360 ···→ F04: Fisher information does not imply MTW curvature.upstream-374 ···→ F18: Match compact carriers, map norms and transport cost. diff --git a/docs/mathematical-positioning/positioning.json b/docs/mathematical-positioning/positioning.json index bcd83db8..f4c828f5 100644 --- a/docs/mathematical-positioning/positioning.json +++ b/docs/mathematical-positioning/positioning.json @@ -737,6 +737,13 @@ "source": "fep-005", "target": "fep-009" }, + { + "kind": "formal", + "rationale": "With unit incoming messages and factor exp(-gamma * cost), fep-007's normalized sum-product message equals fep-028's support-aware softmax on the support embedded from the eight nodes into the ten policies, and fep-007's primary message-normalization theorem derives the unit sum of that softmax. The embedding and the exponential factor are explicit in the witness; no general belief-propagation or free-energy claim is made. Added 2026-10-08 (LEAN-8, issue 106).", + "source": "fep-007", + "target": "fep-028", + "witness": "FEPComposed.fep007_normalizedMessage_is_fep028_softmax" + }, { "kind": "conceptual", "rationale": "Finite argmin existence and finite softmax normalization represent deterministic and stochastic policy-selection layers.", @@ -823,6 +830,13 @@ "source": "fep-029", "target": "fep-044" }, + { + "kind": "formal", + "rationale": "fep-029's scalar quadratic Bregman divergence is the one-coordinate instance of the generic Bregman divergence of fep-104 with potential v0^2 and gradient 2*v0, and fep-104's mirror-descent three-point identity yields the scalar three-point law for it. Scalar case only; no claim about other potentials or the alpha-divergence proxy. Added 2026-10-08 (LEAN-8, issue 106).", + "source": "fep-029", + "target": "fep-104", + "witness": "FEPComposed.fep029_quadraticBregman_is_fep104_scalar_instance" + }, { "kind": "conceptual", "rationale": "A general constrained maximum-entropy derivation of Gibbs laws remains outside the binary zero-inverse-temperature theorem.", @@ -898,6 +912,20 @@ "target": "fep-036", "witness": "FEPComposed.fep036_empiricalPosterior_closed" }, + { + "kind": "formal", + "rationale": "A single stick-breaking fraction is the Bernoulli law of fep-045 (allocated weight is the true mass, residual is the false mass), and fep-046's mass-conservation theorem derives the normalization of fep-045's conjugate posterior mass function at the posterior parameter. One break only; no Dirichlet-process or infinite-series claim. Added 2026-10-08 (LEAN-8, issue 106).", + "source": "fep-046", + "target": "fep-045", + "witness": "FEPComposed.fep046_single_break_is_fep045_bernoulli" + }, + { + "kind": "formal", + "rationale": "Discharging fep-050's second-law premise with fep-049's nonnegative quadratic entropy production derives the Landauer work bound. The identification of the erasure's total entropy change with the constitutive-law entropy production is an explicit premise (`hBalance`) of the witness, a modelling assumption rather than a consequence of either topic. Added 2026-10-08 (LEAN-8, issue 106).", + "source": "fep-050", + "target": "fep-049", + "witness": "FEPComposed.fep050_landauer_work_bound_from_fep049_entropy_production" + }, { "kind": "formal_pairing", "rationale": "Radon--Nikodym reconstruction and posterior joint reconstruction are the measure-level reconstruction laws on either side of Bayesian inversion.", @@ -1815,14 +1843,14 @@ } ], "counts": { - "authored_edges": 146, + "authored_edges": 150, "capabilities": 50, "domains": 14, "families": 22, "formal_modules": 71, "relation_kinds": { "conceptual": 8, - "formal": 20, + "formal": 24, "formal_pairing": 118 }, "semantic_dispositions": { @@ -7803,7 +7831,7 @@ "lean_module": "FepSketches.finite_information", "resource": "finite_information.lean", "role": "foundation", - "theorem_count": 25 + "theorem_count": 31 }, { "declaration_namespace": "FEP.ActiveInference", @@ -7845,7 +7873,7 @@ "lean_module": "FepSketches.variational_duality", "resource": "variational_duality.lean", "role": "foundation", - "theorem_count": 56 + "theorem_count": 74 }, { "declaration_namespace": "FEP.ControlledMarkov", @@ -7880,7 +7908,7 @@ "lean_module": "FepSketches.predictive_coding", "resource": "predictive_coding.lean", "role": "foundation", - "theorem_count": 30 + "theorem_count": 47 }, { "declaration_namespace": "FEP.NessFlow", @@ -7894,7 +7922,7 @@ "lean_module": "FepSketches.path_thermodynamics", "resource": "path_thermodynamics.lean", "role": "foundation", - "theorem_count": 25 + "theorem_count": 56 }, { "declaration_namespace": "FEP.GeometricOptimization", @@ -7908,7 +7936,7 @@ "lean_module": "FepSketches.collective_inference", "resource": "collective_inference.lean", "role": "foundation", - "theorem_count": 13 + "theorem_count": 41 }, { "declaration_namespace": "FEP.LearningTheory", @@ -8083,7 +8111,7 @@ "lean_module": "FepSketches.helmholtz_ao_ness", "resource": "helmholtz_ao_ness.lean", "role": "foundation", - "theorem_count": 26 + "theorem_count": 22 }, { "declaration_namespace": "FEP.GeometricMechanics", @@ -8111,7 +8139,7 @@ "lean_module": "FepSketches.compositions.core", "resource": "compositions/core.lean", "role": "composition", - "theorem_count": 22 + "theorem_count": 26 }, { "declaration_namespace": "FEPComposed", @@ -8878,14 +8906,14 @@ "formal/active_inference.lean": "ab5cb5df2d7a79b2265de527629858ae7fa7e2b7e94db2b6c6838943147d86c5", "formal/bayesian_model_reduction.lean": "264ce160b0e29ec37f4fe3b4a10e9fe82ff3b650a96c0f0e425524fa53d99b8a", "formal/causal_dynamics.lean": "5e8ec0e0bc65ab87ccc5f93685d162e744ddc43c8958b5f7fc7f6ff47cec460e", - "formal/collective_inference.lean": "c073fe37fa86b8e7619af4d5ffcf0b8ba5579243b5d824ac0053df197fed55a5", + "formal/collective_inference.lean": "2e419786135021c8fe884a706e3c3bf6db56254c5bc5b83c16dbbef3a7b84639", "formal/composed.lean": "ee98a530a653471420cd68fe393c3d7aa4bc0f4980ad38c43b36bb3db77b1629", "formal/compositions/bayesian_model_reduction.lean": "320f0faa836ca9d902646b6eb497eee28111f889ce6a81921dead50b9b0be8d0", "formal/compositions/causal_predictive.lean": "6ce9bbd13722f66765537460193428d0f77003a8abbca3d16bfc3ae389f0e0a7", "formal/compositions/collective_learning.lean": "dd955765c85e05b70c39847c5f439303e879717ff437b0e36d7ca1969acde4e5", "formal/compositions/continuous_time.lean": "6c19c0fc1952141f3451d9da385c5d853608f36aab91bcfcda09b559c09510a8", "formal/compositions/control_temporal.lean": "98ce41a805e7ac2a2eba43f7ba89664e5c77c7bbe20380c756d0bd3ff288aed2", - "formal/compositions/core.lean": "2fcd89a1fd11865206fbb85afabdf6bc45d60bfae7fc72e098704364b49afad9", + "formal/compositions/core.lean": "5ce07f7f61ffa33852ad55f13f5ca11ac99ce47a60f1f6a1604ccbe37da1d471", "formal/compositions/efe_policy_selection.lean": "27b1b26c1af403e387850f77ddf9804467c44ee5085ab5a74b2ee75cb4ba6c7d", "formal/compositions/efe_time_scale_separation.lean": "93f15c1daaa53f51634e2da4b5b080b5ffe68a8a7d15881b427c14a20891c81f", "formal/compositions/exponential_family.lean": "618ef2cf9838134b1a1815410a1cac84ce2daa6c030be2ac4d4e577caa83e1d1", @@ -8914,7 +8942,7 @@ "formal/empirical_risk.lean": "d1a9230237c237648c167bd677d347eb4aacbb3e70c93914bb6ab52498064067", "formal/exponential_family.lean": "5d12165f38e1d18b03f03869fcc907720a41aac243589d96a99a57e41601dbc9", "formal/fin4_gaussian_semigroup.lean": "a7c14d2fdeb44c61ffa4012d6eccc8d00051be916ab536e2658f4ef3652d260c", - "formal/finite_information.lean": "3d52e359f9cb6a44a4b228f1353f63bfe1eb69170b653e20c1c2a8b72720bd45", + "formal/finite_information.lean": "8d5cae82d2c1046056dcf8d65c0758ebf04f6afef7d2d1edb795ec1be746989d", "formal/finite_markov_dynamics.lean": "5798cbfd93cddfac652bb76effc278796e549ff9124632cba00bfaecf9448f89", "formal/finite_posterior_learning.lean": "c7b8e6bb97f33edc75ffb627cd03998c22943a2b2f34017d12ab5b1d24c86cc6", "formal/finite_probability.lean": "eb019691997b8c9a2e3dfbe127bf3336610c5dd12bb035e559dc1d77842c9a66", @@ -8927,7 +8955,7 @@ "formal/gnn_document.lean": "49bafbbf1816fb7bb65642a9595ce3a1073d5b5eb1189f331c5437025cffe57a", "formal/gnn_render_statements.lean": "dd17bd9b3107c9a0f94b137b43ce3c1cf87f13c6bd8e96ff3084f3f94e0ae83c", "formal/h3_reference_model.lean": "eb4f49d24fb49bfd064421d7f88e4cc554f7df5989690c28138b900adebfe47a", - "formal/helmholtz_ao_ness.lean": "cc0c6172e152dcbcf6db7a128630d15003514a7fcb37bbac965d174d262f0021", + "formal/helmholtz_ao_ness.lean": "79916bbc70b3388fcf39f808bef6c16d86ab42c4e08b4ea12df143ccbfd0319e", "formal/information_geometry.lean": "958226855247a5658dd96594c4fd002aa07de3d81f232ff5e7cdbbf8e42e6fb6", "formal/law_weighted_split.lean": "def5e9bbc82209660b18a353625799b860253d0701985bc0a2ce362bdd01dd1e", "formal/learning_theory.lean": "d1d8784be113bb95ce26ba21307e5cd5e033bd888f197d1464485ecdbdeac88f", @@ -8938,18 +8966,18 @@ "formal/measure_bayes.lean": "a8d81f59d449761a19960663fde0c8b5208cbc2db8966d6ddb2081175e3be133", "formal/native_blanket.lean": "b6f99c2560e5c2ca9670caf7a4af887e7ea81befd465292aaacfbb7bb278bc2b", "formal/ness_flow.lean": "fcf58cdd04feac36a46095b12c744f4c29683444ea56895b43531daa0b5e7de4", - "formal/path_thermodynamics.lean": "bac2fde1b9e0bfafa78b3f622662aa8169c6d1510cc19ffec5a9e955dd5dbf00", + "formal/path_thermodynamics.lean": "ba726b7c4bebe273092e1247cf6d67b7d78585adbf267dd8c05ff0d5e48e5c6e", "formal/perception_action_loop.lean": "e0fe4b34b6c5725e3a445024183ecf62c9cb17c277e31bc93b2ff722384619e1", "formal/policy_tree.lean": "2ac7813362f0c9e5c4a163ee9a56449409a6a6a08aaed0d8a5ad24220417bd88", "formal/posterior_convergence.lean": "1449b1eb5eff7a709e08f96147597d4f662d0ce7b07d0c165c1d7fb0cf51ff20", - "formal/predictive_coding.lean": "166d8b1394b67216d93c5290ed05ee5816a9c9e5beaeb06783f6f188a79df65a", + "formal/predictive_coding.lean": "2b4589e435d281a04ac123f0289a2ffca4f6306b683a36aa2dd32b0d1d051782", "formal/scalar_gaussian_semigroup.lean": "d99665db1366fd8cfa58c43313fb85fc81f68d36eb70a768b26d4c2f9570a05e", "formal/smooth_information_geometry.lean": "571789ed86eb4ca7516c47621d555b4c12a467fd61f3854a009484de4debf1f8", "formal/statistical_convergence.lean": "6984bb60ec822da2af08d94472bdae67ac743aaa0b6ef8dec0c83538aa60ade0", "formal/temporal_inference.lean": "3672617b92818a501bb5b6e5f0082cf1713b0a272e21926186787a6945649f10", - "formal/variational_duality.lean": "82697feb382e0c66599fadb1e6eabeb142ad95f1784e8d46216b939f3da4a90f", + "formal/variational_duality.lean": "fdc4e5e2d22f0fc2a08cf5b1264c52b93ccd71dd25e1a72064acf632b331e8b0", "inputs/catalogue_metadata.yaml": "e50020964ece9caeeb05dad04ccae7c709389d5983c386056efc975e51a4e5bd", - "inputs/formalism_relations.yaml": "a071c8290d3583281e403a8270109cf49ee03a26a489a2908b91d3223134ed2e", + "inputs/formalism_relations.yaml": "8665aa1c7ac5a72f7eea383c61c5719e9a5183559273b38709fa2a1d3f86cb2d", "inputs/positioning.yaml": "d18b1e937babd732ac94414935f606e671ffb54a19f022de15b0dc45ed245e2d", "inputs/theorem_maturity.yaml": "7f096a3b8ff8493d1759bbb0af39253bef3f34d159f4d443a9fd1c8f9618aded", "lean_source.py": "8bf35005a2f360805af28eb8918dd988c48b33941c6e2dad7215d22c787b804c", @@ -18481,10 +18509,22 @@ "statement": "theorem sharedConditional_mixture_preserves_joint\n {Input Output : Type*} [Fintype Input] [Fintype Output]\n (weight : ℝ) (hWeightNonneg : 0 ≤ weight)\n (hWeightLeOne : weight ≤ 1)\n (left right : FiniteLaw Input) (kernel : FiniteKernel Input Output) :\n kernel.joint (mixLaw weight hWeightNonneg hWeightLeOne left right) =\n mixLaw weight hWeightNonneg hWeightLeOne\n (kernel.joint left) (kernel.joint right)", "statement_sha256": "51948fbd98a6ae7e7d700e1c234b8310f59ba795340e14482548ae8b36a59516" }, - "FEP.CollectiveInference.boolConsensus_nonzero_strict_witness": { + "FEP.CollectiveInference.asymMatrix3_nonneg": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [], - "conclusion": "beliefGap (FiniteLaw.pointMass true) (FiniteLaw.pointMass false) true = 1 ∧\n beliefGap\n (consensusLeft (FiniteLaw.pointMass true) (FiniteLaw.pointMass false))\n (consensusRight (FiniteLaw.pointMass true) (FiniteLaw.pointMass false))\n true = 1 / 2 ∧\n 0 < beliefGap\n (consensusLeft (FiniteLaw.pointMass true) (FiniteLaw.pointMass false))\n (consensusRight (FiniteLaw.pointMass true) (FiniteLaw.pointMass false))\n true ∧\n beliefGap\n (consensusLeft (FiniteLaw.pointMass true) (FiniteLaw.pointMass false))\n (consensusRight (FiniteLaw.pointMass true) (FiniteLaw.pointMass false))\n true <\n beliefGap (FiniteLaw.pointMass true) (FiniteLaw.pointMass false) true", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "i", + "j" + ], + "role": "typed_binder", + "source": "(i j : Fin 3)", + "type_source": "Fin 3", + "visibility": "explicit" + } + ], + "conclusion": "0 ≤ asymMatrix3 i j", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -18543,79 +18583,27 @@ "{State₁ State₂ Observation₁ Observation₂ : Type*}\n [Fintype State₁] [Fintype State₂]\n [Fintype Observation₁] [Fintype Observation₂]" ], "preceding_scope_directives": [], - "qualified_name": "FEP.CollectiveInference.boolConsensus_nonzero_strict_witness", - "source_line": 348, + "qualified_name": "FEP.CollectiveInference.asymMatrix3_nonneg", + "source_line": 753, "source_owner": "src/fep_lean/formal/collective_inference.lean", - "statement": "theorem boolConsensus_nonzero_strict_witness :\n beliefGap (FiniteLaw.pointMass true) (FiniteLaw.pointMass false) true = 1 ∧\n beliefGap\n (consensusLeft (FiniteLaw.pointMass true) (FiniteLaw.pointMass false))\n (consensusRight (FiniteLaw.pointMass true) (FiniteLaw.pointMass false))\n true = 1 / 2 ∧\n 0 < beliefGap\n (consensusLeft (FiniteLaw.pointMass true) (FiniteLaw.pointMass false))\n (consensusRight (FiniteLaw.pointMass true) (FiniteLaw.pointMass false))\n true ∧\n beliefGap\n (consensusLeft (FiniteLaw.pointMass true) (FiniteLaw.pointMass false))\n (consensusRight (FiniteLaw.pointMass true) (FiniteLaw.pointMass false))\n true <\n beliefGap (FiniteLaw.pointMass true) (FiniteLaw.pointMass false) true", - "statement_sha256": "afff2c981f737018efa9940423948a192d780c5feb1896eb12d2229cf53cf4e6" + "statement": "theorem asymMatrix3_nonneg (i j : Fin 3) : 0 ≤ asymMatrix3 i j", + "statement_sha256": "5e0197009f318e76cb0beffdb3c0563e042fa4313bceba311ad3e551ec159b43" }, - "FEP.CollectiveInference.collectiveVFE_additive": { + "FEP.CollectiveInference.asymMatrix3_row": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "actualLeft", - "referenceLeft" - ], - "role": "typed_binder", - "source": "(actualLeft referenceLeft : FiniteLaw State₁)", - "type_source": "FiniteLaw State₁", - "visibility": "explicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "actualRight", - "referenceRight" - ], - "role": "typed_binder", - "source": "(actualRight referenceRight : FiniteLaw State₂)", - "type_source": "FiniteLaw State₂", - "visibility": "explicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "leftCost" - ], - "role": "typed_binder", - "source": "(leftCost : State₁ → ℝ)", - "type_source": "State₁ → ℝ", - "visibility": "explicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "rightCost" - ], - "role": "typed_binder", - "source": "(rightCost : State₂ → ℝ)", - "type_source": "State₂ → ℝ", - "visibility": "explicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "referenceLeftPositive" - ], - "role": "typed_binder", - "source": "(referenceLeftPositive : ∀ state, 0 < referenceLeft state)", - "type_source": "∀ state, 0 < referenceLeft state", - "visibility": "explicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "referenceRightPositive" + "i" ], "role": "typed_binder", - "source": "(referenceRightPositive : ∀ state, 0 < referenceRight state)", - "type_source": "∀ state, 0 < referenceRight state", + "source": "(i : Fin 3)", + "type_source": "Fin 3", "visibility": "explicit" } ], - "conclusion": "collectiveVFE actualLeft referenceLeft actualRight referenceRight\n leftCost rightCost =\n variationalFreeEnergy actualLeft referenceLeft leftCost +\n variationalFreeEnergy actualRight referenceRight rightCost", + "conclusion": "∑ j, asymMatrix3 i j = 1", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -18663,14 +18651,7 @@ "visibility": "instance" } ], - "declaration_mentions": [ - { - "identifier": "productExpectedCost_additive", - "qualified_name": "FEP.CollectiveInference.productExpectedCost_additive", - "resolution": "exact or same-namespace source identifier", - "role": "proof_reference" - } - ], + "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ "FepSketches.finite_information" @@ -18681,22 +18662,27 @@ "{State₁ State₂ Observation₁ Observation₂ : Type*}\n [Fintype State₁] [Fintype State₂]\n [Fintype Observation₁] [Fintype Observation₂]" ], "preceding_scope_directives": [], - "qualified_name": "FEP.CollectiveInference.collectiveVFE_additive", - "source_line": 149, + "qualified_name": "FEP.CollectiveInference.asymMatrix3_row", + "source_line": 756, "source_owner": "src/fep_lean/formal/collective_inference.lean", - "statement": "theorem collectiveVFE_additive\n (actualLeft referenceLeft : FiniteLaw State₁)\n (actualRight referenceRight : FiniteLaw State₂)\n (leftCost : State₁ → ℝ) (rightCost : State₂ → ℝ)\n (referenceLeftPositive : ∀ state, 0 < referenceLeft state)\n (referenceRightPositive : ∀ state, 0 < referenceRight state) :\n collectiveVFE actualLeft referenceLeft actualRight referenceRight\n leftCost rightCost =\n variationalFreeEnergy actualLeft referenceLeft leftCost +\n variationalFreeEnergy actualRight referenceRight rightCost", - "statement_sha256": "7daedf4ccc732c559c6fc5c3282070099419627a4094398a6b3e9eaaa3b3e4d9" + "statement": "theorem asymMatrix3_row (i : Fin 3) : ∑ j, asymMatrix3 i j = 1", + "statement_sha256": "526e3ba54cda036fa921fac98d26067e33ead655f3df426d1deb57a429927c2c" }, - "FEP.CollectiveInference.consensusIterate_gap": { + "FEP.CollectiveInference.asymMatrix3_scrambling": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [ + "binders": [], + "conclusion": "(3 / 5 : ℝ) ≤ scramblingCoefficient asymMatrix3", + "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "State" + "State₁", + "State₂", + "Observation₁", + "Observation₂" ], "role": "typed_binder", - "source": "{State : Type*}", + "source": "{State₁ State₂ Observation₁ Observation₂ : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -18704,43 +18690,56 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype State]", - "type_source": "Fintype State", + "source": "[Fintype State₁]", + "type_source": "Fintype State₁", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "left", - "right" - ], - "role": "typed_binder", - "source": "(left right : FiniteLaw State)", - "type_source": "FiniteLaw State", - "visibility": "explicit" + "names": [], + "role": "instance_requirement", + "source": "[Fintype State₂]", + "type_source": "Fintype State₂", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "state" - ], - "role": "typed_binder", - "source": "(state : State)", - "type_source": "State", - "visibility": "explicit" + "names": [], + "role": "instance_requirement", + "source": "[Fintype Observation₁]", + "type_source": "Fintype Observation₁", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "iterations" - ], - "role": "typed_binder", - "source": "(iterations : ℕ)", - "type_source": "ℕ", - "visibility": "explicit" + "names": [], + "role": "instance_requirement", + "source": "[Fintype Observation₂]", + "type_source": "Fintype Observation₂", + "visibility": "instance" } ], - "conclusion": "beliefGap (consensusIterate (left, right) iterations).1\n (consensusIterate (left, right) iterations).2 state =\n (1 / 2 : ℝ) ^ iterations * beliefGap left right state", + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.finite_information" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.CollectiveInference", + "namespace_variable_context": [ + "{State₁ State₂ Observation₁ Observation₂ : Type*}\n [Fintype State₁] [Fintype State₂]\n [Fintype Observation₁] [Fintype Observation₂]" + ], + "preceding_scope_directives": [], + "qualified_name": "FEP.CollectiveInference.asymMatrix3_scrambling", + "source_line": 759, + "source_owner": "src/fep_lean/formal/collective_inference.lean", + "statement": "theorem asymMatrix3_scrambling : (3 / 5 : ℝ) ≤ scramblingCoefficient asymMatrix3", + "statement_sha256": "510a7fe91bfd4a891cf10966688d2bf4d58a8d781e1382f8ca02545b8c2f9c5d" + }, + "FEP.CollectiveInference.asymMatrix3_strict_contraction": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [], + "conclusion": "0 < scramblingCoefficient asymMatrix3 ∧\n 1 ≤ valueSpread (![1, 0, 0] : Fin 3 → ℝ) ∧\n valueSpread (mixStep asymMatrix3 ![1, 0, 0]) ≤\n (2 / 5 : ℝ) * valueSpread (![1, 0, 0] : Fin 3 → ℝ) ∧\n valueSpread (mixStep asymMatrix3 ![1, 0, 0]) <\n valueSpread (![1, 0, 0] : Fin 3 → ℝ)", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -18790,8 +18789,38 @@ ], "declaration_mentions": [ { - "identifier": "consensus_gap_contracts", - "qualified_name": "FEP.CollectiveInference.consensus_gap_contracts", + "identifier": "asymMatrix3_row", + "qualified_name": "FEP.CollectiveInference.asymMatrix3_row", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + }, + { + "identifier": "asymMatrix3_scrambling", + "qualified_name": "FEP.CollectiveInference.asymMatrix3_scrambling", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + }, + { + "identifier": "sub_le_valueSpread", + "qualified_name": "FEP.CollectiveInference.sub_le_valueSpread", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + }, + { + "identifier": "valueSpread_mixStep_le", + "qualified_name": "FEP.CollectiveInference.valueSpread_mixStep_le", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + }, + { + "identifier": "valueSpread_mixStep_lt", + "qualified_name": "FEP.CollectiveInference.valueSpread_mixStep_lt", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + }, + { + "identifier": "valueSpread_nonneg", + "qualified_name": "FEP.CollectiveInference.valueSpread_nonneg", "resolution": "exact or same-namespace source identifier", "role": "proof_reference" } @@ -18806,56 +18835,16 @@ "{State₁ State₂ Observation₁ Observation₂ : Type*}\n [Fintype State₁] [Fintype State₂]\n [Fintype Observation₁] [Fintype Observation₂]" ], "preceding_scope_directives": [], - "qualified_name": "FEP.CollectiveInference.consensusIterate_gap", - "source_line": 310, + "qualified_name": "FEP.CollectiveInference.asymMatrix3_strict_contraction", + "source_line": 768, "source_owner": "src/fep_lean/formal/collective_inference.lean", - "statement": "theorem consensusIterate_gap\n {State : Type*} [Fintype State]\n (left right : FiniteLaw State) (state : State) (iterations : ℕ) :\n beliefGap (consensusIterate (left, right) iterations).1\n (consensusIterate (left, right) iterations).2 state =\n (1 / 2 : ℝ) ^ iterations * beliefGap left right state", - "statement_sha256": "87225647979e6f544a6ab84e6e665a39bb173a737af7015af5beba6fcc2b1449" + "statement": "theorem asymMatrix3_strict_contraction :\n 0 < scramblingCoefficient asymMatrix3 ∧\n 1 ≤ valueSpread (![1, 0, 0] : Fin 3 → ℝ) ∧\n valueSpread (mixStep asymMatrix3 ![1, 0, 0]) ≤\n (2 / 5 : ℝ) * valueSpread (![1, 0, 0] : Fin 3 → ℝ) ∧\n valueSpread (mixStep asymMatrix3 ![1, 0, 0]) <\n valueSpread (![1, 0, 0] : Fin 3 → ℝ)", + "statement_sha256": "307ee5935859e3f442042f409b5a5b9fa85483cf11ec4bb1adf0c5ccc399ee54" }, - "FEP.CollectiveInference.consensusMass_conserved": { + "FEP.CollectiveInference.boolConsensus_nonzero_strict_witness": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [ - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "State" - ], - "role": "typed_binder", - "source": "{State : Type*}", - "type_source": "Type*", - "visibility": "implicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype State]", - "type_source": "Fintype State", - "visibility": "instance" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "left", - "right" - ], - "role": "typed_binder", - "source": "(left right : FiniteLaw State)", - "type_source": "FiniteLaw State", - "visibility": "explicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "state" - ], - "role": "typed_binder", - "source": "(state : State)", - "type_source": "State", - "visibility": "explicit" - } - ], - "conclusion": "consensusLeft left right state + consensusRight left right state =\n left state + right state", + "binders": [], + "conclusion": "beliefGap (FiniteLaw.pointMass true) (FiniteLaw.pointMass false) true = 1 ∧\n beliefGap\n (consensusLeft (FiniteLaw.pointMass true) (FiniteLaw.pointMass false))\n (consensusRight (FiniteLaw.pointMass true) (FiniteLaw.pointMass false))\n true = 1 / 2 ∧\n 0 < beliefGap\n (consensusLeft (FiniteLaw.pointMass true) (FiniteLaw.pointMass false))\n (consensusRight (FiniteLaw.pointMass true) (FiniteLaw.pointMass false))\n true ∧\n beliefGap\n (consensusLeft (FiniteLaw.pointMass true) (FiniteLaw.pointMass false))\n (consensusRight (FiniteLaw.pointMass true) (FiniteLaw.pointMass false))\n true <\n beliefGap (FiniteLaw.pointMass true) (FiniteLaw.pointMass false) true", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -18914,56 +18903,79 @@ "{State₁ State₂ Observation₁ Observation₂ : Type*}\n [Fintype State₁] [Fintype State₂]\n [Fintype Observation₁] [Fintype Observation₂]" ], "preceding_scope_directives": [], - "qualified_name": "FEP.CollectiveInference.consensusMass_conserved", - "source_line": 265, + "qualified_name": "FEP.CollectiveInference.boolConsensus_nonzero_strict_witness", + "source_line": 348, "source_owner": "src/fep_lean/formal/collective_inference.lean", - "statement": "theorem consensusMass_conserved\n {State : Type*} [Fintype State]\n (left right : FiniteLaw State) (state : State) :\n consensusLeft left right state + consensusRight left right state =\n left state + right state", - "statement_sha256": "a5afefff7b8dc493bb53f0b7c2b37ecbe0eed4b9a237bfd4e8dfd798d5b11be5" + "statement": "theorem boolConsensus_nonzero_strict_witness :\n beliefGap (FiniteLaw.pointMass true) (FiniteLaw.pointMass false) true = 1 ∧\n beliefGap\n (consensusLeft (FiniteLaw.pointMass true) (FiniteLaw.pointMass false))\n (consensusRight (FiniteLaw.pointMass true) (FiniteLaw.pointMass false))\n true = 1 / 2 ∧\n 0 < beliefGap\n (consensusLeft (FiniteLaw.pointMass true) (FiniteLaw.pointMass false))\n (consensusRight (FiniteLaw.pointMass true) (FiniteLaw.pointMass false))\n true ∧\n beliefGap\n (consensusLeft (FiniteLaw.pointMass true) (FiniteLaw.pointMass false))\n (consensusRight (FiniteLaw.pointMass true) (FiniteLaw.pointMass false))\n true <\n beliefGap (FiniteLaw.pointMass true) (FiniteLaw.pointMass false) true", + "statement_sha256": "afff2c981f737018efa9940423948a192d780c5feb1896eb12d2229cf53cf4e6" }, - "FEP.CollectiveInference.consensus_gap_contracts": { + "FEP.CollectiveInference.collectiveVFE_additive": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "State" + "actualLeft", + "referenceLeft" ], "role": "typed_binder", - "source": "{State : Type*}", - "type_source": "Type*", - "visibility": "implicit" + "source": "(actualLeft referenceLeft : FiniteLaw State₁)", + "type_source": "FiniteLaw State₁", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype State]", - "type_source": "Fintype State", - "visibility": "instance" + "names": [ + "actualRight", + "referenceRight" + ], + "role": "typed_binder", + "source": "(actualRight referenceRight : FiniteLaw State₂)", + "type_source": "FiniteLaw State₂", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "left", - "right" + "leftCost" ], "role": "typed_binder", - "source": "(left right : FiniteLaw State)", - "type_source": "FiniteLaw State", + "source": "(leftCost : State₁ → ℝ)", + "type_source": "State₁ → ℝ", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "state" + "rightCost" ], "role": "typed_binder", - "source": "(state : State)", - "type_source": "State", + "source": "(rightCost : State₂ → ℝ)", + "type_source": "State₂ → ℝ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "referenceLeftPositive" + ], + "role": "typed_binder", + "source": "(referenceLeftPositive : ∀ state, 0 < referenceLeft state)", + "type_source": "∀ state, 0 < referenceLeft state", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "referenceRightPositive" + ], + "role": "typed_binder", + "source": "(referenceRightPositive : ∀ state, 0 < referenceRight state)", + "type_source": "∀ state, 0 < referenceRight state", "visibility": "explicit" } ], - "conclusion": "beliefGap (consensusLeft left right) (consensusRight left right) state =\n (1 / 2 : ℝ) * beliefGap left right state", + "conclusion": "collectiveVFE actualLeft referenceLeft actualRight referenceRight\n leftCost rightCost =\n variationalFreeEnergy actualLeft referenceLeft leftCost +\n variationalFreeEnergy actualRight referenceRight rightCost", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -19011,7 +19023,14 @@ "visibility": "instance" } ], - "declaration_mentions": [], + "declaration_mentions": [ + { + "identifier": "productExpectedCost_additive", + "qualified_name": "FEP.CollectiveInference.productExpectedCost_additive", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + } + ], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ "FepSketches.finite_information" @@ -19022,13 +19041,13 @@ "{State₁ State₂ Observation₁ Observation₂ : Type*}\n [Fintype State₁] [Fintype State₂]\n [Fintype Observation₁] [Fintype Observation₂]" ], "preceding_scope_directives": [], - "qualified_name": "FEP.CollectiveInference.consensus_gap_contracts", - "source_line": 281, + "qualified_name": "FEP.CollectiveInference.collectiveVFE_additive", + "source_line": 149, "source_owner": "src/fep_lean/formal/collective_inference.lean", - "statement": "theorem consensus_gap_contracts\n {State : Type*} [Fintype State]\n (left right : FiniteLaw State) (state : State) :\n beliefGap (consensusLeft left right) (consensusRight left right) state =\n (1 / 2 : ℝ) * beliefGap left right state", - "statement_sha256": "f91e18928344cc02441170e64bc8aa358c83923425201b4aee3a5cfff32bc036" + "statement": "theorem collectiveVFE_additive\n (actualLeft referenceLeft : FiniteLaw State₁)\n (actualRight referenceRight : FiniteLaw State₂)\n (leftCost : State₁ → ℝ) (rightCost : State₂ → ℝ)\n (referenceLeftPositive : ∀ state, 0 < referenceLeft state)\n (referenceRightPositive : ∀ state, 0 < referenceRight state) :\n collectiveVFE actualLeft referenceLeft actualRight referenceRight\n leftCost rightCost =\n variationalFreeEnergy actualLeft referenceLeft leftCost +\n variationalFreeEnergy actualRight referenceRight rightCost", + "statement_sha256": "7daedf4ccc732c559c6fc5c3282070099419627a4094398a6b3e9eaaa3b3e4d9" }, - "FEP.CollectiveInference.consensus_gap_tendsto_zero": { + "FEP.CollectiveInference.consensusIterate_gap": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { @@ -19069,9 +19088,19 @@ "source": "(state : State)", "type_source": "State", "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "iterations" + ], + "role": "typed_binder", + "source": "(iterations : ℕ)", + "type_source": "ℕ", + "visibility": "explicit" } ], - "conclusion": "Tendsto\n (fun iterations =>\n beliefGap (consensusIterate (left, right) iterations).1\n (consensusIterate (left, right) iterations).2 state)\n atTop (nhds 0)", + "conclusion": "beliefGap (consensusIterate (left, right) iterations).1\n (consensusIterate (left, right) iterations).2 state =\n (1 / 2 : ℝ) ^ iterations * beliefGap left right state", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -19121,8 +19150,8 @@ ], "declaration_mentions": [ { - "identifier": "consensusIterate_gap", - "qualified_name": "FEP.CollectiveInference.consensusIterate_gap", + "identifier": "consensus_gap_contracts", + "qualified_name": "FEP.CollectiveInference.consensus_gap_contracts", "resolution": "exact or same-namespace source identifier", "role": "proof_reference" } @@ -19137,13 +19166,13 @@ "{State₁ State₂ Observation₁ Observation₂ : Type*}\n [Fintype State₁] [Fintype State₂]\n [Fintype Observation₁] [Fintype Observation₂]" ], "preceding_scope_directives": [], - "qualified_name": "FEP.CollectiveInference.consensus_gap_tendsto_zero", - "source_line": 325, + "qualified_name": "FEP.CollectiveInference.consensusIterate_gap", + "source_line": 310, "source_owner": "src/fep_lean/formal/collective_inference.lean", - "statement": "theorem consensus_gap_tendsto_zero\n {State : Type*} [Fintype State]\n (left right : FiniteLaw State) (state : State) :\n Tendsto\n (fun iterations =>\n beliefGap (consensusIterate (left, right) iterations).1\n (consensusIterate (left, right) iterations).2 state)\n atTop (nhds 0)", - "statement_sha256": "0a6272f1a7a93a66f0c3dccb63ac210313f9290621b3c3359d693ea7cdff9c31" + "statement": "theorem consensusIterate_gap\n {State : Type*} [Fintype State]\n (left right : FiniteLaw State) (state : State) (iterations : ℕ) :\n beliefGap (consensusIterate (left, right) iterations).1\n (consensusIterate (left, right) iterations).2 state =\n (1 / 2 : ℝ) ^ iterations * beliefGap left right state", + "statement_sha256": "87225647979e6f544a6ab84e6e665a39bb173a737af7015af5beba6fcc2b1449" }, - "FEP.CollectiveInference.coupledPotential_contracts": { + "FEP.CollectiveInference.consensusMass_conserved": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { @@ -19186,7 +19215,7 @@ "visibility": "explicit" } ], - "conclusion": "coupledPotential (consensusLeft left right) (consensusRight left right) state =\n (1 / 4 : ℝ) * coupledPotential left right state", + "conclusion": "consensusLeft left right state + consensusRight left right state =\n left state + right state", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -19245,66 +19274,28 @@ "{State₁ State₂ Observation₁ Observation₂ : Type*}\n [Fintype State₁] [Fintype State₂]\n [Fintype Observation₁] [Fintype Observation₂]" ], "preceding_scope_directives": [], - "qualified_name": "FEP.CollectiveInference.coupledPotential_contracts", - "source_line": 374, + "qualified_name": "FEP.CollectiveInference.consensusMass_conserved", + "source_line": 265, "source_owner": "src/fep_lean/formal/collective_inference.lean", - "statement": "theorem coupledPotential_contracts\n {State : Type*} [Fintype State]\n (left right : FiniteLaw State) (state : State) :\n coupledPotential (consensusLeft left right) (consensusRight left right) state =\n (1 / 4 : ℝ) * coupledPotential left right state", - "statement_sha256": "13c78ccf4d130f9ea9794af641e3114630227328774a092039dc266cdce0bcaa" + "statement": "theorem consensusMass_conserved\n {State : Type*} [Fintype State]\n (left right : FiniteLaw State) (state : State) :\n consensusLeft left right state + consensusRight left right state =\n left state + right state", + "statement_sha256": "a5afefff7b8dc493bb53f0b7c2b37ecbe0eed4b9a237bfd4e8dfd798d5b11be5" }, - "FEP.CollectiveInference.coupledPotential_strict_descent": { + "FEP.CollectiveInference.consensusMatrix2_nonneg": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "State" - ], - "role": "typed_binder", - "source": "{State : Type*}", - "type_source": "Type*", - "visibility": "implicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype State]", - "type_source": "Fintype State", - "visibility": "instance" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "left", - "right" - ], - "role": "typed_binder", - "source": "(left right : FiniteLaw State)", - "type_source": "FiniteLaw State", - "visibility": "explicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "state" - ], - "role": "typed_binder", - "source": "(state : State)", - "type_source": "State", - "visibility": "explicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "separated" + "i", + "j" ], "role": "typed_binder", - "source": "(separated : left state ≠ right state)", - "type_source": "left state ≠ right state", + "source": "(i j : Fin 2)", + "type_source": "Fin 2", "visibility": "explicit" } ], - "conclusion": "coupledPotential (consensusLeft left right) (consensusRight left right) state <\n coupledPotential left right state", + "conclusion": "0 ≤ consensusMatrix2 i j", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -19352,14 +19343,7 @@ "visibility": "instance" } ], - "declaration_mentions": [ - { - "identifier": "coupledPotential_contracts", - "qualified_name": "FEP.CollectiveInference.coupledPotential_contracts", - "resolution": "exact or same-namespace source identifier", - "role": "proof_reference" - } - ], + "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ "FepSketches.finite_information" @@ -19370,79 +19354,95 @@ "{State₁ State₂ Observation₁ Observation₂ : Type*}\n [Fintype State₁] [Fintype State₂]\n [Fintype Observation₁] [Fintype Observation₂]" ], "preceding_scope_directives": [], - "qualified_name": "FEP.CollectiveInference.coupledPotential_strict_descent", - "source_line": 389, + "qualified_name": "FEP.CollectiveInference.consensusMatrix2_nonneg", + "source_line": 710, "source_owner": "src/fep_lean/formal/collective_inference.lean", - "statement": "theorem coupledPotential_strict_descent\n {State : Type*} [Fintype State]\n (left right : FiniteLaw State) (state : State)\n (separated : left state ≠ right state) :\n coupledPotential (consensusLeft left right) (consensusRight left right) state <\n coupledPotential left right state", - "statement_sha256": "0be9499730869dd6fe7113ae6f0ae3fc6b8d26f8285f84f51b214781a575ca3a" + "statement": "theorem consensusMatrix2_nonneg (i j : Fin 2) : 0 ≤ consensusMatrix2 i j", + "statement_sha256": "9c2d1870da79f0d8f5ce644e8d02f43d18aa9b517ec563f1fbd420f92d2142a3" }, - "FEP.CollectiveInference.independentEFE_additive": { + "FEP.CollectiveInference.consensusMatrix2_row": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "predictiveLeft", - "preferenceLeft" + "i" ], "role": "typed_binder", - "source": "(predictiveLeft preferenceLeft : FiniteLaw State₁)", - "type_source": "FiniteLaw State₁", + "source": "(i : Fin 2)", + "type_source": "Fin 2", "visibility": "explicit" - }, + } + ], + "conclusion": "∑ j, consensusMatrix2 i j = 1", + "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "predictiveRight", - "preferenceRight" + "State₁", + "State₂", + "Observation₁", + "Observation₂" ], "role": "typed_binder", - "source": "(predictiveRight preferenceRight : FiniteLaw State₂)", - "type_source": "FiniteLaw State₂", - "visibility": "explicit" + "source": "{State₁ State₂ Observation₁ Observation₂ : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "ambiguityLeft" - ], - "role": "typed_binder", - "source": "(ambiguityLeft : State₁ → ℝ)", - "type_source": "State₁ → ℝ", - "visibility": "explicit" + "names": [], + "role": "instance_requirement", + "source": "[Fintype State₁]", + "type_source": "Fintype State₁", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "ambiguityRight" - ], - "role": "typed_binder", - "source": "(ambiguityRight : State₂ → ℝ)", - "type_source": "State₂ → ℝ", - "visibility": "explicit" + "names": [], + "role": "instance_requirement", + "source": "[Fintype State₂]", + "type_source": "Fintype State₂", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "preferenceLeftPositive" - ], - "role": "typed_binder", - "source": "(preferenceLeftPositive : ∀ state, 0 < preferenceLeft state)", - "type_source": "∀ state, 0 < preferenceLeft state", - "visibility": "explicit" + "names": [], + "role": "instance_requirement", + "source": "[Fintype Observation₁]", + "type_source": "Fintype Observation₁", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "preferenceRightPositive" - ], - "role": "typed_binder", - "source": "(preferenceRightPositive : ∀ state, 0 < preferenceRight state)", - "type_source": "∀ state, 0 < preferenceRight state", - "visibility": "explicit" + "names": [], + "role": "instance_requirement", + "source": "[Fintype Observation₂]", + "type_source": "Fintype Observation₂", + "visibility": "instance" } ], - "conclusion": "independentCollectiveEFE predictiveLeft preferenceLeft\n predictiveRight preferenceRight ambiguityLeft ambiguityRight =\n expectedFreeEnergy predictiveLeft preferenceLeft ambiguityLeft +\n expectedFreeEnergy predictiveRight preferenceRight ambiguityRight", + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.finite_information" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.CollectiveInference", + "namespace_variable_context": [ + "{State₁ State₂ Observation₁ Observation₂ : Type*}\n [Fintype State₁] [Fintype State₂]\n [Fintype Observation₁] [Fintype Observation₂]" + ], + "preceding_scope_directives": [], + "qualified_name": "FEP.CollectiveInference.consensusMatrix2_row", + "source_line": 713, + "source_owner": "src/fep_lean/formal/collective_inference.lean", + "statement": "theorem consensusMatrix2_row (i : Fin 2) : ∑ j, consensusMatrix2 i j = 1", + "statement_sha256": "8561d451e85f991ed7ea0256ff3bcbbb92c7bcae7709942f77079538f77577ca" + }, + "FEP.CollectiveInference.consensusMatrix2_scrambling": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [], + "conclusion": "(1 / 2 : ℝ) ≤ scramblingCoefficient consensusMatrix2", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -19490,14 +19490,7 @@ "visibility": "instance" } ], - "declaration_mentions": [ - { - "identifier": "productExpectedCost_additive", - "qualified_name": "FEP.CollectiveInference.productExpectedCost_additive", - "resolution": "exact or same-namespace source identifier", - "role": "proof_reference" - } - ], + "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ "FepSketches.finite_information" @@ -19508,97 +19501,164 @@ "{State₁ State₂ Observation₁ Observation₂ : Type*}\n [Fintype State₁] [Fintype State₂]\n [Fintype Observation₁] [Fintype Observation₂]" ], "preceding_scope_directives": [], - "qualified_name": "FEP.CollectiveInference.independentEFE_additive", - "source_line": 185, + "qualified_name": "FEP.CollectiveInference.consensusMatrix2_scrambling", + "source_line": 717, "source_owner": "src/fep_lean/formal/collective_inference.lean", - "statement": "theorem independentEFE_additive\n (predictiveLeft preferenceLeft : FiniteLaw State₁)\n (predictiveRight preferenceRight : FiniteLaw State₂)\n (ambiguityLeft : State₁ → ℝ) (ambiguityRight : State₂ → ℝ)\n (preferenceLeftPositive : ∀ state, 0 < preferenceLeft state)\n (preferenceRightPositive : ∀ state, 0 < preferenceRight state) :\n independentCollectiveEFE predictiveLeft preferenceLeft\n predictiveRight preferenceRight ambiguityLeft ambiguityRight =\n expectedFreeEnergy predictiveLeft preferenceLeft ambiguityLeft +\n expectedFreeEnergy predictiveRight preferenceRight ambiguityRight", - "statement_sha256": "89e116e143c2fe3d564e47f9a0ba0ef73ac9232195e6c60073df5f54b2fde42d" + "statement": "theorem consensusMatrix2_scrambling : (1 / 2 : ℝ) ≤ scramblingCoefficient consensusMatrix2", + "statement_sha256": "09e59d2a58df422fc3de6854e267e8da2910ab9f8122e6cff44feeae6e2bc1b7" }, - "FEP.CollectiveInference.productAgent_joint_mass": { + "FEP.CollectiveInference.consensus_gap_contracts": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "priorLeft" + "State" ], "role": "typed_binder", - "source": "(priorLeft : FiniteLaw State₁)", - "type_source": "FiniteLaw State₁", - "visibility": "explicit" + "source": "{State : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "priorRight" - ], - "role": "typed_binder", - "source": "(priorRight : FiniteLaw State₂)", - "type_source": "FiniteLaw State₂", - "visibility": "explicit" + "names": [], + "role": "instance_requirement", + "source": "[Fintype State]", + "type_source": "Fintype State", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "kernelLeft" + "left", + "right" ], "role": "typed_binder", - "source": "(kernelLeft : FiniteKernel State₁ Observation₁)", - "type_source": "FiniteKernel State₁ Observation₁", + "source": "(left right : FiniteLaw State)", + "type_source": "FiniteLaw State", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "kernelRight" + "state" ], "role": "typed_binder", - "source": "(kernelRight : FiniteKernel State₂ Observation₂)", - "type_source": "FiniteKernel State₂ Observation₂", + "source": "(state : State)", + "type_source": "State", "visibility": "explicit" - }, + } + ], + "conclusion": "beliefGap (consensusLeft left right) (consensusRight left right) state =\n (1 / 2 : ℝ) * beliefGap left right state", + "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "stateLeft" + "State₁", + "State₂", + "Observation₁", + "Observation₂" ], "role": "typed_binder", - "source": "(stateLeft : State₁)", - "type_source": "State₁", - "visibility": "explicit" + "source": "{State₁ State₂ Observation₁ Observation₂ : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype State₁]", + "type_source": "Fintype State₁", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype State₂]", + "type_source": "Fintype State₂", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Observation₁]", + "type_source": "Fintype Observation₁", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Observation₂]", + "type_source": "Fintype Observation₂", + "visibility": "instance" + } + ], + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.finite_information" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.CollectiveInference", + "namespace_variable_context": [ + "{State₁ State₂ Observation₁ Observation₂ : Type*}\n [Fintype State₁] [Fintype State₂]\n [Fintype Observation₁] [Fintype Observation₂]" + ], + "preceding_scope_directives": [], + "qualified_name": "FEP.CollectiveInference.consensus_gap_contracts", + "source_line": 281, + "source_owner": "src/fep_lean/formal/collective_inference.lean", + "statement": "theorem consensus_gap_contracts\n {State : Type*} [Fintype State]\n (left right : FiniteLaw State) (state : State) :\n beliefGap (consensusLeft left right) (consensusRight left right) state =\n (1 / 2 : ℝ) * beliefGap left right state", + "statement_sha256": "f91e18928344cc02441170e64bc8aa358c83923425201b4aee3a5cfff32bc036" + }, + "FEP.CollectiveInference.consensus_gap_tendsto_zero": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "stateRight" + "State" ], "role": "typed_binder", - "source": "(stateRight : State₂)", - "type_source": "State₂", - "visibility": "explicit" + "source": "{State : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype State]", + "type_source": "Fintype State", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "observationLeft" + "left", + "right" ], "role": "typed_binder", - "source": "(observationLeft : Observation₁)", - "type_source": "Observation₁", + "source": "(left right : FiniteLaw State)", + "type_source": "FiniteLaw State", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "observationRight" + "state" ], "role": "typed_binder", - "source": "(observationRight : Observation₂)", - "type_source": "Observation₂", + "source": "(state : State)", + "type_source": "State", "visibility": "explicit" } ], - "conclusion": "(productKernel kernelLeft kernelRight).joint\n (FiniteLaw.product priorLeft priorRight)\n ((stateLeft, stateRight), (observationLeft, observationRight)) =\n kernelLeft.joint priorLeft (stateLeft, observationLeft) *\n kernelRight.joint priorRight (stateRight, observationRight)", + "conclusion": "Tendsto\n (fun iterations =>\n beliefGap (consensusIterate (left, right) iterations).1\n (consensusIterate (left, right) iterations).2 state)\n atTop (nhds 0)", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -19646,7 +19706,14 @@ "visibility": "instance" } ], - "declaration_mentions": [], + "declaration_mentions": [ + { + "identifier": "consensusIterate_gap", + "qualified_name": "FEP.CollectiveInference.consensusIterate_gap", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + } + ], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ "FepSketches.finite_information" @@ -19657,57 +19724,56 @@ "{State₁ State₂ Observation₁ Observation₂ : Type*}\n [Fintype State₁] [Fintype State₂]\n [Fintype Observation₁] [Fintype Observation₂]" ], "preceding_scope_directives": [], - "qualified_name": "FEP.CollectiveInference.productAgent_joint_mass", - "source_line": 51, + "qualified_name": "FEP.CollectiveInference.consensus_gap_tendsto_zero", + "source_line": 325, "source_owner": "src/fep_lean/formal/collective_inference.lean", - "statement": "theorem productAgent_joint_mass\n (priorLeft : FiniteLaw State₁) (priorRight : FiniteLaw State₂)\n (kernelLeft : FiniteKernel State₁ Observation₁)\n (kernelRight : FiniteKernel State₂ Observation₂)\n (stateLeft : State₁) (stateRight : State₂)\n (observationLeft : Observation₁) (observationRight : Observation₂) :\n (productKernel kernelLeft kernelRight).joint\n (FiniteLaw.product priorLeft priorRight)\n ((stateLeft, stateRight), (observationLeft, observationRight)) =\n kernelLeft.joint priorLeft (stateLeft, observationLeft) *\n kernelRight.joint priorRight (stateRight, observationRight)", - "statement_sha256": "c5517c35acaa28f27dc81e250bd3079b0cbf4b02e183bafe099b9595d75490d0" + "statement": "theorem consensus_gap_tendsto_zero\n {State : Type*} [Fintype State]\n (left right : FiniteLaw State) (state : State) :\n Tendsto\n (fun iterations =>\n beliefGap (consensusIterate (left, right) iterations).1\n (consensusIterate (left, right) iterations).2 state)\n atTop (nhds 0)", + "statement_sha256": "0a6272f1a7a93a66f0c3dccb63ac210313f9290621b3c3359d693ea7cdff9c31" }, - "FEP.CollectiveInference.productExpectedCost_additive": { + "FEP.CollectiveInference.consensus_spread_le_half": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "left" + "State" ], "role": "typed_binder", - "source": "(left : FiniteLaw State₁)", - "type_source": "FiniteLaw State₁", - "visibility": "explicit" + "source": "{State : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "right" - ], - "role": "typed_binder", - "source": "(right : FiniteLaw State₂)", - "type_source": "FiniteLaw State₂", - "visibility": "explicit" + "names": [], + "role": "instance_requirement", + "source": "[Fintype State]", + "type_source": "Fintype State", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "leftCost" + "left", + "right" ], "role": "typed_binder", - "source": "(leftCost : State₁ → ℝ)", - "type_source": "State₁ → ℝ", + "source": "(left right : FiniteLaw State)", + "type_source": "FiniteLaw State", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "rightCost" + "s" ], "role": "typed_binder", - "source": "(rightCost : State₂ → ℝ)", - "type_source": "State₂ → ℝ", + "source": "(s : State)", + "type_source": "State", "visibility": "explicit" } ], - "conclusion": "expectedCost (FiniteLaw.product left right)\n (fun state => leftCost state.1 + rightCost state.2) =\n expectedCost left leftCost + expectedCost right rightCost", + "conclusion": "valueSpread ![consensusLeft left right s, consensusRight left right s] ≤\n (1 / 2 : ℝ) * valueSpread ![left s, right s]", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -19755,7 +19821,38 @@ "visibility": "instance" } ], - "declaration_mentions": [], + "declaration_mentions": [ + { + "identifier": "consensusMatrix2_row", + "qualified_name": "FEP.CollectiveInference.consensusMatrix2_row", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + }, + { + "identifier": "consensusMatrix2_scrambling", + "qualified_name": "FEP.CollectiveInference.consensusMatrix2_scrambling", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + }, + { + "identifier": "mixStep_consensusMatrix2", + "qualified_name": "FEP.CollectiveInference.mixStep_consensusMatrix2", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + }, + { + "identifier": "valueSpread_mixStep_le", + "qualified_name": "FEP.CollectiveInference.valueSpread_mixStep_le", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + }, + { + "identifier": "valueSpread_nonneg", + "qualified_name": "FEP.CollectiveInference.valueSpread_nonneg", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + } + ], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ "FepSketches.finite_information" @@ -19766,33 +19863,42 @@ "{State₁ State₂ Observation₁ Observation₂ : Type*}\n [Fintype State₁] [Fintype State₂]\n [Fintype Observation₁] [Fintype Observation₂]" ], "preceding_scope_directives": [], - "qualified_name": "FEP.CollectiveInference.productExpectedCost_additive", - "source_line": 78, + "qualified_name": "FEP.CollectiveInference.consensus_spread_le_half", + "source_line": 739, "source_owner": "src/fep_lean/formal/collective_inference.lean", - "statement": "theorem productExpectedCost_additive\n (left : FiniteLaw State₁) (right : FiniteLaw State₂)\n (leftCost : State₁ → ℝ) (rightCost : State₂ → ℝ) :\n expectedCost (FiniteLaw.product left right)\n (fun state => leftCost state.1 + rightCost state.2) =\n expectedCost left leftCost + expectedCost right rightCost", - "statement_sha256": "cc8c81683b2cf5440a7eb42bfd7fc81d11bac62b1e6c6af8d95d35134503f2f3" + "statement": "theorem consensus_spread_le_half\n {State : Type*} [Fintype State] (left right : FiniteLaw State) (s : State) :\n valueSpread ![consensusLeft left right s, consensusRight left right s] ≤\n (1 / 2 : ℝ) * valueSpread ![left s, right s]", + "statement_sha256": "c95a939eab885f9db6ebded512f2d4aeb78dcce35ed2a6db2c0fabf4e74d8499" }, - "FEP.CollectiveInference.productKernel_sum_one": { + "FEP.CollectiveInference.coupledPotential_contracts": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "left" + "State" ], "role": "typed_binder", - "source": "(left : FiniteKernel State₁ Observation₁)", - "type_source": "FiniteKernel State₁ Observation₁", - "visibility": "explicit" + "source": "{State : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype State]", + "type_source": "Fintype State", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ + "left", "right" ], "role": "typed_binder", - "source": "(right : FiniteKernel State₂ Observation₂)", - "type_source": "FiniteKernel State₂ Observation₂", + "source": "(left right : FiniteLaw State)", + "type_source": "FiniteLaw State", "visibility": "explicit" }, { @@ -19801,12 +19907,12 @@ "state" ], "role": "typed_binder", - "source": "(state : State₁ × State₂)", - "type_source": "State₁ × State₂", + "source": "(state : State)", + "type_source": "State", "visibility": "explicit" } ], - "conclusion": "∑ observation, productKernel left right state observation = 1", + "conclusion": "coupledPotential (consensusLeft left right) (consensusRight left right) state =\n (1 / 4 : ℝ) * coupledPotential left right state", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -19865,13 +19971,13 @@ "{State₁ State₂ Observation₁ Observation₂ : Type*}\n [Fintype State₁] [Fintype State₂]\n [Fintype Observation₁] [Fintype Observation₂]" ], "preceding_scope_directives": [], - "qualified_name": "FEP.CollectiveInference.productKernel_sum_one", - "source_line": 42, + "qualified_name": "FEP.CollectiveInference.coupledPotential_contracts", + "source_line": 374, "source_owner": "src/fep_lean/formal/collective_inference.lean", - "statement": "theorem productKernel_sum_one\n (left : FiniteKernel State₁ Observation₁)\n (right : FiniteKernel State₂ Observation₂)\n (state : State₁ × State₂) :\n ∑ observation, productKernel left right state observation = 1", - "statement_sha256": "4c8ee5c8df802696a428c8cb3c07f130dc4f029613a56c6cfb568bb2b189ab51" + "statement": "theorem coupledPotential_contracts\n {State : Type*} [Fintype State]\n (left right : FiniteLaw State) (state : State) :\n coupledPotential (consensusLeft left right) (consensusRight left right) state =\n (1 / 4 : ℝ) * coupledPotential left right state", + "statement_sha256": "13c78ccf4d130f9ea9794af641e3114630227328774a092039dc266cdce0bcaa" }, - "FEP.CollectiveInference.unitWeightProductOfExpertsPool_sum_one": { + "FEP.CollectiveInference.coupledPotential_strict_descent": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { @@ -19906,15 +20012,25 @@ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "normalizerPositive" + "state" ], "role": "typed_binder", - "source": "(normalizerPositive : 0 < productOfExpertsNormalizer left right)", - "type_source": "0 < productOfExpertsNormalizer left right", + "source": "(state : State)", + "type_source": "State", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "separated" + ], + "role": "typed_binder", + "source": "(separated : left state ≠ right state)", + "type_source": "left state ≠ right state", "visibility": "explicit" } ], - "conclusion": "∑ state, unitWeightProductOfExpertsPool left right normalizerPositive state = 1", + "conclusion": "coupledPotential (consensusLeft left right) (consensusRight left right) state <\n coupledPotential left right state", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -19962,7 +20078,14 @@ "visibility": "instance" } ], - "declaration_mentions": [], + "declaration_mentions": [ + { + "identifier": "coupledPotential_contracts", + "qualified_name": "FEP.CollectiveInference.coupledPotential_contracts", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + } + ], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ "FepSketches.finite_information" @@ -19973,78 +20096,78 @@ "{State₁ State₂ Observation₁ Observation₂ : Type*}\n [Fintype State₁] [Fintype State₂]\n [Fintype Observation₁] [Fintype Observation₂]" ], "preceding_scope_directives": [], - "qualified_name": "FEP.CollectiveInference.unitWeightProductOfExpertsPool_sum_one", - "source_line": 228, + "qualified_name": "FEP.CollectiveInference.coupledPotential_strict_descent", + "source_line": 389, "source_owner": "src/fep_lean/formal/collective_inference.lean", - "statement": "theorem unitWeightProductOfExpertsPool_sum_one\n {State : Type*} [Fintype State]\n (left right : FiniteLaw State)\n (normalizerPositive : 0 < productOfExpertsNormalizer left right) :\n ∑ state, unitWeightProductOfExpertsPool left right normalizerPositive state = 1", - "statement_sha256": "e0234db655db56b2eff6ef2194eb4a8f516d17be519eaa72107abb83714c0ef3" + "statement": "theorem coupledPotential_strict_descent\n {State : Type*} [Fintype State]\n (left right : FiniteLaw State) (state : State)\n (separated : left state ≠ right state) :\n coupledPotential (consensusLeft left right) (consensusRight left right) state <\n coupledPotential left right state", + "statement_sha256": "0be9499730869dd6fe7113ae6f0ae3fc6b8d26f8285f84f51b214781a575ca3a" }, - "FEP.ContinuousTimeMarkov.ActionIndexedSemigroup.selectedActionTransition_eq_sampledSemigroup": { + "FEP.CollectiveInference.crossEntropy_linearPool_left": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "indexed" + "w" ], "role": "typed_binder", - "source": "(indexed : ActionIndexedSemigroup State Action)", - "type_source": "ActionIndexedSemigroup State Action", + "source": "(w : ι → ℝ)", + "type_source": "ι → ℝ", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "model" + "hw" ], "role": "typed_binder", - "source": "(model : FEP.ActiveInference.GenerativeModel Policy State Outcome)", - "type_source": "FEP.ActiveInference.GenerativeModel Policy State Outcome", + "source": "(hw : ∀ i, 0 ≤ w i)", + "type_source": "∀ i, 0 ≤ w i", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "policyToAction" + "hsum" ], "role": "typed_binder", - "source": "(policyToAction : Policy → Action)", - "type_source": "Policy → Action", + "source": "(hsum : ∑ i, w i = 1)", + "type_source": "∑ i, w i = 1", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "transition_consistent" + "p" ], "role": "typed_binder", - "source": "(transition_consistent : ∀ policy,\n indexed.sampledKernel (policyToAction policy) = model.transition policy)", - "type_source": "∀ policy,\n indexed.sampledKernel (policyToAction policy) = model.transition policy", + "source": "(p : ι → FiniteLaw α)", + "type_source": "ι → FiniteLaw α", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "policy" + "q" ], "role": "typed_binder", - "source": "(policy : Policy)", - "type_source": "Policy", + "source": "(q : FiniteLaw α)", + "type_source": "FiniteLaw α", "visibility": "explicit" } ], - "conclusion": "(indexed.toActionInterface model policyToAction\n transition_consistent).actionTransition\n ((indexed.toActionInterface model policyToAction\n transition_consistent).policyToAction policy) =\n indexed.sampledKernel (policyToAction policy)", + "conclusion": "crossEntropy (linearPool w hw hsum p) q =\n ∑ i, w i * crossEntropy (p i) q", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Policy", - "State", - "Outcome", - "Action" + "State₁", + "State₂", + "Observation₁", + "Observation₂" ], "role": "typed_binder", - "source": "{Policy State Outcome Action : Type*}", + "source": "{State₁ State₂ Observation₁ Observation₂ : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -20052,150 +20175,202 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Policy]", - "type_source": "Fintype Policy", + "source": "[Fintype State₁]", + "type_source": "Fintype State₁", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype State]", - "type_source": "Fintype State", + "source": "[Fintype State₂]", + "type_source": "Fintype State₂", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Outcome]", - "type_source": "Fintype Outcome", + "source": "[Fintype Observation₁]", + "type_source": "Fintype Observation₁", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Action]", - "type_source": "Fintype Action", + "source": "[Fintype Observation₂]", + "type_source": "Fintype Observation₂", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "α", + "ι" + ], + "role": "typed_binder", + "source": "{α ι : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype α]", + "type_source": "Fintype α", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DecidableEq State]", - "type_source": "DecidableEq State", + "source": "[Fintype ι]", + "type_source": "Fintype ι", "visibility": "instance" } ], "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.finite_markov_dynamics", - "FepSketches.active_inference", - "FepSketches.decision_risk", - "FepSketches.markov_blanket", - "Mathlib.Analysis.Normed.Algebra.MatrixExponential" + "FepSketches.finite_information" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.ContinuousTimeMarkov.ActionIndexedSemigroup", + "namespace": "FEP.CollectiveInference", "namespace_variable_context": [ - "{Policy State Outcome Action : Type*}\n [Fintype Policy] [Fintype State] [Fintype Outcome] [Fintype Action]\n [DecidableEq State]" + "{State₁ State₂ Observation₁ Observation₂ : Type*}\n [Fintype State₁] [Fintype State₂]\n [Fintype Observation₁] [Fintype Observation₂]", + "{α ι : Type*} [Fintype α] [Fintype ι]" ], "preceding_scope_directives": [], - "qualified_name": "FEP.ContinuousTimeMarkov.ActionIndexedSemigroup.selectedActionTransition_eq_sampledSemigroup", - "source_line": 271, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", - "statement": "theorem selectedActionTransition_eq_sampledSemigroup\n (indexed : ActionIndexedSemigroup State Action)\n (model : FEP.ActiveInference.GenerativeModel Policy State Outcome)\n (policyToAction : Policy → Action)\n (transition_consistent : ∀ policy,\n indexed.sampledKernel (policyToAction policy) = model.transition policy)\n (policy : Policy) :\n (indexed.toActionInterface model policyToAction\n transition_consistent).actionTransition\n ((indexed.toActionInterface model policyToAction\n transition_consistent).policyToAction policy) =\n indexed.sampledKernel (policyToAction policy)", - "statement_sha256": "5e75a981f1709c2d555ffdbd0e89300e377c30685f1cff5f9bbba2927bf803cb" + "qualified_name": "FEP.CollectiveInference.crossEntropy_linearPool_left", + "source_line": 421, + "source_owner": "src/fep_lean/formal/collective_inference.lean", + "statement": "theorem crossEntropy_linearPool_left\n (w : ι → ℝ) (hw : ∀ i, 0 ≤ w i) (hsum : ∑ i, w i = 1)\n (p : ι → FiniteLaw α) (q : FiniteLaw α) :\n crossEntropy (linearPool w hw hsum p) q =\n ∑ i, w i * crossEntropy (p i) q", + "statement_sha256": "4f035f3d18bcb50d27ddd04e6aa1873f896db3b88207621ff11e8323180f9a63" }, - "FEP.ContinuousTimeMarkov.ActionIndexedSemigroup.toGenerativeModel_transition": { + "FEP.CollectiveInference.crossEntropy_self_eq_entropy": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "indexed" + "p" ], "role": "typed_binder", - "source": "(indexed : ActionIndexedSemigroup State Action)", - "type_source": "ActionIndexedSemigroup State Action", + "source": "(p : FiniteLaw α)", + "type_source": "FiniteLaw α", "visibility": "explicit" - }, + } + ], + "conclusion": "crossEntropy p p = entropy p", + "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "policyToAction" + "State₁", + "State₂", + "Observation₁", + "Observation₂" ], "role": "typed_binder", - "source": "(policyToAction : Policy → Action)", - "type_source": "Policy → Action", - "visibility": "explicit" + "source": "{State₁ State₂ Observation₁ Observation₂ : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "initialState" - ], - "role": "typed_binder", - "source": "(initialState : FiniteLaw State)", - "type_source": "FiniteLaw State", - "visibility": "explicit" + "names": [], + "role": "instance_requirement", + "source": "[Fintype State₁]", + "type_source": "Fintype State₁", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "likelihood" - ], - "role": "typed_binder", - "source": "(likelihood : FiniteKernel State Outcome)", - "type_source": "FiniteKernel State Outcome", - "visibility": "explicit" + "names": [], + "role": "instance_requirement", + "source": "[Fintype State₂]", + "type_source": "Fintype State₂", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "preferences" - ], - "role": "typed_binder", - "source": "(preferences : FiniteLaw Outcome)", - "type_source": "FiniteLaw Outcome", - "visibility": "explicit" + "names": [], + "role": "instance_requirement", + "source": "[Fintype Observation₁]", + "type_source": "Fintype Observation₁", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "policyPrior" - ], - "role": "typed_binder", - "source": "(policyPrior : FiniteLaw Policy)", - "type_source": "FiniteLaw Policy", - "visibility": "explicit" + "names": [], + "role": "instance_requirement", + "source": "[Fintype Observation₂]", + "type_source": "Fintype Observation₂", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "policy" + "α", + "ι" ], "role": "typed_binder", - "source": "(policy : Policy)", - "type_source": "Policy", - "visibility": "explicit" + "source": "{α ι : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype α]", + "type_source": "Fintype α", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype ι]", + "type_source": "Fintype ι", + "visibility": "instance" } ], - "conclusion": "(indexed.toGenerativeModel policyToAction initialState likelihood\n preferences policyPrior).transition policy =\n indexed.sampledKernel (policyToAction policy)", + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.finite_information" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.CollectiveInference", + "namespace_variable_context": [ + "{State₁ State₂ Observation₁ Observation₂ : Type*}\n [Fintype State₁] [Fintype State₂]\n [Fintype Observation₁] [Fintype Observation₂]", + "{α ι : Type*} [Fintype α] [Fintype ι]" + ], + "preceding_scope_directives": [], + "qualified_name": "FEP.CollectiveInference.crossEntropy_self_eq_entropy", + "source_line": 439, + "source_owner": "src/fep_lean/formal/collective_inference.lean", + "statement": "theorem crossEntropy_self_eq_entropy (p : FiniteLaw α) :\n crossEntropy p p = entropy p", + "statement_sha256": "f690f9bc5b7bae125cd5d149a7259a23f9f7c07c521a6b3aed1c931790a57753" + }, + "FEP.CollectiveInference.identityMixing2_no_contraction": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [], + "conclusion": "scramblingCoefficient identityMixing2 = 0 ∧\n 0 < valueSpread (![1, 0] : Fin 2 → ℝ) ∧\n valueSpread (mixStep identityMixing2 ![1, 0]) =\n valueSpread (![1, 0] : Fin 2 → ℝ)", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Policy", - "State", - "Outcome", - "Action" + "State₁", + "State₂", + "Observation₁", + "Observation₂" ], "role": "typed_binder", - "source": "{Policy State Outcome Action : Type*}", + "source": "{State₁ State₂ Observation₁ Observation₂ : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -20203,182 +20378,171 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Policy]", - "type_source": "Fintype Policy", + "source": "[Fintype State₁]", + "type_source": "Fintype State₁", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype State]", - "type_source": "Fintype State", + "source": "[Fintype State₂]", + "type_source": "Fintype State₂", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Outcome]", - "type_source": "Fintype Outcome", + "source": "[Fintype Observation₁]", + "type_source": "Fintype Observation₁", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Action]", - "type_source": "Fintype Action", + "source": "[Fintype Observation₂]", + "type_source": "Fintype Observation₂", "visibility": "instance" + } + ], + "declaration_mentions": [ + { + "identifier": "identityMixing2_nonneg", + "qualified_name": "FEP.CollectiveInference.identityMixing2_nonneg", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" }, { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[DecidableEq State]", - "type_source": "DecidableEq State", - "visibility": "instance" + "identifier": "sub_le_valueSpread", + "qualified_name": "FEP.CollectiveInference.sub_le_valueSpread", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" } ], - "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.finite_markov_dynamics", - "FepSketches.active_inference", - "FepSketches.decision_risk", - "FepSketches.markov_blanket", - "Mathlib.Analysis.Normed.Algebra.MatrixExponential" + "FepSketches.finite_information" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.ContinuousTimeMarkov.ActionIndexedSemigroup", + "namespace": "FEP.CollectiveInference", "namespace_variable_context": [ - "{Policy State Outcome Action : Type*}\n [Fintype Policy] [Fintype State] [Fintype Outcome] [Fintype Action]\n [DecidableEq State]" + "{State₁ State₂ Observation₁ Observation₂ : Type*}\n [Fintype State₁] [Fintype State₂]\n [Fintype Observation₁] [Fintype Observation₂]" ], "preceding_scope_directives": [], - "qualified_name": "FEP.ContinuousTimeMarkov.ActionIndexedSemigroup.toGenerativeModel_transition", - "source_line": 227, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", - "statement": "theorem toGenerativeModel_transition\n (indexed : ActionIndexedSemigroup State Action)\n (policyToAction : Policy → Action)\n (initialState : FiniteLaw State)\n (likelihood : FiniteKernel State Outcome)\n (preferences : FiniteLaw Outcome) (policyPrior : FiniteLaw Policy)\n (policy : Policy) :\n (indexed.toGenerativeModel policyToAction initialState likelihood\n preferences policyPrior).transition policy =\n indexed.sampledKernel (policyToAction policy)", - "statement_sha256": "035e0d5d164598e17fdc4f9b550c71b64c478bdf7f3e13c358b0ab8676203c3e" + "qualified_name": "FEP.CollectiveInference.identityMixing2_no_contraction", + "source_line": 796, + "source_owner": "src/fep_lean/formal/collective_inference.lean", + "statement": "theorem identityMixing2_no_contraction :\n scramblingCoefficient identityMixing2 = 0 ∧\n 0 < valueSpread (![1, 0] : Fin 2 → ℝ) ∧\n valueSpread (mixStep identityMixing2 ![1, 0]) =\n valueSpread (![1, 0] : Fin 2 → ℝ)", + "statement_sha256": "c24061f64dd0940d4aacb509b8b853ce187477ca31c0cbe541aa5876cb1a4a64" }, - "FEP.ContinuousTimeMarkov.FiniteMarkovSemigroup.kernel_add": { + "FEP.CollectiveInference.identityMixing2_nonneg": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "semigroup" + "i", + "j" ], "role": "typed_binder", - "source": "(semigroup : FiniteMarkovSemigroup State)", - "type_source": "FiniteMarkovSemigroup State", + "source": "(i j : Fin 2)", + "type_source": "Fin 2", "visibility": "explicit" - }, + } + ], + "conclusion": "0 ≤ identityMixing2 i j", + "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "left", - "right" + "State₁", + "State₂", + "Observation₁", + "Observation₂" ], "role": "typed_binder", - "source": "(left right : ℝ)", - "type_source": "ℝ", - "visibility": "explicit" + "source": "{State₁ State₂ Observation₁ Observation₂ : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "hLeft" - ], - "role": "typed_binder", - "source": "(hLeft : 0 ≤ left)", - "type_source": "0 ≤ left", - "visibility": "explicit" + "names": [], + "role": "instance_requirement", + "source": "[Fintype State₁]", + "type_source": "Fintype State₁", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "hRight" - ], - "role": "typed_binder", - "source": "(hRight : 0 ≤ right)", - "type_source": "0 ≤ right", - "visibility": "explicit" - } - ], - "conclusion": "semigroup.kernel (left + right) (add_nonneg hLeft hRight) =\n FiniteKernel.comp (semigroup.kernel right hRight)\n (semigroup.kernel left hLeft)", - "context_binders": [ - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "State" - ], - "role": "typed_binder", - "source": "{State : Type*}", - "type_source": "Type*", - "visibility": "implicit" + "names": [], + "role": "instance_requirement", + "source": "[Fintype State₂]", + "type_source": "Fintype State₂", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype State]", - "type_source": "Fintype State", + "source": "[Fintype Observation₁]", + "type_source": "Fintype Observation₁", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DecidableEq State]", - "type_source": "DecidableEq State", + "source": "[Fintype Observation₂]", + "type_source": "Fintype Observation₂", "visibility": "instance" } ], "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.finite_markov_dynamics", - "FepSketches.active_inference", - "FepSketches.decision_risk", - "FepSketches.markov_blanket", - "Mathlib.Analysis.Normed.Algebra.MatrixExponential" + "FepSketches.finite_information" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.ContinuousTimeMarkov.FiniteMarkovSemigroup", + "namespace": "FEP.CollectiveInference", "namespace_variable_context": [ - "{State : Type*} [Fintype State] [DecidableEq State]" + "{State₁ State₂ Observation₁ Observation₂ : Type*}\n [Fintype State₁] [Fintype State₂]\n [Fintype Observation₁] [Fintype Observation₂]" ], "preceding_scope_directives": [], - "qualified_name": "FEP.ContinuousTimeMarkov.FiniteMarkovSemigroup.kernel_add", - "source_line": 123, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", - "statement": "theorem kernel_add (semigroup : FiniteMarkovSemigroup State)\n (left right : ℝ) (hLeft : 0 ≤ left) (hRight : 0 ≤ right) :\n semigroup.kernel (left + right) (add_nonneg hLeft hRight) =\n FiniteKernel.comp (semigroup.kernel right hRight)\n (semigroup.kernel left hLeft)", - "statement_sha256": "8d7808fd446718342dc930925313fa5bda4ff7d682510e0f5d91dae965974827" + "qualified_name": "FEP.CollectiveInference.identityMixing2_nonneg", + "source_line": 788, + "source_owner": "src/fep_lean/formal/collective_inference.lean", + "statement": "theorem identityMixing2_nonneg (i j : Fin 2) : 0 ≤ identityMixing2 i j", + "statement_sha256": "abd0ea990013ca61a436c35b6e26b1c214719001fa35f6889ae1d8ebd9c168f3" }, - "FEP.ContinuousTimeMarkov.FiniteMarkovSemigroup.kernel_zero": { + "FEP.CollectiveInference.identityMixing2_row": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "semigroup" + "i" ], "role": "typed_binder", - "source": "(semigroup : FiniteMarkovSemigroup State)", - "type_source": "FiniteMarkovSemigroup State", + "source": "(i : Fin 2)", + "type_source": "Fin 2", "visibility": "explicit" } ], - "conclusion": "semigroup.kernel 0 le_rfl = FiniteKernel.identity", + "conclusion": "∑ j, identityMixing2 i j = 1", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "State" + "State₁", + "State₂", + "Observation₁", + "Observation₂" ], "role": "typed_binder", - "source": "{State : Type*}", + "source": "{State₁ State₂ Observation₁ Observation₂ : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -20386,110 +20550,130 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype State]", - "type_source": "Fintype State", + "source": "[Fintype State₁]", + "type_source": "Fintype State₁", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DecidableEq State]", - "type_source": "DecidableEq State", + "source": "[Fintype State₂]", + "type_source": "Fintype State₂", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Observation₁]", + "type_source": "Fintype Observation₁", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Observation₂]", + "type_source": "Fintype Observation₂", "visibility": "instance" } ], "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.finite_markov_dynamics", - "FepSketches.active_inference", - "FepSketches.decision_risk", - "FepSketches.markov_blanket", - "Mathlib.Analysis.Normed.Algebra.MatrixExponential" + "FepSketches.finite_information" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.ContinuousTimeMarkov.FiniteMarkovSemigroup", + "namespace": "FEP.CollectiveInference", "namespace_variable_context": [ - "{State : Type*} [Fintype State] [DecidableEq State]" + "{State₁ State₂ Observation₁ Observation₂ : Type*}\n [Fintype State₁] [Fintype State₂]\n [Fintype Observation₁] [Fintype Observation₂]" ], "preceding_scope_directives": [], - "qualified_name": "FEP.ContinuousTimeMarkov.FiniteMarkovSemigroup.kernel_zero", - "source_line": 115, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", - "statement": "theorem kernel_zero (semigroup : FiniteMarkovSemigroup State) :\n semigroup.kernel 0 le_rfl = FiniteKernel.identity", - "statement_sha256": "a13736d6b1cd4a086e6616e4bbb7f026d40448150f99d74fab5bd30d9dbb4529" + "qualified_name": "FEP.CollectiveInference.identityMixing2_row", + "source_line": 791, + "source_owner": "src/fep_lean/formal/collective_inference.lean", + "statement": "theorem identityMixing2_row (i : Fin 2) : ∑ j, identityMixing2 i j = 1", + "statement_sha256": "e045cd205bdd67deaa713a27779709450631d0034548f54c71963115beabea3f" }, - "FEP.ContinuousTimeMarkov.FiniteMarkovSemigroup.nativeKL_contraction": { + "FEP.CollectiveInference.independentEFE_additive": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[MeasurableSpace State]", - "type_source": "MeasurableSpace State", - "visibility": "instance" + "names": [ + "predictiveLeft", + "preferenceLeft" + ], + "role": "typed_binder", + "source": "(predictiveLeft preferenceLeft : FiniteLaw State₁)", + "type_source": "FiniteLaw State₁", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace State]", - "type_source": "DiscreteMeasurableSpace State", - "visibility": "instance" + "names": [ + "predictiveRight", + "preferenceRight" + ], + "role": "typed_binder", + "source": "(predictiveRight preferenceRight : FiniteLaw State₂)", + "type_source": "FiniteLaw State₂", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "semigroup" + "ambiguityLeft" ], "role": "typed_binder", - "source": "(semigroup : FiniteMarkovSemigroup State)", - "type_source": "FiniteMarkovSemigroup State", + "source": "(ambiguityLeft : State₁ → ℝ)", + "type_source": "State₁ → ℝ", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "time" + "ambiguityRight" ], "role": "typed_binder", - "source": "(time : ℝ)", - "type_source": "ℝ", + "source": "(ambiguityRight : State₂ → ℝ)", + "type_source": "State₂ → ℝ", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "hTime" + "preferenceLeftPositive" ], "role": "typed_binder", - "source": "(hTime : 0 ≤ time)", - "type_source": "0 ≤ time", + "source": "(preferenceLeftPositive : ∀ state, 0 < preferenceLeft state)", + "type_source": "∀ state, 0 < preferenceLeft state", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "actual", - "reference" + "preferenceRightPositive" ], "role": "typed_binder", - "source": "(actual reference : FiniteLaw State)", - "type_source": "FiniteLaw State", + "source": "(preferenceRightPositive : ∀ state, 0 < preferenceRight state)", + "type_source": "∀ state, 0 < preferenceRight state", "visibility": "explicit" } ], - "conclusion": "InformationTheory.klDiv\n (FEP.NativeBlanket.embeddedLaw\n ((semigroup.kernel time hTime).predictive actual))\n (FEP.NativeBlanket.embeddedLaw\n ((semigroup.kernel time hTime).predictive reference)) ≤\n InformationTheory.klDiv\n (FEP.NativeBlanket.embeddedLaw actual)\n (FEP.NativeBlanket.embeddedLaw reference)", + "conclusion": "independentCollectiveEFE predictiveLeft preferenceLeft\n predictiveRight preferenceRight ambiguityLeft ambiguityRight =\n expectedFreeEnergy predictiveLeft preferenceLeft ambiguityLeft +\n expectedFreeEnergy predictiveRight preferenceRight ambiguityRight", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "State" + "State₁", + "State₂", + "Observation₁", + "Observation₂" ], "role": "typed_binder", - "source": "{State : Type*}", + "source": "{State₁ State₂ Observation₁ Observation₂ : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -20497,127 +20681,145 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype State]", - "type_source": "Fintype State", + "source": "[Fintype State₁]", + "type_source": "Fintype State₁", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DecidableEq State]", - "type_source": "DecidableEq State", + "source": "[Fintype State₂]", + "type_source": "Fintype State₂", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Observation₁]", + "type_source": "Fintype Observation₁", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Observation₂]", + "type_source": "Fintype Observation₂", "visibility": "instance" } ], "declaration_mentions": [ { - "identifier": "FEP.NativeBlanket.embeddedPredictive_eq_comp", - "qualified_name": "FEP.NativeBlanket.embeddedPredictive_eq_comp", + "identifier": "productExpectedCost_additive", + "qualified_name": "FEP.CollectiveInference.productExpectedCost_additive", "resolution": "exact or same-namespace source identifier", "role": "proof_reference" } ], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.finite_markov_dynamics", - "FepSketches.active_inference", - "FepSketches.decision_risk", - "FepSketches.markov_blanket", - "Mathlib.Analysis.Normed.Algebra.MatrixExponential" + "FepSketches.finite_information" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.ContinuousTimeMarkov.FiniteMarkovSemigroup", + "namespace": "FEP.CollectiveInference", "namespace_variable_context": [ - "{State : Type*} [Fintype State] [DecidableEq State]" + "{State₁ State₂ Observation₁ Observation₂ : Type*}\n [Fintype State₁] [Fintype State₂]\n [Fintype Observation₁] [Fintype Observation₂]" ], "preceding_scope_directives": [], - "qualified_name": "FEP.ContinuousTimeMarkov.FiniteMarkovSemigroup.nativeKL_contraction", - "source_line": 134, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", - "statement": "theorem nativeKL_contraction [MeasurableSpace State]\n [DiscreteMeasurableSpace State]\n (semigroup : FiniteMarkovSemigroup State)\n (time : ℝ) (hTime : 0 ≤ time) (actual reference : FiniteLaw State) :\n InformationTheory.klDiv\n (FEP.NativeBlanket.embeddedLaw\n ((semigroup.kernel time hTime).predictive actual))\n (FEP.NativeBlanket.embeddedLaw\n ((semigroup.kernel time hTime).predictive reference)) ≤\n InformationTheory.klDiv\n (FEP.NativeBlanket.embeddedLaw actual)\n (FEP.NativeBlanket.embeddedLaw reference)", - "statement_sha256": "d7b3f22a1952ab41c33bd8e13ec05d09fa77e2439990e0adbf98d46b37b50bfc" + "qualified_name": "FEP.CollectiveInference.independentEFE_additive", + "source_line": 185, + "source_owner": "src/fep_lean/formal/collective_inference.lean", + "statement": "theorem independentEFE_additive\n (predictiveLeft preferenceLeft : FiniteLaw State₁)\n (predictiveRight preferenceRight : FiniteLaw State₂)\n (ambiguityLeft : State₁ → ℝ) (ambiguityRight : State₂ → ℝ)\n (preferenceLeftPositive : ∀ state, 0 < preferenceLeft state)\n (preferenceRightPositive : ∀ state, 0 < preferenceRight state) :\n independentCollectiveEFE predictiveLeft preferenceLeft\n predictiveRight preferenceRight ambiguityLeft ambiguityRight =\n expectedFreeEnergy predictiveLeft preferenceLeft ambiguityLeft +\n expectedFreeEnergy predictiveRight preferenceRight ambiguityRight", + "statement_sha256": "89e116e143c2fe3d564e47f9a0ba0ef73ac9232195e6c60073df5f54b2fde42d" }, - "FEP.ContinuousTimeMarkov.FiniteMarkovSemigroup.nativeKL_contraction_to_invariant": { + "FEP.CollectiveInference.linearPool_kl_decomposition": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[MeasurableSpace State]", - "type_source": "MeasurableSpace State", - "visibility": "instance" + "names": [ + "w" + ], + "role": "typed_binder", + "source": "(w : ι → ℝ)", + "type_source": "ι → ℝ", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace State]", - "type_source": "DiscreteMeasurableSpace State", - "visibility": "instance" + "names": [ + "hw" + ], + "role": "typed_binder", + "source": "(hw : ∀ i, 0 ≤ w i)", + "type_source": "∀ i, 0 ≤ w i", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "semigroup" + "hsum" ], "role": "typed_binder", - "source": "(semigroup : FiniteMarkovSemigroup State)", - "type_source": "FiniteMarkovSemigroup State", + "source": "(hsum : ∑ i, w i = 1)", + "type_source": "∑ i, w i = 1", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "time" + "p" ], "role": "typed_binder", - "source": "(time : ℝ)", - "type_source": "ℝ", + "source": "(p : ι → FiniteLaw α)", + "type_source": "ι → FiniteLaw α", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "hTime" + "q" ], "role": "typed_binder", - "source": "(hTime : 0 ≤ time)", - "type_source": "0 ≤ time", + "source": "(q : FiniteLaw α)", + "type_source": "FiniteLaw α", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "actual", - "invariant" + "hq" ], "role": "typed_binder", - "source": "(actual invariant : FiniteLaw State)", - "type_source": "FiniteLaw State", + "source": "(hq : ∀ x, 0 < q x)", + "type_source": "∀ x, 0 < q x", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "hInvariant" + "hpool" ], "role": "typed_binder", - "source": "(hInvariant : FEP.FiniteMarkovDynamics.IsInvariant invariant\n (semigroup.kernel time hTime))", - "type_source": "FEP.FiniteMarkovDynamics.IsInvariant invariant\n (semigroup.kernel time hTime)", + "source": "(hpool : ∀ x, 0 < linearPool w hw hsum p x)", + "type_source": "∀ x, 0 < linearPool w hw hsum p x", "visibility": "explicit" } ], - "conclusion": "InformationTheory.klDiv\n (FEP.NativeBlanket.embeddedLaw\n ((semigroup.kernel time hTime).predictive actual))\n (FEP.NativeBlanket.embeddedLaw invariant) ≤\n InformationTheory.klDiv\n (FEP.NativeBlanket.embeddedLaw actual)\n (FEP.NativeBlanket.embeddedLaw invariant)", + "conclusion": "∑ i, w i * finiteKL (p i) q =\n ∑ i, w i * finiteKL (p i) (linearPool w hw hsum p) +\n finiteKL (linearPool w hw hsum p) q", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "State" + "State₁", + "State₂", + "Observation₁", + "Observation₂" ], "role": "typed_binder", - "source": "{State : Type*}", + "source": "{State₁ State₂ Observation₁ Observation₂ : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -20625,139 +20827,187 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype State]", - "type_source": "Fintype State", + "source": "[Fintype State₁]", + "type_source": "Fintype State₁", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DecidableEq State]", - "type_source": "DecidableEq State", + "source": "[Fintype State₂]", + "type_source": "Fintype State₂", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Observation₁]", + "type_source": "Fintype Observation₁", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Observation₂]", + "type_source": "Fintype Observation₂", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "α", + "ι" + ], + "role": "typed_binder", + "source": "{α ι : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype α]", + "type_source": "Fintype α", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype ι]", + "type_source": "Fintype ι", "visibility": "instance" } ], - "declaration_mentions": [], + "declaration_mentions": [ + { + "identifier": "crossEntropy_linearPool_left", + "qualified_name": "FEP.CollectiveInference.crossEntropy_linearPool_left", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + }, + { + "identifier": "crossEntropy_self_eq_entropy", + "qualified_name": "FEP.CollectiveInference.crossEntropy_self_eq_entropy", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + }, + { + "candidates": [ + "FEP.FiniteInformation.finiteKL_eq_crossEntropy_sub_entropy" + ], + "identifier": "finiteKL_eq_crossEntropy_sub_entropy", + "resolution": "unresolved lexical scope", + "role": "proof_reference" + } + ], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.finite_markov_dynamics", - "FepSketches.active_inference", - "FepSketches.decision_risk", - "FepSketches.markov_blanket", - "Mathlib.Analysis.Normed.Algebra.MatrixExponential" + "FepSketches.finite_information" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.ContinuousTimeMarkov.FiniteMarkovSemigroup", + "namespace": "FEP.CollectiveInference", "namespace_variable_context": [ - "{State : Type*} [Fintype State] [DecidableEq State]" + "{State₁ State₂ Observation₁ Observation₂ : Type*}\n [Fintype State₁] [Fintype State₂]\n [Fintype Observation₁] [Fintype Observation₂]", + "{α ι : Type*} [Fintype α] [Fintype ι]" ], "preceding_scope_directives": [], - "qualified_name": "FEP.ContinuousTimeMarkov.FiniteMarkovSemigroup.nativeKL_contraction_to_invariant", - "source_line": 155, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", - "statement": "theorem nativeKL_contraction_to_invariant [MeasurableSpace State]\n [DiscreteMeasurableSpace State]\n (semigroup : FiniteMarkovSemigroup State)\n (time : ℝ) (hTime : 0 ≤ time) (actual invariant : FiniteLaw State)\n (hInvariant : FEP.FiniteMarkovDynamics.IsInvariant invariant\n (semigroup.kernel time hTime)) :\n InformationTheory.klDiv\n (FEP.NativeBlanket.embeddedLaw\n ((semigroup.kernel time hTime).predictive actual))\n (FEP.NativeBlanket.embeddedLaw invariant) ≤\n InformationTheory.klDiv\n (FEP.NativeBlanket.embeddedLaw actual)\n (FEP.NativeBlanket.embeddedLaw invariant)", - "statement_sha256": "eaac3d61a5c48eb4b51afa919be7ff45f3ee5db629ca3c74ba87f5f07c90e05c" + "qualified_name": "FEP.CollectiveInference.linearPool_kl_decomposition", + "source_line": 445, + "source_owner": "src/fep_lean/formal/collective_inference.lean", + "statement": "theorem linearPool_kl_decomposition\n (w : ι → ℝ) (hw : ∀ i, 0 ≤ w i) (hsum : ∑ i, w i = 1)\n (p : ι → FiniteLaw α) (q : FiniteLaw α)\n (hq : ∀ x, 0 < q x)\n (hpool : ∀ x, 0 < linearPool w hw hsum p x) :\n ∑ i, w i * finiteKL (p i) q =\n ∑ i, w i * finiteKL (p i) (linearPool w hw hsum p) +\n finiteKL (linearPool w hw hsum p) q", + "statement_sha256": "0affc35641bfd006f3714861590f1cf139ba6a92dc8659348bd383312e61bd8f" }, - "FEP.ContinuousTimeMarkov.FiniteRateGenerator.probabilityCurrent_eq_zero_of_detailedBalanced": { + "FEP.CollectiveInference.linearPool_kl_minimal": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "generator" + "w" ], "role": "typed_binder", - "source": "(generator : FiniteRateGenerator State)", - "type_source": "FiniteRateGenerator State", + "source": "(w : ι → ℝ)", + "type_source": "ι → ℝ", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "law" + "hw" ], "role": "typed_binder", - "source": "(law : FiniteLaw State)", - "type_source": "FiniteLaw State", + "source": "(hw : ∀ i, 0 ≤ w i)", + "type_source": "∀ i, 0 ≤ w i", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "hBalanced" + "hsum" ], "role": "typed_binder", - "source": "(hBalanced : generator.IsDetailedBalanced law)", - "type_source": "generator.IsDetailedBalanced law", + "source": "(hsum : ∑ i, w i = 1)", + "type_source": "∑ i, w i = 1", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "source", - "target" + "p" ], "role": "typed_binder", - "source": "(source target : State)", - "type_source": "State", + "source": "(p : ι → FiniteLaw α)", + "type_source": "ι → FiniteLaw α", "visibility": "explicit" - } - ], - "conclusion": "generator.probabilityCurrent law source target = 0", - "context_binders": [ + }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "State" + "q" ], "role": "typed_binder", - "source": "{State : Type*}", - "type_source": "Type*", - "visibility": "implicit" + "source": "(q : FiniteLaw α)", + "type_source": "FiniteLaw α", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype State]", - "type_source": "Fintype State", - "visibility": "instance" + "names": [ + "hq" + ], + "role": "typed_binder", + "source": "(hq : ∀ x, 0 < q x)", + "type_source": "∀ x, 0 < q x", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hpool" + ], + "role": "typed_binder", + "source": "(hpool : ∀ x, 0 < linearPool w hw hsum p x)", + "type_source": "∀ x, 0 < linearPool w hw hsum p x", + "visibility": "explicit" } ], - "declaration_mentions": [], - "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", - "import_context": [ - "FepSketches.finite_markov_dynamics", - "FepSketches.active_inference", - "FepSketches.decision_risk", - "FepSketches.markov_blanket", - "Mathlib.Analysis.Normed.Algebra.MatrixExponential" - ], - "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.ContinuousTimeMarkov.FiniteRateGenerator", - "namespace_variable_context": [ - "{State : Type*} [Fintype State]" - ], - "preceding_scope_directives": [], - "qualified_name": "FEP.ContinuousTimeMarkov.FiniteRateGenerator.probabilityCurrent_eq_zero_of_detailedBalanced", - "source_line": 68, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", - "statement": "theorem probabilityCurrent_eq_zero_of_detailedBalanced\n (generator : FiniteRateGenerator State) (law : FiniteLaw State)\n (hBalanced : generator.IsDetailedBalanced law) (source target : State) :\n generator.probabilityCurrent law source target = 0", - "statement_sha256": "83649278183fb850a328c66db61f1db8ba15ed89dc4cce04d604d9e25e09bc86" - }, - "FEP.ContinuousTimeMarkov.TwoStateRates.benchmarkInitial_nonstationary": { - "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [], - "conclusion": "benchmarkInitial true ≠ benchmarkRates.stationaryTrue", + "conclusion": "∑ i, w i * finiteKL (p i) (linearPool w hw hsum p) ≤\n ∑ i, w i * finiteKL (p i) q", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "State" + "State₁", + "State₂", + "Observation₁", + "Observation₂" ], "role": "typed_binder", - "source": "{State : Type*}", + "source": "{State₁ State₂ Observation₁ Observation₂ : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -20765,236 +21015,191 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype State]", - "type_source": "Fintype State", - "visibility": "instance" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Nonempty State]", - "type_source": "Nonempty State", - "visibility": "instance" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[DecidableEq State]", - "type_source": "DecidableEq State", - "visibility": "instance" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "Internal", - "Sensory", - "Active", - "External" - ], - "role": "typed_binder", - "source": "{Internal Sensory Active External : Type*}", - "type_source": "Type*", - "visibility": "implicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype Internal]", - "type_source": "Fintype Internal", - "visibility": "instance" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype Sensory]", - "type_source": "Fintype Sensory", - "visibility": "instance" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype Active]", - "type_source": "Fintype Active", - "visibility": "instance" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype External]", - "type_source": "Fintype External", + "source": "[Fintype State₁]", + "type_source": "Fintype State₁", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DecidableEq Internal]", - "type_source": "DecidableEq Internal", + "source": "[Fintype State₂]", + "type_source": "Fintype State₂", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DecidableEq Sensory]", - "type_source": "DecidableEq Sensory", + "source": "[Fintype Observation₁]", + "type_source": "Fintype Observation₁", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DecidableEq Active]", - "type_source": "DecidableEq Active", + "source": "[Fintype Observation₂]", + "type_source": "Fintype Observation₂", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[DecidableEq External]", - "type_source": "DecidableEq External", - "visibility": "instance" + "names": [ + "α", + "ι" + ], + "role": "typed_binder", + "source": "{α ι : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Nontrivial Internal]", - "type_source": "Nontrivial Internal", + "source": "[Fintype α]", + "type_source": "Fintype α", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Nontrivial Sensory]", - "type_source": "Nontrivial Sensory", + "source": "[Fintype ι]", + "type_source": "Fintype ι", "visibility": "instance" - }, + } + ], + "declaration_mentions": [ { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Nontrivial Active]", - "type_source": "Nontrivial Active", - "visibility": "instance" + "candidates": [ + "FEP.FiniteInformation.finiteKL_nonneg" + ], + "identifier": "finiteKL_nonneg", + "resolution": "unresolved lexical scope", + "role": "proof_reference" }, { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Nontrivial External]", - "type_source": "Nontrivial External", - "visibility": "instance" + "identifier": "linearPool_kl_decomposition", + "qualified_name": "FEP.CollectiveInference.linearPool_kl_decomposition", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" } ], - "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.finite_markov_dynamics", - "FepSketches.active_inference", - "FepSketches.decision_risk", - "FepSketches.markov_blanket", - "Mathlib.Analysis.Normed.Algebra.MatrixExponential" + "FepSketches.finite_information" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.ContinuousTimeMarkov.TwoStateRates", + "namespace": "FEP.CollectiveInference", "namespace_variable_context": [ - "{State : Type*} [Fintype State] [Nonempty State] [DecidableEq State]", - "{Internal Sensory Active External : Type*}\n [Fintype Internal] [Fintype Sensory] [Fintype Active] [Fintype External]\n [DecidableEq Internal] [DecidableEq Sensory] [DecidableEq Active]\n [DecidableEq External]\n [Nontrivial Internal] [Nontrivial Sensory]\n [Nontrivial Active] [Nontrivial External]" + "{State₁ State₂ Observation₁ Observation₂ : Type*}\n [Fintype State₁] [Fintype State₂]\n [Fintype Observation₁] [Fintype Observation₂]", + "{α ι : Type*} [Fintype α] [Fintype ι]" ], - "preceding_scope_directives": [ - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DecidableEq State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - }, + "preceding_scope_directives": [], + "qualified_name": "FEP.CollectiveInference.linearPool_kl_minimal", + "source_line": 470, + "source_owner": "src/fep_lean/formal/collective_inference.lean", + "statement": "theorem linearPool_kl_minimal\n (w : ι → ℝ) (hw : ∀ i, 0 ≤ w i) (hsum : ∑ i, w i = 1)\n (p : ι → FiniteLaw α) (q : FiniteLaw α)\n (hq : ∀ x, 0 < q x)\n (hpool : ∀ x, 0 < linearPool w hw hsum p x) :\n ∑ i, w i * finiteKL (p i) (linearPool w hw hsum p) ≤\n ∑ i, w i * finiteKL (p i) q", + "statement_sha256": "e670d90fcd370c97cdbbf2bb354836bf33426df3bfb0ebf22d6642d337795d6c" + }, + "FEP.CollectiveInference.linearPool_kl_unique_minimiser": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "w" + ], + "role": "typed_binder", + "source": "(w : ι → ℝ)", + "type_source": "ι → ℝ", + "visibility": "explicit" }, { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DecidableEq State] in" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hw" + ], + "role": "typed_binder", + "source": "(hw : ∀ i, 0 ≤ w i)", + "type_source": "∀ i, 0 ≤ w i", + "visibility": "explicit" }, { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DecidableEq State] in" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hsum" + ], + "role": "typed_binder", + "source": "(hsum : ∑ i, w i = 1)", + "type_source": "∑ i, w i = 1", + "visibility": "explicit" }, { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "p" + ], + "role": "typed_binder", + "source": "(p : ι → FiniteLaw α)", + "type_source": "ι → FiniteLaw α", + "visibility": "explicit" }, { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "q" + ], + "role": "typed_binder", + "source": "(q : FiniteLaw α)", + "type_source": "FiniteLaw α", + "visibility": "explicit" }, { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hq" + ], + "role": "typed_binder", + "source": "(hq : ∀ x, 0 < q x)", + "type_source": "∀ x, 0 < q x", + "visibility": "explicit" }, { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DecidableEq State] in" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hpool" + ], + "role": "typed_binder", + "source": "(hpool : ∀ x, 0 < linearPool w hw hsum p x)", + "type_source": "∀ x, 0 < linearPool w hw hsum p x", + "visibility": "explicit" }, { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hle" + ], + "role": "typed_binder", + "source": "(hle : ∑ i, w i * finiteKL (p i) q ≤\n ∑ i, w i * finiteKL (p i) (linearPool w hw hsum p))", + "type_source": "∑ i, w i * finiteKL (p i) q ≤\n ∑ i, w i * finiteKL (p i) (linearPool w hw hsum p)", + "visibility": "explicit" } ], - "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.benchmarkInitial_nonstationary", - "source_line": 1739, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", - "statement": "theorem benchmarkInitial_nonstationary :\n benchmarkInitial true ≠ benchmarkRates.stationaryTrue", - "statement_sha256": "6edb4a4865786203f9147da68c36f149f500a539cfed1fe6254d06d78019ed2c" - }, - "FEP.ContinuousTimeMarkov.TwoStateRates.benchmarkLyapunov_deriv_zero_neg": { - "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [], - "conclusion": "-2 * benchmarkRates.decayRate * benchmarkRates.lyapunov benchmarkInitial 0 < 0", + "conclusion": "q = linearPool w hw hsum p", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "State" + "State₁", + "State₂", + "Observation₁", + "Observation₂" ], "role": "typed_binder", - "source": "{State : Type*}", + "source": "{State₁ State₂ Observation₁ Observation₂ : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -21002,36 +21207,42 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype State]", - "type_source": "Fintype State", + "source": "[Fintype State₁]", + "type_source": "Fintype State₁", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Nonempty State]", - "type_source": "Nonempty State", + "source": "[Fintype State₂]", + "type_source": "Fintype State₂", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DecidableEq State]", - "type_source": "DecidableEq State", + "source": "[Fintype Observation₁]", + "type_source": "Fintype Observation₁", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Observation₂]", + "type_source": "Fintype Observation₂", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Internal", - "Sensory", - "Active", - "External" + "α", + "ι" ], "role": "typed_binder", - "source": "{Internal Sensory Active External : Type*}", + "source": "{α ι : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -21039,484 +21250,429 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Internal]", - "type_source": "Fintype Internal", + "source": "[Fintype α]", + "type_source": "Fintype α", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Sensory]", - "type_source": "Fintype Sensory", + "source": "[Fintype ι]", + "type_source": "Fintype ι", "visibility": "instance" + } + ], + "declaration_mentions": [ + { + "candidates": [ + "FEP.FiniteInformation.finiteKL_eq_zero_iff" + ], + "identifier": "finiteKL_eq_zero_iff", + "resolution": "unresolved lexical scope", + "role": "proof_reference" + }, + { + "candidates": [ + "FEP.FiniteInformation.finiteKL_nonneg" + ], + "identifier": "finiteKL_nonneg", + "resolution": "unresolved lexical scope", + "role": "proof_reference" }, + { + "identifier": "linearPool_kl_decomposition", + "qualified_name": "FEP.CollectiveInference.linearPool_kl_decomposition", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + } + ], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.finite_information" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.CollectiveInference", + "namespace_variable_context": [ + "{State₁ State₂ Observation₁ Observation₂ : Type*}\n [Fintype State₁] [Fintype State₂]\n [Fintype Observation₁] [Fintype Observation₂]", + "{α ι : Type*} [Fintype α] [Fintype ι]" + ], + "preceding_scope_directives": [], + "qualified_name": "FEP.CollectiveInference.linearPool_kl_unique_minimiser", + "source_line": 482, + "source_owner": "src/fep_lean/formal/collective_inference.lean", + "statement": "theorem linearPool_kl_unique_minimiser\n (w : ι → ℝ) (hw : ∀ i, 0 ≤ w i) (hsum : ∑ i, w i = 1)\n (p : ι → FiniteLaw α) (q : FiniteLaw α)\n (hq : ∀ x, 0 < q x)\n (hpool : ∀ x, 0 < linearPool w hw hsum p x)\n (hle : ∑ i, w i * finiteKL (p i) q ≤\n ∑ i, w i * finiteKL (p i) (linearPool w hw hsum p)) :\n q = linearPool w hw hsum p", + "statement_sha256": "3eed6706f4dec1059aa1c089fedcfe4b0cc3d90eca863484c978f2aa002d0f7a" + }, + "FEP.CollectiveInference.logPoolNormalizer_pos": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype Active]", - "type_source": "Fintype Active", - "visibility": "instance" + "names": [ + "w" + ], + "role": "typed_binder", + "source": "(w : ι → ℝ)", + "type_source": "ι → ℝ", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype External]", - "type_source": "Fintype External", - "visibility": "instance" + "names": [ + "p" + ], + "role": "typed_binder", + "source": "(p : ι → FiniteLaw α)", + "type_source": "ι → FiniteLaw α", + "visibility": "explicit" + } + ], + "conclusion": "0 < logPoolNormalizer w p", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "State₁", + "State₂", + "Observation₁", + "Observation₂" + ], + "role": "typed_binder", + "source": "{State₁ State₂ Observation₁ Observation₂ : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DecidableEq Internal]", - "type_source": "DecidableEq Internal", + "source": "[Fintype State₁]", + "type_source": "Fintype State₁", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DecidableEq Sensory]", - "type_source": "DecidableEq Sensory", + "source": "[Fintype State₂]", + "type_source": "Fintype State₂", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DecidableEq Active]", - "type_source": "DecidableEq Active", + "source": "[Fintype Observation₁]", + "type_source": "Fintype Observation₁", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DecidableEq External]", - "type_source": "DecidableEq External", + "source": "[Fintype Observation₂]", + "type_source": "Fintype Observation₂", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Nontrivial Internal]", - "type_source": "Nontrivial Internal", - "visibility": "instance" + "names": [ + "α", + "ι" + ], + "role": "typed_binder", + "source": "{α ι : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Nontrivial Sensory]", - "type_source": "Nontrivial Sensory", + "source": "[Fintype α]", + "type_source": "Fintype α", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Nontrivial Active]", - "type_source": "Nontrivial Active", + "source": "[Fintype ι]", + "type_source": "Fintype ι", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Nontrivial External]", - "type_source": "Nontrivial External", + "source": "[Nonempty α]", + "type_source": "Nonempty α", "visibility": "instance" } ], "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.finite_markov_dynamics", - "FepSketches.active_inference", - "FepSketches.decision_risk", - "FepSketches.markov_blanket", - "Mathlib.Analysis.Normed.Algebra.MatrixExponential" + "FepSketches.finite_information" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.ContinuousTimeMarkov.TwoStateRates", + "namespace": "FEP.CollectiveInference", "namespace_variable_context": [ - "{State : Type*} [Fintype State] [Nonempty State] [DecidableEq State]", - "{Internal Sensory Active External : Type*}\n [Fintype Internal] [Fintype Sensory] [Fintype Active] [Fintype External]\n [DecidableEq Internal] [DecidableEq Sensory] [DecidableEq Active]\n [DecidableEq External]\n [Nontrivial Internal] [Nontrivial Sensory]\n [Nontrivial Active] [Nontrivial External]" - ], - "preceding_scope_directives": [ - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DecidableEq State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DecidableEq State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DecidableEq State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DecidableEq State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - } + "{State₁ State₂ Observation₁ Observation₂ : Type*}\n [Fintype State₁] [Fintype State₂]\n [Fintype Observation₁] [Fintype Observation₂]", + "{α ι : Type*} [Fintype α] [Fintype ι]", + "[Nonempty α]" ], - "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.benchmarkLyapunov_deriv_zero_neg", - "source_line": 1744, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", - "statement": "theorem benchmarkLyapunov_deriv_zero_neg :\n -2 * benchmarkRates.decayRate * benchmarkRates.lyapunov benchmarkInitial 0 < 0", - "statement_sha256": "379a706bdeb1d1e9a858290b0428e86eecd617f5bf8371c6055be409b4539b21" + "preceding_scope_directives": [], + "qualified_name": "FEP.CollectiveInference.logPoolNormalizer_pos", + "source_line": 507, + "source_owner": "src/fep_lean/formal/collective_inference.lean", + "statement": "theorem logPoolNormalizer_pos (w : ι → ℝ) (p : ι → FiniteLaw α) :\n 0 < logPoolNormalizer w p", + "statement_sha256": "911eb89bdb09df86db5aa894c684aa52f6657f3c621bd00bc49425a8e84897f5" }, - "FEP.ContinuousTimeMarkov.TwoStateRates.benchmarkRates_exact": { + "FEP.CollectiveInference.logPool_kl_decomposition": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [], - "conclusion": "benchmarkRates.forward = 0.7 ∧ benchmarkRates.backward = 0.3", - "context_binders": [ + "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "State" + "w" ], "role": "typed_binder", - "source": "{State : Type*}", - "type_source": "Type*", - "visibility": "implicit" + "source": "(w : ι → ℝ)", + "type_source": "ι → ℝ", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype State]", - "type_source": "Fintype State", - "visibility": "instance" + "names": [ + "hsum" + ], + "role": "typed_binder", + "source": "(hsum : ∑ i, w i = 1)", + "type_source": "∑ i, w i = 1", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Nonempty State]", - "type_source": "Nonempty State", - "visibility": "instance" + "names": [ + "p" + ], + "role": "typed_binder", + "source": "(p : ι → FiniteLaw α)", + "type_source": "ι → FiniteLaw α", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[DecidableEq State]", - "type_source": "DecidableEq State", - "visibility": "instance" + "names": [ + "hp" + ], + "role": "typed_binder", + "source": "(hp : ∀ i x, 0 < p i x)", + "type_source": "∀ i x, 0 < p i x", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Internal", - "Sensory", - "Active", - "External" + "q" ], "role": "typed_binder", - "source": "{Internal Sensory Active External : Type*}", - "type_source": "Type*", - "visibility": "implicit" - }, + "source": "(q : FiniteLaw α)", + "type_source": "FiniteLaw α", + "visibility": "explicit" + } + ], + "conclusion": "∑ i, w i * finiteKL q (p i) =\n finiteKL q (logPool w p) - Real.log (logPoolNormalizer w p)", + "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype Internal]", - "type_source": "Fintype Internal", - "visibility": "instance" + "names": [ + "State₁", + "State₂", + "Observation₁", + "Observation₂" + ], + "role": "typed_binder", + "source": "{State₁ State₂ Observation₁ Observation₂ : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Sensory]", - "type_source": "Fintype Sensory", + "source": "[Fintype State₁]", + "type_source": "Fintype State₁", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Active]", - "type_source": "Fintype Active", + "source": "[Fintype State₂]", + "type_source": "Fintype State₂", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype External]", - "type_source": "Fintype External", + "source": "[Fintype Observation₁]", + "type_source": "Fintype Observation₁", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DecidableEq Internal]", - "type_source": "DecidableEq Internal", + "source": "[Fintype Observation₂]", + "type_source": "Fintype Observation₂", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[DecidableEq Sensory]", - "type_source": "DecidableEq Sensory", - "visibility": "instance" + "names": [ + "α", + "ι" + ], + "role": "typed_binder", + "source": "{α ι : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DecidableEq Active]", - "type_source": "DecidableEq Active", + "source": "[Fintype α]", + "type_source": "Fintype α", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DecidableEq External]", - "type_source": "DecidableEq External", + "source": "[Fintype ι]", + "type_source": "Fintype ι", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Nontrivial Internal]", - "type_source": "Nontrivial Internal", + "source": "[Nonempty α]", + "type_source": "Nonempty α", "visibility": "instance" - }, + } + ], + "declaration_mentions": [ { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Nontrivial Sensory]", - "type_source": "Nontrivial Sensory", - "visibility": "instance" + "candidates": [ + "FEP.FiniteInformation.finiteKL_eq_crossEntropy_sub_entropy" + ], + "identifier": "finiteKL_eq_crossEntropy_sub_entropy", + "resolution": "unresolved lexical scope", + "role": "proof_reference" }, { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Nontrivial Active]", - "type_source": "Nontrivial Active", - "visibility": "instance" + "identifier": "logPool_pos", + "qualified_name": "FEP.CollectiveInference.logPool_pos", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" }, { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Nontrivial External]", - "type_source": "Nontrivial External", - "visibility": "instance" + "identifier": "log_logPool", + "qualified_name": "FEP.CollectiveInference.log_logPool", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" } ], - "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.finite_markov_dynamics", - "FepSketches.active_inference", - "FepSketches.decision_risk", - "FepSketches.markov_blanket", - "Mathlib.Analysis.Normed.Algebra.MatrixExponential" + "FepSketches.finite_information" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.ContinuousTimeMarkov.TwoStateRates", + "namespace": "FEP.CollectiveInference", "namespace_variable_context": [ - "{State : Type*} [Fintype State] [Nonempty State] [DecidableEq State]", - "{Internal Sensory Active External : Type*}\n [Fintype Internal] [Fintype Sensory] [Fintype Active] [Fintype External]\n [DecidableEq Internal] [DecidableEq Sensory] [DecidableEq Active]\n [DecidableEq External]\n [Nontrivial Internal] [Nontrivial Sensory]\n [Nontrivial Active] [Nontrivial External]" - ], - "preceding_scope_directives": [ - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DecidableEq State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DecidableEq State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DecidableEq State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DecidableEq State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - } + "{State₁ State₂ Observation₁ Observation₂ : Type*}\n [Fintype State₁] [Fintype State₂]\n [Fintype Observation₁] [Fintype Observation₂]", + "{α ι : Type*} [Fintype α] [Fintype ι]", + "[Nonempty α]" ], - "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.benchmarkRates_exact", - "source_line": 1735, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", - "statement": "theorem benchmarkRates_exact :\n benchmarkRates.forward = 0.7 ∧ benchmarkRates.backward = 0.3", - "statement_sha256": "48bfa10290599c465dd64c6998719aeded066c6cfffafb253fbb56dbaa6434db" + "preceding_scope_directives": [], + "qualified_name": "FEP.CollectiveInference.logPool_kl_decomposition", + "source_line": 533, + "source_owner": "src/fep_lean/formal/collective_inference.lean", + "statement": "theorem logPool_kl_decomposition\n (w : ι → ℝ) (hsum : ∑ i, w i = 1)\n (p : ι → FiniteLaw α) (hp : ∀ i x, 0 < p i x) (q : FiniteLaw α) :\n ∑ i, w i * finiteKL q (p i) =\n finiteKL q (logPool w p) - Real.log (logPoolNormalizer w p)", + "statement_sha256": "99f76b53a81224a069e7b5fa904fa07e66c069ff1acb1782339a258e59e824ca" }, - "FEP.ContinuousTimeMarkov.TwoStateRates.certifiedSemigroup_detailedBalanced": { + "FEP.CollectiveInference.logPool_kl_minimal": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "rates" + "w" ], "role": "typed_binder", - "source": "(rates : TwoStateRates)", - "type_source": "TwoStateRates", + "source": "(w : ι → ℝ)", + "type_source": "ι → ℝ", "visibility": "explicit" - } - ], - "conclusion": "rates.certifiedSemigroup.IsDetailedBalanced rates.stationaryLaw", - "context_binders": [ + }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "State" + "hsum" ], "role": "typed_binder", - "source": "{State : Type*}", - "type_source": "Type*", - "visibility": "implicit" + "source": "(hsum : ∑ i, w i = 1)", + "type_source": "∑ i, w i = 1", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype State]", - "type_source": "Fintype State", - "visibility": "instance" + "names": [ + "p" + ], + "role": "typed_binder", + "source": "(p : ι → FiniteLaw α)", + "type_source": "ι → FiniteLaw α", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Nonempty State]", - "type_source": "Nonempty State", - "visibility": "instance" + "names": [ + "hp" + ], + "role": "typed_binder", + "source": "(hp : ∀ i x, 0 < p i x)", + "type_source": "∀ i x, 0 < p i x", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[DecidableEq State]", - "type_source": "DecidableEq State", - "visibility": "instance" - }, + "names": [ + "q" + ], + "role": "typed_binder", + "source": "(q : FiniteLaw α)", + "type_source": "FiniteLaw α", + "visibility": "explicit" + } + ], + "conclusion": "∑ i, w i * finiteKL (logPool w p) (p i) ≤ ∑ i, w i * finiteKL q (p i)", + "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Internal", - "Sensory", - "Active", - "External" + "State₁", + "State₂", + "Observation₁", + "Observation₂" ], "role": "typed_binder", - "source": "{Internal Sensory Active External : Type*}", + "source": "{State₁ State₂ Observation₁ Observation₂ : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -21524,230 +21680,188 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Internal]", - "type_source": "Fintype Internal", - "visibility": "instance" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype Sensory]", - "type_source": "Fintype Sensory", + "source": "[Fintype State₁]", + "type_source": "Fintype State₁", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Active]", - "type_source": "Fintype Active", + "source": "[Fintype State₂]", + "type_source": "Fintype State₂", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype External]", - "type_source": "Fintype External", + "source": "[Fintype Observation₁]", + "type_source": "Fintype Observation₁", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DecidableEq Internal]", - "type_source": "DecidableEq Internal", + "source": "[Fintype Observation₂]", + "type_source": "Fintype Observation₂", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[DecidableEq Sensory]", - "type_source": "DecidableEq Sensory", - "visibility": "instance" + "names": [ + "α", + "ι" + ], + "role": "typed_binder", + "source": "{α ι : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DecidableEq Active]", - "type_source": "DecidableEq Active", + "source": "[Fintype α]", + "type_source": "Fintype α", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DecidableEq External]", - "type_source": "DecidableEq External", + "source": "[Fintype ι]", + "type_source": "Fintype ι", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Nontrivial Internal]", - "type_source": "Nontrivial Internal", + "source": "[Nonempty α]", + "type_source": "Nonempty α", "visibility": "instance" - }, + } + ], + "declaration_mentions": [ { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Nontrivial Sensory]", - "type_source": "Nontrivial Sensory", - "visibility": "instance" + "candidates": [ + "FEP.FiniteInformation.finiteKL_nonneg" + ], + "identifier": "finiteKL_nonneg", + "resolution": "unresolved lexical scope", + "role": "proof_reference" }, { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Nontrivial Active]", - "type_source": "Nontrivial Active", - "visibility": "instance" + "candidates": [ + "FEP.FiniteInformation.finiteKL_self" + ], + "identifier": "finiteKL_self", + "resolution": "unresolved lexical scope", + "role": "proof_reference" }, { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Nontrivial External]", - "type_source": "Nontrivial External", - "visibility": "instance" + "identifier": "logPool_kl_decomposition", + "qualified_name": "FEP.CollectiveInference.logPool_kl_decomposition", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" } ], - "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.finite_markov_dynamics", - "FepSketches.active_inference", - "FepSketches.decision_risk", - "FepSketches.markov_blanket", - "Mathlib.Analysis.Normed.Algebra.MatrixExponential" + "FepSketches.finite_information" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.ContinuousTimeMarkov.TwoStateRates", + "namespace": "FEP.CollectiveInference", "namespace_variable_context": [ - "{State : Type*} [Fintype State] [Nonempty State] [DecidableEq State]", - "{Internal Sensory Active External : Type*}\n [Fintype Internal] [Fintype Sensory] [Fintype Active] [Fintype External]\n [DecidableEq Internal] [DecidableEq Sensory] [DecidableEq Active]\n [DecidableEq External]\n [Nontrivial Internal] [Nontrivial Sensory]\n [Nontrivial Active] [Nontrivial External]" + "{State₁ State₂ Observation₁ Observation₂ : Type*}\n [Fintype State₁] [Fintype State₂]\n [Fintype Observation₁] [Fintype Observation₂]", + "{α ι : Type*} [Fintype α] [Fintype ι]", + "[Nonempty α]" ], - "preceding_scope_directives": [ - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DecidableEq State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DecidableEq State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DecidableEq State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - }, + "preceding_scope_directives": [], + "qualified_name": "FEP.CollectiveInference.logPool_kl_minimal", + "source_line": 570, + "source_owner": "src/fep_lean/formal/collective_inference.lean", + "statement": "theorem logPool_kl_minimal\n (w : ι → ℝ) (hsum : ∑ i, w i = 1)\n (p : ι → FiniteLaw α) (hp : ∀ i x, 0 < p i x) (q : FiniteLaw α) :\n ∑ i, w i * finiteKL (logPool w p) (p i) ≤ ∑ i, w i * finiteKL q (p i)", + "statement_sha256": "e2201aaab627f9ff901c5e29cf8862b3ddb0ec63ff4b3254aed256a4321d5651" + }, + "FEP.CollectiveInference.logPool_kl_unique_minimiser": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "w" + ], + "role": "typed_binder", + "source": "(w : ι → ℝ)", + "type_source": "ι → ℝ", + "visibility": "explicit" }, { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hsum" + ], + "role": "typed_binder", + "source": "(hsum : ∑ i, w i = 1)", + "type_source": "∑ i, w i = 1", + "visibility": "explicit" }, { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DecidableEq State] in" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "p" + ], + "role": "typed_binder", + "source": "(p : ι → FiniteLaw α)", + "type_source": "ι → FiniteLaw α", + "visibility": "explicit" }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - } - ], - "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.certifiedSemigroup_detailedBalanced", - "source_line": 1668, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", - "statement": "theorem certifiedSemigroup_detailedBalanced (rates : TwoStateRates) :\n rates.certifiedSemigroup.IsDetailedBalanced rates.stationaryLaw", - "statement_sha256": "c69b598b5c04217332cf1bf4f07a1b7240ec1a7167eeec0bb85de67c5e43a89d" - }, - "FEP.ContinuousTimeMarkov.TwoStateRates.certifiedSemigroup_kernel_eq_kernel": { - "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "rates" + "hp" ], "role": "typed_binder", - "source": "(rates : TwoStateRates)", - "type_source": "TwoStateRates", + "source": "(hp : ∀ i x, 0 < p i x)", + "type_source": "∀ i x, 0 < p i x", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "time" + "q" ], "role": "typed_binder", - "source": "(time : ℝ)", - "type_source": "ℝ", + "source": "(q : FiniteLaw α)", + "type_source": "FiniteLaw α", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "hTime" + "hle" ], "role": "typed_binder", - "source": "(hTime : 0 ≤ time)", - "type_source": "0 ≤ time", + "source": "(hle : ∑ i, w i * finiteKL q (p i) ≤\n ∑ i, w i * finiteKL (logPool w p) (p i))", + "type_source": "∑ i, w i * finiteKL q (p i) ≤\n ∑ i, w i * finiteKL (logPool w p) (p i)", "visibility": "explicit" } ], - "conclusion": "rates.certifiedSemigroup.kernel time hTime = rates.kernel time hTime", + "conclusion": "q = logPool w p", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "State" + "State₁", + "State₂", + "Observation₁", + "Observation₂" ], "role": "typed_binder", - "source": "{State : Type*}", + "source": "{State₁ State₂ Observation₁ Observation₂ : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -21755,36 +21869,42 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype State]", - "type_source": "Fintype State", + "source": "[Fintype State₁]", + "type_source": "Fintype State₁", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Nonempty State]", - "type_source": "Nonempty State", + "source": "[Fintype State₂]", + "type_source": "Fintype State₂", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DecidableEq State]", - "type_source": "DecidableEq State", + "source": "[Fintype Observation₁]", + "type_source": "Fintype Observation₁", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Observation₂]", + "type_source": "Fintype Observation₂", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Internal", - "Sensory", - "Active", - "External" + "α", + "ι" ], "role": "typed_binder", - "source": "{Internal Sensory Active External : Type*}", + "source": "{α ι : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -21792,210 +21912,266 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Internal]", - "type_source": "Fintype Internal", + "source": "[Fintype α]", + "type_source": "Fintype α", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Sensory]", - "type_source": "Fintype Sensory", + "source": "[Fintype ι]", + "type_source": "Fintype ι", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Active]", - "type_source": "Fintype Active", + "source": "[Nonempty α]", + "type_source": "Nonempty α", "visibility": "instance" - }, + } + ], + "declaration_mentions": [ + { + "candidates": [ + "FEP.FiniteInformation.finiteKL_eq_zero_iff" + ], + "identifier": "finiteKL_eq_zero_iff", + "resolution": "unresolved lexical scope", + "role": "proof_reference" + }, + { + "candidates": [ + "FEP.FiniteInformation.finiteKL_nonneg" + ], + "identifier": "finiteKL_nonneg", + "resolution": "unresolved lexical scope", + "role": "proof_reference" + }, + { + "candidates": [ + "FEP.FiniteInformation.finiteKL_self" + ], + "identifier": "finiteKL_self", + "resolution": "unresolved lexical scope", + "role": "proof_reference" + }, + { + "identifier": "logPool_kl_decomposition", + "qualified_name": "FEP.CollectiveInference.logPool_kl_decomposition", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + } + ], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.finite_information" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.CollectiveInference", + "namespace_variable_context": [ + "{State₁ State₂ Observation₁ Observation₂ : Type*}\n [Fintype State₁] [Fintype State₂]\n [Fintype Observation₁] [Fintype Observation₂]", + "{α ι : Type*} [Fintype α] [Fintype ι]", + "[Nonempty α]" + ], + "preceding_scope_directives": [], + "qualified_name": "FEP.CollectiveInference.logPool_kl_unique_minimiser", + "source_line": 579, + "source_owner": "src/fep_lean/formal/collective_inference.lean", + "statement": "theorem logPool_kl_unique_minimiser\n (w : ι → ℝ) (hsum : ∑ i, w i = 1)\n (p : ι → FiniteLaw α) (hp : ∀ i x, 0 < p i x) (q : FiniteLaw α)\n (hle : ∑ i, w i * finiteKL q (p i) ≤\n ∑ i, w i * finiteKL (logPool w p) (p i)) :\n q = logPool w p", + "statement_sha256": "d181459e8b73e130dbccf4814d4d922d6eaa333ba0330d910f932f9840e4ee08" + }, + "FEP.CollectiveInference.logPool_pos": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype External]", - "type_source": "Fintype External", - "visibility": "instance" + "names": [ + "w" + ], + "role": "typed_binder", + "source": "(w : ι → ℝ)", + "type_source": "ι → ℝ", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[DecidableEq Internal]", - "type_source": "DecidableEq Internal", - "visibility": "instance" + "names": [ + "p" + ], + "role": "typed_binder", + "source": "(p : ι → FiniteLaw α)", + "type_source": "ι → FiniteLaw α", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "x" + ], + "role": "typed_binder", + "source": "(x : α)", + "type_source": "α", + "visibility": "explicit" + } + ], + "conclusion": "0 < logPool w p x", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "State₁", + "State₂", + "Observation₁", + "Observation₂" + ], + "role": "typed_binder", + "source": "{State₁ State₂ Observation₁ Observation₂ : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DecidableEq Sensory]", - "type_source": "DecidableEq Sensory", + "source": "[Fintype State₁]", + "type_source": "Fintype State₁", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DecidableEq Active]", - "type_source": "DecidableEq Active", + "source": "[Fintype State₂]", + "type_source": "Fintype State₂", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DecidableEq External]", - "type_source": "DecidableEq External", + "source": "[Fintype Observation₁]", + "type_source": "Fintype Observation₁", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Nontrivial Internal]", - "type_source": "Nontrivial Internal", + "source": "[Fintype Observation₂]", + "type_source": "Fintype Observation₂", "visibility": "instance" }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "α", + "ι" + ], + "role": "typed_binder", + "source": "{α ι : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Nontrivial Sensory]", - "type_source": "Nontrivial Sensory", + "source": "[Fintype α]", + "type_source": "Fintype α", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Nontrivial Active]", - "type_source": "Nontrivial Active", + "source": "[Fintype ι]", + "type_source": "Fintype ι", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Nontrivial External]", - "type_source": "Nontrivial External", + "source": "[Nonempty α]", + "type_source": "Nonempty α", "visibility": "instance" } ], - "declaration_mentions": [], + "declaration_mentions": [ + { + "identifier": "logPoolNormalizer_pos", + "qualified_name": "FEP.CollectiveInference.logPoolNormalizer_pos", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + } + ], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.finite_markov_dynamics", - "FepSketches.active_inference", - "FepSketches.decision_risk", - "FepSketches.markov_blanket", - "Mathlib.Analysis.Normed.Algebra.MatrixExponential" + "FepSketches.finite_information" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.ContinuousTimeMarkov.TwoStateRates", + "namespace": "FEP.CollectiveInference", "namespace_variable_context": [ - "{State : Type*} [Fintype State] [Nonempty State] [DecidableEq State]", - "{Internal Sensory Active External : Type*}\n [Fintype Internal] [Fintype Sensory] [Fintype Active] [Fintype External]\n [DecidableEq Internal] [DecidableEq Sensory] [DecidableEq Active]\n [DecidableEq External]\n [Nontrivial Internal] [Nontrivial Sensory]\n [Nontrivial Active] [Nontrivial External]" + "{State₁ State₂ Observation₁ Observation₂ : Type*}\n [Fintype State₁] [Fintype State₂]\n [Fintype Observation₁] [Fintype Observation₂]", + "{α ι : Type*} [Fintype α] [Fintype ι]", + "[Nonempty α]" ], - "preceding_scope_directives": [ - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DecidableEq State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DecidableEq State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DecidableEq State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - }, + "preceding_scope_directives": [], + "qualified_name": "FEP.CollectiveInference.logPool_pos", + "source_line": 519, + "source_owner": "src/fep_lean/formal/collective_inference.lean", + "statement": "theorem logPool_pos (w : ι → ℝ) (p : ι → FiniteLaw α) (x : α) :\n 0 < logPool w p x", + "statement_sha256": "4e5426c36fdc34f68adeed1584eb78816654493fd98a0e450f1c95e5865a9b44" + }, + "FEP.CollectiveInference.log_logPool": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "w" + ], + "role": "typed_binder", + "source": "(w : ι → ℝ)", + "type_source": "ι → ℝ", + "visibility": "explicit" }, { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DecidableEq State] in" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "p" + ], + "role": "typed_binder", + "source": "(p : ι → FiniteLaw α)", + "type_source": "ι → FiniteLaw α", + "visibility": "explicit" }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - } - ], - "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.certifiedSemigroup_kernel_eq_kernel", - "source_line": 1648, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", - "statement": "theorem certifiedSemigroup_kernel_eq_kernel (rates : TwoStateRates)\n (time : ℝ) (hTime : 0 ≤ time) :\n rates.certifiedSemigroup.kernel time hTime = rates.kernel time hTime", - "statement_sha256": "fe18e2969ed93c09933c7c534e56b88ec6e1512ab77a247d85b7f3e0da7ff210" - }, - "FEP.ContinuousTimeMarkov.TwoStateRates.certifiedSemigroup_stationary": { - "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "rates" + "x" ], "role": "typed_binder", - "source": "(rates : TwoStateRates)", - "type_source": "TwoStateRates", + "source": "(x : α)", + "type_source": "α", "visibility": "explicit" } ], - "conclusion": "rates.certifiedSemigroup.IsStationary rates.stationaryLaw", + "conclusion": "Real.log (logPool w p x) =\n (∑ i, w i * Real.log (p i x)) - Real.log (logPoolNormalizer w p)", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "State" + "State₁", + "State₂", + "Observation₁", + "Observation₂" ], "role": "typed_binder", - "source": "{State : Type*}", + "source": "{State₁ State₂ Observation₁ Observation₂ : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -22003,36 +22179,42 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype State]", - "type_source": "Fintype State", + "source": "[Fintype State₁]", + "type_source": "Fintype State₁", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Nonempty State]", - "type_source": "Nonempty State", + "source": "[Fintype State₂]", + "type_source": "Fintype State₂", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DecidableEq State]", - "type_source": "DecidableEq State", + "source": "[Fintype Observation₁]", + "type_source": "Fintype Observation₁", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Observation₂]", + "type_source": "Fintype Observation₂", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Internal", - "Sensory", - "Active", - "External" + "α", + "ι" ], "role": "typed_binder", - "source": "{Internal Sensory Active External : Type*}", + "source": "{α ι : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -22040,210 +22222,218 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Internal]", - "type_source": "Fintype Internal", + "source": "[Fintype α]", + "type_source": "Fintype α", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Sensory]", - "type_source": "Fintype Sensory", + "source": "[Fintype ι]", + "type_source": "Fintype ι", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Active]", - "type_source": "Fintype Active", + "source": "[Nonempty α]", + "type_source": "Nonempty α", "visibility": "instance" - }, + } + ], + "declaration_mentions": [ + { + "identifier": "logPoolNormalizer_pos", + "qualified_name": "FEP.CollectiveInference.logPoolNormalizer_pos", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + } + ], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.finite_information" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.CollectiveInference", + "namespace_variable_context": [ + "{State₁ State₂ Observation₁ Observation₂ : Type*}\n [Fintype State₁] [Fintype State₂]\n [Fintype Observation₁] [Fintype Observation₂]", + "{α ι : Type*} [Fintype α] [Fintype ι]", + "[Nonempty α]" + ], + "preceding_scope_directives": [], + "qualified_name": "FEP.CollectiveInference.log_logPool", + "source_line": 523, + "source_owner": "src/fep_lean/formal/collective_inference.lean", + "statement": "theorem log_logPool (w : ι → ℝ) (p : ι → FiniteLaw α) (x : α) :\n Real.log (logPool w p x) =\n (∑ i, w i * Real.log (p i x)) - Real.log (logPoolNormalizer w p)", + "statement_sha256": "63217818295153094f254aef640fc4c5e7e8c2504dff55dc0f734c91b190b22b" + }, + "FEP.CollectiveInference.mixStep_consensusMatrix2": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype External]", - "type_source": "Fintype External", - "visibility": "instance" + "names": [ + "State" + ], + "role": "typed_binder", + "source": "{State : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DecidableEq Internal]", - "type_source": "DecidableEq Internal", + "source": "[Fintype State]", + "type_source": "Fintype State", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[DecidableEq Sensory]", - "type_source": "DecidableEq Sensory", - "visibility": "instance" + "names": [ + "left", + "right" + ], + "role": "typed_binder", + "source": "(left right : FiniteLaw State)", + "type_source": "FiniteLaw State", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[DecidableEq Active]", - "type_source": "DecidableEq Active", - "visibility": "instance" - }, + "names": [ + "s" + ], + "role": "typed_binder", + "source": "(s : State)", + "type_source": "State", + "visibility": "explicit" + } + ], + "conclusion": "mixStep consensusMatrix2 ![left s, right s] =\n ![consensusLeft left right s, consensusRight left right s]", + "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[DecidableEq External]", - "type_source": "DecidableEq External", - "visibility": "instance" + "names": [ + "State₁", + "State₂", + "Observation₁", + "Observation₂" + ], + "role": "typed_binder", + "source": "{State₁ State₂ Observation₁ Observation₂ : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Nontrivial Internal]", - "type_source": "Nontrivial Internal", + "source": "[Fintype State₁]", + "type_source": "Fintype State₁", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Nontrivial Sensory]", - "type_source": "Nontrivial Sensory", + "source": "[Fintype State₂]", + "type_source": "Fintype State₂", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Nontrivial Active]", - "type_source": "Nontrivial Active", + "source": "[Fintype Observation₁]", + "type_source": "Fintype Observation₁", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Nontrivial External]", - "type_source": "Nontrivial External", + "source": "[Fintype Observation₂]", + "type_source": "Fintype Observation₂", "visibility": "instance" } ], "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.finite_markov_dynamics", - "FepSketches.active_inference", - "FepSketches.decision_risk", - "FepSketches.markov_blanket", - "Mathlib.Analysis.Normed.Algebra.MatrixExponential" + "FepSketches.finite_information" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.ContinuousTimeMarkov.TwoStateRates", + "namespace": "FEP.CollectiveInference", "namespace_variable_context": [ - "{State : Type*} [Fintype State] [Nonempty State] [DecidableEq State]", - "{Internal Sensory Active External : Type*}\n [Fintype Internal] [Fintype Sensory] [Fintype Active] [Fintype External]\n [DecidableEq Internal] [DecidableEq Sensory] [DecidableEq Active]\n [DecidableEq External]\n [Nontrivial Internal] [Nontrivial Sensory]\n [Nontrivial Active] [Nontrivial External]" + "{State₁ State₂ Observation₁ Observation₂ : Type*}\n [Fintype State₁] [Fintype State₂]\n [Fintype Observation₁] [Fintype Observation₂]" ], - "preceding_scope_directives": [ - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DecidableEq State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DecidableEq State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DecidableEq State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - }, + "preceding_scope_directives": [], + "qualified_name": "FEP.CollectiveInference.mixStep_consensusMatrix2", + "source_line": 726, + "source_owner": "src/fep_lean/formal/collective_inference.lean", + "statement": "theorem mixStep_consensusMatrix2\n {State : Type*} [Fintype State] (left right : FiniteLaw State) (s : State) :\n mixStep consensusMatrix2 ![left s, right s] =\n ![consensusLeft left right s, consensusRight left right s]", + "statement_sha256": "60c1e503e1a7d242734124f6978d7dbaf0882a9bdee09b309bd02044873988dd" + }, + "FEP.CollectiveInference.mixStep_diff_le": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "W" + ], + "role": "typed_binder", + "source": "(W : ι → ι → ℝ)", + "type_source": "ι → ι → ℝ", + "visibility": "explicit" }, { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hrow" + ], + "role": "typed_binder", + "source": "(hrow : ∀ i, ∑ j, W i j = 1)", + "type_source": "∀ i, ∑ j, W i j = 1", + "visibility": "explicit" }, { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DecidableEq State] in" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "x" + ], + "role": "typed_binder", + "source": "(x : ι → ℝ)", + "type_source": "ι → ℝ", + "visibility": "explicit" }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - } - ], - "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.certifiedSemigroup_stationary", - "source_line": 1655, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", - "statement": "theorem certifiedSemigroup_stationary (rates : TwoStateRates) :\n rates.certifiedSemigroup.IsStationary rates.stationaryLaw", - "statement_sha256": "a005724180ba826f4fe0860649ba2caa4ad7258186d4d038a574518ac0d76e55" - }, - "FEP.ContinuousTimeMarkov.TwoStateRates.decayRate_pos": { - "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "rates" + "i", + "j" ], "role": "typed_binder", - "source": "(rates : TwoStateRates)", - "type_source": "TwoStateRates", + "source": "(i j : ι)", + "type_source": "ι", "visibility": "explicit" } ], - "conclusion": "0 < rates.decayRate", + "conclusion": "mixStep W x i - mixStep W x j ≤ (1 - rowOverlap W i j) * valueSpread x", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "State" + "State₁", + "State₂", + "Observation₁", + "Observation₂" ], "role": "typed_binder", - "source": "{State : Type*}", + "source": "{State₁ State₂ Observation₁ Observation₂ : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -22251,36 +22441,41 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype State]", - "type_source": "Fintype State", + "source": "[Fintype State₁]", + "type_source": "Fintype State₁", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Nonempty State]", - "type_source": "Nonempty State", + "source": "[Fintype State₂]", + "type_source": "Fintype State₂", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DecidableEq State]", - "type_source": "DecidableEq State", + "source": "[Fintype Observation₁]", + "type_source": "Fintype Observation₁", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Observation₂]", + "type_source": "Fintype Observation₂", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Internal", - "Sensory", - "Active", - "External" + "ι" ], "role": "typed_binder", - "source": "{Internal Sensory Active External : Type*}", + "source": "{ι : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -22288,231 +22483,242 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Internal]", - "type_source": "Fintype Internal", + "source": "[Fintype ι]", + "type_source": "Fintype ι", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Sensory]", - "type_source": "Fintype Sensory", + "source": "[Nonempty ι]", + "type_source": "Nonempty ι", "visibility": "instance" + } + ], + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.finite_information" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.CollectiveInference", + "namespace_variable_context": [ + "{State₁ State₂ Observation₁ Observation₂ : Type*}\n [Fintype State₁] [Fintype State₂]\n [Fintype Observation₁] [Fintype Observation₂]", + "{ι : Type*} [Fintype ι] [Nonempty ι]" + ], + "preceding_scope_directives": [], + "qualified_name": "FEP.CollectiveInference.mixStep_diff_le", + "source_line": 630, + "source_owner": "src/fep_lean/formal/collective_inference.lean", + "statement": "theorem mixStep_diff_le\n (W : ι → ι → ℝ) (hrow : ∀ i, ∑ j, W i j = 1)\n (x : ι → ℝ) (i j : ι) :\n mixStep W x i - mixStep W x j ≤ (1 - rowOverlap W i j) * valueSpread x", + "statement_sha256": "5c3e801ddab0312b555ba710ed2d573792c939c38b4e723426d9172ae694dd91" + }, + "FEP.CollectiveInference.productAgent_joint_mass": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "priorLeft" + ], + "role": "typed_binder", + "source": "(priorLeft : FiniteLaw State₁)", + "type_source": "FiniteLaw State₁", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype Active]", - "type_source": "Fintype Active", - "visibility": "instance" + "names": [ + "priorRight" + ], + "role": "typed_binder", + "source": "(priorRight : FiniteLaw State₂)", + "type_source": "FiniteLaw State₂", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype External]", - "type_source": "Fintype External", - "visibility": "instance" + "names": [ + "kernelLeft" + ], + "role": "typed_binder", + "source": "(kernelLeft : FiniteKernel State₁ Observation₁)", + "type_source": "FiniteKernel State₁ Observation₁", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[DecidableEq Internal]", - "type_source": "DecidableEq Internal", - "visibility": "instance" + "names": [ + "kernelRight" + ], + "role": "typed_binder", + "source": "(kernelRight : FiniteKernel State₂ Observation₂)", + "type_source": "FiniteKernel State₂ Observation₂", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[DecidableEq Sensory]", - "type_source": "DecidableEq Sensory", - "visibility": "instance" + "names": [ + "stateLeft" + ], + "role": "typed_binder", + "source": "(stateLeft : State₁)", + "type_source": "State₁", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[DecidableEq Active]", - "type_source": "DecidableEq Active", - "visibility": "instance" + "names": [ + "stateRight" + ], + "role": "typed_binder", + "source": "(stateRight : State₂)", + "type_source": "State₂", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[DecidableEq External]", - "type_source": "DecidableEq External", - "visibility": "instance" + "names": [ + "observationLeft" + ], + "role": "typed_binder", + "source": "(observationLeft : Observation₁)", + "type_source": "Observation₁", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "observationRight" + ], + "role": "typed_binder", + "source": "(observationRight : Observation₂)", + "type_source": "Observation₂", + "visibility": "explicit" + } + ], + "conclusion": "(productKernel kernelLeft kernelRight).joint\n (FiniteLaw.product priorLeft priorRight)\n ((stateLeft, stateRight), (observationLeft, observationRight)) =\n kernelLeft.joint priorLeft (stateLeft, observationLeft) *\n kernelRight.joint priorRight (stateRight, observationRight)", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "State₁", + "State₂", + "Observation₁", + "Observation₂" + ], + "role": "typed_binder", + "source": "{State₁ State₂ Observation₁ Observation₂ : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Nontrivial Internal]", - "type_source": "Nontrivial Internal", + "source": "[Fintype State₁]", + "type_source": "Fintype State₁", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Nontrivial Sensory]", - "type_source": "Nontrivial Sensory", + "source": "[Fintype State₂]", + "type_source": "Fintype State₂", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Nontrivial Active]", - "type_source": "Nontrivial Active", + "source": "[Fintype Observation₁]", + "type_source": "Fintype Observation₁", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Nontrivial External]", - "type_source": "Nontrivial External", + "source": "[Fintype Observation₂]", + "type_source": "Fintype Observation₂", "visibility": "instance" } ], "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.finite_markov_dynamics", - "FepSketches.active_inference", - "FepSketches.decision_risk", - "FepSketches.markov_blanket", - "Mathlib.Analysis.Normed.Algebra.MatrixExponential" + "FepSketches.finite_information" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.ContinuousTimeMarkov.TwoStateRates", + "namespace": "FEP.CollectiveInference", "namespace_variable_context": [ - "{State : Type*} [Fintype State] [Nonempty State] [DecidableEq State]", - "{Internal Sensory Active External : Type*}\n [Fintype Internal] [Fintype Sensory] [Fintype Active] [Fintype External]\n [DecidableEq Internal] [DecidableEq Sensory] [DecidableEq Active]\n [DecidableEq External]\n [Nontrivial Internal] [Nontrivial Sensory]\n [Nontrivial Active] [Nontrivial External]" - ], - "preceding_scope_directives": [ - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DecidableEq State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DecidableEq State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DecidableEq State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DecidableEq State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - } + "{State₁ State₂ Observation₁ Observation₂ : Type*}\n [Fintype State₁] [Fintype State₂]\n [Fintype Observation₁] [Fintype Observation₂]" ], - "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.decayRate_pos", - "source_line": 1364, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", - "statement": "theorem decayRate_pos (rates : TwoStateRates) : 0 < rates.decayRate", - "statement_sha256": "86526d6bd8dd0f315b3524a9618f3b93437c8f7a30f1b273470c151f8cf4b9fe" + "preceding_scope_directives": [], + "qualified_name": "FEP.CollectiveInference.productAgent_joint_mass", + "source_line": 51, + "source_owner": "src/fep_lean/formal/collective_inference.lean", + "statement": "theorem productAgent_joint_mass\n (priorLeft : FiniteLaw State₁) (priorRight : FiniteLaw State₂)\n (kernelLeft : FiniteKernel State₁ Observation₁)\n (kernelRight : FiniteKernel State₂ Observation₂)\n (stateLeft : State₁) (stateRight : State₂)\n (observationLeft : Observation₁) (observationRight : Observation₂) :\n (productKernel kernelLeft kernelRight).joint\n (FiniteLaw.product priorLeft priorRight)\n ((stateLeft, stateRight), (observationLeft, observationRight)) =\n kernelLeft.joint priorLeft (stateLeft, observationLeft) *\n kernelRight.joint priorRight (stateRight, observationRight)", + "statement_sha256": "c5517c35acaa28f27dc81e250bd3079b0cbf4b02e183bafe099b9595d75490d0" }, - "FEP.ContinuousTimeMarkov.TwoStateRates.generator_mul_transition": { + "FEP.CollectiveInference.productExpectedCost_additive": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "rates" + "left" ], "role": "typed_binder", - "source": "(rates : TwoStateRates)", - "type_source": "TwoStateRates", + "source": "(left : FiniteLaw State₁)", + "type_source": "FiniteLaw State₁", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "time" + "right" ], "role": "typed_binder", - "source": "(time : ℝ)", - "type_source": "ℝ", + "source": "(right : FiniteLaw State₂)", + "type_source": "FiniteLaw State₂", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "source", - "target" + "leftCost" ], "role": "typed_binder", - "source": "(source target : Bool)", - "type_source": "Bool", + "source": "(leftCost : State₁ → ℝ)", + "type_source": "State₁ → ℝ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "rightCost" + ], + "role": "typed_binder", + "source": "(rightCost : State₂ → ℝ)", + "type_source": "State₂ → ℝ", "visibility": "explicit" } ], - "conclusion": "(∑ middle,\n rates.generator source middle * rates.transition time middle target) =\n rates.transitionDerivative time source target", + "conclusion": "expectedCost (FiniteLaw.product left right)\n (fun state => leftCost state.1 + rightCost state.2) =\n expectedCost left leftCost + expectedCost right rightCost", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "State" + "State₁", + "State₂", + "Observation₁", + "Observation₂" ], "role": "typed_binder", - "source": "{State : Type*}", + "source": "{State₁ State₂ Observation₁ Observation₂ : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -22520,36 +22726,98 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype State]", - "type_source": "Fintype State", + "source": "[Fintype State₁]", + "type_source": "Fintype State₁", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Nonempty State]", - "type_source": "Nonempty State", + "source": "[Fintype State₂]", + "type_source": "Fintype State₂", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DecidableEq State]", - "type_source": "DecidableEq State", + "source": "[Fintype Observation₁]", + "type_source": "Fintype Observation₁", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Observation₂]", + "type_source": "Fintype Observation₂", "visibility": "instance" + } + ], + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.finite_information" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.CollectiveInference", + "namespace_variable_context": [ + "{State₁ State₂ Observation₁ Observation₂ : Type*}\n [Fintype State₁] [Fintype State₂]\n [Fintype Observation₁] [Fintype Observation₂]" + ], + "preceding_scope_directives": [], + "qualified_name": "FEP.CollectiveInference.productExpectedCost_additive", + "source_line": 78, + "source_owner": "src/fep_lean/formal/collective_inference.lean", + "statement": "theorem productExpectedCost_additive\n (left : FiniteLaw State₁) (right : FiniteLaw State₂)\n (leftCost : State₁ → ℝ) (rightCost : State₂ → ℝ) :\n expectedCost (FiniteLaw.product left right)\n (fun state => leftCost state.1 + rightCost state.2) =\n expectedCost left leftCost + expectedCost right rightCost", + "statement_sha256": "cc8c81683b2cf5440a7eb42bfd7fc81d11bac62b1e6c6af8d95d35134503f2f3" + }, + "FEP.CollectiveInference.productKernel_sum_one": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "left" + ], + "role": "typed_binder", + "source": "(left : FiniteKernel State₁ Observation₁)", + "type_source": "FiniteKernel State₁ Observation₁", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Internal", - "Sensory", - "Active", - "External" + "right" ], "role": "typed_binder", - "source": "{Internal Sensory Active External : Type*}", + "source": "(right : FiniteKernel State₂ Observation₂)", + "type_source": "FiniteKernel State₂ Observation₂", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "state" + ], + "role": "typed_binder", + "source": "(state : State₁ × State₂)", + "type_source": "State₁ × State₂", + "visibility": "explicit" + } + ], + "conclusion": "∑ observation, productKernel left right state observation = 1", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "State₁", + "State₂", + "Observation₁", + "Observation₂" + ], + "role": "typed_binder", + "source": "{State₁ State₂ Observation₁ Observation₂ : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -22557,230 +22825,224 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Internal]", - "type_source": "Fintype Internal", + "source": "[Fintype State₁]", + "type_source": "Fintype State₁", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Sensory]", - "type_source": "Fintype Sensory", + "source": "[Fintype State₂]", + "type_source": "Fintype State₂", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Active]", - "type_source": "Fintype Active", + "source": "[Fintype Observation₁]", + "type_source": "Fintype Observation₁", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype External]", - "type_source": "Fintype External", + "source": "[Fintype Observation₂]", + "type_source": "Fintype Observation₂", "visibility": "instance" + } + ], + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.finite_information" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.CollectiveInference", + "namespace_variable_context": [ + "{State₁ State₂ Observation₁ Observation₂ : Type*}\n [Fintype State₁] [Fintype State₂]\n [Fintype Observation₁] [Fintype Observation₂]" + ], + "preceding_scope_directives": [], + "qualified_name": "FEP.CollectiveInference.productKernel_sum_one", + "source_line": 42, + "source_owner": "src/fep_lean/formal/collective_inference.lean", + "statement": "theorem productKernel_sum_one\n (left : FiniteKernel State₁ Observation₁)\n (right : FiniteKernel State₂ Observation₂)\n (state : State₁ × State₂) :\n ∑ observation, productKernel left right state observation = 1", + "statement_sha256": "4c8ee5c8df802696a428c8cb3c07f130dc4f029613a56c6cfb568bb2b189ab51" + }, + "FEP.CollectiveInference.sub_le_valueSpread": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "x" + ], + "role": "typed_binder", + "source": "(x : ι → ℝ)", + "type_source": "ι → ℝ", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[DecidableEq Internal]", - "type_source": "DecidableEq Internal", - "visibility": "instance" + "names": [ + "i", + "j" + ], + "role": "typed_binder", + "source": "(i j : ι)", + "type_source": "ι", + "visibility": "explicit" + } + ], + "conclusion": "x i - x j ≤ valueSpread x", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "State₁", + "State₂", + "Observation₁", + "Observation₂" + ], + "role": "typed_binder", + "source": "{State₁ State₂ Observation₁ Observation₂ : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DecidableEq Sensory]", - "type_source": "DecidableEq Sensory", + "source": "[Fintype State₁]", + "type_source": "Fintype State₁", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DecidableEq Active]", - "type_source": "DecidableEq Active", + "source": "[Fintype State₂]", + "type_source": "Fintype State₂", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DecidableEq External]", - "type_source": "DecidableEq External", + "source": "[Fintype Observation₁]", + "type_source": "Fintype Observation₁", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Nontrivial Internal]", - "type_source": "Nontrivial Internal", + "source": "[Fintype Observation₂]", + "type_source": "Fintype Observation₂", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Nontrivial Sensory]", - "type_source": "Nontrivial Sensory", - "visibility": "instance" + "names": [ + "ι" + ], + "role": "typed_binder", + "source": "{ι : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Nontrivial Active]", - "type_source": "Nontrivial Active", + "source": "[Fintype ι]", + "type_source": "Fintype ι", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Nontrivial External]", - "type_source": "Nontrivial External", + "source": "[Nonempty ι]", + "type_source": "Nonempty ι", "visibility": "instance" } ], "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.finite_markov_dynamics", - "FepSketches.active_inference", - "FepSketches.decision_risk", - "FepSketches.markov_blanket", - "Mathlib.Analysis.Normed.Algebra.MatrixExponential" + "FepSketches.finite_information" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.ContinuousTimeMarkov.TwoStateRates", + "namespace": "FEP.CollectiveInference", "namespace_variable_context": [ - "{State : Type*} [Fintype State] [Nonempty State] [DecidableEq State]", - "{Internal Sensory Active External : Type*}\n [Fintype Internal] [Fintype Sensory] [Fintype Active] [Fintype External]\n [DecidableEq Internal] [DecidableEq Sensory] [DecidableEq Active]\n [DecidableEq External]\n [Nontrivial Internal] [Nontrivial Sensory]\n [Nontrivial Active] [Nontrivial External]" + "{State₁ State₂ Observation₁ Observation₂ : Type*}\n [Fintype State₁] [Fintype State₂]\n [Fintype Observation₁] [Fintype Observation₂]", + "{ι : Type*} [Fintype ι] [Nonempty ι]" ], - "preceding_scope_directives": [ - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DecidableEq State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DecidableEq State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DecidableEq State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DecidableEq State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - } - ], - "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.generator_mul_transition", - "source_line": 1554, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", - "statement": "theorem generator_mul_transition (rates : TwoStateRates) (time : ℝ)\n (source target : Bool) :\n (∑ middle,\n rates.generator source middle * rates.transition time middle target) =\n rates.transitionDerivative time source target", - "statement_sha256": "024a9f0efa93db27adde7d5a1b56ece1f52710e68db985eca28d2b85b1753e4d" - }, - "FEP.ContinuousTimeMarkov.TwoStateRates.lyapunov_exact": { - "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [ + "preceding_scope_directives": [], + "qualified_name": "FEP.CollectiveInference.sub_le_valueSpread", + "source_line": 622, + "source_owner": "src/fep_lean/formal/collective_inference.lean", + "statement": "theorem sub_le_valueSpread (x : ι → ℝ) (i j : ι) : x i - x j ≤ valueSpread x", + "statement_sha256": "66b7390fdd7e50866c9a213c55fc142404135c2100fc42a453a48c0d4a71aa71" + }, + "FEP.CollectiveInference.unitWeightProductOfExpertsPool_sum_one": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "rates" + "State" ], "role": "typed_binder", - "source": "(rates : TwoStateRates)", - "type_source": "TwoStateRates", - "visibility": "explicit" + "source": "{State : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype State]", + "type_source": "Fintype State", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "initial" + "left", + "right" ], "role": "typed_binder", - "source": "(initial : FiniteLaw Bool)", - "type_source": "FiniteLaw Bool", + "source": "(left right : FiniteLaw State)", + "type_source": "FiniteLaw State", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "time" + "normalizerPositive" ], "role": "typed_binder", - "source": "(time : ℝ)", - "type_source": "ℝ", + "source": "(normalizerPositive : 0 < productOfExpertsNormalizer left right)", + "type_source": "0 < productOfExpertsNormalizer left right", "visibility": "explicit" } ], - "conclusion": "rates.lyapunov initial time =\n rates.rho time ^ 2 *\n (initial true - rates.stationaryTrue) ^ 2", + "conclusion": "∑ state, unitWeightProductOfExpertsPool left right normalizerPositive state = 1", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "State" + "State₁", + "State₂", + "Observation₁", + "Observation₂" ], "role": "typed_binder", - "source": "{State : Type*}", + "source": "{State₁ State₂ Observation₁ Observation₂ : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -22788,267 +23050,257 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype State]", - "type_source": "Fintype State", + "source": "[Fintype State₁]", + "type_source": "Fintype State₁", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Nonempty State]", - "type_source": "Nonempty State", + "source": "[Fintype State₂]", + "type_source": "Fintype State₂", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DecidableEq State]", - "type_source": "DecidableEq State", + "source": "[Fintype Observation₁]", + "type_source": "Fintype Observation₁", "visibility": "instance" }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Observation₂]", + "type_source": "Fintype Observation₂", + "visibility": "instance" + } + ], + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.finite_information" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.CollectiveInference", + "namespace_variable_context": [ + "{State₁ State₂ Observation₁ Observation₂ : Type*}\n [Fintype State₁] [Fintype State₂]\n [Fintype Observation₁] [Fintype Observation₂]" + ], + "preceding_scope_directives": [], + "qualified_name": "FEP.CollectiveInference.unitWeightProductOfExpertsPool_sum_one", + "source_line": 228, + "source_owner": "src/fep_lean/formal/collective_inference.lean", + "statement": "theorem unitWeightProductOfExpertsPool_sum_one\n {State : Type*} [Fintype State]\n (left right : FiniteLaw State)\n (normalizerPositive : 0 < productOfExpertsNormalizer left right) :\n ∑ state, unitWeightProductOfExpertsPool left right normalizerPositive state = 1", + "statement_sha256": "e0234db655db56b2eff6ef2194eb4a8f516d17be519eaa72107abb83714c0ef3" + }, + "FEP.CollectiveInference.valueSpread_mixStep_le": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Internal", - "Sensory", - "Active", - "External" + "W" ], "role": "typed_binder", - "source": "{Internal Sensory Active External : Type*}", - "type_source": "Type*", - "visibility": "implicit" + "source": "(W : ι → ι → ℝ)", + "type_source": "ι → ι → ℝ", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype Internal]", - "type_source": "Fintype Internal", - "visibility": "instance" + "names": [ + "hrow" + ], + "role": "typed_binder", + "source": "(hrow : ∀ i, ∑ j, W i j = 1)", + "type_source": "∀ i, ∑ j, W i j = 1", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype Sensory]", - "type_source": "Fintype Sensory", - "visibility": "instance" - }, + "names": [ + "x" + ], + "role": "typed_binder", + "source": "(x : ι → ℝ)", + "type_source": "ι → ℝ", + "visibility": "explicit" + } + ], + "conclusion": "valueSpread (mixStep W x) ≤ (1 - scramblingCoefficient W) * valueSpread x", + "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype Active]", - "type_source": "Fintype Active", - "visibility": "instance" + "names": [ + "State₁", + "State₂", + "Observation₁", + "Observation₂" + ], + "role": "typed_binder", + "source": "{State₁ State₂ Observation₁ Observation₂ : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype External]", - "type_source": "Fintype External", + "source": "[Fintype State₁]", + "type_source": "Fintype State₁", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DecidableEq Internal]", - "type_source": "DecidableEq Internal", + "source": "[Fintype State₂]", + "type_source": "Fintype State₂", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DecidableEq Sensory]", - "type_source": "DecidableEq Sensory", + "source": "[Fintype Observation₁]", + "type_source": "Fintype Observation₁", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DecidableEq Active]", - "type_source": "DecidableEq Active", + "source": "[Fintype Observation₂]", + "type_source": "Fintype Observation₂", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[DecidableEq External]", - "type_source": "DecidableEq External", - "visibility": "instance" + "names": [ + "ι" + ], + "role": "typed_binder", + "source": "{ι : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Nontrivial Internal]", - "type_source": "Nontrivial Internal", + "source": "[Fintype ι]", + "type_source": "Fintype ι", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Nontrivial Sensory]", - "type_source": "Nontrivial Sensory", + "source": "[Nonempty ι]", + "type_source": "Nonempty ι", "visibility": "instance" - }, + } + ], + "declaration_mentions": [ { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Nontrivial Active]", - "type_source": "Nontrivial Active", - "visibility": "instance" + "identifier": "mixStep_diff_le", + "qualified_name": "FEP.CollectiveInference.mixStep_diff_le", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" }, { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Nontrivial External]", - "type_source": "Nontrivial External", - "visibility": "instance" + "identifier": "valueSpread_nonneg", + "qualified_name": "FEP.CollectiveInference.valueSpread_nonneg", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" } ], - "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.finite_markov_dynamics", - "FepSketches.active_inference", - "FepSketches.decision_risk", - "FepSketches.markov_blanket", - "Mathlib.Analysis.Normed.Algebra.MatrixExponential" + "FepSketches.finite_information" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.ContinuousTimeMarkov.TwoStateRates", + "namespace": "FEP.CollectiveInference", "namespace_variable_context": [ - "{State : Type*} [Fintype State] [Nonempty State] [DecidableEq State]", - "{Internal Sensory Active External : Type*}\n [Fintype Internal] [Fintype Sensory] [Fintype Active] [Fintype External]\n [DecidableEq Internal] [DecidableEq Sensory] [DecidableEq Active]\n [DecidableEq External]\n [Nontrivial Internal] [Nontrivial Sensory]\n [Nontrivial Active] [Nontrivial External]" + "{State₁ State₂ Observation₁ Observation₂ : Type*}\n [Fintype State₁] [Fintype State₂]\n [Fintype Observation₁] [Fintype Observation₂]", + "{ι : Type*} [Fintype ι] [Nonempty ι]" ], - "preceding_scope_directives": [ - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DecidableEq State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DecidableEq State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DecidableEq State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - }, + "preceding_scope_directives": [], + "qualified_name": "FEP.CollectiveInference.valueSpread_mixStep_le", + "source_line": 672, + "source_owner": "src/fep_lean/formal/collective_inference.lean", + "statement": "theorem valueSpread_mixStep_le\n (W : ι → ι → ℝ) (hrow : ∀ i, ∑ j, W i j = 1)\n (x : ι → ℝ) :\n valueSpread (mixStep W x) ≤ (1 - scramblingCoefficient W) * valueSpread x", + "statement_sha256": "7fc07439f2b329fb6c75b4f3dabf139ac3f0f94de986cc6d89801237eccf96ac" + }, + "FEP.CollectiveInference.valueSpread_mixStep_lt": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "W" + ], + "role": "typed_binder", + "source": "(W : ι → ι → ℝ)", + "type_source": "ι → ι → ℝ", + "visibility": "explicit" }, { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DecidableEq State] in" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hrow" + ], + "role": "typed_binder", + "source": "(hrow : ∀ i, ∑ j, W i j = 1)", + "type_source": "∀ i, ∑ j, W i j = 1", + "visibility": "explicit" }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - } - ], - "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.lyapunov_exact", - "source_line": 1702, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", - "statement": "theorem lyapunov_exact (rates : TwoStateRates)\n (initial : FiniteLaw Bool) (time : ℝ) :\n rates.lyapunov initial time =\n rates.rho time ^ 2 *\n (initial true - rates.stationaryTrue) ^ 2", - "statement_sha256": "40cd1619b3fdfb690dff2fdfd059cdfc4853ae9a24c935f93b445def145f4a09" - }, - "FEP.ContinuousTimeMarkov.TwoStateRates.lyapunov_hasDerivAt": { - "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "rates" + "x" ], "role": "typed_binder", - "source": "(rates : TwoStateRates)", - "type_source": "TwoStateRates", + "source": "(x : ι → ℝ)", + "type_source": "ι → ℝ", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "initial" + "hδ" ], "role": "typed_binder", - "source": "(initial : FiniteLaw Bool)", - "type_source": "FiniteLaw Bool", + "source": "(hδ : 0 < scramblingCoefficient W)", + "type_source": "0 < scramblingCoefficient W", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "time" + "hx" ], "role": "typed_binder", - "source": "(time : ℝ)", - "type_source": "ℝ", + "source": "(hx : 0 < valueSpread x)", + "type_source": "0 < valueSpread x", "visibility": "explicit" } ], - "conclusion": "HasDerivAt (rates.lyapunov initial)\n (-2 * rates.decayRate * rates.lyapunov initial time) time", + "conclusion": "valueSpread (mixStep W x) < valueSpread x", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "State" + "State₁", + "State₂", + "Observation₁", + "Observation₂" ], "role": "typed_binder", - "source": "{State : Type*}", + "source": "{State₁ State₂ Observation₁ Observation₂ : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -23056,36 +23308,41 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype State]", - "type_source": "Fintype State", + "source": "[Fintype State₁]", + "type_source": "Fintype State₁", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Nonempty State]", - "type_source": "Nonempty State", + "source": "[Fintype State₂]", + "type_source": "Fintype State₂", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DecidableEq State]", - "type_source": "DecidableEq State", + "source": "[Fintype Observation₁]", + "type_source": "Fintype Observation₁", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Observation₂]", + "type_source": "Fintype Observation₂", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Internal", - "Sensory", - "Active", - "External" + "ι" ], "role": "typed_binder", - "source": "{Internal Sensory Active External : Type*}", + "source": "{ι : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -23093,233 +23350,227 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Internal]", - "type_source": "Fintype Internal", + "source": "[Fintype ι]", + "type_source": "Fintype ι", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Sensory]", - "type_source": "Fintype Sensory", + "source": "[Nonempty ι]", + "type_source": "Nonempty ι", "visibility": "instance" - }, + } + ], + "declaration_mentions": [ { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype Active]", - "type_source": "Fintype Active", - "visibility": "instance" - }, + "identifier": "valueSpread_mixStep_le", + "qualified_name": "FEP.CollectiveInference.valueSpread_mixStep_le", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + } + ], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.finite_information" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.CollectiveInference", + "namespace_variable_context": [ + "{State₁ State₂ Observation₁ Observation₂ : Type*}\n [Fintype State₁] [Fintype State₂]\n [Fintype Observation₁] [Fintype Observation₂]", + "{ι : Type*} [Fintype ι] [Nonempty ι]" + ], + "preceding_scope_directives": [], + "qualified_name": "FEP.CollectiveInference.valueSpread_mixStep_lt", + "source_line": 695, + "source_owner": "src/fep_lean/formal/collective_inference.lean", + "statement": "theorem valueSpread_mixStep_lt\n (W : ι → ι → ℝ) (hrow : ∀ i, ∑ j, W i j = 1)\n (x : ι → ℝ) (hδ : 0 < scramblingCoefficient W) (hx : 0 < valueSpread x) :\n valueSpread (mixStep W x) < valueSpread x", + "statement_sha256": "706db959a34fc8985a4ed299518818a5c2ed49ec124ff0b2a7f9a0a1c3107e90" + }, + "FEP.CollectiveInference.valueSpread_nonneg": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype External]", - "type_source": "Fintype External", - "visibility": "instance" - }, + "names": [ + "x" + ], + "role": "typed_binder", + "source": "(x : ι → ℝ)", + "type_source": "ι → ℝ", + "visibility": "explicit" + } + ], + "conclusion": "0 ≤ valueSpread x", + "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[DecidableEq Internal]", - "type_source": "DecidableEq Internal", - "visibility": "instance" + "names": [ + "State₁", + "State₂", + "Observation₁", + "Observation₂" + ], + "role": "typed_binder", + "source": "{State₁ State₂ Observation₁ Observation₂ : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DecidableEq Sensory]", - "type_source": "DecidableEq Sensory", + "source": "[Fintype State₁]", + "type_source": "Fintype State₁", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DecidableEq Active]", - "type_source": "DecidableEq Active", + "source": "[Fintype State₂]", + "type_source": "Fintype State₂", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DecidableEq External]", - "type_source": "DecidableEq External", + "source": "[Fintype Observation₁]", + "type_source": "Fintype Observation₁", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Nontrivial Internal]", - "type_source": "Nontrivial Internal", + "source": "[Fintype Observation₂]", + "type_source": "Fintype Observation₂", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Nontrivial Sensory]", - "type_source": "Nontrivial Sensory", - "visibility": "instance" + "names": [ + "ι" + ], + "role": "typed_binder", + "source": "{ι : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Nontrivial Active]", - "type_source": "Nontrivial Active", + "source": "[Fintype ι]", + "type_source": "Fintype ι", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Nontrivial External]", - "type_source": "Nontrivial External", + "source": "[Nonempty ι]", + "type_source": "Nonempty ι", "visibility": "instance" } ], "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.finite_markov_dynamics", - "FepSketches.active_inference", - "FepSketches.decision_risk", - "FepSketches.markov_blanket", - "Mathlib.Analysis.Normed.Algebra.MatrixExponential" + "FepSketches.finite_information" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.ContinuousTimeMarkov.TwoStateRates", + "namespace": "FEP.CollectiveInference", "namespace_variable_context": [ - "{State : Type*} [Fintype State] [Nonempty State] [DecidableEq State]", - "{Internal Sensory Active External : Type*}\n [Fintype Internal] [Fintype Sensory] [Fintype Active] [Fintype External]\n [DecidableEq Internal] [DecidableEq Sensory] [DecidableEq Active]\n [DecidableEq External]\n [Nontrivial Internal] [Nontrivial Sensory]\n [Nontrivial Active] [Nontrivial External]" + "{State₁ State₂ Observation₁ Observation₂ : Type*}\n [Fintype State₁] [Fintype State₂]\n [Fintype Observation₁] [Fintype Observation₂]", + "{ι : Type*} [Fintype ι] [Nonempty ι]" ], - "preceding_scope_directives": [ - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DecidableEq State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DecidableEq State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DecidableEq State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - }, + "preceding_scope_directives": [], + "qualified_name": "FEP.CollectiveInference.valueSpread_nonneg", + "source_line": 615, + "source_owner": "src/fep_lean/formal/collective_inference.lean", + "statement": "theorem valueSpread_nonneg (x : ι → ℝ) : 0 ≤ valueSpread x", + "statement_sha256": "e139878bf783a3069fba9fd24cf64bc7c27c895787d95b09975d9f8b9dfe2c36" + }, + "FEP.ContinuousTimeMarkov.ActionIndexedSemigroup.selectedActionTransition_eq_sampledSemigroup": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "indexed" + ], + "role": "typed_binder", + "source": "(indexed : ActionIndexedSemigroup State Action)", + "type_source": "ActionIndexedSemigroup State Action", + "visibility": "explicit" }, { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DecidableEq State] in" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "model" + ], + "role": "typed_binder", + "source": "(model : FEP.ActiveInference.GenerativeModel Policy State Outcome)", + "type_source": "FEP.ActiveInference.GenerativeModel Policy State Outcome", + "visibility": "explicit" }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - } - ], - "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.lyapunov_hasDerivAt", - "source_line": 1710, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", - "statement": "theorem lyapunov_hasDerivAt (rates : TwoStateRates)\n (initial : FiniteLaw Bool) (time : ℝ) :\n HasDerivAt (rates.lyapunov initial)\n (-2 * rates.decayRate * rates.lyapunov initial time) time", - "statement_sha256": "c4d5dd49d78b65dd9d9a096ba4fc136e4a022cc592d339e4c4e9701e13714019" - }, - "FEP.ContinuousTimeMarkov.TwoStateRates.relaxation_exact": { - "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "rates" + "policyToAction" ], "role": "typed_binder", - "source": "(rates : TwoStateRates)", - "type_source": "TwoStateRates", + "source": "(policyToAction : Policy → Action)", + "type_source": "Policy → Action", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "initial" + "transition_consistent" ], "role": "typed_binder", - "source": "(initial : FiniteLaw Bool)", - "type_source": "FiniteLaw Bool", + "source": "(transition_consistent : ∀ policy,\n indexed.sampledKernel (policyToAction policy) = model.transition policy)", + "type_source": "∀ policy,\n indexed.sampledKernel (policyToAction policy) = model.transition policy", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "time" + "policy" ], "role": "typed_binder", - "source": "(time : ℝ)", - "type_source": "ℝ", + "source": "(policy : Policy)", + "type_source": "Policy", "visibility": "explicit" } ], - "conclusion": "rates.trueMass initial time - rates.stationaryTrue =\n rates.rho time * (initial true - rates.stationaryTrue)", + "conclusion": "(indexed.toActionInterface model policyToAction\n transition_consistent).actionTransition\n ((indexed.toActionInterface model policyToAction\n transition_consistent).policyToAction policy) =\n indexed.sampledKernel (policyToAction policy)", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "State" + "Policy", + "State", + "Outcome", + "Action" ], "role": "typed_binder", - "source": "{State : Type*}", + "source": "{Policy State Outcome Action : Type*}", "type_source": "Type*", "visibility": "implicit" }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Policy]", + "type_source": "Fintype Policy", + "visibility": "instance" + }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], @@ -23332,8 +23583,16 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Nonempty State]", - "type_source": "Nonempty State", + "source": "[Fintype Outcome]", + "type_source": "Fintype Outcome", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Action]", + "type_source": "Fintype Action", "visibility": "instance" }, { @@ -23343,114 +23602,156 @@ "source": "[DecidableEq State]", "type_source": "DecidableEq State", "visibility": "instance" - }, + } + ], + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.finite_markov_dynamics", + "FepSketches.active_inference", + "FepSketches.decision_risk", + "FepSketches.markov_blanket", + "Mathlib.Analysis.Normed.Algebra.MatrixExponential" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.ContinuousTimeMarkov.ActionIndexedSemigroup", + "namespace_variable_context": [ + "{Policy State Outcome Action : Type*}\n [Fintype Policy] [Fintype State] [Fintype Outcome] [Fintype Action]\n [DecidableEq State]" + ], + "preceding_scope_directives": [], + "qualified_name": "FEP.ContinuousTimeMarkov.ActionIndexedSemigroup.selectedActionTransition_eq_sampledSemigroup", + "source_line": 271, + "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "statement": "theorem selectedActionTransition_eq_sampledSemigroup\n (indexed : ActionIndexedSemigroup State Action)\n (model : FEP.ActiveInference.GenerativeModel Policy State Outcome)\n (policyToAction : Policy → Action)\n (transition_consistent : ∀ policy,\n indexed.sampledKernel (policyToAction policy) = model.transition policy)\n (policy : Policy) :\n (indexed.toActionInterface model policyToAction\n transition_consistent).actionTransition\n ((indexed.toActionInterface model policyToAction\n transition_consistent).policyToAction policy) =\n indexed.sampledKernel (policyToAction policy)", + "statement_sha256": "5e75a981f1709c2d555ffdbd0e89300e377c30685f1cff5f9bbba2927bf803cb" + }, + "FEP.ContinuousTimeMarkov.ActionIndexedSemigroup.toGenerativeModel_transition": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Internal", - "Sensory", - "Active", - "External" + "indexed" ], "role": "typed_binder", - "source": "{Internal Sensory Active External : Type*}", - "type_source": "Type*", - "visibility": "implicit" + "source": "(indexed : ActionIndexedSemigroup State Action)", + "type_source": "ActionIndexedSemigroup State Action", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype Internal]", - "type_source": "Fintype Internal", - "visibility": "instance" + "names": [ + "policyToAction" + ], + "role": "typed_binder", + "source": "(policyToAction : Policy → Action)", + "type_source": "Policy → Action", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype Sensory]", - "type_source": "Fintype Sensory", - "visibility": "instance" + "names": [ + "initialState" + ], + "role": "typed_binder", + "source": "(initialState : FiniteLaw State)", + "type_source": "FiniteLaw State", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype Active]", - "type_source": "Fintype Active", - "visibility": "instance" + "names": [ + "likelihood" + ], + "role": "typed_binder", + "source": "(likelihood : FiniteKernel State Outcome)", + "type_source": "FiniteKernel State Outcome", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype External]", - "type_source": "Fintype External", - "visibility": "instance" + "names": [ + "preferences" + ], + "role": "typed_binder", + "source": "(preferences : FiniteLaw Outcome)", + "type_source": "FiniteLaw Outcome", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[DecidableEq Internal]", - "type_source": "DecidableEq Internal", - "visibility": "instance" + "names": [ + "policyPrior" + ], + "role": "typed_binder", + "source": "(policyPrior : FiniteLaw Policy)", + "type_source": "FiniteLaw Policy", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[DecidableEq Sensory]", - "type_source": "DecidableEq Sensory", - "visibility": "instance" - }, + "names": [ + "policy" + ], + "role": "typed_binder", + "source": "(policy : Policy)", + "type_source": "Policy", + "visibility": "explicit" + } + ], + "conclusion": "(indexed.toGenerativeModel policyToAction initialState likelihood\n preferences policyPrior).transition policy =\n indexed.sampledKernel (policyToAction policy)", + "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[DecidableEq Active]", - "type_source": "DecidableEq Active", - "visibility": "instance" + "names": [ + "Policy", + "State", + "Outcome", + "Action" + ], + "role": "typed_binder", + "source": "{Policy State Outcome Action : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DecidableEq External]", - "type_source": "DecidableEq External", + "source": "[Fintype Policy]", + "type_source": "Fintype Policy", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Nontrivial Internal]", - "type_source": "Nontrivial Internal", + "source": "[Fintype State]", + "type_source": "Fintype State", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Nontrivial Sensory]", - "type_source": "Nontrivial Sensory", + "source": "[Fintype Outcome]", + "type_source": "Fintype Outcome", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Nontrivial Active]", - "type_source": "Nontrivial Active", + "source": "[Fintype Action]", + "type_source": "Fintype Action", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Nontrivial External]", - "type_source": "Nontrivial External", + "source": "[DecidableEq State]", + "type_source": "DecidableEq State", "visibility": "instance" } ], @@ -23464,95 +23765,28 @@ "Mathlib.Analysis.Normed.Algebra.MatrixExponential" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.ContinuousTimeMarkov.TwoStateRates", + "namespace": "FEP.ContinuousTimeMarkov.ActionIndexedSemigroup", "namespace_variable_context": [ - "{State : Type*} [Fintype State] [Nonempty State] [DecidableEq State]", - "{Internal Sensory Active External : Type*}\n [Fintype Internal] [Fintype Sensory] [Fintype Active] [Fintype External]\n [DecidableEq Internal] [DecidableEq Sensory] [DecidableEq Active]\n [DecidableEq External]\n [Nontrivial Internal] [Nontrivial Sensory]\n [Nontrivial Active] [Nontrivial External]" - ], - "preceding_scope_directives": [ - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DecidableEq State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DecidableEq State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DecidableEq State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DecidableEq State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - } + "{Policy State Outcome Action : Type*}\n [Fintype Policy] [Fintype State] [Fintype Outcome] [Fintype Action]\n [DecidableEq State]" ], - "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.relaxation_exact", - "source_line": 1681, + "preceding_scope_directives": [], + "qualified_name": "FEP.ContinuousTimeMarkov.ActionIndexedSemigroup.toGenerativeModel_transition", + "source_line": 227, "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", - "statement": "theorem relaxation_exact (rates : TwoStateRates)\n (initial : FiniteLaw Bool) (time : ℝ) :\n rates.trueMass initial time - rates.stationaryTrue =\n rates.rho time * (initial true - rates.stationaryTrue)", - "statement_sha256": "c1fb1071a1031fa9d093663c5dca61a4ff45cb49e3beb79640d4f8ff84875174" + "statement": "theorem toGenerativeModel_transition\n (indexed : ActionIndexedSemigroup State Action)\n (policyToAction : Policy → Action)\n (initialState : FiniteLaw State)\n (likelihood : FiniteKernel State Outcome)\n (preferences : FiniteLaw Outcome) (policyPrior : FiniteLaw Policy)\n (policy : Policy) :\n (indexed.toGenerativeModel policyToAction initialState likelihood\n preferences policyPrior).transition policy =\n indexed.sampledKernel (policyToAction policy)", + "statement_sha256": "035e0d5d164598e17fdc4f9b550c71b64c478bdf7f3e13c358b0ab8676203c3e" }, - "FEP.ContinuousTimeMarkov.TwoStateRates.rho_add": { + "FEP.ContinuousTimeMarkov.FiniteMarkovSemigroup.kernel_add": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "rates" + "semigroup" ], "role": "typed_binder", - "source": "(rates : TwoStateRates)", - "type_source": "TwoStateRates", + "source": "(semigroup : FiniteMarkovSemigroup State)", + "type_source": "FiniteMarkovSemigroup State", "visibility": "explicit" }, { @@ -23565,9 +23799,29 @@ "source": "(left right : ℝ)", "type_source": "ℝ", "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hLeft" + ], + "role": "typed_binder", + "source": "(hLeft : 0 ≤ left)", + "type_source": "0 ≤ left", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hRight" + ], + "role": "typed_binder", + "source": "(hRight : 0 ≤ right)", + "type_source": "0 ≤ right", + "visibility": "explicit" } ], - "conclusion": "rates.rho (left + right) = rates.rho left * rates.rho right", + "conclusion": "semigroup.kernel (left + right) (add_nonneg hLeft hRight) =\n FiniteKernel.comp (semigroup.kernel right hRight)\n (semigroup.kernel left hLeft)", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -23587,14 +23841,6 @@ "type_source": "Fintype State", "visibility": "instance" }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Nonempty State]", - "type_source": "Nonempty State", - "visibility": "instance" - }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], @@ -23602,118 +23848,191 @@ "source": "[DecidableEq State]", "type_source": "DecidableEq State", "visibility": "instance" - }, + } + ], + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.finite_markov_dynamics", + "FepSketches.active_inference", + "FepSketches.decision_risk", + "FepSketches.markov_blanket", + "Mathlib.Analysis.Normed.Algebra.MatrixExponential" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.ContinuousTimeMarkov.FiniteMarkovSemigroup", + "namespace_variable_context": [ + "{State : Type*} [Fintype State] [DecidableEq State]" + ], + "preceding_scope_directives": [], + "qualified_name": "FEP.ContinuousTimeMarkov.FiniteMarkovSemigroup.kernel_add", + "source_line": 123, + "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "statement": "theorem kernel_add (semigroup : FiniteMarkovSemigroup State)\n (left right : ℝ) (hLeft : 0 ≤ left) (hRight : 0 ≤ right) :\n semigroup.kernel (left + right) (add_nonneg hLeft hRight) =\n FiniteKernel.comp (semigroup.kernel right hRight)\n (semigroup.kernel left hLeft)", + "statement_sha256": "8d7808fd446718342dc930925313fa5bda4ff7d682510e0f5d91dae965974827" + }, + "FEP.ContinuousTimeMarkov.FiniteMarkovSemigroup.kernel_zero": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Internal", - "Sensory", - "Active", - "External" + "semigroup" ], "role": "typed_binder", - "source": "{Internal Sensory Active External : Type*}", - "type_source": "Type*", - "visibility": "implicit" - }, + "source": "(semigroup : FiniteMarkovSemigroup State)", + "type_source": "FiniteMarkovSemigroup State", + "visibility": "explicit" + } + ], + "conclusion": "semigroup.kernel 0 le_rfl = FiniteKernel.identity", + "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype Internal]", - "type_source": "Fintype Internal", - "visibility": "instance" + "names": [ + "State" + ], + "role": "typed_binder", + "source": "{State : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Sensory]", - "type_source": "Fintype Sensory", + "source": "[Fintype State]", + "type_source": "Fintype State", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Active]", - "type_source": "Fintype Active", + "source": "[DecidableEq State]", + "type_source": "DecidableEq State", "visibility": "instance" - }, + } + ], + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.finite_markov_dynamics", + "FepSketches.active_inference", + "FepSketches.decision_risk", + "FepSketches.markov_blanket", + "Mathlib.Analysis.Normed.Algebra.MatrixExponential" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.ContinuousTimeMarkov.FiniteMarkovSemigroup", + "namespace_variable_context": [ + "{State : Type*} [Fintype State] [DecidableEq State]" + ], + "preceding_scope_directives": [], + "qualified_name": "FEP.ContinuousTimeMarkov.FiniteMarkovSemigroup.kernel_zero", + "source_line": 115, + "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "statement": "theorem kernel_zero (semigroup : FiniteMarkovSemigroup State) :\n semigroup.kernel 0 le_rfl = FiniteKernel.identity", + "statement_sha256": "a13736d6b1cd4a086e6616e4bbb7f026d40448150f99d74fab5bd30d9dbb4529" + }, + "FEP.ContinuousTimeMarkov.FiniteMarkovSemigroup.nativeKL_contraction": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype External]", - "type_source": "Fintype External", + "source": "[MeasurableSpace State]", + "type_source": "MeasurableSpace State", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DecidableEq Internal]", - "type_source": "DecidableEq Internal", + "source": "[DiscreteMeasurableSpace State]", + "type_source": "DiscreteMeasurableSpace State", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[DecidableEq Sensory]", - "type_source": "DecidableEq Sensory", - "visibility": "instance" + "names": [ + "semigroup" + ], + "role": "typed_binder", + "source": "(semigroup : FiniteMarkovSemigroup State)", + "type_source": "FiniteMarkovSemigroup State", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[DecidableEq Active]", - "type_source": "DecidableEq Active", - "visibility": "instance" + "names": [ + "time" + ], + "role": "typed_binder", + "source": "(time : ℝ)", + "type_source": "ℝ", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[DecidableEq External]", - "type_source": "DecidableEq External", - "visibility": "instance" + "names": [ + "hTime" + ], + "role": "typed_binder", + "source": "(hTime : 0 ≤ time)", + "type_source": "0 ≤ time", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Nontrivial Internal]", - "type_source": "Nontrivial Internal", - "visibility": "instance" - }, + "names": [ + "actual", + "reference" + ], + "role": "typed_binder", + "source": "(actual reference : FiniteLaw State)", + "type_source": "FiniteLaw State", + "visibility": "explicit" + } + ], + "conclusion": "InformationTheory.klDiv\n (FEP.NativeBlanket.embeddedLaw\n ((semigroup.kernel time hTime).predictive actual))\n (FEP.NativeBlanket.embeddedLaw\n ((semigroup.kernel time hTime).predictive reference)) ≤\n InformationTheory.klDiv\n (FEP.NativeBlanket.embeddedLaw actual)\n (FEP.NativeBlanket.embeddedLaw reference)", + "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Nontrivial Sensory]", - "type_source": "Nontrivial Sensory", - "visibility": "instance" + "names": [ + "State" + ], + "role": "typed_binder", + "source": "{State : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Nontrivial Active]", - "type_source": "Nontrivial Active", + "source": "[Fintype State]", + "type_source": "Fintype State", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Nontrivial External]", - "type_source": "Nontrivial External", + "source": "[DecidableEq State]", + "type_source": "DecidableEq State", "visibility": "instance" } ], - "declaration_mentions": [], + "declaration_mentions": [ + { + "identifier": "FEP.NativeBlanket.embeddedPredictive_eq_comp", + "qualified_name": "FEP.NativeBlanket.embeddedPredictive_eq_comp", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + } + ], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ "FepSketches.finite_markov_dynamics", @@ -23723,109 +24042,229 @@ "Mathlib.Analysis.Normed.Algebra.MatrixExponential" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.ContinuousTimeMarkov.TwoStateRates", + "namespace": "FEP.ContinuousTimeMarkov.FiniteMarkovSemigroup", "namespace_variable_context": [ - "{State : Type*} [Fintype State] [Nonempty State] [DecidableEq State]", - "{Internal Sensory Active External : Type*}\n [Fintype Internal] [Fintype Sensory] [Fintype Active] [Fintype External]\n [DecidableEq Internal] [DecidableEq Sensory] [DecidableEq Active]\n [DecidableEq External]\n [Nontrivial Internal] [Nontrivial Sensory]\n [Nontrivial Active] [Nontrivial External]" + "{State : Type*} [Fintype State] [DecidableEq State]" ], - "preceding_scope_directives": [ - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DecidableEq State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - }, + "preceding_scope_directives": [], + "qualified_name": "FEP.ContinuousTimeMarkov.FiniteMarkovSemigroup.nativeKL_contraction", + "source_line": 134, + "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "statement": "theorem nativeKL_contraction [MeasurableSpace State]\n [DiscreteMeasurableSpace State]\n (semigroup : FiniteMarkovSemigroup State)\n (time : ℝ) (hTime : 0 ≤ time) (actual reference : FiniteLaw State) :\n InformationTheory.klDiv\n (FEP.NativeBlanket.embeddedLaw\n ((semigroup.kernel time hTime).predictive actual))\n (FEP.NativeBlanket.embeddedLaw\n ((semigroup.kernel time hTime).predictive reference)) ≤\n InformationTheory.klDiv\n (FEP.NativeBlanket.embeddedLaw actual)\n (FEP.NativeBlanket.embeddedLaw reference)", + "statement_sha256": "d7b3f22a1952ab41c33bd8e13ec05d09fa77e2439990e0adbf98d46b37b50bfc" + }, + "FEP.ContinuousTimeMarkov.FiniteMarkovSemigroup.nativeKL_contraction_to_invariant": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[MeasurableSpace State]", + "type_source": "MeasurableSpace State", + "visibility": "instance" }, { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DiscreteMeasurableSpace State]", + "type_source": "DiscreteMeasurableSpace State", + "visibility": "instance" }, { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "semigroup" + ], + "role": "typed_binder", + "source": "(semigroup : FiniteMarkovSemigroup State)", + "type_source": "FiniteMarkovSemigroup State", + "visibility": "explicit" }, { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DecidableEq State] in" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "time" + ], + "role": "typed_binder", + "source": "(time : ℝ)", + "type_source": "ℝ", + "visibility": "explicit" }, { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DecidableEq State] in" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hTime" + ], + "role": "typed_binder", + "source": "(hTime : 0 ≤ time)", + "type_source": "0 ≤ time", + "visibility": "explicit" }, { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "actual", + "invariant" + ], + "role": "typed_binder", + "source": "(actual invariant : FiniteLaw State)", + "type_source": "FiniteLaw State", + "visibility": "explicit" }, { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - }, + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hInvariant" + ], + "role": "typed_binder", + "source": "(hInvariant : FEP.FiniteMarkovDynamics.IsInvariant invariant\n (semigroup.kernel time hTime))", + "type_source": "FEP.FiniteMarkovDynamics.IsInvariant invariant\n (semigroup.kernel time hTime)", + "visibility": "explicit" + } + ], + "conclusion": "InformationTheory.klDiv\n (FEP.NativeBlanket.embeddedLaw\n ((semigroup.kernel time hTime).predictive actual))\n (FEP.NativeBlanket.embeddedLaw invariant) ≤\n InformationTheory.klDiv\n (FEP.NativeBlanket.embeddedLaw actual)\n (FEP.NativeBlanket.embeddedLaw invariant)", + "context_binders": [ { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "State" + ], + "role": "typed_binder", + "source": "{State : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DecidableEq State] in" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype State]", + "type_source": "Fintype State", + "visibility": "instance" }, { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DecidableEq State]", + "type_source": "DecidableEq State", + "visibility": "instance" } ], - "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.rho_add", - "source_line": 1423, + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.finite_markov_dynamics", + "FepSketches.active_inference", + "FepSketches.decision_risk", + "FepSketches.markov_blanket", + "Mathlib.Analysis.Normed.Algebra.MatrixExponential" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.ContinuousTimeMarkov.FiniteMarkovSemigroup", + "namespace_variable_context": [ + "{State : Type*} [Fintype State] [DecidableEq State]" + ], + "preceding_scope_directives": [], + "qualified_name": "FEP.ContinuousTimeMarkov.FiniteMarkovSemigroup.nativeKL_contraction_to_invariant", + "source_line": 155, "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", - "statement": "theorem rho_add (rates : TwoStateRates) (left right : ℝ) :\n rates.rho (left + right) = rates.rho left * rates.rho right", - "statement_sha256": "459246d3eeefb51ad0a13e46a5a55a8efd48d7ac59e13ac046d3a326a8ded121" + "statement": "theorem nativeKL_contraction_to_invariant [MeasurableSpace State]\n [DiscreteMeasurableSpace State]\n (semigroup : FiniteMarkovSemigroup State)\n (time : ℝ) (hTime : 0 ≤ time) (actual invariant : FiniteLaw State)\n (hInvariant : FEP.FiniteMarkovDynamics.IsInvariant invariant\n (semigroup.kernel time hTime)) :\n InformationTheory.klDiv\n (FEP.NativeBlanket.embeddedLaw\n ((semigroup.kernel time hTime).predictive actual))\n (FEP.NativeBlanket.embeddedLaw invariant) ≤\n InformationTheory.klDiv\n (FEP.NativeBlanket.embeddedLaw actual)\n (FEP.NativeBlanket.embeddedLaw invariant)", + "statement_sha256": "eaac3d61a5c48eb4b51afa919be7ff45f3ee5db629ca3c74ba87f5f07c90e05c" }, - "FEP.ContinuousTimeMarkov.TwoStateRates.rho_hasDerivAt": { + "FEP.ContinuousTimeMarkov.FiniteRateGenerator.probabilityCurrent_eq_zero_of_detailedBalanced": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "rates" + "generator" ], "role": "typed_binder", - "source": "(rates : TwoStateRates)", - "type_source": "TwoStateRates", + "source": "(generator : FiniteRateGenerator State)", + "type_source": "FiniteRateGenerator State", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "time" + "law" ], "role": "typed_binder", - "source": "(time : ℝ)", - "type_source": "ℝ", + "source": "(law : FiniteLaw State)", + "type_source": "FiniteLaw State", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hBalanced" + ], + "role": "typed_binder", + "source": "(hBalanced : generator.IsDetailedBalanced law)", + "type_source": "generator.IsDetailedBalanced law", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "source", + "target" + ], + "role": "typed_binder", + "source": "(source target : State)", + "type_source": "State", "visibility": "explicit" } ], - "conclusion": "HasDerivAt rates.rho (-rates.decayRate * rates.rho time) time", + "conclusion": "generator.probabilityCurrent law source target = 0", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "State" + ], + "role": "typed_binder", + "source": "{State : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype State]", + "type_source": "Fintype State", + "visibility": "instance" + } + ], + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.finite_markov_dynamics", + "FepSketches.active_inference", + "FepSketches.decision_risk", + "FepSketches.markov_blanket", + "Mathlib.Analysis.Normed.Algebra.MatrixExponential" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.ContinuousTimeMarkov.FiniteRateGenerator", + "namespace_variable_context": [ + "{State : Type*} [Fintype State]" + ], + "preceding_scope_directives": [], + "qualified_name": "FEP.ContinuousTimeMarkov.FiniteRateGenerator.probabilityCurrent_eq_zero_of_detailedBalanced", + "source_line": 68, + "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "statement": "theorem probabilityCurrent_eq_zero_of_detailedBalanced\n (generator : FiniteRateGenerator State) (law : FiniteLaw State)\n (hBalanced : generator.IsDetailedBalanced law) (source target : State) :\n generator.probabilityCurrent law source target = 0", + "statement_sha256": "83649278183fb850a328c66db61f1db8ba15ed89dc4cce04d604d9e25e09bc86" + }, + "FEP.ContinuousTimeMarkov.TwoStateRates.benchmarkInitial_nonstationary": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [], + "conclusion": "benchmarkInitial true ≠ benchmarkRates.stationaryTrue", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -24053,47 +24492,16 @@ "source": "omit [Nonempty State] in" } ], - "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.rho_hasDerivAt", - "source_line": 1509, + "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.benchmarkInitial_nonstationary", + "source_line": 1739, "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", - "statement": "theorem rho_hasDerivAt (rates : TwoStateRates) (time : ℝ) :\n HasDerivAt rates.rho (-rates.decayRate * rates.rho time) time", - "statement_sha256": "a2cb1f62491b5bbb30c4ec4a3ee76830442adf06b78931345ac5a0043522fe9c" + "statement": "theorem benchmarkInitial_nonstationary :\n benchmarkInitial true ≠ benchmarkRates.stationaryTrue", + "statement_sha256": "6edb4a4865786203f9147da68c36f149f500a539cfed1fe6254d06d78019ed2c" }, - "FEP.ContinuousTimeMarkov.TwoStateRates.rho_le_one": { + "FEP.ContinuousTimeMarkov.TwoStateRates.benchmarkLyapunov_deriv_zero_neg": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [ - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "rates" - ], - "role": "typed_binder", - "source": "(rates : TwoStateRates)", - "type_source": "TwoStateRates", - "visibility": "explicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "time" - ], - "role": "typed_binder", - "source": "{time : ℝ}", - "type_source": "ℝ", - "visibility": "implicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "hTime" - ], - "role": "typed_binder", - "source": "(hTime : 0 ≤ time)", - "type_source": "0 ≤ time", - "visibility": "explicit" - } - ], - "conclusion": "rates.rho time ≤ 1", + "binders": [], + "conclusion": "-2 * benchmarkRates.decayRate * benchmarkRates.lyapunov benchmarkInitial 0 < 0", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -24321,37 +24729,16 @@ "source": "omit [Nonempty State] in" } ], - "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.rho_le_one", - "source_line": 1413, + "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.benchmarkLyapunov_deriv_zero_neg", + "source_line": 1744, "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", - "statement": "theorem rho_le_one (rates : TwoStateRates) {time : ℝ} (hTime : 0 ≤ time) :\n rates.rho time ≤ 1", - "statement_sha256": "dd6e5935e9503d37c529d2dcfc0cdd12c694517c759c2c5526f846cd95bc3b06" + "statement": "theorem benchmarkLyapunov_deriv_zero_neg :\n -2 * benchmarkRates.decayRate * benchmarkRates.lyapunov benchmarkInitial 0 < 0", + "statement_sha256": "379a706bdeb1d1e9a858290b0428e86eecd617f5bf8371c6055be409b4539b21" }, - "FEP.ContinuousTimeMarkov.TwoStateRates.rho_pos": { + "FEP.ContinuousTimeMarkov.TwoStateRates.benchmarkRates_exact": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [ - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "rates" - ], - "role": "typed_binder", - "source": "(rates : TwoStateRates)", - "type_source": "TwoStateRates", - "visibility": "explicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "time" - ], - "role": "typed_binder", - "source": "(time : ℝ)", - "type_source": "ℝ", - "visibility": "explicit" - } - ], - "conclusion": "0 < rates.rho time", + "binders": [], + "conclusion": "benchmarkRates.forward = 0.7 ∧ benchmarkRates.backward = 0.3", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -24579,13 +24966,13 @@ "source": "omit [Nonempty State] in" } ], - "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.rho_pos", - "source_line": 1410, + "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.benchmarkRates_exact", + "source_line": 1735, "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", - "statement": "theorem rho_pos (rates : TwoStateRates) (time : ℝ) : 0 < rates.rho time", - "statement_sha256": "e5f6cd42b07398ea67800ad81f0ae399452c7fd665a7f72c32bfbb7e39493521" + "statement": "theorem benchmarkRates_exact :\n benchmarkRates.forward = 0.7 ∧ benchmarkRates.backward = 0.3", + "statement_sha256": "48bfa10290599c465dd64c6998719aeded066c6cfffafb253fbb56dbaa6434db" }, - "FEP.ContinuousTimeMarkov.TwoStateRates.rho_zero": { + "FEP.ContinuousTimeMarkov.TwoStateRates.certifiedSemigroup_detailedBalanced": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { @@ -24599,7 +24986,7 @@ "visibility": "explicit" } ], - "conclusion": "rates.rho 0 = 1", + "conclusion": "rates.certifiedSemigroup.IsDetailedBalanced rates.stationaryLaw", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -24827,13 +25214,13 @@ "source": "omit [Nonempty State] in" } ], - "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.rho_zero", - "source_line": 1420, + "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.certifiedSemigroup_detailedBalanced", + "source_line": 1668, "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", - "statement": "theorem rho_zero (rates : TwoStateRates) : rates.rho 0 = 1", - "statement_sha256": "fbeee211efd611dee89d1f646cb96f45b9988671b651582ac691c518b57a5ee1" + "statement": "theorem certifiedSemigroup_detailedBalanced (rates : TwoStateRates) :\n rates.certifiedSemigroup.IsDetailedBalanced rates.stationaryLaw", + "statement_sha256": "c69b598b5c04217332cf1bf4f07a1b7240ec1a7167eeec0bb85de67c5e43a89d" }, - "FEP.ContinuousTimeMarkov.TwoStateRates.stationaryFalse_mul_decayRate": { + "FEP.ContinuousTimeMarkov.TwoStateRates.certifiedSemigroup_kernel_eq_kernel": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { @@ -24845,9 +25232,29 @@ "source": "(rates : TwoStateRates)", "type_source": "TwoStateRates", "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "time" + ], + "role": "typed_binder", + "source": "(time : ℝ)", + "type_source": "ℝ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hTime" + ], + "role": "typed_binder", + "source": "(hTime : 0 ≤ time)", + "type_source": "0 ≤ time", + "visibility": "explicit" } ], - "conclusion": "rates.stationaryFalse * rates.decayRate = rates.backward", + "conclusion": "rates.certifiedSemigroup.kernel time hTime = rates.kernel time hTime", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -25075,13 +25482,13 @@ "source": "omit [Nonempty State] in" } ], - "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.stationaryFalse_mul_decayRate", - "source_line": 1392, + "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.certifiedSemigroup_kernel_eq_kernel", + "source_line": 1648, "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", - "statement": "theorem stationaryFalse_mul_decayRate (rates : TwoStateRates) :\n rates.stationaryFalse * rates.decayRate = rates.backward", - "statement_sha256": "a04b2f39b752f608835b86f11e7cad46f2143089bf1bb8361a2b878915adb338" + "statement": "theorem certifiedSemigroup_kernel_eq_kernel (rates : TwoStateRates)\n (time : ℝ) (hTime : 0 ≤ time) :\n rates.certifiedSemigroup.kernel time hTime = rates.kernel time hTime", + "statement_sha256": "fe18e2969ed93c09933c7c534e56b88ec6e1512ab77a247d85b7f3e0da7ff210" }, - "FEP.ContinuousTimeMarkov.TwoStateRates.stationaryFalse_pos": { + "FEP.ContinuousTimeMarkov.TwoStateRates.certifiedSemigroup_stationary": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { @@ -25095,7 +25502,7 @@ "visibility": "explicit" } ], - "conclusion": "0 < rates.stationaryFalse", + "conclusion": "rates.certifiedSemigroup.IsStationary rates.stationaryLaw", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -25323,13 +25730,13 @@ "source": "omit [Nonempty State] in" } ], - "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.stationaryFalse_pos", - "source_line": 1373, + "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.certifiedSemigroup_stationary", + "source_line": 1655, "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", - "statement": "theorem stationaryFalse_pos (rates : TwoStateRates) :\n 0 < rates.stationaryFalse", - "statement_sha256": "64d3b283272edfca45f72342fd19c3ef2bface483f4ef6b0798078f2d39c2b45" + "statement": "theorem certifiedSemigroup_stationary (rates : TwoStateRates) :\n rates.certifiedSemigroup.IsStationary rates.stationaryLaw", + "statement_sha256": "a005724180ba826f4fe0860649ba2caa4ad7258186d4d038a574518ac0d76e55" }, - "FEP.ContinuousTimeMarkov.TwoStateRates.stationaryTrue_mul_decayRate": { + "FEP.ContinuousTimeMarkov.TwoStateRates.decayRate_pos": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { @@ -25343,7 +25750,7 @@ "visibility": "explicit" } ], - "conclusion": "rates.stationaryTrue * rates.decayRate = rates.forward", + "conclusion": "0 < rates.decayRate", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -25571,13 +25978,13 @@ "source": "omit [Nonempty State] in" } ], - "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.stationaryTrue_mul_decayRate", - "source_line": 1387, + "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.decayRate_pos", + "source_line": 1364, "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", - "statement": "theorem stationaryTrue_mul_decayRate (rates : TwoStateRates) :\n rates.stationaryTrue * rates.decayRate = rates.forward", - "statement_sha256": "6874f27edadb61de648647d5586caed64736bca58c82900f3286986297a4cc8b" + "statement": "theorem decayRate_pos (rates : TwoStateRates) : 0 < rates.decayRate", + "statement_sha256": "86526d6bd8dd0f315b3524a9618f3b93437c8f7a30f1b273470c151f8cf4b9fe" }, - "FEP.ContinuousTimeMarkov.TwoStateRates.stationaryTrue_pos": { + "FEP.ContinuousTimeMarkov.TwoStateRates.generator_mul_transition": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { @@ -25589,9 +25996,30 @@ "source": "(rates : TwoStateRates)", "type_source": "TwoStateRates", "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "time" + ], + "role": "typed_binder", + "source": "(time : ℝ)", + "type_source": "ℝ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "source", + "target" + ], + "role": "typed_binder", + "source": "(source target : Bool)", + "type_source": "Bool", + "visibility": "explicit" } ], - "conclusion": "0 < rates.stationaryTrue", + "conclusion": "(∑ middle,\n rates.generator source middle * rates.transition time middle target) =\n rates.transitionDerivative time source target", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -25819,13 +26247,13 @@ "source": "omit [Nonempty State] in" } ], - "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.stationaryTrue_pos", - "source_line": 1377, + "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.generator_mul_transition", + "source_line": 1554, "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", - "statement": "theorem stationaryTrue_pos (rates : TwoStateRates) :\n 0 < rates.stationaryTrue", - "statement_sha256": "9c32db44caf1eda456b54b9ea03da912b58cfa5e907e8b726cf539f9c5ffea83" + "statement": "theorem generator_mul_transition (rates : TwoStateRates) (time : ℝ)\n (source target : Bool) :\n (∑ middle,\n rates.generator source middle * rates.transition time middle target) =\n rates.transitionDerivative time source target", + "statement_sha256": "024a9f0efa93db27adde7d5a1b56ece1f52710e68db985eca28d2b85b1753e4d" }, - "FEP.ContinuousTimeMarkov.TwoStateRates.stationary_sum_one": { + "FEP.ContinuousTimeMarkov.TwoStateRates.lyapunov_exact": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { @@ -25837,9 +26265,29 @@ "source": "(rates : TwoStateRates)", "type_source": "TwoStateRates", "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "initial" + ], + "role": "typed_binder", + "source": "(initial : FiniteLaw Bool)", + "type_source": "FiniteLaw Bool", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "time" + ], + "role": "typed_binder", + "source": "(time : ℝ)", + "type_source": "ℝ", + "visibility": "explicit" } ], - "conclusion": "rates.stationaryFalse + rates.stationaryTrue = 1", + "conclusion": "rates.lyapunov initial time =\n rates.rho time ^ 2 *\n (initial true - rates.stationaryTrue) ^ 2", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -26067,13 +26515,13 @@ "source": "omit [Nonempty State] in" } ], - "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.stationary_sum_one", - "source_line": 1381, + "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.lyapunov_exact", + "source_line": 1702, "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", - "statement": "theorem stationary_sum_one (rates : TwoStateRates) :\n rates.stationaryFalse + rates.stationaryTrue = 1", - "statement_sha256": "0b0dca5d0c9c9a6aec202781397067ae842eb93ca24e80d458ed1dcee14d3b32" + "statement": "theorem lyapunov_exact (rates : TwoStateRates)\n (initial : FiniteLaw Bool) (time : ℝ) :\n rates.lyapunov initial time =\n rates.rho time ^ 2 *\n (initial true - rates.stationaryTrue) ^ 2", + "statement_sha256": "40cd1619b3fdfb690dff2fdfd059cdfc4853ae9a24c935f93b445def145f4a09" }, - "FEP.ContinuousTimeMarkov.TwoStateRates.transition_add": { + "FEP.ContinuousTimeMarkov.TwoStateRates.lyapunov_hasDerivAt": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { @@ -26089,27 +26537,25 @@ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "left", - "right" + "initial" ], "role": "typed_binder", - "source": "(left right : ℝ)", - "type_source": "ℝ", + "source": "(initial : FiniteLaw Bool)", + "type_source": "FiniteLaw Bool", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "source", - "target" + "time" ], "role": "typed_binder", - "source": "(source target : Bool)", - "type_source": "Bool", + "source": "(time : ℝ)", + "type_source": "ℝ", "visibility": "explicit" } ], - "conclusion": "rates.transition (left + right) source target =\n ∑ middle,\n rates.transition left source middle *\n rates.transition right middle target", + "conclusion": "HasDerivAt (rates.lyapunov initial)\n (-2 * rates.decayRate * rates.lyapunov initial time) time", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -26337,13 +26783,13 @@ "source": "omit [Nonempty State] in" } ], - "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.transition_add", - "source_line": 1479, + "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.lyapunov_hasDerivAt", + "source_line": 1710, "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", - "statement": "theorem transition_add (rates : TwoStateRates) (left right : ℝ)\n (source target : Bool) :\n rates.transition (left + right) source target =\n ∑ middle,\n rates.transition left source middle *\n rates.transition right middle target", - "statement_sha256": "325462b357135b7a21d4cc956541d5de4653f28ad3f9cf5fd0e35d21f148bc09" + "statement": "theorem lyapunov_hasDerivAt (rates : TwoStateRates)\n (initial : FiniteLaw Bool) (time : ℝ) :\n HasDerivAt (rates.lyapunov initial)\n (-2 * rates.decayRate * rates.lyapunov initial time) time", + "statement_sha256": "c4d5dd49d78b65dd9d9a096ba4fc136e4a022cc592d339e4c4e9701e13714019" }, - "FEP.ContinuousTimeMarkov.TwoStateRates.transition_detailedBalance": { + "FEP.ContinuousTimeMarkov.TwoStateRates.relaxation_exact": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { @@ -26359,26 +26805,25 @@ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "time" + "initial" ], "role": "typed_binder", - "source": "(time : ℝ)", - "type_source": "ℝ", + "source": "(initial : FiniteLaw Bool)", + "type_source": "FiniteLaw Bool", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "source", - "target" + "time" ], "role": "typed_binder", - "source": "(source target : Bool)", - "type_source": "Bool", + "source": "(time : ℝ)", + "type_source": "ℝ", "visibility": "explicit" } ], - "conclusion": "rates.stationaryLaw source * rates.transition time source target =\n rates.stationaryLaw target * rates.transition time target source", + "conclusion": "rates.trueMass initial time - rates.stationaryTrue =\n rates.rho time * (initial true - rates.stationaryTrue)", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -26606,13 +27051,13 @@ "source": "omit [Nonempty State] in" } ], - "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.transition_detailedBalance", - "source_line": 1612, + "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.relaxation_exact", + "source_line": 1681, "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", - "statement": "theorem transition_detailedBalance (rates : TwoStateRates) (time : ℝ)\n (source target : Bool) :\n rates.stationaryLaw source * rates.transition time source target =\n rates.stationaryLaw target * rates.transition time target source", - "statement_sha256": "07db66ba8009c7acd70b4e4571362335dc39be1c4a1e36f9590887a1740f5a4a" + "statement": "theorem relaxation_exact (rates : TwoStateRates)\n (initial : FiniteLaw Bool) (time : ℝ) :\n rates.trueMass initial time - rates.stationaryTrue =\n rates.rho time * (initial true - rates.stationaryTrue)", + "statement_sha256": "c1fb1071a1031fa9d093663c5dca61a4ff45cb49e3beb79640d4f8ff84875174" }, - "FEP.ContinuousTimeMarkov.TwoStateRates.transition_hasDerivAt": { + "FEP.ContinuousTimeMarkov.TwoStateRates.rho_add": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { @@ -26628,26 +27073,16 @@ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "time" + "left", + "right" ], "role": "typed_binder", - "source": "(time : ℝ)", + "source": "(left right : ℝ)", "type_source": "ℝ", "visibility": "explicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "source", - "target" - ], - "role": "typed_binder", - "source": "(source target : Bool)", - "type_source": "Bool", - "visibility": "explicit" } ], - "conclusion": "HasDerivAt (fun candidate ↦ rates.transition candidate source target)\n (rates.transitionDerivative time source target) time", + "conclusion": "rates.rho (left + right) = rates.rho left * rates.rho right", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -26875,13 +27310,13 @@ "source": "omit [Nonempty State] in" } ], - "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.transition_hasDerivAt", - "source_line": 1517, + "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.rho_add", + "source_line": 1423, "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", - "statement": "theorem transition_hasDerivAt (rates : TwoStateRates) (time : ℝ)\n (source target : Bool) :\n HasDerivAt (fun candidate ↦ rates.transition candidate source target)\n (rates.transitionDerivative time source target) time", - "statement_sha256": "b633ae5b862d29b27c2a97947738026b81cb5a7be71c1510f1366f8359d4a181" + "statement": "theorem rho_add (rates : TwoStateRates) (left right : ℝ) :\n rates.rho (left + right) = rates.rho left * rates.rho right", + "statement_sha256": "459246d3eeefb51ad0a13e46a5a55a8efd48d7ac59e13ac046d3a326a8ded121" }, - "FEP.ContinuousTimeMarkov.TwoStateRates.transition_masterEquation": { + "FEP.ContinuousTimeMarkov.TwoStateRates.rho_hasDerivAt": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { @@ -26903,20 +27338,9 @@ "source": "(time : ℝ)", "type_source": "ℝ", "visibility": "explicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "source", - "target" - ], - "role": "typed_binder", - "source": "(source target : Bool)", - "type_source": "Bool", - "visibility": "explicit" } ], - "conclusion": "HasDerivAt (fun candidate ↦ rates.transition candidate source target)\n (∑ middle,\n rates.generator source middle * rates.transition time middle target)\n time ∧\n HasDerivAt (fun candidate ↦ rates.transition candidate source target)\n (∑ middle,\n rates.transition time source middle * rates.generator middle target)\n time", + "conclusion": "HasDerivAt rates.rho (-rates.decayRate * rates.rho time) time", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -27144,13 +27568,13 @@ "source": "omit [Nonempty State] in" } ], - "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.transition_masterEquation", - "source_line": 1583, + "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.rho_hasDerivAt", + "source_line": 1509, "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", - "statement": "theorem transition_masterEquation (rates : TwoStateRates) (time : ℝ)\n (source target : Bool) :\n HasDerivAt (fun candidate ↦ rates.transition candidate source target)\n (∑ middle,\n rates.generator source middle * rates.transition time middle target)\n time ∧\n HasDerivAt (fun candidate ↦ rates.transition candidate source target)\n (∑ middle,\n rates.transition time source middle * rates.generator middle target)\n time", - "statement_sha256": "9282b5d04e86b83dde4766d0afcee3e18dc3117ab084fc5f933300bf9fb42bda" + "statement": "theorem rho_hasDerivAt (rates : TwoStateRates) (time : ℝ) :\n HasDerivAt rates.rho (-rates.decayRate * rates.rho time) time", + "statement_sha256": "a2cb1f62491b5bbb30c4ec4a3ee76830442adf06b78931345ac5a0043522fe9c" }, - "FEP.ContinuousTimeMarkov.TwoStateRates.transition_mul_generator": { + "FEP.ContinuousTimeMarkov.TwoStateRates.rho_le_one": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { @@ -27169,23 +27593,22 @@ "time" ], "role": "typed_binder", - "source": "(time : ℝ)", + "source": "{time : ℝ}", "type_source": "ℝ", - "visibility": "explicit" + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "source", - "target" + "hTime" ], "role": "typed_binder", - "source": "(source target : Bool)", - "type_source": "Bool", + "source": "(hTime : 0 ≤ time)", + "type_source": "0 ≤ time", "visibility": "explicit" } ], - "conclusion": "(∑ middle,\n rates.transition time source middle * rates.generator middle target) =\n rates.transitionDerivative time source target", + "conclusion": "rates.rho time ≤ 1", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -27413,13 +27836,13 @@ "source": "omit [Nonempty State] in" } ], - "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.transition_mul_generator", - "source_line": 1568, + "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.rho_le_one", + "source_line": 1413, "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", - "statement": "theorem transition_mul_generator (rates : TwoStateRates) (time : ℝ)\n (source target : Bool) :\n (∑ middle,\n rates.transition time source middle * rates.generator middle target) =\n rates.transitionDerivative time source target", - "statement_sha256": "41c62ed7032347701fdfd4271aa801147c655c7aefa7c56e9b691d487af96576" + "statement": "theorem rho_le_one (rates : TwoStateRates) {time : ℝ} (hTime : 0 ≤ time) :\n rates.rho time ≤ 1", + "statement_sha256": "dd6e5935e9503d37c529d2dcfc0cdd12c694517c759c2c5526f846cd95bc3b06" }, - "FEP.ContinuousTimeMarkov.TwoStateRates.transition_nonneg": { + "FEP.ContinuousTimeMarkov.TwoStateRates.rho_pos": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { @@ -27438,33 +27861,12 @@ "time" ], "role": "typed_binder", - "source": "{time : ℝ}", + "source": "(time : ℝ)", "type_source": "ℝ", - "visibility": "implicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "hTime" - ], - "role": "typed_binder", - "source": "(hTime : 0 ≤ time)", - "type_source": "0 ≤ time", - "visibility": "explicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "source", - "target" - ], - "role": "typed_binder", - "source": "(source target : Bool)", - "type_source": "Bool", "visibility": "explicit" } ], - "conclusion": "0 ≤ rates.transition time source target", + "conclusion": "0 < rates.rho time", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -27692,13 +28094,13 @@ "source": "omit [Nonempty State] in" } ], - "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.transition_nonneg", - "source_line": 1453, + "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.rho_pos", + "source_line": 1410, "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", - "statement": "theorem transition_nonneg (rates : TwoStateRates) {time : ℝ}\n (hTime : 0 ≤ time) (source target : Bool) :\n 0 ≤ rates.transition time source target", - "statement_sha256": "cac6a1ddf34635a16290a644ab5a691e1cc7918ef3c3af1fcacf7f3127d43270" + "statement": "theorem rho_pos (rates : TwoStateRates) (time : ℝ) : 0 < rates.rho time", + "statement_sha256": "e5f6cd42b07398ea67800ad81f0ae399452c7fd665a7f72c32bfbb7e39493521" }, - "FEP.ContinuousTimeMarkov.TwoStateRates.transition_rowSum": { + "FEP.ContinuousTimeMarkov.TwoStateRates.rho_zero": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { @@ -27710,29 +28112,9 @@ "source": "(rates : TwoStateRates)", "type_source": "TwoStateRates", "visibility": "explicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "time" - ], - "role": "typed_binder", - "source": "(time : ℝ)", - "type_source": "ℝ", - "visibility": "explicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "source" - ], - "role": "typed_binder", - "source": "(source : Bool)", - "type_source": "Bool", - "visibility": "explicit" } ], - "conclusion": "∑ target, rates.transition time source target = 1", + "conclusion": "rates.rho 0 = 1", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -27960,13 +28342,13 @@ "source": "omit [Nonempty State] in" } ], - "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.transition_rowSum", - "source_line": 1438, + "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.rho_zero", + "source_line": 1420, "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", - "statement": "theorem transition_rowSum (rates : TwoStateRates) (time : ℝ)\n (source : Bool) :\n ∑ target, rates.transition time source target = 1", - "statement_sha256": "bedc322c219ded41fee7307211cabac1adce9ed8d89dff2aa22628ef352165e9" + "statement": "theorem rho_zero (rates : TwoStateRates) : rates.rho 0 = 1", + "statement_sha256": "fbeee211efd611dee89d1f646cb96f45b9988671b651582ac691c518b57a5ee1" }, - "FEP.ContinuousTimeMarkov.TwoStateRates.transition_stationary": { + "FEP.ContinuousTimeMarkov.TwoStateRates.stationaryFalse_mul_decayRate": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { @@ -27978,29 +28360,9 @@ "source": "(rates : TwoStateRates)", "type_source": "TwoStateRates", "visibility": "explicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "time" - ], - "role": "typed_binder", - "source": "(time : ℝ)", - "type_source": "ℝ", - "visibility": "explicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "target" - ], - "role": "typed_binder", - "source": "(target : Bool)", - "type_source": "Bool", - "visibility": "explicit" } ], - "conclusion": "(∑ source,\n rates.stationaryLaw source * rates.transition time source target) =\n rates.stationaryLaw target", + "conclusion": "rates.stationaryFalse * rates.decayRate = rates.backward", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -28228,13 +28590,13 @@ "source": "omit [Nonempty State] in" } ], - "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.transition_stationary", - "source_line": 1599, + "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.stationaryFalse_mul_decayRate", + "source_line": 1392, "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", - "statement": "theorem transition_stationary (rates : TwoStateRates) (time : ℝ)\n (target : Bool) :\n (∑ source,\n rates.stationaryLaw source * rates.transition time source target) =\n rates.stationaryLaw target", - "statement_sha256": "a37c1f499f3bf4e9bcf4c24ddf46607bc66ff92da98e0cb52d8a815a68e4b322" + "statement": "theorem stationaryFalse_mul_decayRate (rates : TwoStateRates) :\n rates.stationaryFalse * rates.decayRate = rates.backward", + "statement_sha256": "a04b2f39b752f608835b86f11e7cad46f2143089bf1bb8361a2b878915adb338" }, - "FEP.ContinuousTimeMarkov.TwoStateRates.transition_zero": { + "FEP.ContinuousTimeMarkov.TwoStateRates.stationaryFalse_pos": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { @@ -28246,20 +28608,9 @@ "source": "(rates : TwoStateRates)", "type_source": "TwoStateRates", "visibility": "explicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "source", - "target" - ], - "role": "typed_binder", - "source": "(source target : Bool)", - "type_source": "Bool", - "visibility": "explicit" } ], - "conclusion": "rates.transition 0 source target = if source = target then 1 else 0", + "conclusion": "0 < rates.stationaryFalse", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -28487,27 +28838,27 @@ "source": "omit [Nonempty State] in" } ], - "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.transition_zero", - "source_line": 1473, + "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.stationaryFalse_pos", + "source_line": 1373, "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", - "statement": "theorem transition_zero (rates : TwoStateRates) (source target : Bool) :\n rates.transition 0 source target = if source = target then 1 else 0", - "statement_sha256": "9c37229f1c6d2241af38cd84f4487736db8693de29bd149ea345918f00b80738" + "statement": "theorem stationaryFalse_pos (rates : TwoStateRates) :\n 0 < rates.stationaryFalse", + "statement_sha256": "64d3b283272edfca45f72342fd19c3ef2bface483f4ef6b0798078f2d39c2b45" }, - "FEP.ContinuousTimeMarkov.blanketPointMass_ne_uniform": { + "FEP.ContinuousTimeMarkov.TwoStateRates.stationaryTrue_mul_decayRate": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "chosen" + "rates" ], "role": "typed_binder", - "source": "(chosen : FEP.MarkovBlanket.DynamicState\n Internal Sensory Active External)", - "type_source": "FEP.MarkovBlanket.DynamicState\n Internal Sensory Active External", + "source": "(rates : TwoStateRates)", + "type_source": "TwoStateRates", "visibility": "explicit" } ], - "conclusion": "FiniteLaw.pointMass chosen ≠\n (FiniteLaw.uniform : FiniteLaw\n (FEP.MarkovBlanket.DynamicState Internal Sensory Active External))", + "conclusion": "rates.stationaryTrue * rates.decayRate = rates.forward", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -28663,7 +29014,7 @@ "Mathlib.Analysis.Normed.Algebra.MatrixExponential" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.ContinuousTimeMarkov", + "namespace": "FEP.ContinuousTimeMarkov.TwoStateRates", "namespace_variable_context": [ "{State : Type*} [Fintype State] [Nonempty State] [DecidableEq State]", "{Internal Sensory Active External : Type*}\n [Fintype Internal] [Fintype Sensory] [Fintype Active] [Fintype External]\n [DecidableEq Internal] [DecidableEq Sensory] [DecidableEq Active]\n [DecidableEq External]\n [Nontrivial Internal] [Nontrivial Sensory]\n [Nontrivial Active] [Nontrivial External]" @@ -28735,48 +29086,27 @@ "source": "omit [Nonempty State] in" } ], - "qualified_name": "FEP.ContinuousTimeMarkov.blanketPointMass_ne_uniform", - "source_line": 921, + "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.stationaryTrue_mul_decayRate", + "source_line": 1387, "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", - "statement": "theorem blanketPointMass_ne_uniform\n (chosen : FEP.MarkovBlanket.DynamicState\n Internal Sensory Active External) :\n FiniteLaw.pointMass chosen ≠\n (FiniteLaw.uniform : FiniteLaw\n (FEP.MarkovBlanket.DynamicState Internal Sensory Active External))", - "statement_sha256": "52fb9db371ef7f292a40297ab4e4b2f4fce0edfbceda07b91fd239cdc8939bd8" + "statement": "theorem stationaryTrue_mul_decayRate (rates : TwoStateRates) :\n rates.stationaryTrue * rates.decayRate = rates.forward", + "statement_sha256": "6874f27edadb61de648647d5586caed64736bca58c82900f3286986297a4cc8b" }, - "FEP.ContinuousTimeMarkov.blanketRefreshSemigroup_transition_pos": { + "FEP.ContinuousTimeMarkov.TwoStateRates.stationaryTrue_pos": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "time" - ], - "role": "typed_binder", - "source": "{time : ℝ}", - "type_source": "ℝ", - "visibility": "implicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "hTime" - ], - "role": "typed_binder", - "source": "(hTime : 0 < time)", - "type_source": "0 < time", - "visibility": "explicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "source", - "target" + "rates" ], "role": "typed_binder", - "source": "(source target :\n FEP.MarkovBlanket.DynamicState Internal Sensory Active External)", - "type_source": "FEP.MarkovBlanket.DynamicState Internal Sensory Active External", + "source": "(rates : TwoStateRates)", + "type_source": "TwoStateRates", "visibility": "explicit" } ], - "conclusion": "0 < blanketRefreshSemigroup.transition time source target", + "conclusion": "0 < rates.stationaryTrue", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -28922,14 +29252,7 @@ "visibility": "instance" } ], - "declaration_mentions": [ - { - "identifier": "refreshTransition_pos", - "qualified_name": "FEP.ContinuousTimeMarkov.refreshTransition_pos", - "resolution": "exact or same-namespace source identifier", - "role": "proof_reference" - } - ], + "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ "FepSketches.finite_markov_dynamics", @@ -28939,7 +29262,7 @@ "Mathlib.Analysis.Normed.Algebra.MatrixExponential" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.ContinuousTimeMarkov", + "namespace": "FEP.ContinuousTimeMarkov.TwoStateRates", "namespace_variable_context": [ "{State : Type*} [Fintype State] [Nonempty State] [DecidableEq State]", "{Internal Sensory Active External : Type*}\n [Fintype Internal] [Fintype Sensory] [Fintype Active] [Fintype External]\n [DecidableEq Internal] [DecidableEq Sensory] [DecidableEq Active]\n [DecidableEq External]\n [Nontrivial Internal] [Nontrivial Sensory]\n [Nontrivial Active] [Nontrivial External]" @@ -29011,16 +29334,27 @@ "source": "omit [Nonempty State] in" } ], - "qualified_name": "FEP.ContinuousTimeMarkov.blanketRefreshSemigroup_transition_pos", - "source_line": 912, + "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.stationaryTrue_pos", + "source_line": 1377, "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", - "statement": "theorem blanketRefreshSemigroup_transition_pos\n {time : ℝ} (hTime : 0 < time)\n (source target :\n FEP.MarkovBlanket.DynamicState Internal Sensory Active External) :\n 0 < blanketRefreshSemigroup.transition time source target", - "statement_sha256": "d85149a1fdda5a8fc5e417e256a5728416a18aee1980a9d4deeb61c68a9dbd29" + "statement": "theorem stationaryTrue_pos (rates : TwoStateRates) :\n 0 < rates.stationaryTrue", + "statement_sha256": "9c32db44caf1eda456b54b9ea03da912b58cfa5e907e8b726cf539f9c5ffea83" }, - "FEP.ContinuousTimeMarkov.boolBlanketActionIndexedSemigroup_false_kernel": { + "FEP.ContinuousTimeMarkov.TwoStateRates.stationary_sum_one": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [], - "conclusion": "boolBlanketActionIndexedSemigroup.sampledKernel false =\n (FiniteKernel.identity : FiniteKernel BoolBlanketState BoolBlanketState)", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "rates" + ], + "role": "typed_binder", + "source": "(rates : TwoStateRates)", + "type_source": "TwoStateRates", + "visibility": "explicit" + } + ], + "conclusion": "rates.stationaryFalse + rates.stationaryTrue = 1", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -29166,14 +29500,7 @@ "visibility": "instance" } ], - "declaration_mentions": [ - { - "identifier": "FiniteMarkovSemigroup.kernel_zero", - "qualified_name": "FEP.ContinuousTimeMarkov.FiniteMarkovSemigroup.kernel_zero", - "resolution": "exact or same-namespace source identifier", - "role": "proof_reference" - } - ], + "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ "FepSketches.finite_markov_dynamics", @@ -29183,7 +29510,7 @@ "Mathlib.Analysis.Normed.Algebra.MatrixExponential" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.ContinuousTimeMarkov", + "namespace": "FEP.ContinuousTimeMarkov.TwoStateRates", "namespace_variable_context": [ "{State : Type*} [Fintype State] [Nonempty State] [DecidableEq State]", "{Internal Sensory Active External : Type*}\n [Fintype Internal] [Fintype Sensory] [Fintype Active] [Fintype External]\n [DecidableEq Internal] [DecidableEq Sensory] [DecidableEq Active]\n [DecidableEq External]\n [Nontrivial Internal] [Nontrivial Sensory]\n [Nontrivial Active] [Nontrivial External]" @@ -29255,16 +29582,49 @@ "source": "omit [Nonempty State] in" } ], - "qualified_name": "FEP.ContinuousTimeMarkov.boolBlanketActionIndexedSemigroup_false_kernel", - "source_line": 1108, + "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.stationary_sum_one", + "source_line": 1381, "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", - "statement": "theorem boolBlanketActionIndexedSemigroup_false_kernel :\n boolBlanketActionIndexedSemigroup.sampledKernel false =\n (FiniteKernel.identity : FiniteKernel BoolBlanketState BoolBlanketState)", - "statement_sha256": "4dbf85e7471957be555df67a78a97e2fdd7d87d429b7b5b4e91d15f5d42144d0" + "statement": "theorem stationary_sum_one (rates : TwoStateRates) :\n rates.stationaryFalse + rates.stationaryTrue = 1", + "statement_sha256": "0b0dca5d0c9c9a6aec202781397067ae842eb93ca24e80d458ed1dcee14d3b32" }, - "FEP.ContinuousTimeMarkov.boolBlanketActionIndexedSemigroup_kernels_ne": { + "FEP.ContinuousTimeMarkov.TwoStateRates.transition_add": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [], - "conclusion": "boolBlanketActionIndexedSemigroup.sampledKernel false ≠\n boolBlanketActionIndexedSemigroup.sampledKernel true", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "rates" + ], + "role": "typed_binder", + "source": "(rates : TwoStateRates)", + "type_source": "TwoStateRates", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "left", + "right" + ], + "role": "typed_binder", + "source": "(left right : ℝ)", + "type_source": "ℝ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "source", + "target" + ], + "role": "typed_binder", + "source": "(source target : Bool)", + "type_source": "Bool", + "visibility": "explicit" + } + ], + "conclusion": "rates.transition (left + right) source target =\n ∑ middle,\n rates.transition left source middle *\n rates.transition right middle target", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -29410,26 +29770,7 @@ "visibility": "instance" } ], - "declaration_mentions": [ - { - "identifier": "blanketRefreshSemigroup_transition_pos", - "qualified_name": "FEP.ContinuousTimeMarkov.blanketRefreshSemigroup_transition_pos", - "resolution": "exact or same-namespace source identifier", - "role": "proof_reference" - }, - { - "identifier": "boolBlanketActionIndexedSemigroup_false_kernel", - "qualified_name": "FEP.ContinuousTimeMarkov.boolBlanketActionIndexedSemigroup_false_kernel", - "resolution": "exact or same-namespace source identifier", - "role": "proof_reference" - }, - { - "identifier": "boolBlanketActionIndexedSemigroup_true_kernel", - "qualified_name": "FEP.ContinuousTimeMarkov.boolBlanketActionIndexedSemigroup_true_kernel", - "resolution": "exact or same-namespace source identifier", - "role": "proof_reference" - } - ], + "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ "FepSketches.finite_markov_dynamics", @@ -29439,7 +29780,7 @@ "Mathlib.Analysis.Normed.Algebra.MatrixExponential" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.ContinuousTimeMarkov", + "namespace": "FEP.ContinuousTimeMarkov.TwoStateRates", "namespace_variable_context": [ "{State : Type*} [Fintype State] [Nonempty State] [DecidableEq State]", "{Internal Sensory Active External : Type*}\n [Fintype Internal] [Fintype Sensory] [Fintype Active] [Fintype External]\n [DecidableEq Internal] [DecidableEq Sensory] [DecidableEq Active]\n [DecidableEq External]\n [Nontrivial Internal] [Nontrivial Sensory]\n [Nontrivial Active] [Nontrivial External]" @@ -29511,16 +29852,48 @@ "source": "omit [Nonempty State] in" } ], - "qualified_name": "FEP.ContinuousTimeMarkov.boolBlanketActionIndexedSemigroup_kernels_ne", - "source_line": 1126, + "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.transition_add", + "source_line": 1479, "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", - "statement": "theorem boolBlanketActionIndexedSemigroup_kernels_ne :\n boolBlanketActionIndexedSemigroup.sampledKernel false ≠\n boolBlanketActionIndexedSemigroup.sampledKernel true", - "statement_sha256": "4f0cbc5b25a66f6fd128892dcfe1e86361747bdccaac7fe73a536f81d14220e0" + "statement": "theorem transition_add (rates : TwoStateRates) (left right : ℝ)\n (source target : Bool) :\n rates.transition (left + right) source target =\n ∑ middle,\n rates.transition left source middle *\n rates.transition right middle target", + "statement_sha256": "325462b357135b7a21d4cc956541d5de4653f28ad3f9cf5fd0e35d21f148bc09" }, - "FEP.ContinuousTimeMarkov.boolBlanketActionIndexedSemigroup_true_kernel": { + "FEP.ContinuousTimeMarkov.TwoStateRates.transition_detailedBalance": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [], - "conclusion": "boolBlanketActionIndexedSemigroup.sampledKernel true =\n boolBlanketRefreshKernel", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "rates" + ], + "role": "typed_binder", + "source": "(rates : TwoStateRates)", + "type_source": "TwoStateRates", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "time" + ], + "role": "typed_binder", + "source": "(time : ℝ)", + "type_source": "ℝ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "source", + "target" + ], + "role": "typed_binder", + "source": "(source target : Bool)", + "type_source": "Bool", + "visibility": "explicit" + } + ], + "conclusion": "rates.stationaryLaw source * rates.transition time source target =\n rates.stationaryLaw target * rates.transition time target source", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -29676,7 +30049,7 @@ "Mathlib.Analysis.Normed.Algebra.MatrixExponential" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.ContinuousTimeMarkov", + "namespace": "FEP.ContinuousTimeMarkov.TwoStateRates", "namespace_variable_context": [ "{State : Type*} [Fintype State] [Nonempty State] [DecidableEq State]", "{Internal Sensory Active External : Type*}\n [Fintype Internal] [Fintype Sensory] [Fintype Active] [Fintype External]\n [DecidableEq Internal] [DecidableEq Sensory] [DecidableEq Active]\n [DecidableEq External]\n [Nontrivial Internal] [Nontrivial Sensory]\n [Nontrivial Active] [Nontrivial External]" @@ -29748,27 +30121,48 @@ "source": "omit [Nonempty State] in" } ], - "qualified_name": "FEP.ContinuousTimeMarkov.boolBlanketActionIndexedSemigroup_true_kernel", - "source_line": 1118, + "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.transition_detailedBalance", + "source_line": 1612, "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", - "statement": "theorem boolBlanketActionIndexedSemigroup_true_kernel :\n boolBlanketActionIndexedSemigroup.sampledKernel true =\n boolBlanketRefreshKernel", - "statement_sha256": "931507902df4e6634c1cf8649baf521fae523af09cfcf70e61c19b64c1dba684" + "statement": "theorem transition_detailedBalance (rates : TwoStateRates) (time : ℝ)\n (source target : Bool) :\n rates.stationaryLaw source * rates.transition time source target =\n rates.stationaryLaw target * rates.transition time target source", + "statement_sha256": "07db66ba8009c7acd70b4e4571362335dc39be1c4a1e36f9590887a1740f5a4a" }, - "FEP.ContinuousTimeMarkov.boolBlanketActionSampleTime_nonneg": { + "FEP.ContinuousTimeMarkov.TwoStateRates.transition_hasDerivAt": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "action" + "rates" ], "role": "typed_binder", - "source": "(action : Bool)", + "source": "(rates : TwoStateRates)", + "type_source": "TwoStateRates", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "time" + ], + "role": "typed_binder", + "source": "(time : ℝ)", + "type_source": "ℝ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "source", + "target" + ], + "role": "typed_binder", + "source": "(source target : Bool)", "type_source": "Bool", "visibility": "explicit" } ], - "conclusion": "0 ≤ boolBlanketActionSampleTime action", + "conclusion": "HasDerivAt (fun candidate ↦ rates.transition candidate source target)\n (rates.transitionDerivative time source target) time", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -29924,7 +30318,7 @@ "Mathlib.Analysis.Normed.Algebra.MatrixExponential" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.ContinuousTimeMarkov", + "namespace": "FEP.ContinuousTimeMarkov.TwoStateRates", "namespace_variable_context": [ "{State : Type*} [Fintype State] [Nonempty State] [DecidableEq State]", "{Internal Sensory Active External : Type*}\n [Fintype Internal] [Fintype Sensory] [Fintype Active] [Fintype External]\n [DecidableEq Internal] [DecidableEq Sensory] [DecidableEq Active]\n [DecidableEq External]\n [Nontrivial Internal] [Nontrivial Sensory]\n [Nontrivial Active] [Nontrivial External]" @@ -29996,68 +30390,48 @@ "source": "omit [Nonempty State] in" } ], - "qualified_name": "FEP.ContinuousTimeMarkov.boolBlanketActionSampleTime_nonneg", - "source_line": 1084, + "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.transition_hasDerivAt", + "source_line": 1517, "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", - "statement": "theorem boolBlanketActionSampleTime_nonneg (action : Bool) :\n 0 ≤ boolBlanketActionSampleTime action", - "statement_sha256": "7e7a28ee87d4cc90e36682c92e7ac68f70087b31aa740c4c538b148bfdcf8f47" + "statement": "theorem transition_hasDerivAt (rates : TwoStateRates) (time : ℝ)\n (source target : Bool) :\n HasDerivAt (fun candidate ↦ rates.transition candidate source target)\n (rates.transitionDerivative time source target) time", + "statement_sha256": "b633ae5b862d29b27c2a97947738026b81cb5a7be71c1510f1366f8359d4a181" }, - "FEP.ContinuousTimeMarkov.boolBlanketGenerativeModel_false_posteriorState": { + "FEP.ContinuousTimeMarkov.TwoStateRates.transition_masterEquation": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "internal" - ], - "role": "typed_binder", - "source": "(internal : FiniteLaw Bool)", - "type_source": "FiniteLaw Bool", - "visibility": "explicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "likelihood" + "rates" ], "role": "typed_binder", - "source": "(likelihood : FiniteKernel Bool Bool)", - "type_source": "FiniteKernel Bool Bool", + "source": "(rates : TwoStateRates)", + "type_source": "TwoStateRates", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "preferences", - "policyPrior" + "time" ], "role": "typed_binder", - "source": "(preferences policyPrior : FiniteLaw Bool)", - "type_source": "FiniteLaw Bool", + "source": "(time : ℝ)", + "type_source": "ℝ", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "observation" + "source", + "target" ], "role": "typed_binder", - "source": "(observation : Bool)", + "source": "(source target : Bool)", "type_source": "Bool", "visibility": "explicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "hEvidence" - ], - "role": "typed_binder", - "source": "(hEvidence : 0 < likelihood.predictive internal observation)", - "type_source": "0 < likelihood.predictive internal observation", - "visibility": "explicit" } ], - "conclusion": "FEP.ActiveInference.posteriorState\n (boolBlanketGenerativeModel (liftInternalLaw internal)\n (liftInternalLikelihood likelihood) preferences policyPrior)\n false observation\n (by\n rw [boolBlanketGenerativeModel_false_predictedOutcome]\n exact hEvidence) =\n liftInternalLaw\n (likelihood.posterior internal observation hEvidence)", + "conclusion": "HasDerivAt (fun candidate ↦ rates.transition candidate source target)\n (∑ middle,\n rates.generator source middle * rates.transition time middle target)\n time ∧\n HasDerivAt (fun candidate ↦ rates.transition candidate source target)\n (∑ middle,\n rates.transition time source middle * rates.generator middle target)\n time", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -30203,26 +30577,7 @@ "visibility": "instance" } ], - "declaration_mentions": [ - { - "identifier": "boolBlanketGenerativeModel_false_predictedOutcome", - "qualified_name": "FEP.ContinuousTimeMarkov.boolBlanketGenerativeModel_false_predictedOutcome", - "resolution": "exact or same-namespace source identifier", - "role": "statement_reference" - }, - { - "identifier": "boolBlanketActionIndexedSemigroup_false_kernel", - "qualified_name": "FEP.ContinuousTimeMarkov.boolBlanketActionIndexedSemigroup_false_kernel", - "resolution": "exact or same-namespace source identifier", - "role": "proof_reference" - }, - { - "identifier": "liftInternalLikelihood_predictive_liftInternalLaw", - "qualified_name": "FEP.ContinuousTimeMarkov.liftInternalLikelihood_predictive_liftInternalLaw", - "resolution": "exact or same-namespace source identifier", - "role": "proof_reference" - } - ], + "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ "FepSketches.finite_markov_dynamics", @@ -30232,7 +30587,7 @@ "Mathlib.Analysis.Normed.Algebra.MatrixExponential" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.ContinuousTimeMarkov", + "namespace": "FEP.ContinuousTimeMarkov.TwoStateRates", "namespace_variable_context": [ "{State : Type*} [Fintype State] [Nonempty State] [DecidableEq State]", "{Internal Sensory Active External : Type*}\n [Fintype Internal] [Fintype Sensory] [Fintype Active] [Fintype External]\n [DecidableEq Internal] [DecidableEq Sensory] [DecidableEq Active]\n [DecidableEq External]\n [Nontrivial Internal] [Nontrivial Sensory]\n [Nontrivial Active] [Nontrivial External]" @@ -30304,48 +30659,48 @@ "source": "omit [Nonempty State] in" } ], - "qualified_name": "FEP.ContinuousTimeMarkov.boolBlanketGenerativeModel_false_posteriorState", - "source_line": 1201, + "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.transition_masterEquation", + "source_line": 1583, "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", - "statement": "theorem boolBlanketGenerativeModel_false_posteriorState\n (internal : FiniteLaw Bool) (likelihood : FiniteKernel Bool Bool)\n (preferences policyPrior : FiniteLaw Bool) (observation : Bool)\n (hEvidence : 0 < likelihood.predictive internal observation) :\n FEP.ActiveInference.posteriorState\n (boolBlanketGenerativeModel (liftInternalLaw internal)\n (liftInternalLikelihood likelihood) preferences policyPrior)\n false observation\n (by\n rw [boolBlanketGenerativeModel_false_predictedOutcome]\n exact hEvidence) =\n liftInternalLaw\n (likelihood.posterior internal observation hEvidence)", - "statement_sha256": "f8e52f9b30de1aec657e4dfbe2635cc9d075903537d9f64ba58e9e880b50b4b3" + "statement": "theorem transition_masterEquation (rates : TwoStateRates) (time : ℝ)\n (source target : Bool) :\n HasDerivAt (fun candidate ↦ rates.transition candidate source target)\n (∑ middle,\n rates.generator source middle * rates.transition time middle target)\n time ∧\n HasDerivAt (fun candidate ↦ rates.transition candidate source target)\n (∑ middle,\n rates.transition time source middle * rates.generator middle target)\n time", + "statement_sha256": "9282b5d04e86b83dde4766d0afcee3e18dc3117ab084fc5f933300bf9fb42bda" }, - "FEP.ContinuousTimeMarkov.boolBlanketGenerativeModel_false_predictedOutcome": { + "FEP.ContinuousTimeMarkov.TwoStateRates.transition_mul_generator": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "internal" + "rates" ], "role": "typed_binder", - "source": "(internal : FiniteLaw Bool)", - "type_source": "FiniteLaw Bool", + "source": "(rates : TwoStateRates)", + "type_source": "TwoStateRates", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "likelihood" + "time" ], "role": "typed_binder", - "source": "(likelihood : FiniteKernel Bool Bool)", - "type_source": "FiniteKernel Bool Bool", + "source": "(time : ℝ)", + "type_source": "ℝ", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "preferences", - "policyPrior" + "source", + "target" ], "role": "typed_binder", - "source": "(preferences policyPrior : FiniteLaw Bool)", - "type_source": "FiniteLaw Bool", + "source": "(source target : Bool)", + "type_source": "Bool", "visibility": "explicit" } ], - "conclusion": "FEP.ActiveInference.predictedOutcome\n (boolBlanketGenerativeModel (liftInternalLaw internal)\n (liftInternalLikelihood likelihood) preferences policyPrior) false =\n likelihood.predictive internal", + "conclusion": "(∑ middle,\n rates.transition time source middle * rates.generator middle target) =\n rates.transitionDerivative time source target", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -30491,20 +30846,7 @@ "visibility": "instance" } ], - "declaration_mentions": [ - { - "identifier": "boolBlanketActionIndexedSemigroup_false_kernel", - "qualified_name": "FEP.ContinuousTimeMarkov.boolBlanketActionIndexedSemigroup_false_kernel", - "resolution": "exact or same-namespace source identifier", - "role": "proof_reference" - }, - { - "identifier": "liftInternalLikelihood_predictive_liftInternalLaw", - "qualified_name": "FEP.ContinuousTimeMarkov.liftInternalLikelihood_predictive_liftInternalLaw", - "resolution": "exact or same-namespace source identifier", - "role": "proof_reference" - } - ], + "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ "FepSketches.finite_markov_dynamics", @@ -30514,7 +30856,7 @@ "Mathlib.Analysis.Normed.Algebra.MatrixExponential" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.ContinuousTimeMarkov", + "namespace": "FEP.ContinuousTimeMarkov.TwoStateRates", "namespace_variable_context": [ "{State : Type*} [Fintype State] [Nonempty State] [DecidableEq State]", "{Internal Sensory Active External : Type*}\n [Fintype Internal] [Fintype Sensory] [Fintype Active] [Fintype External]\n [DecidableEq Internal] [DecidableEq Sensory] [DecidableEq Active]\n [DecidableEq External]\n [Nontrivial Internal] [Nontrivial Sensory]\n [Nontrivial Active] [Nontrivial External]" @@ -30586,58 +30928,58 @@ "source": "omit [Nonempty State] in" } ], - "qualified_name": "FEP.ContinuousTimeMarkov.boolBlanketGenerativeModel_false_predictedOutcome", - "source_line": 1183, + "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.transition_mul_generator", + "source_line": 1568, "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", - "statement": "theorem boolBlanketGenerativeModel_false_predictedOutcome\n (internal : FiniteLaw Bool) (likelihood : FiniteKernel Bool Bool)\n (preferences policyPrior : FiniteLaw Bool) :\n FEP.ActiveInference.predictedOutcome\n (boolBlanketGenerativeModel (liftInternalLaw internal)\n (liftInternalLikelihood likelihood) preferences policyPrior) false =\n likelihood.predictive internal", - "statement_sha256": "90fce4300140ec6104c12275b7d990d081d3d08f43e78c56a8474502fa24cfdf" + "statement": "theorem transition_mul_generator (rates : TwoStateRates) (time : ℝ)\n (source target : Bool) :\n (∑ middle,\n rates.transition time source middle * rates.generator middle target) =\n rates.transitionDerivative time source target", + "statement_sha256": "41c62ed7032347701fdfd4271aa801147c655c7aefa7c56e9b691d487af96576" }, - "FEP.ContinuousTimeMarkov.boolBlanketGenerativeModel_transition": { + "FEP.ContinuousTimeMarkov.TwoStateRates.transition_nonneg": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "initialState" + "rates" ], "role": "typed_binder", - "source": "(initialState : FiniteLaw BoolBlanketState)", - "type_source": "FiniteLaw BoolBlanketState", + "source": "(rates : TwoStateRates)", + "type_source": "TwoStateRates", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "likelihood" + "time" ], "role": "typed_binder", - "source": "(likelihood : FiniteKernel BoolBlanketState Bool)", - "type_source": "FiniteKernel BoolBlanketState Bool", - "visibility": "explicit" + "source": "{time : ℝ}", + "type_source": "ℝ", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "preferences", - "policyPrior" + "hTime" ], "role": "typed_binder", - "source": "(preferences policyPrior : FiniteLaw Bool)", - "type_source": "FiniteLaw Bool", + "source": "(hTime : 0 ≤ time)", + "type_source": "0 ≤ time", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "action" + "source", + "target" ], "role": "typed_binder", - "source": "(action : Bool)", + "source": "(source target : Bool)", "type_source": "Bool", "visibility": "explicit" } ], - "conclusion": "(boolBlanketGenerativeModel initialState likelihood preferences\n policyPrior).transition action =\n boolBlanketActionIndexedSemigroup.sampledKernel action", + "conclusion": "0 ≤ rates.transition time source target", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -30793,7 +31135,7 @@ "Mathlib.Analysis.Normed.Algebra.MatrixExponential" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.ContinuousTimeMarkov", + "namespace": "FEP.ContinuousTimeMarkov.TwoStateRates", "namespace_variable_context": [ "{State : Type*} [Fintype State] [Nonempty State] [DecidableEq State]", "{Internal Sensory Active External : Type*}\n [Fintype Internal] [Fintype Sensory] [Fintype Active] [Fintype External]\n [DecidableEq Internal] [DecidableEq Sensory] [DecidableEq Active]\n [DecidableEq External]\n [Nontrivial Internal] [Nontrivial Sensory]\n [Nontrivial Active] [Nontrivial External]" @@ -30865,16 +31207,47 @@ "source": "omit [Nonempty State] in" } ], - "qualified_name": "FEP.ContinuousTimeMarkov.boolBlanketGenerativeModel_transition", - "source_line": 1161, + "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.transition_nonneg", + "source_line": 1453, "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", - "statement": "theorem boolBlanketGenerativeModel_transition\n (initialState : FiniteLaw BoolBlanketState)\n (likelihood : FiniteKernel BoolBlanketState Bool)\n (preferences policyPrior : FiniteLaw Bool) (action : Bool) :\n (boolBlanketGenerativeModel initialState likelihood preferences\n policyPrior).transition action =\n boolBlanketActionIndexedSemigroup.sampledKernel action", - "statement_sha256": "b57f3327cbcf3cc294a8916abaa64927b928187a96df3784a8a829c224eba80a" + "statement": "theorem transition_nonneg (rates : TwoStateRates) {time : ℝ}\n (hTime : 0 ≤ time) (source target : Bool) :\n 0 ≤ rates.transition time source target", + "statement_sha256": "cac6a1ddf34635a16290a644ab5a691e1cc7918ef3c3af1fcacf7f3127d43270" }, - "FEP.ContinuousTimeMarkov.boolBlanketInitial_ne_uniform": { + "FEP.ContinuousTimeMarkov.TwoStateRates.transition_rowSum": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [], - "conclusion": "boolBlanketInitialLaw ≠\n (FiniteLaw.uniform : FiniteLaw\n (FEP.MarkovBlanket.DynamicState Bool Bool Bool Bool))", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "rates" + ], + "role": "typed_binder", + "source": "(rates : TwoStateRates)", + "type_source": "TwoStateRates", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "time" + ], + "role": "typed_binder", + "source": "(time : ℝ)", + "type_source": "ℝ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "source" + ], + "role": "typed_binder", + "source": "(source : Bool)", + "type_source": "Bool", + "visibility": "explicit" + } + ], + "conclusion": "∑ target, rates.transition time source target = 1", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -31020,14 +31393,7 @@ "visibility": "instance" } ], - "declaration_mentions": [ - { - "identifier": "blanketPointMass_ne_uniform", - "qualified_name": "FEP.ContinuousTimeMarkov.blanketPointMass_ne_uniform", - "resolution": "exact or same-namespace source identifier", - "role": "proof_reference" - } - ], + "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ "FepSketches.finite_markov_dynamics", @@ -31037,7 +31403,7 @@ "Mathlib.Analysis.Normed.Algebra.MatrixExponential" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.ContinuousTimeMarkov", + "namespace": "FEP.ContinuousTimeMarkov.TwoStateRates", "namespace_variable_context": [ "{State : Type*} [Fintype State] [Nonempty State] [DecidableEq State]", "{Internal Sensory Active External : Type*}\n [Fintype Internal] [Fintype Sensory] [Fintype Active] [Fintype External]\n [DecidableEq Internal] [DecidableEq Sensory] [DecidableEq Active]\n [DecidableEq External]\n [Nontrivial Internal] [Nontrivial Sensory]\n [Nontrivial Active] [Nontrivial External]" @@ -31109,16 +31475,47 @@ "source": "omit [Nonempty State] in" } ], - "qualified_name": "FEP.ContinuousTimeMarkov.boolBlanketInitial_ne_uniform", - "source_line": 1061, + "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.transition_rowSum", + "source_line": 1438, "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", - "statement": "theorem boolBlanketInitial_ne_uniform :\n boolBlanketInitialLaw ≠\n (FiniteLaw.uniform : FiniteLaw\n (FEP.MarkovBlanket.DynamicState Bool Bool Bool Bool))", - "statement_sha256": "c790b9a15b55bbd1b3167ff266f30cdfe2250f79c5578d5a9dd62f518e633cf0" + "statement": "theorem transition_rowSum (rates : TwoStateRates) (time : ℝ)\n (source : Bool) :\n ∑ target, rates.transition time source target = 1", + "statement_sha256": "bedc322c219ded41fee7307211cabac1adce9ed8d89dff2aa22628ef352165e9" }, - "FEP.ContinuousTimeMarkov.boolBlanketInitial_not_invariant": { + "FEP.ContinuousTimeMarkov.TwoStateRates.transition_stationary": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [], - "conclusion": "¬FEP.FiniteMarkovDynamics.IsInvariant\n boolBlanketInitialLaw boolBlanketRefreshKernel", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "rates" + ], + "role": "typed_binder", + "source": "(rates : TwoStateRates)", + "type_source": "TwoStateRates", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "time" + ], + "role": "typed_binder", + "source": "(time : ℝ)", + "type_source": "ℝ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "target" + ], + "role": "typed_binder", + "source": "(target : Bool)", + "type_source": "Bool", + "visibility": "explicit" + } + ], + "conclusion": "(∑ source,\n rates.stationaryLaw source * rates.transition time source target) =\n rates.stationaryLaw target", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -31264,14 +31661,7 @@ "visibility": "instance" } ], - "declaration_mentions": [ - { - "identifier": "boolBlanket_finiteKL_strict_decrease", - "qualified_name": "FEP.ContinuousTimeMarkov.boolBlanket_finiteKL_strict_decrease", - "resolution": "exact or same-namespace source identifier", - "role": "proof_reference" - } - ], + "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ "FepSketches.finite_markov_dynamics", @@ -31281,7 +31671,7 @@ "Mathlib.Analysis.Normed.Algebra.MatrixExponential" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.ContinuousTimeMarkov", + "namespace": "FEP.ContinuousTimeMarkov.TwoStateRates", "namespace_variable_context": [ "{State : Type*} [Fintype State] [Nonempty State] [DecidableEq State]", "{Internal Sensory Active External : Type*}\n [Fintype Internal] [Fintype Sensory] [Fintype Active] [Fintype External]\n [DecidableEq Internal] [DecidableEq Sensory] [DecidableEq Active]\n [DecidableEq External]\n [Nontrivial Internal] [Nontrivial Sensory]\n [Nontrivial Active] [Nontrivial External]" @@ -31353,16 +31743,38 @@ "source": "omit [Nonempty State] in" } ], - "qualified_name": "FEP.ContinuousTimeMarkov.boolBlanketInitial_not_invariant", - "source_line": 1323, + "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.transition_stationary", + "source_line": 1599, "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", - "statement": "theorem boolBlanketInitial_not_invariant :\n ¬FEP.FiniteMarkovDynamics.IsInvariant\n boolBlanketInitialLaw boolBlanketRefreshKernel", - "statement_sha256": "93c978b39afbd8030708e2546f8cd1b30b39f1b0405a7a1d78a57bfc93018878" + "statement": "theorem transition_stationary (rates : TwoStateRates) (time : ℝ)\n (target : Bool) :\n (∑ source,\n rates.stationaryLaw source * rates.transition time source target) =\n rates.stationaryLaw target", + "statement_sha256": "a37c1f499f3bf4e9bcf4c24ddf46607bc66ff92da98e0cb52d8a815a68e4b322" }, - "FEP.ContinuousTimeMarkov.boolBlanketState_card": { + "FEP.ContinuousTimeMarkov.TwoStateRates.transition_zero": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [], - "conclusion": "Fintype.card BoolBlanketState = 16", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "rates" + ], + "role": "typed_binder", + "source": "(rates : TwoStateRates)", + "type_source": "TwoStateRates", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "source", + "target" + ], + "role": "typed_binder", + "source": "(source target : Bool)", + "type_source": "Bool", + "visibility": "explicit" + } + ], + "conclusion": "rates.transition 0 source target = if source = target then 1 else 0", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -31518,7 +31930,7 @@ "Mathlib.Analysis.Normed.Algebra.MatrixExponential" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.ContinuousTimeMarkov", + "namespace": "FEP.ContinuousTimeMarkov.TwoStateRates", "namespace_variable_context": [ "{State : Type*} [Fintype State] [Nonempty State] [DecidableEq State]", "{Internal Sensory Active External : Type*}\n [Fintype Internal] [Fintype Sensory] [Fintype Active] [Fintype External]\n [DecidableEq Internal] [DecidableEq Sensory] [DecidableEq Active]\n [DecidableEq External]\n [Nontrivial Internal] [Nontrivial Sensory]\n [Nontrivial Active] [Nontrivial External]" @@ -31590,16 +32002,27 @@ "source": "omit [Nonempty State] in" } ], - "qualified_name": "FEP.ContinuousTimeMarkov.boolBlanketState_card", - "source_line": 943, + "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.transition_zero", + "source_line": 1473, "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", - "statement": "theorem boolBlanketState_card :\n Fintype.card BoolBlanketState = 16", - "statement_sha256": "16849fddcbcfdc25ac716796f3ce344894a4495b6d05f213dbbaa0bee5fb158f" + "statement": "theorem transition_zero (rates : TwoStateRates) (source target : Bool) :\n rates.transition 0 source target = if source = target then 1 else 0", + "statement_sha256": "9c37229f1c6d2241af38cd84f4487736db8693de29bd149ea345918f00b80738" }, - "FEP.ContinuousTimeMarkov.boolBlanketStationaryLaw_isStationary": { + "FEP.ContinuousTimeMarkov.blanketPointMass_ne_uniform": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [], - "conclusion": "(blanketRefreshSemigroup\n (Internal := Bool) (Sensory := Bool) (Active := Bool)\n (External := Bool)).IsStationary boolBlanketStationaryLaw", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "chosen" + ], + "role": "typed_binder", + "source": "(chosen : FEP.MarkovBlanket.DynamicState\n Internal Sensory Active External)", + "type_source": "FEP.MarkovBlanket.DynamicState\n Internal Sensory Active External", + "visibility": "explicit" + } + ], + "conclusion": "FiniteLaw.pointMass chosen ≠\n (FiniteLaw.uniform : FiniteLaw\n (FEP.MarkovBlanket.DynamicState Internal Sensory Active External))", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -31745,14 +32168,7 @@ "visibility": "instance" } ], - "declaration_mentions": [ - { - "identifier": "refreshSemigroup_uniform_stationary", - "qualified_name": "FEP.ContinuousTimeMarkov.refreshSemigroup_uniform_stationary", - "resolution": "exact or same-namespace source identifier", - "role": "proof_reference" - } - ], + "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ "FepSketches.finite_markov_dynamics", @@ -31834,16 +32250,48 @@ "source": "omit [Nonempty State] in" } ], - "qualified_name": "FEP.ContinuousTimeMarkov.boolBlanketStationaryLaw_isStationary", - "source_line": 1242, + "qualified_name": "FEP.ContinuousTimeMarkov.blanketPointMass_ne_uniform", + "source_line": 921, "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", - "statement": "theorem boolBlanketStationaryLaw_isStationary :\n (blanketRefreshSemigroup\n (Internal := Bool) (Sensory := Bool) (Active := Bool)\n (External := Bool)).IsStationary boolBlanketStationaryLaw", - "statement_sha256": "fd3a5f4618d693ee6cdfef7f7541ab18cae65629238e63ea4350fe19a3e30c1e" + "statement": "theorem blanketPointMass_ne_uniform\n (chosen : FEP.MarkovBlanket.DynamicState\n Internal Sensory Active External) :\n FiniteLaw.pointMass chosen ≠\n (FiniteLaw.uniform : FiniteLaw\n (FEP.MarkovBlanket.DynamicState Internal Sensory Active External))", + "statement_sha256": "52fb9db371ef7f292a40297ab4e4b2f4fce0edfbceda07b91fd239cdc8939bd8" }, - "FEP.ContinuousTimeMarkov.boolBlanket_finiteKL_strict_decrease": { + "FEP.ContinuousTimeMarkov.blanketRefreshSemigroup_transition_pos": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [], - "conclusion": "finiteKL boolBlanketEvolvedLaw boolBlanketStationaryLaw <\n finiteKL boolBlanketInitialLaw boolBlanketStationaryLaw", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "time" + ], + "role": "typed_binder", + "source": "{time : ℝ}", + "type_source": "ℝ", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hTime" + ], + "role": "typed_binder", + "source": "(hTime : 0 < time)", + "type_source": "0 < time", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "source", + "target" + ], + "role": "typed_binder", + "source": "(source target :\n FEP.MarkovBlanket.DynamicState Internal Sensory Active External)", + "type_source": "FEP.MarkovBlanket.DynamicState Internal Sensory Active External", + "visibility": "explicit" + } + ], + "conclusion": "0 < blanketRefreshSemigroup.transition time source target", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -31991,11 +32439,9 @@ ], "declaration_mentions": [ { - "candidates": [ - "FEP.FiniteInformation.finiteKL_eq_crossEntropy_sub_entropy" - ], - "identifier": "finiteKL_eq_crossEntropy_sub_entropy", - "resolution": "unresolved lexical scope", + "identifier": "refreshTransition_pos", + "qualified_name": "FEP.ContinuousTimeMarkov.refreshTransition_pos", + "resolution": "exact or same-namespace source identifier", "role": "proof_reference" } ], @@ -32080,16 +32526,16 @@ "source": "omit [Nonempty State] in" } ], - "qualified_name": "FEP.ContinuousTimeMarkov.boolBlanket_finiteKL_strict_decrease", - "source_line": 1303, + "qualified_name": "FEP.ContinuousTimeMarkov.blanketRefreshSemigroup_transition_pos", + "source_line": 912, "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", - "statement": "theorem boolBlanket_finiteKL_strict_decrease :\n finiteKL boolBlanketEvolvedLaw boolBlanketStationaryLaw <\n finiteKL boolBlanketInitialLaw boolBlanketStationaryLaw", - "statement_sha256": "7f47bddac2de0dd928d08818ce5452a5f169562d253f6a939f361c8b97be5330" + "statement": "theorem blanketRefreshSemigroup_transition_pos\n {time : ℝ} (hTime : 0 < time)\n (source target :\n FEP.MarkovBlanket.DynamicState Internal Sensory Active External) :\n 0 < blanketRefreshSemigroup.transition time source target", + "statement_sha256": "d85149a1fdda5a8fc5e417e256a5728416a18aee1980a9d4deeb61c68a9dbd29" }, - "FEP.ContinuousTimeMarkov.boolBlanket_nativeKL_strict_decrease": { + "FEP.ContinuousTimeMarkov.boolBlanketActionIndexedSemigroup_false_kernel": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [], - "conclusion": "InformationTheory.klDiv\n (FEP.NativeBlanket.embeddedLaw boolBlanketEvolvedLaw)\n (FEP.NativeBlanket.embeddedLaw boolBlanketStationaryLaw) <\n InformationTheory.klDiv\n (FEP.NativeBlanket.embeddedLaw boolBlanketInitialLaw)\n (FEP.NativeBlanket.embeddedLaw boolBlanketStationaryLaw)", + "conclusion": "boolBlanketActionIndexedSemigroup.sampledKernel false =\n (FiniteKernel.identity : FiniteKernel BoolBlanketState BoolBlanketState)", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -32237,24 +32683,10 @@ ], "declaration_mentions": [ { - "identifier": "FEP.DecisionRisk.weightedDirac_klDiv_eq_finiteKL_of_fullSupport", - "qualified_name": "FEP.DecisionRisk.weightedDirac_klDiv_eq_finiteKL_of_fullSupport", - "resolution": "exact or same-namespace source identifier", - "role": "proof_reference" - }, - { - "identifier": "boolBlanket_finiteKL_strict_decrease", - "qualified_name": "FEP.ContinuousTimeMarkov.boolBlanket_finiteKL_strict_decrease", + "identifier": "FiniteMarkovSemigroup.kernel_zero", + "qualified_name": "FEP.ContinuousTimeMarkov.FiniteMarkovSemigroup.kernel_zero", "resolution": "exact or same-namespace source identifier", "role": "proof_reference" - }, - { - "candidates": [ - "FEP.FiniteInformation.finiteKL_nonneg" - ], - "identifier": "finiteKL_nonneg", - "resolution": "unresolved lexical scope", - "role": "proof_reference" } ], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", @@ -32338,27 +32770,16 @@ "source": "omit [Nonempty State] in" } ], - "qualified_name": "FEP.ContinuousTimeMarkov.boolBlanket_nativeKL_strict_decrease", - "source_line": 1335, + "qualified_name": "FEP.ContinuousTimeMarkov.boolBlanketActionIndexedSemigroup_false_kernel", + "source_line": 1108, "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", - "statement": "theorem boolBlanket_nativeKL_strict_decrease :\n InformationTheory.klDiv\n (FEP.NativeBlanket.embeddedLaw boolBlanketEvolvedLaw)\n (FEP.NativeBlanket.embeddedLaw boolBlanketStationaryLaw) <\n InformationTheory.klDiv\n (FEP.NativeBlanket.embeddedLaw boolBlanketInitialLaw)\n (FEP.NativeBlanket.embeddedLaw boolBlanketStationaryLaw)", - "statement_sha256": "97b2198a9d8083297de7db36fcb1369f7f43b985df7ec9e7ec02a6c95a0dc73b" + "statement": "theorem boolBlanketActionIndexedSemigroup_false_kernel :\n boolBlanketActionIndexedSemigroup.sampledKernel false =\n (FiniteKernel.identity : FiniteKernel BoolBlanketState BoolBlanketState)", + "statement_sha256": "4dbf85e7471957be555df67a78a97e2fdd7d87d429b7b5b4e91d15f5d42144d0" }, - "FEP.ContinuousTimeMarkov.liftInternalLaw_fstMarginal": { + "FEP.ContinuousTimeMarkov.boolBlanketActionIndexedSemigroup_kernels_ne": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [ - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "internal" - ], - "role": "typed_binder", - "source": "(internal : FiniteLaw Bool)", - "type_source": "FiniteLaw Bool", - "visibility": "explicit" - } - ], - "conclusion": "(liftInternalLaw internal).fstMarginal = internal", + "binders": [], + "conclusion": "boolBlanketActionIndexedSemigroup.sampledKernel false ≠\n boolBlanketActionIndexedSemigroup.sampledKernel true", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -32504,7 +32925,26 @@ "visibility": "instance" } ], - "declaration_mentions": [], + "declaration_mentions": [ + { + "identifier": "blanketRefreshSemigroup_transition_pos", + "qualified_name": "FEP.ContinuousTimeMarkov.blanketRefreshSemigroup_transition_pos", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + }, + { + "identifier": "boolBlanketActionIndexedSemigroup_false_kernel", + "qualified_name": "FEP.ContinuousTimeMarkov.boolBlanketActionIndexedSemigroup_false_kernel", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + }, + { + "identifier": "boolBlanketActionIndexedSemigroup_true_kernel", + "qualified_name": "FEP.ContinuousTimeMarkov.boolBlanketActionIndexedSemigroup_true_kernel", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + } + ], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ "FepSketches.finite_markov_dynamics", @@ -32586,37 +33026,16 @@ "source": "omit [Nonempty State] in" } ], - "qualified_name": "FEP.ContinuousTimeMarkov.liftInternalLaw_fstMarginal", - "source_line": 955, + "qualified_name": "FEP.ContinuousTimeMarkov.boolBlanketActionIndexedSemigroup_kernels_ne", + "source_line": 1126, "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", - "statement": "theorem liftInternalLaw_fstMarginal (internal : FiniteLaw Bool) :\n (liftInternalLaw internal).fstMarginal = internal", - "statement_sha256": "ce0f9609e77db5d5a2d22b07ca6d72b0d6deddb6cde341add03fe7f5189d0b61" + "statement": "theorem boolBlanketActionIndexedSemigroup_kernels_ne :\n boolBlanketActionIndexedSemigroup.sampledKernel false ≠\n boolBlanketActionIndexedSemigroup.sampledKernel true", + "statement_sha256": "4f0cbc5b25a66f6fd128892dcfe1e86361747bdccaac7fe73a536f81d14220e0" }, - "FEP.ContinuousTimeMarkov.liftInternalLaw_ne_uniform_of_ne_uniform": { + "FEP.ContinuousTimeMarkov.boolBlanketActionIndexedSemigroup_true_kernel": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [ - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "internal" - ], - "role": "typed_binder", - "source": "(internal : FiniteLaw Bool)", - "type_source": "FiniteLaw Bool", - "visibility": "explicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "hInternal" - ], - "role": "typed_binder", - "source": "(hInternal : internal ≠ (FiniteLaw.uniform : FiniteLaw Bool))", - "type_source": "internal ≠ (FiniteLaw.uniform : FiniteLaw Bool)", - "visibility": "explicit" - } - ], - "conclusion": "liftInternalLaw internal ≠\n (FiniteLaw.uniform : FiniteLaw BoolBlanketState)", + "binders": [], + "conclusion": "boolBlanketActionIndexedSemigroup.sampledKernel true =\n boolBlanketRefreshKernel", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -32844,75 +33263,27 @@ "source": "omit [Nonempty State] in" } ], - "qualified_name": "FEP.ContinuousTimeMarkov.liftInternalLaw_ne_uniform_of_ne_uniform", - "source_line": 964, + "qualified_name": "FEP.ContinuousTimeMarkov.boolBlanketActionIndexedSemigroup_true_kernel", + "source_line": 1118, "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", - "statement": "theorem liftInternalLaw_ne_uniform_of_ne_uniform\n (internal : FiniteLaw Bool)\n (hInternal : internal ≠ (FiniteLaw.uniform : FiniteLaw Bool)) :\n liftInternalLaw internal ≠\n (FiniteLaw.uniform : FiniteLaw BoolBlanketState)", - "statement_sha256": "c0b14587aacd7feac17d55c6226500231723ea7f11353230621640b4090d79c4" + "statement": "theorem boolBlanketActionIndexedSemigroup_true_kernel :\n boolBlanketActionIndexedSemigroup.sampledKernel true =\n boolBlanketRefreshKernel", + "statement_sha256": "931507902df4e6634c1cf8649baf521fae523af09cfcf70e61c19b64c1dba684" }, - "FEP.ContinuousTimeMarkov.liftInternalLikelihood_posterior_liftInternalLaw": { + "FEP.ContinuousTimeMarkov.boolBlanketActionSampleTime_nonneg": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Outcome" - ], - "role": "typed_binder", - "source": "{Outcome : Type*}", - "type_source": "Type*", - "visibility": "implicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype Outcome]", - "type_source": "Fintype Outcome", - "visibility": "instance" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "internal" - ], - "role": "typed_binder", - "source": "(internal : FiniteLaw Bool)", - "type_source": "FiniteLaw Bool", - "visibility": "explicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "likelihood" - ], - "role": "typed_binder", - "source": "(likelihood : FiniteKernel Bool Outcome)", - "type_source": "FiniteKernel Bool Outcome", - "visibility": "explicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "observation" - ], - "role": "typed_binder", - "source": "(observation : Outcome)", - "type_source": "Outcome", - "visibility": "explicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "hEvidence" + "action" ], "role": "typed_binder", - "source": "(hEvidence : 0 < likelihood.predictive internal observation)", - "type_source": "0 < likelihood.predictive internal observation", + "source": "(action : Bool)", + "type_source": "Bool", "visibility": "explicit" } ], - "conclusion": "(liftInternalLikelihood likelihood).posterior (liftInternalLaw internal)\n observation\n (by\n rw [liftInternalLikelihood_predictive_liftInternalLaw]\n exact hEvidence) =\n liftInternalLaw\n (likelihood.posterior internal observation hEvidence)", + "conclusion": "0 ≤ boolBlanketActionSampleTime action", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -33058,20 +33429,7 @@ "visibility": "instance" } ], - "declaration_mentions": [ - { - "identifier": "liftInternalLikelihood_predictive_liftInternalLaw", - "qualified_name": "FEP.ContinuousTimeMarkov.liftInternalLikelihood_predictive_liftInternalLaw", - "resolution": "exact or same-namespace source identifier", - "role": "statement_reference" - }, - { - "identifier": "liftInternalLikelihood_predictive_liftInternalLaw", - "qualified_name": "FEP.ContinuousTimeMarkov.liftInternalLikelihood_predictive_liftInternalLaw", - "resolution": "exact or same-namespace source identifier", - "role": "proof_reference" - } - ], + "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ "FepSketches.finite_markov_dynamics", @@ -33153,55 +33511,68 @@ "source": "omit [Nonempty State] in" } ], - "qualified_name": "FEP.ContinuousTimeMarkov.liftInternalLikelihood_posterior_liftInternalLaw", - "source_line": 1026, + "qualified_name": "FEP.ContinuousTimeMarkov.boolBlanketActionSampleTime_nonneg", + "source_line": 1084, "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", - "statement": "theorem liftInternalLikelihood_posterior_liftInternalLaw\n {Outcome : Type*} [Fintype Outcome]\n (internal : FiniteLaw Bool) (likelihood : FiniteKernel Bool Outcome)\n (observation : Outcome)\n (hEvidence : 0 < likelihood.predictive internal observation) :\n (liftInternalLikelihood likelihood).posterior (liftInternalLaw internal)\n observation\n (by\n rw [liftInternalLikelihood_predictive_liftInternalLaw]\n exact hEvidence) =\n liftInternalLaw\n (likelihood.posterior internal observation hEvidence)", - "statement_sha256": "4155dc68ec57027af49132df50ca64c46dc5ccdcf67960151f16b1dc20cb9198" + "statement": "theorem boolBlanketActionSampleTime_nonneg (action : Bool) :\n 0 ≤ boolBlanketActionSampleTime action", + "statement_sha256": "7e7a28ee87d4cc90e36682c92e7ac68f70087b31aa740c4c538b148bfdcf8f47" }, - "FEP.ContinuousTimeMarkov.liftInternalLikelihood_predictive_liftInternalLaw": { + "FEP.ContinuousTimeMarkov.boolBlanketGenerativeModel_false_posteriorState": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Outcome" + "internal" ], "role": "typed_binder", - "source": "{Outcome : Type*}", - "type_source": "Type*", - "visibility": "implicit" + "source": "(internal : FiniteLaw Bool)", + "type_source": "FiniteLaw Bool", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype Outcome]", - "type_source": "Fintype Outcome", - "visibility": "instance" + "names": [ + "likelihood" + ], + "role": "typed_binder", + "source": "(likelihood : FiniteKernel Bool Bool)", + "type_source": "FiniteKernel Bool Bool", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "internal" + "preferences", + "policyPrior" ], "role": "typed_binder", - "source": "(internal : FiniteLaw Bool)", + "source": "(preferences policyPrior : FiniteLaw Bool)", "type_source": "FiniteLaw Bool", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "likelihood" + "observation" ], "role": "typed_binder", - "source": "(likelihood : FiniteKernel Bool Outcome)", - "type_source": "FiniteKernel Bool Outcome", + "source": "(observation : Bool)", + "type_source": "Bool", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hEvidence" + ], + "role": "typed_binder", + "source": "(hEvidence : 0 < likelihood.predictive internal observation)", + "type_source": "0 < likelihood.predictive internal observation", "visibility": "explicit" } ], - "conclusion": "(liftInternalLikelihood likelihood).predictive (liftInternalLaw internal) =\n likelihood.predictive internal", + "conclusion": "FEP.ActiveInference.posteriorState\n (boolBlanketGenerativeModel (liftInternalLaw internal)\n (liftInternalLikelihood likelihood) preferences policyPrior)\n false observation\n (by\n rw [boolBlanketGenerativeModel_false_predictedOutcome]\n exact hEvidence) =\n liftInternalLaw\n (likelihood.posterior internal observation hEvidence)", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -33347,7 +33718,26 @@ "visibility": "instance" } ], - "declaration_mentions": [], + "declaration_mentions": [ + { + "identifier": "boolBlanketGenerativeModel_false_predictedOutcome", + "qualified_name": "FEP.ContinuousTimeMarkov.boolBlanketGenerativeModel_false_predictedOutcome", + "resolution": "exact or same-namespace source identifier", + "role": "statement_reference" + }, + { + "identifier": "boolBlanketActionIndexedSemigroup_false_kernel", + "qualified_name": "FEP.ContinuousTimeMarkov.boolBlanketActionIndexedSemigroup_false_kernel", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + }, + { + "identifier": "liftInternalLikelihood_predictive_liftInternalLaw", + "qualified_name": "FEP.ContinuousTimeMarkov.liftInternalLikelihood_predictive_liftInternalLaw", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + } + ], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ "FepSketches.finite_markov_dynamics", @@ -33429,38 +33819,48 @@ "source": "omit [Nonempty State] in" } ], - "qualified_name": "FEP.ContinuousTimeMarkov.liftInternalLikelihood_predictive_liftInternalLaw", - "source_line": 991, + "qualified_name": "FEP.ContinuousTimeMarkov.boolBlanketGenerativeModel_false_posteriorState", + "source_line": 1201, "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", - "statement": "theorem liftInternalLikelihood_predictive_liftInternalLaw\n {Outcome : Type*} [Fintype Outcome]\n (internal : FiniteLaw Bool) (likelihood : FiniteKernel Bool Outcome) :\n (liftInternalLikelihood likelihood).predictive (liftInternalLaw internal) =\n likelihood.predictive internal", - "statement_sha256": "a95be87e2bc9e1640f6091fb5d4f458fa9b77a9d69c4c117486ab76619cee343" + "statement": "theorem boolBlanketGenerativeModel_false_posteriorState\n (internal : FiniteLaw Bool) (likelihood : FiniteKernel Bool Bool)\n (preferences policyPrior : FiniteLaw Bool) (observation : Bool)\n (hEvidence : 0 < likelihood.predictive internal observation) :\n FEP.ActiveInference.posteriorState\n (boolBlanketGenerativeModel (liftInternalLaw internal)\n (liftInternalLikelihood likelihood) preferences policyPrior)\n false observation\n (by\n rw [boolBlanketGenerativeModel_false_predictedOutcome]\n exact hEvidence) =\n liftInternalLaw\n (likelihood.posterior internal observation hEvidence)", + "statement_sha256": "f8e52f9b30de1aec657e4dfbe2635cc9d075903537d9f64ba58e9e880b50b4b3" }, - "FEP.ContinuousTimeMarkov.refreshGenerator_mul_transition": { + "FEP.ContinuousTimeMarkov.boolBlanketGenerativeModel_false_predictedOutcome": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "time" + "internal" ], "role": "typed_binder", - "source": "(time : ℝ)", - "type_source": "ℝ", + "source": "(internal : FiniteLaw Bool)", + "type_source": "FiniteLaw Bool", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "source", - "target" + "likelihood" ], "role": "typed_binder", - "source": "(source target : State)", - "type_source": "State", + "source": "(likelihood : FiniteKernel Bool Bool)", + "type_source": "FiniteKernel Bool Bool", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "preferences", + "policyPrior" + ], + "role": "typed_binder", + "source": "(preferences policyPrior : FiniteLaw Bool)", + "type_source": "FiniteLaw Bool", "visibility": "explicit" } ], - "conclusion": "(∑ middle,\n refreshRateGenerator source middle *\n refreshTransition time middle target) =\n refreshTransitionDerivative time source target", + "conclusion": "FEP.ActiveInference.predictedOutcome\n (boolBlanketGenerativeModel (liftInternalLaw internal)\n (liftInternalLikelihood likelihood) preferences policyPrior) false =\n likelihood.predictive internal", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -33495,9 +33895,131 @@ "source": "[DecidableEq State]", "type_source": "DecidableEq State", "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "Internal", + "Sensory", + "Active", + "External" + ], + "role": "typed_binder", + "source": "{Internal Sensory Active External : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Internal]", + "type_source": "Fintype Internal", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Sensory]", + "type_source": "Fintype Sensory", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Active]", + "type_source": "Fintype Active", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype External]", + "type_source": "Fintype External", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DecidableEq Internal]", + "type_source": "DecidableEq Internal", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DecidableEq Sensory]", + "type_source": "DecidableEq Sensory", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DecidableEq Active]", + "type_source": "DecidableEq Active", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DecidableEq External]", + "type_source": "DecidableEq External", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Nontrivial Internal]", + "type_source": "Nontrivial Internal", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Nontrivial Sensory]", + "type_source": "Nontrivial Sensory", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Nontrivial Active]", + "type_source": "Nontrivial Active", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Nontrivial External]", + "type_source": "Nontrivial External", + "visibility": "instance" + } + ], + "declaration_mentions": [ + { + "identifier": "boolBlanketActionIndexedSemigroup_false_kernel", + "qualified_name": "FEP.ContinuousTimeMarkov.boolBlanketActionIndexedSemigroup_false_kernel", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + }, + { + "identifier": "liftInternalLikelihood_predictive_liftInternalLaw", + "qualified_name": "FEP.ContinuousTimeMarkov.liftInternalLikelihood_predictive_liftInternalLaw", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" } ], - "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ "FepSketches.finite_markov_dynamics", @@ -33509,7 +34031,8 @@ "line_coordinate_kind": "formal_resource_file", "namespace": "FEP.ContinuousTimeMarkov", "namespace_variable_context": [ - "{State : Type*} [Fintype State] [Nonempty State] [DecidableEq State]" + "{State : Type*} [Fintype State] [Nonempty State] [DecidableEq State]", + "{Internal Sensory Active External : Type*}\n [Fintype Internal] [Fintype Sensory] [Fintype Active] [Fintype External]\n [DecidableEq Internal] [DecidableEq Sensory] [DecidableEq Active]\n [DecidableEq External]\n [Nontrivial Internal] [Nontrivial Sensory]\n [Nontrivial Active] [Nontrivial External]" ], "preceding_scope_directives": [ { @@ -33557,63 +34080,79 @@ "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", "source": "omit [Nonempty State] in" }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DecidableEq State] in" + }, { "directive": "omit", "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", "source": "omit [Nonempty State] in" } ], - "qualified_name": "FEP.ContinuousTimeMarkov.refreshGenerator_mul_transition", - "source_line": 556, + "qualified_name": "FEP.ContinuousTimeMarkov.boolBlanketGenerativeModel_false_predictedOutcome", + "source_line": 1183, "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", - "statement": "theorem refreshGenerator_mul_transition (time : ℝ)\n (source target : State) :\n (∑ middle,\n refreshRateGenerator source middle *\n refreshTransition time middle target) =\n refreshTransitionDerivative time source target", - "statement_sha256": "50d351aac41f424026e5f7afd468e6e267172da647d5ab88af54b1fafbdaaccc" + "statement": "theorem boolBlanketGenerativeModel_false_predictedOutcome\n (internal : FiniteLaw Bool) (likelihood : FiniteKernel Bool Bool)\n (preferences policyPrior : FiniteLaw Bool) :\n FEP.ActiveInference.predictedOutcome\n (boolBlanketGenerativeModel (liftInternalLaw internal)\n (liftInternalLikelihood likelihood) preferences policyPrior) false =\n likelihood.predictive internal", + "statement_sha256": "90fce4300140ec6104c12275b7d990d081d3d08f43e78c56a8474502fa24cfdf" }, - "FEP.ContinuousTimeMarkov.refreshSemigroup_finiteKL_strict_decrease_of_ne_uniform": { + "FEP.ContinuousTimeMarkov.boolBlanketGenerativeModel_transition": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "law" + "initialState" ], "role": "typed_binder", - "source": "(law : FiniteLaw State)", - "type_source": "FiniteLaw State", + "source": "(initialState : FiniteLaw BoolBlanketState)", + "type_source": "FiniteLaw BoolBlanketState", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "time" + "likelihood" ], "role": "typed_binder", - "source": "{time : ℝ}", - "type_source": "ℝ", - "visibility": "implicit" + "source": "(likelihood : FiniteKernel BoolBlanketState Bool)", + "type_source": "FiniteKernel BoolBlanketState Bool", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "hTime" + "preferences", + "policyPrior" ], "role": "typed_binder", - "source": "(hTime : 0 < time)", - "type_source": "0 < time", + "source": "(preferences policyPrior : FiniteLaw Bool)", + "type_source": "FiniteLaw Bool", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "hLaw" + "action" ], "role": "typed_binder", - "source": "(hLaw : law ≠ (FiniteLaw.uniform : FiniteLaw State))", - "type_source": "law ≠ (FiniteLaw.uniform : FiniteLaw State)", + "source": "(action : Bool)", + "type_source": "Bool", "visibility": "explicit" } ], - "conclusion": "finiteKL\n ((refreshSemigroup.kernel time hTime.le).predictive law)\n (FiniteLaw.uniform : FiniteLaw State) <\n finiteKL law (FiniteLaw.uniform : FiniteLaw State)", + "conclusion": "(boolBlanketGenerativeModel initialState likelihood preferences\n policyPrior).transition action =\n boolBlanketActionIndexedSemigroup.sampledKernel action", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -33648,48 +34187,118 @@ "source": "[DecidableEq State]", "type_source": "DecidableEq State", "visibility": "instance" - } - ], - "declaration_mentions": [ + }, { - "candidates": [ - "FEP.FiniteInformation.finiteKL_eq_crossEntropy_sub_entropy" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "Internal", + "Sensory", + "Active", + "External" ], - "identifier": "finiteKL_eq_crossEntropy_sub_entropy", - "resolution": "unresolved lexical scope", - "role": "proof_reference" + "role": "typed_binder", + "source": "{Internal Sensory Active External : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { - "candidates": [ - "FEP.FiniteInformation.finiteKL_eq_zero_iff" - ], - "identifier": "finiteKL_eq_zero_iff", - "resolution": "unresolved lexical scope", - "role": "proof_reference" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Internal]", + "type_source": "Fintype Internal", + "visibility": "instance" }, { - "candidates": [ - "FEP.FiniteInformation.finiteKL_nonneg" - ], - "identifier": "finiteKL_nonneg", - "resolution": "unresolved lexical scope", - "role": "proof_reference" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Sensory]", + "type_source": "Fintype Sensory", + "visibility": "instance" }, { - "candidates": [ - "FEP.FiniteInformation.finiteKL_self" - ], - "identifier": "finiteKL_self", - "resolution": "unresolved lexical scope", - "role": "proof_reference" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Active]", + "type_source": "Fintype Active", + "visibility": "instance" }, { - "identifier": "refreshSemigroup_predictive_mass", - "qualified_name": "FEP.ContinuousTimeMarkov.refreshSemigroup_predictive_mass", - "resolution": "exact or same-namespace source identifier", - "role": "proof_reference" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype External]", + "type_source": "Fintype External", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DecidableEq Internal]", + "type_source": "DecidableEq Internal", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DecidableEq Sensory]", + "type_source": "DecidableEq Sensory", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DecidableEq Active]", + "type_source": "DecidableEq Active", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DecidableEq External]", + "type_source": "DecidableEq External", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Nontrivial Internal]", + "type_source": "Nontrivial Internal", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Nontrivial Sensory]", + "type_source": "Nontrivial Sensory", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Nontrivial Active]", + "type_source": "Nontrivial Active", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Nontrivial External]", + "type_source": "Nontrivial External", + "visibility": "instance" } ], + "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ "FepSketches.finite_markov_dynamics", @@ -33701,7 +34310,8 @@ "line_coordinate_kind": "formal_resource_file", "namespace": "FEP.ContinuousTimeMarkov", "namespace_variable_context": [ - "{State : Type*} [Fintype State] [Nonempty State] [DecidableEq State]" + "{State : Type*} [Fintype State] [Nonempty State] [DecidableEq State]", + "{Internal Sensory Active External : Type*}\n [Fintype Internal] [Fintype Sensory] [Fintype Active] [Fintype External]\n [DecidableEq Internal] [DecidableEq Sensory] [DecidableEq Active]\n [DecidableEq External]\n [Nontrivial Internal] [Nontrivial Sensory]\n [Nontrivial Active] [Nontrivial External]" ], "preceding_scope_directives": [ { @@ -33763,129 +34373,172 @@ "directive": "omit", "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", "source": "omit [DecidableEq State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" } ], - "qualified_name": "FEP.ContinuousTimeMarkov.refreshSemigroup_finiteKL_strict_decrease_of_ne_uniform", - "source_line": 760, + "qualified_name": "FEP.ContinuousTimeMarkov.boolBlanketGenerativeModel_transition", + "source_line": 1161, "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", - "statement": "theorem refreshSemigroup_finiteKL_strict_decrease_of_ne_uniform\n (law : FiniteLaw State) {time : ℝ} (hTime : 0 < time)\n (hLaw : law ≠ (FiniteLaw.uniform : FiniteLaw State)) :\n finiteKL\n ((refreshSemigroup.kernel time hTime.le).predictive law)\n (FiniteLaw.uniform : FiniteLaw State) <\n finiteKL law (FiniteLaw.uniform : FiniteLaw State)", - "statement_sha256": "39cb0ec01c6a2dfd88e4774990dd40a9bf658040588d351bac948094861f1595" + "statement": "theorem boolBlanketGenerativeModel_transition\n (initialState : FiniteLaw BoolBlanketState)\n (likelihood : FiniteKernel BoolBlanketState Bool)\n (preferences policyPrior : FiniteLaw Bool) (action : Bool) :\n (boolBlanketGenerativeModel initialState likelihood preferences\n policyPrior).transition action =\n boolBlanketActionIndexedSemigroup.sampledKernel action", + "statement_sha256": "b57f3327cbcf3cc294a8916abaa64927b928187a96df3784a8a829c224eba80a" }, - "FEP.ContinuousTimeMarkov.refreshSemigroup_nativeKL_strict_decrease_of_ne_uniform": { + "FEP.ContinuousTimeMarkov.boolBlanketInitial_ne_uniform": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [ + "binders": [], + "conclusion": "boolBlanketInitialLaw ≠\n (FiniteLaw.uniform : FiniteLaw\n (FEP.MarkovBlanket.DynamicState Bool Bool Bool Bool))", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "State" + ], + "role": "typed_binder", + "source": "{State : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[MeasurableSpace State]", - "type_source": "MeasurableSpace State", + "source": "[Fintype State]", + "type_source": "Fintype State", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace State]", - "type_source": "DiscreteMeasurableSpace State", + "source": "[Nonempty State]", + "type_source": "Nonempty State", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "law" - ], - "role": "typed_binder", - "source": "(law : FiniteLaw State)", - "type_source": "FiniteLaw State", - "visibility": "explicit" + "names": [], + "role": "instance_requirement", + "source": "[DecidableEq State]", + "type_source": "DecidableEq State", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "time" + "Internal", + "Sensory", + "Active", + "External" ], "role": "typed_binder", - "source": "{time : ℝ}", - "type_source": "ℝ", + "source": "{Internal Sensory Active External : Type*}", + "type_source": "Type*", "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "hTime" - ], - "role": "typed_binder", - "source": "(hTime : 0 < time)", - "type_source": "0 < time", - "visibility": "explicit" + "names": [], + "role": "instance_requirement", + "source": "[Fintype Internal]", + "type_source": "Fintype Internal", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "hLaw" - ], - "role": "typed_binder", - "source": "(hLaw : law ≠ (FiniteLaw.uniform : FiniteLaw State))", - "type_source": "law ≠ (FiniteLaw.uniform : FiniteLaw State)", - "visibility": "explicit" - } - ], - "conclusion": "InformationTheory.klDiv\n (FEP.NativeBlanket.embeddedLaw\n ((refreshSemigroup.kernel time hTime.le).predictive law))\n (FEP.NativeBlanket.embeddedLaw\n (FiniteLaw.uniform : FiniteLaw State)) <\n InformationTheory.klDiv\n (FEP.NativeBlanket.embeddedLaw law)\n (FEP.NativeBlanket.embeddedLaw\n (FiniteLaw.uniform : FiniteLaw State))", - "context_binders": [ + "names": [], + "role": "instance_requirement", + "source": "[Fintype Sensory]", + "type_source": "Fintype Sensory", + "visibility": "instance" + }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "State" - ], - "role": "typed_binder", - "source": "{State : Type*}", - "type_source": "Type*", - "visibility": "implicit" + "names": [], + "role": "instance_requirement", + "source": "[Fintype Active]", + "type_source": "Fintype Active", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype State]", - "type_source": "Fintype State", + "source": "[Fintype External]", + "type_source": "Fintype External", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Nonempty State]", - "type_source": "Nonempty State", + "source": "[DecidableEq Internal]", + "type_source": "DecidableEq Internal", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DecidableEq State]", - "type_source": "DecidableEq State", + "source": "[DecidableEq Sensory]", + "type_source": "DecidableEq Sensory", "visibility": "instance" - } - ], - "declaration_mentions": [ + }, { - "identifier": "FEP.DecisionRisk.weightedDirac_klDiv_eq_finiteKL_of_fullSupport", - "qualified_name": "FEP.DecisionRisk.weightedDirac_klDiv_eq_finiteKL_of_fullSupport", - "resolution": "exact or same-namespace source identifier", - "role": "proof_reference" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DecidableEq Active]", + "type_source": "DecidableEq Active", + "visibility": "instance" }, { - "candidates": [ - "FEP.FiniteInformation.finiteKL_nonneg" - ], - "identifier": "finiteKL_nonneg", - "resolution": "unresolved lexical scope", - "role": "proof_reference" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DecidableEq External]", + "type_source": "DecidableEq External", + "visibility": "instance" }, { - "identifier": "refreshSemigroup_finiteKL_strict_decrease_of_ne_uniform", - "qualified_name": "FEP.ContinuousTimeMarkov.refreshSemigroup_finiteKL_strict_decrease_of_ne_uniform", + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Nontrivial Internal]", + "type_source": "Nontrivial Internal", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Nontrivial Sensory]", + "type_source": "Nontrivial Sensory", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Nontrivial Active]", + "type_source": "Nontrivial Active", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Nontrivial External]", + "type_source": "Nontrivial External", + "visibility": "instance" + } + ], + "declaration_mentions": [ + { + "identifier": "blanketPointMass_ne_uniform", + "qualified_name": "FEP.ContinuousTimeMarkov.blanketPointMass_ne_uniform", "resolution": "exact or same-namespace source identifier", "role": "proof_reference" } @@ -33901,7 +34554,8 @@ "line_coordinate_kind": "formal_resource_file", "namespace": "FEP.ContinuousTimeMarkov", "namespace_variable_context": [ - "{State : Type*} [Fintype State] [Nonempty State] [DecidableEq State]" + "{State : Type*} [Fintype State] [Nonempty State] [DecidableEq State]", + "{Internal Sensory Active External : Type*}\n [Fintype Internal] [Fintype Sensory] [Fintype Active] [Fintype External]\n [DecidableEq Internal] [DecidableEq Sensory] [DecidableEq Active]\n [DecidableEq External]\n [Nontrivial Internal] [Nontrivial Sensory]\n [Nontrivial Active] [Nontrivial External]" ], "preceding_scope_directives": [ { @@ -33963,67 +34617,68 @@ "directive": "omit", "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", "source": "omit [DecidableEq State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" } ], - "qualified_name": "FEP.ContinuousTimeMarkov.refreshSemigroup_nativeKL_strict_decrease_of_ne_uniform", - "source_line": 857, + "qualified_name": "FEP.ContinuousTimeMarkov.boolBlanketInitial_ne_uniform", + "source_line": 1061, "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", - "statement": "theorem refreshSemigroup_nativeKL_strict_decrease_of_ne_uniform\n [MeasurableSpace State] [DiscreteMeasurableSpace State]\n (law : FiniteLaw State) {time : ℝ} (hTime : 0 < time)\n (hLaw : law ≠ (FiniteLaw.uniform : FiniteLaw State)) :\n InformationTheory.klDiv\n (FEP.NativeBlanket.embeddedLaw\n ((refreshSemigroup.kernel time hTime.le).predictive law))\n (FEP.NativeBlanket.embeddedLaw\n (FiniteLaw.uniform : FiniteLaw State)) <\n InformationTheory.klDiv\n (FEP.NativeBlanket.embeddedLaw law)\n (FEP.NativeBlanket.embeddedLaw\n (FiniteLaw.uniform : FiniteLaw State))", - "statement_sha256": "49b2c06a8ec96e883a4dc749fd8bb015f4c572c25430586078834bb86e1d6a7d" + "statement": "theorem boolBlanketInitial_ne_uniform :\n boolBlanketInitialLaw ≠\n (FiniteLaw.uniform : FiniteLaw\n (FEP.MarkovBlanket.DynamicState Bool Bool Bool Bool))", + "statement_sha256": "c790b9a15b55bbd1b3167ff266f30cdfe2250f79c5578d5a9dd62f518e633cf0" }, - "FEP.ContinuousTimeMarkov.refreshSemigroup_predictive_mass": { + "FEP.ContinuousTimeMarkov.boolBlanketInitial_not_invariant": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [ + "binders": [], + "conclusion": "¬FEP.FiniteMarkovDynamics.IsInvariant\n boolBlanketInitialLaw boolBlanketRefreshKernel", + "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "law" + "State" ], "role": "typed_binder", - "source": "(law : FiniteLaw State)", - "type_source": "FiniteLaw State", - "visibility": "explicit" + "source": "{State : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "time" - ], - "role": "typed_binder", - "source": "{time : ℝ}", - "type_source": "ℝ", - "visibility": "implicit" + "names": [], + "role": "instance_requirement", + "source": "[Fintype State]", + "type_source": "Fintype State", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "hTime" - ], - "role": "typed_binder", - "source": "(hTime : 0 ≤ time)", - "type_source": "0 ≤ time", - "visibility": "explicit" + "names": [], + "role": "instance_requirement", + "source": "[Nonempty State]", + "type_source": "Nonempty State", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "target" - ], - "role": "typed_binder", - "source": "(target : State)", - "type_source": "State", - "visibility": "explicit" - } - ], - "conclusion": "(refreshSemigroup.kernel time hTime).predictive law target =\n refreshRho time * law target +\n (1 - refreshRho time) *\n (FiniteLaw.uniform : FiniteLaw State) target", - "context_binders": [ + "names": [], + "role": "instance_requirement", + "source": "[DecidableEq State]", + "type_source": "DecidableEq State", + "visibility": "instance" + }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "State" + "Internal", + "Sensory", + "Active", + "External" ], "role": "typed_binder", - "source": "{State : Type*}", + "source": "{Internal Sensory Active External : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -34031,28 +34686,107 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype State]", - "type_source": "Fintype State", + "source": "[Fintype Internal]", + "type_source": "Fintype Internal", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Nonempty State]", - "type_source": "Nonempty State", + "source": "[Fintype Sensory]", + "type_source": "Fintype Sensory", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DecidableEq State]", - "type_source": "DecidableEq State", + "source": "[Fintype Active]", + "type_source": "Fintype Active", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype External]", + "type_source": "Fintype External", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DecidableEq Internal]", + "type_source": "DecidableEq Internal", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DecidableEq Sensory]", + "type_source": "DecidableEq Sensory", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DecidableEq Active]", + "type_source": "DecidableEq Active", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DecidableEq External]", + "type_source": "DecidableEq External", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Nontrivial Internal]", + "type_source": "Nontrivial Internal", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Nontrivial Sensory]", + "type_source": "Nontrivial Sensory", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Nontrivial Active]", + "type_source": "Nontrivial Active", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Nontrivial External]", + "type_source": "Nontrivial External", "visibility": "instance" } ], - "declaration_mentions": [], + "declaration_mentions": [ + { + "identifier": "boolBlanket_finiteKL_strict_decrease", + "qualified_name": "FEP.ContinuousTimeMarkov.boolBlanket_finiteKL_strict_decrease", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + } + ], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ "FepSketches.finite_markov_dynamics", @@ -34064,7 +34798,8 @@ "line_coordinate_kind": "formal_resource_file", "namespace": "FEP.ContinuousTimeMarkov", "namespace_variable_context": [ - "{State : Type*} [Fintype State] [Nonempty State] [DecidableEq State]" + "{State : Type*} [Fintype State] [Nonempty State] [DecidableEq State]", + "{Internal Sensory Active External : Type*}\n [Fintype Internal] [Fintype Sensory] [Fintype Active] [Fintype External]\n [DecidableEq Internal] [DecidableEq Sensory] [DecidableEq Active]\n [DecidableEq External]\n [Nontrivial Internal] [Nontrivial Sensory]\n [Nontrivial Active] [Nontrivial External]" ], "preceding_scope_directives": [ { @@ -34112,22 +34847,37 @@ "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", "source": "omit [Nonempty State] in" }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DecidableEq State] in" + }, { "directive": "omit", "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", "source": "omit [Nonempty State] in" } ], - "qualified_name": "FEP.ContinuousTimeMarkov.refreshSemigroup_predictive_mass", - "source_line": 650, + "qualified_name": "FEP.ContinuousTimeMarkov.boolBlanketInitial_not_invariant", + "source_line": 1323, "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", - "statement": "theorem refreshSemigroup_predictive_mass (law : FiniteLaw State)\n {time : ℝ} (hTime : 0 ≤ time) (target : State) :\n (refreshSemigroup.kernel time hTime).predictive law target =\n refreshRho time * law target +\n (1 - refreshRho time) *\n (FiniteLaw.uniform : FiniteLaw State) target", - "statement_sha256": "b4e4b94c289647b7d229f024211b926d2026498d63444458bf5c12863d4455a5" + "statement": "theorem boolBlanketInitial_not_invariant :\n ¬FEP.FiniteMarkovDynamics.IsInvariant\n boolBlanketInitialLaw boolBlanketRefreshKernel", + "statement_sha256": "93c978b39afbd8030708e2546f8cd1b30b39f1b0405a7a1d78a57bfc93018878" }, - "FEP.ContinuousTimeMarkov.refreshSemigroup_uniform_stationary": { + "FEP.ContinuousTimeMarkov.boolBlanketState_card": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [], - "conclusion": "refreshSemigroup.IsStationary (FiniteLaw.uniform : FiniteLaw State)", + "conclusion": "Fintype.card BoolBlanketState = 16", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -34162,6 +34912,115 @@ "source": "[DecidableEq State]", "type_source": "DecidableEq State", "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "Internal", + "Sensory", + "Active", + "External" + ], + "role": "typed_binder", + "source": "{Internal Sensory Active External : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Internal]", + "type_source": "Fintype Internal", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Sensory]", + "type_source": "Fintype Sensory", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Active]", + "type_source": "Fintype Active", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype External]", + "type_source": "Fintype External", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DecidableEq Internal]", + "type_source": "DecidableEq Internal", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DecidableEq Sensory]", + "type_source": "DecidableEq Sensory", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DecidableEq Active]", + "type_source": "DecidableEq Active", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DecidableEq External]", + "type_source": "DecidableEq External", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Nontrivial Internal]", + "type_source": "Nontrivial Internal", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Nontrivial Sensory]", + "type_source": "Nontrivial Sensory", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Nontrivial Active]", + "type_source": "Nontrivial Active", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Nontrivial External]", + "type_source": "Nontrivial External", + "visibility": "instance" } ], "declaration_mentions": [], @@ -34176,7 +35035,8 @@ "line_coordinate_kind": "formal_resource_file", "namespace": "FEP.ContinuousTimeMarkov", "namespace_variable_context": [ - "{State : Type*} [Fintype State] [Nonempty State] [DecidableEq State]" + "{State : Type*} [Fintype State] [Nonempty State] [DecidableEq State]", + "{Internal Sensory Active External : Type*}\n [Fintype Internal] [Fintype Sensory] [Fintype Active] [Fintype External]\n [DecidableEq Internal] [DecidableEq Sensory] [DecidableEq Active]\n [DecidableEq External]\n [Nontrivial Internal] [Nontrivial Sensory]\n [Nontrivial Active] [Nontrivial External]" ], "preceding_scope_directives": [ { @@ -34228,41 +35088,33 @@ "directive": "omit", "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", "source": "omit [Nonempty State] in" - } - ], - "qualified_name": "FEP.ContinuousTimeMarkov.refreshSemigroup_uniform_stationary", - "source_line": 715, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", - "statement": "theorem refreshSemigroup_uniform_stationary :\n refreshSemigroup.IsStationary (FiniteLaw.uniform : FiniteLaw State)", - "statement_sha256": "fd08a300d83b75b24f3268b2a0b88780c22e4cb4cd0614f7072597e5fe0025fc" - }, - "FEP.ContinuousTimeMarkov.refreshTransition_add": { - "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [ + }, { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "left", - "right" - ], - "role": "typed_binder", - "source": "(left right : ℝ)", - "type_source": "ℝ", - "visibility": "explicit" + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" }, { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "source", - "target" - ], - "role": "typed_binder", - "source": "(source target : State)", - "type_source": "State", - "visibility": "explicit" + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DecidableEq State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" } ], - "conclusion": "refreshTransition (left + right) source target =\n ∑ middle,\n refreshTransition left source middle *\n refreshTransition right middle target", + "qualified_name": "FEP.ContinuousTimeMarkov.boolBlanketState_card", + "source_line": 943, + "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "statement": "theorem boolBlanketState_card :\n Fintype.card BoolBlanketState = 16", + "statement_sha256": "16849fddcbcfdc25ac716796f3ce344894a4495b6d05f213dbbaa0bee5fb158f" + }, + "FEP.ContinuousTimeMarkov.boolBlanketStationaryLaw_isStationary": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [], + "conclusion": "(blanketRefreshSemigroup\n (Internal := Bool) (Sensory := Bool) (Active := Bool)\n (External := Bool)).IsStationary boolBlanketStationaryLaw", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -34297,138 +35149,125 @@ "source": "[DecidableEq State]", "type_source": "DecidableEq State", "visibility": "instance" - } - ], - "declaration_mentions": [], - "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", - "import_context": [ - "FepSketches.finite_markov_dynamics", - "FepSketches.active_inference", - "FepSketches.decision_risk", - "FepSketches.markov_blanket", - "Mathlib.Analysis.Normed.Algebra.MatrixExponential" - ], - "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.ContinuousTimeMarkov", - "namespace_variable_context": [ - "{State : Type*} [Fintype State] [Nonempty State] [DecidableEq State]" - ], - "preceding_scope_directives": [ - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" }, { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DecidableEq State] in" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "Internal", + "Sensory", + "Active", + "External" + ], + "role": "typed_binder", + "source": "{Internal Sensory Active External : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Internal]", + "type_source": "Fintype Internal", + "visibility": "instance" }, { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Sensory]", + "type_source": "Fintype Sensory", + "visibility": "instance" }, { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Active]", + "type_source": "Fintype Active", + "visibility": "instance" }, { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype External]", + "type_source": "Fintype External", + "visibility": "instance" }, { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DecidableEq State] in" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DecidableEq Internal]", + "type_source": "DecidableEq Internal", + "visibility": "instance" }, { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DecidableEq State] in" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DecidableEq Sensory]", + "type_source": "DecidableEq Sensory", + "visibility": "instance" }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - } - ], - "qualified_name": "FEP.ContinuousTimeMarkov.refreshTransition_add", - "source_line": 487, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", - "statement": "theorem refreshTransition_add (left right : ℝ) (source target : State) :\n refreshTransition (left + right) source target =\n ∑ middle,\n refreshTransition left source middle *\n refreshTransition right middle target", - "statement_sha256": "5b7335611916435d94c2745987632f009e3f0656371105a3def4c7efe31c0382" - }, - "FEP.ContinuousTimeMarkov.refreshTransition_hasDerivAt": { - "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "time" - ], - "role": "typed_binder", - "source": "(time : ℝ)", - "type_source": "ℝ", - "visibility": "explicit" + "names": [], + "role": "instance_requirement", + "source": "[DecidableEq Active]", + "type_source": "DecidableEq Active", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "source", - "target" - ], - "role": "typed_binder", - "source": "(source target : State)", - "type_source": "State", - "visibility": "explicit" - } - ], - "conclusion": "HasDerivAt (fun candidate ↦ refreshTransition candidate source target)\n (refreshTransitionDerivative time source target) time", - "context_binders": [ + "names": [], + "role": "instance_requirement", + "source": "[DecidableEq External]", + "type_source": "DecidableEq External", + "visibility": "instance" + }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "State" - ], - "role": "typed_binder", - "source": "{State : Type*}", - "type_source": "Type*", - "visibility": "implicit" + "names": [], + "role": "instance_requirement", + "source": "[Nontrivial Internal]", + "type_source": "Nontrivial Internal", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype State]", - "type_source": "Fintype State", + "source": "[Nontrivial Sensory]", + "type_source": "Nontrivial Sensory", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Nonempty State]", - "type_source": "Nonempty State", + "source": "[Nontrivial Active]", + "type_source": "Nontrivial Active", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DecidableEq State]", - "type_source": "DecidableEq State", + "source": "[Nontrivial External]", + "type_source": "Nontrivial External", "visibility": "instance" } ], - "declaration_mentions": [], + "declaration_mentions": [ + { + "identifier": "refreshSemigroup_uniform_stationary", + "qualified_name": "FEP.ContinuousTimeMarkov.refreshSemigroup_uniform_stationary", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + } + ], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ "FepSketches.finite_markov_dynamics", @@ -34440,7 +35279,8 @@ "line_coordinate_kind": "formal_resource_file", "namespace": "FEP.ContinuousTimeMarkov", "namespace_variable_context": [ - "{State : Type*} [Fintype State] [Nonempty State] [DecidableEq State]" + "{State : Type*} [Fintype State] [Nonempty State] [DecidableEq State]", + "{Internal Sensory Active External : Type*}\n [Fintype Internal] [Fintype Sensory] [Fintype Active] [Fintype External]\n [DecidableEq Internal] [DecidableEq Sensory] [DecidableEq Active]\n [DecidableEq External]\n [Nontrivial Internal] [Nontrivial Sensory]\n [Nontrivial Active] [Nontrivial External]" ], "preceding_scope_directives": [ { @@ -34492,40 +35332,33 @@ "directive": "omit", "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", "source": "omit [Nonempty State] in" - } - ], - "qualified_name": "FEP.ContinuousTimeMarkov.refreshTransition_hasDerivAt", - "source_line": 544, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", - "statement": "theorem refreshTransition_hasDerivAt (time : ℝ)\n (source target : State) :\n HasDerivAt (fun candidate ↦ refreshTransition candidate source target)\n (refreshTransitionDerivative time source target) time", - "statement_sha256": "4059368ac72f5f1bf5418b9b445953e45e8084e246f7bf8cf822f8d41b93ee36" - }, - "FEP.ContinuousTimeMarkov.refreshTransition_mul_generator": { - "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [ + }, { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "time" - ], - "role": "typed_binder", - "source": "(time : ℝ)", - "type_source": "ℝ", - "visibility": "explicit" + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" }, { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "source", - "target" - ], - "role": "typed_binder", - "source": "(source target : State)", - "type_source": "State", - "visibility": "explicit" + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DecidableEq State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" } ], - "conclusion": "(∑ middle,\n refreshTransition time source middle *\n refreshRateGenerator middle target) =\n refreshTransitionDerivative time source target", + "qualified_name": "FEP.ContinuousTimeMarkov.boolBlanketStationaryLaw_isStationary", + "source_line": 1242, + "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "statement": "theorem boolBlanketStationaryLaw_isStationary :\n (blanketRefreshSemigroup\n (Internal := Bool) (Sensory := Bool) (Active := Bool)\n (External := Bool)).IsStationary boolBlanketStationaryLaw", + "statement_sha256": "fd3a5f4618d693ee6cdfef7f7541ab18cae65629238e63ea4350fe19a3e30c1e" + }, + "FEP.ContinuousTimeMarkov.boolBlanket_finiteKL_strict_decrease": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [], + "conclusion": "finiteKL boolBlanketEvolvedLaw boolBlanketStationaryLaw <\n finiteKL boolBlanketInitialLaw boolBlanketStationaryLaw", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -34560,9 +35393,135 @@ "source": "[DecidableEq State]", "type_source": "DecidableEq State", "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "Internal", + "Sensory", + "Active", + "External" + ], + "role": "typed_binder", + "source": "{Internal Sensory Active External : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Internal]", + "type_source": "Fintype Internal", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Sensory]", + "type_source": "Fintype Sensory", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Active]", + "type_source": "Fintype Active", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype External]", + "type_source": "Fintype External", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DecidableEq Internal]", + "type_source": "DecidableEq Internal", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DecidableEq Sensory]", + "type_source": "DecidableEq Sensory", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DecidableEq Active]", + "type_source": "DecidableEq Active", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DecidableEq External]", + "type_source": "DecidableEq External", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Nontrivial Internal]", + "type_source": "Nontrivial Internal", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Nontrivial Sensory]", + "type_source": "Nontrivial Sensory", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Nontrivial Active]", + "type_source": "Nontrivial Active", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Nontrivial External]", + "type_source": "Nontrivial External", + "visibility": "instance" + } + ], + "declaration_mentions": [ + { + "candidates": [ + "FEP.FiniteInformation.crossEntropy_uniform" + ], + "identifier": "crossEntropy_uniform", + "resolution": "unresolved lexical scope", + "role": "proof_reference" + }, + { + "candidates": [ + "FEP.FiniteInformation.finiteKL_eq_crossEntropy_sub_entropy" + ], + "identifier": "finiteKL_eq_crossEntropy_sub_entropy", + "resolution": "unresolved lexical scope", + "role": "proof_reference" } ], - "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ "FepSketches.finite_markov_dynamics", @@ -34574,7 +35533,8 @@ "line_coordinate_kind": "formal_resource_file", "namespace": "FEP.ContinuousTimeMarkov", "namespace_variable_context": [ - "{State : Type*} [Fintype State] [Nonempty State] [DecidableEq State]" + "{State : Type*} [Fintype State] [Nonempty State] [DecidableEq State]", + "{Internal Sensory Active External : Type*}\n [Fintype Internal] [Fintype Sensory] [Fintype Active] [Fintype External]\n [DecidableEq Internal] [DecidableEq Sensory] [DecidableEq Active]\n [DecidableEq External]\n [Nontrivial Internal] [Nontrivial Sensory]\n [Nontrivial Active] [Nontrivial External]" ], "preceding_scope_directives": [ { @@ -34622,62 +35582,82 @@ "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", "source": "omit [Nonempty State] in" }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DecidableEq State] in" + }, { "directive": "omit", "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", "source": "omit [Nonempty State] in" } ], - "qualified_name": "FEP.ContinuousTimeMarkov.refreshTransition_mul_generator", - "source_line": 594, + "qualified_name": "FEP.ContinuousTimeMarkov.boolBlanket_finiteKL_strict_decrease", + "source_line": 1303, "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", - "statement": "theorem refreshTransition_mul_generator (time : ℝ)\n (source target : State) :\n (∑ middle,\n refreshTransition time source middle *\n refreshRateGenerator middle target) =\n refreshTransitionDerivative time source target", - "statement_sha256": "4031a4221a1a8a3fdd15b427112d706572cc2fbbde2bede10a7643d1572e2de3" + "statement": "theorem boolBlanket_finiteKL_strict_decrease :\n finiteKL boolBlanketEvolvedLaw boolBlanketStationaryLaw <\n finiteKL boolBlanketInitialLaw boolBlanketStationaryLaw", + "statement_sha256": "7f47bddac2de0dd928d08818ce5452a5f169562d253f6a939f361c8b97be5330" }, - "FEP.ContinuousTimeMarkov.refreshTransition_nonneg": { + "FEP.ContinuousTimeMarkov.boolBlanket_nativeKL_strict_decrease": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [ + "binders": [], + "conclusion": "InformationTheory.klDiv\n (FEP.NativeBlanket.embeddedLaw boolBlanketEvolvedLaw)\n (FEP.NativeBlanket.embeddedLaw boolBlanketStationaryLaw) <\n InformationTheory.klDiv\n (FEP.NativeBlanket.embeddedLaw boolBlanketInitialLaw)\n (FEP.NativeBlanket.embeddedLaw boolBlanketStationaryLaw)", + "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "time" + "State" ], "role": "typed_binder", - "source": "{time : ℝ}", - "type_source": "ℝ", + "source": "{State : Type*}", + "type_source": "Type*", "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "hTime" - ], - "role": "typed_binder", - "source": "(hTime : 0 ≤ time)", - "type_source": "0 ≤ time", - "visibility": "explicit" + "names": [], + "role": "instance_requirement", + "source": "[Fintype State]", + "type_source": "Fintype State", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "source", - "target" - ], - "role": "typed_binder", - "source": "(source target : State)", - "type_source": "State", - "visibility": "explicit" - } - ], - "conclusion": "0 ≤ refreshTransition time source target", - "context_binders": [ + "names": [], + "role": "instance_requirement", + "source": "[Nonempty State]", + "type_source": "Nonempty State", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DecidableEq State]", + "type_source": "DecidableEq State", + "visibility": "instance" + }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "State" + "Internal", + "Sensory", + "Active", + "External" ], "role": "typed_binder", - "source": "{State : Type*}", + "source": "{Internal Sensory Active External : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -34685,28 +35665,121 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype State]", - "type_source": "Fintype State", + "source": "[Fintype Internal]", + "type_source": "Fintype Internal", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Nonempty State]", - "type_source": "Nonempty State", + "source": "[Fintype Sensory]", + "type_source": "Fintype Sensory", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DecidableEq State]", - "type_source": "DecidableEq State", + "source": "[Fintype Active]", + "type_source": "Fintype Active", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype External]", + "type_source": "Fintype External", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DecidableEq Internal]", + "type_source": "DecidableEq Internal", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DecidableEq Sensory]", + "type_source": "DecidableEq Sensory", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DecidableEq Active]", + "type_source": "DecidableEq Active", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DecidableEq External]", + "type_source": "DecidableEq External", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Nontrivial Internal]", + "type_source": "Nontrivial Internal", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Nontrivial Sensory]", + "type_source": "Nontrivial Sensory", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Nontrivial Active]", + "type_source": "Nontrivial Active", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Nontrivial External]", + "type_source": "Nontrivial External", "visibility": "instance" } ], - "declaration_mentions": [], + "declaration_mentions": [ + { + "identifier": "FEP.DecisionRisk.weightedDirac_klDiv_eq_finiteKL_of_fullSupport", + "qualified_name": "FEP.DecisionRisk.weightedDirac_klDiv_eq_finiteKL_of_fullSupport", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + }, + { + "identifier": "boolBlanket_finiteKL_strict_decrease", + "qualified_name": "FEP.ContinuousTimeMarkov.boolBlanket_finiteKL_strict_decrease", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + }, + { + "candidates": [ + "FEP.FiniteInformation.finiteKL_nonneg" + ], + "identifier": "finiteKL_nonneg", + "resolution": "unresolved lexical scope", + "role": "proof_reference" + } + ], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ "FepSketches.finite_markov_dynamics", @@ -34718,7 +35791,8 @@ "line_coordinate_kind": "formal_resource_file", "namespace": "FEP.ContinuousTimeMarkov", "namespace_variable_context": [ - "{State : Type*} [Fintype State] [Nonempty State] [DecidableEq State]" + "{State : Type*} [Fintype State] [Nonempty State] [DecidableEq State]", + "{Internal Sensory Active External : Type*}\n [Fintype Internal] [Fintype Sensory] [Fintype Active] [Fintype External]\n [DecidableEq Internal] [DecidableEq Sensory] [DecidableEq Active]\n [DecidableEq External]\n [Nontrivial Internal] [Nontrivial Sensory]\n [Nontrivial Active] [Nontrivial External]" ], "preceding_scope_directives": [ { @@ -34760,50 +35834,54 @@ "directive": "omit", "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", "source": "omit [DecidableEq State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DecidableEq State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" } ], - "qualified_name": "FEP.ContinuousTimeMarkov.refreshTransition_nonneg", - "source_line": 443, + "qualified_name": "FEP.ContinuousTimeMarkov.boolBlanket_nativeKL_strict_decrease", + "source_line": 1335, "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", - "statement": "theorem refreshTransition_nonneg {time : ℝ} (hTime : 0 ≤ time)\n (source target : State) : 0 ≤ refreshTransition time source target", - "statement_sha256": "28b171e34c63676011c12bf1ac2e0c182cf9ace636810148ad276652c2957331" + "statement": "theorem boolBlanket_nativeKL_strict_decrease :\n InformationTheory.klDiv\n (FEP.NativeBlanket.embeddedLaw boolBlanketEvolvedLaw)\n (FEP.NativeBlanket.embeddedLaw boolBlanketStationaryLaw) <\n InformationTheory.klDiv\n (FEP.NativeBlanket.embeddedLaw boolBlanketInitialLaw)\n (FEP.NativeBlanket.embeddedLaw boolBlanketStationaryLaw)", + "statement_sha256": "97b2198a9d8083297de7db36fcb1369f7f43b985df7ec9e7ec02a6c95a0dc73b" }, - "FEP.ContinuousTimeMarkov.refreshTransition_pos": { + "FEP.ContinuousTimeMarkov.liftInternalLaw_fstMarginal": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "time" - ], - "role": "typed_binder", - "source": "{time : ℝ}", - "type_source": "ℝ", - "visibility": "implicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "hTime" - ], - "role": "typed_binder", - "source": "(hTime : 0 < time)", - "type_source": "0 < time", - "visibility": "explicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "source", - "target" + "internal" ], "role": "typed_binder", - "source": "(source target : State)", - "type_source": "State", + "source": "(internal : FiniteLaw Bool)", + "type_source": "FiniteLaw Bool", "visibility": "explicit" } ], - "conclusion": "0 < refreshTransition time source target", + "conclusion": "(liftInternalLaw internal).fstMarginal = internal", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -34838,6 +35916,115 @@ "source": "[DecidableEq State]", "type_source": "DecidableEq State", "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "Internal", + "Sensory", + "Active", + "External" + ], + "role": "typed_binder", + "source": "{Internal Sensory Active External : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Internal]", + "type_source": "Fintype Internal", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Sensory]", + "type_source": "Fintype Sensory", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Active]", + "type_source": "Fintype Active", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype External]", + "type_source": "Fintype External", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DecidableEq Internal]", + "type_source": "DecidableEq Internal", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DecidableEq Sensory]", + "type_source": "DecidableEq Sensory", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DecidableEq Active]", + "type_source": "DecidableEq Active", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DecidableEq External]", + "type_source": "DecidableEq External", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Nontrivial Internal]", + "type_source": "Nontrivial Internal", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Nontrivial Sensory]", + "type_source": "Nontrivial Sensory", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Nontrivial Active]", + "type_source": "Nontrivial Active", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Nontrivial External]", + "type_source": "Nontrivial External", + "visibility": "instance" } ], "declaration_mentions": [], @@ -34852,7 +36039,8 @@ "line_coordinate_kind": "formal_resource_file", "namespace": "FEP.ContinuousTimeMarkov", "namespace_variable_context": [ - "{State : Type*} [Fintype State] [Nonempty State] [DecidableEq State]" + "{State : Type*} [Fintype State] [Nonempty State] [DecidableEq State]", + "{Internal Sensory Active External : Type*}\n [Fintype Internal] [Fintype Sensory] [Fintype Active] [Fintype External]\n [DecidableEq Internal] [DecidableEq Sensory] [DecidableEq Active]\n [DecidableEq External]\n [Nontrivial Internal] [Nontrivial Sensory]\n [Nontrivial Active] [Nontrivial External]" ], "preceding_scope_directives": [ { @@ -34894,39 +36082,64 @@ "directive": "omit", "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", "source": "omit [DecidableEq State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DecidableEq State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" } ], - "qualified_name": "FEP.ContinuousTimeMarkov.refreshTransition_pos", - "source_line": 456, + "qualified_name": "FEP.ContinuousTimeMarkov.liftInternalLaw_fstMarginal", + "source_line": 955, "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", - "statement": "theorem refreshTransition_pos {time : ℝ} (hTime : 0 < time)\n (source target : State) : 0 < refreshTransition time source target", - "statement_sha256": "ab02c9dbcd76eb448aa1fe5e96569f64dcf2c3f46dd6d056aa2212963cdf9c9c" + "statement": "theorem liftInternalLaw_fstMarginal (internal : FiniteLaw Bool) :\n (liftInternalLaw internal).fstMarginal = internal", + "statement_sha256": "ce0f9609e77db5d5a2d22b07ca6d72b0d6deddb6cde341add03fe7f5189d0b61" }, - "FEP.ContinuousTimeMarkov.refreshTransition_sum_one": { + "FEP.ContinuousTimeMarkov.liftInternalLaw_ne_uniform_of_ne_uniform": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "time" + "internal" ], "role": "typed_binder", - "source": "(time : ℝ)", - "type_source": "ℝ", + "source": "(internal : FiniteLaw Bool)", + "type_source": "FiniteLaw Bool", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "source" + "hInternal" ], "role": "typed_binder", - "source": "(source : State)", - "type_source": "State", + "source": "(hInternal : internal ≠ (FiniteLaw.uniform : FiniteLaw Bool))", + "type_source": "internal ≠ (FiniteLaw.uniform : FiniteLaw Bool)", "visibility": "explicit" } ], - "conclusion": "∑ target, refreshTransition time source target = 1", + "conclusion": "liftInternalLaw internal ≠\n (FiniteLaw.uniform : FiniteLaw BoolBlanketState)", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -34961,119 +36174,114 @@ "source": "[DecidableEq State]", "type_source": "DecidableEq State", "visibility": "instance" - } - ], - "declaration_mentions": [], - "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", - "import_context": [ - "FepSketches.finite_markov_dynamics", - "FepSketches.active_inference", - "FepSketches.decision_risk", - "FepSketches.markov_blanket", - "Mathlib.Analysis.Normed.Algebra.MatrixExponential" - ], - "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.ContinuousTimeMarkov", - "namespace_variable_context": [ - "{State : Type*} [Fintype State] [Nonempty State] [DecidableEq State]" - ], - "preceding_scope_directives": [ + }, { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "Internal", + "Sensory", + "Active", + "External" + ], + "role": "typed_binder", + "source": "{Internal Sensory Active External : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DecidableEq State] in" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Internal]", + "type_source": "Fintype Internal", + "visibility": "instance" }, { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Sensory]", + "type_source": "Fintype Sensory", + "visibility": "instance" }, { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Active]", + "type_source": "Fintype Active", + "visibility": "instance" }, { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype External]", + "type_source": "Fintype External", + "visibility": "instance" }, { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DecidableEq Internal]", + "type_source": "DecidableEq Internal", + "visibility": "instance" }, { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DecidableEq State] in" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DecidableEq Sensory]", + "type_source": "DecidableEq Sensory", + "visibility": "instance" }, { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DecidableEq State] in" - } - ], - "qualified_name": "FEP.ContinuousTimeMarkov.refreshTransition_sum_one", - "source_line": 471, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", - "statement": "theorem refreshTransition_sum_one (time : ℝ) (source : State) :\n ∑ target, refreshTransition time source target = 1", - "statement_sha256": "febb83b782fc8823ec37c5487fbdb0a75b2ef23e06a80bffd7584e68fa82beaa" - }, - "FEP.ContinuousTimeMarkov.refreshTransition_zero": { - "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [ + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DecidableEq Active]", + "type_source": "DecidableEq Active", + "visibility": "instance" + }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "source", - "target" - ], - "role": "typed_binder", - "source": "(source target : State)", - "type_source": "State", - "visibility": "explicit" - } - ], - "conclusion": "refreshTransition 0 source target =\n if source = target then 1 else 0", - "context_binders": [ + "names": [], + "role": "instance_requirement", + "source": "[DecidableEq External]", + "type_source": "DecidableEq External", + "visibility": "instance" + }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "State" - ], - "role": "typed_binder", - "source": "{State : Type*}", - "type_source": "Type*", - "visibility": "implicit" + "names": [], + "role": "instance_requirement", + "source": "[Nontrivial Internal]", + "type_source": "Nontrivial Internal", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype State]", - "type_source": "Fintype State", + "source": "[Nontrivial Sensory]", + "type_source": "Nontrivial Sensory", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Nonempty State]", - "type_source": "Nonempty State", + "source": "[Nontrivial Active]", + "type_source": "Nontrivial Active", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DecidableEq State]", - "type_source": "DecidableEq State", + "source": "[Nontrivial External]", + "type_source": "Nontrivial External", "visibility": "instance" } ], @@ -35089,7 +36297,8 @@ "line_coordinate_kind": "formal_resource_file", "namespace": "FEP.ContinuousTimeMarkov", "namespace_variable_context": [ - "{State : Type*} [Fintype State] [Nonempty State] [DecidableEq State]" + "{State : Type*} [Fintype State] [Nonempty State] [DecidableEq State]", + "{Internal Sensory Active External : Type*}\n [Fintype Internal] [Fintype Sensory] [Fintype Active] [Fintype External]\n [DecidableEq Internal] [DecidableEq Sensory] [DecidableEq Active]\n [DecidableEq External]\n [Nontrivial Internal] [Nontrivial Sensory]\n [Nontrivial Active] [Nontrivial External]" ], "preceding_scope_directives": [ { @@ -35136,158 +36345,73 @@ "directive": "omit", "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", "source": "omit [Nonempty State] in" - } - ], - "qualified_name": "FEP.ContinuousTimeMarkov.refreshTransition_zero", - "source_line": 481, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", - "statement": "theorem refreshTransition_zero (source target : State) :\n refreshTransition 0 source target =\n if source = target then 1 else 0", - "statement_sha256": "2a90db7283b1abaf66bd3f7475d93e685e2441c47e7a4d9ce7663e704c6b8440" - }, - "FEP.ContinuousTimeMarkov.threeCycle_current_zero_one": { - "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [], - "conclusion": "threeCycleGenerator.probabilityCurrent threeCycleStationaryLaw\n (0 : Fin 3) (1 : Fin 3) = 1 / 3", - "context_binders": [], - "declaration_mentions": [], - "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", - "import_context": [ - "FepSketches.finite_markov_dynamics", - "FepSketches.active_inference", - "FepSketches.decision_risk", - "FepSketches.markov_blanket", - "Mathlib.Analysis.Normed.Algebra.MatrixExponential" - ], - "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.ContinuousTimeMarkov", - "namespace_variable_context": [], - "preceding_scope_directives": [], - "qualified_name": "FEP.ContinuousTimeMarkov.threeCycle_current_zero_one", - "source_line": 318, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", - "statement": "theorem threeCycle_current_zero_one :\n threeCycleGenerator.probabilityCurrent threeCycleStationaryLaw\n (0 : Fin 3) (1 : Fin 3) = 1 / 3", - "statement_sha256": "25403a2c47fa7a5980050ee56d296d3f943821ca1d9065edef7af206f3d0bf3c" - }, - "FEP.ContinuousTimeMarkov.threeCycle_current_zero_one_ne_zero": { - "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [], - "conclusion": "threeCycleGenerator.probabilityCurrent threeCycleStationaryLaw\n (0 : Fin 3) (1 : Fin 3) ≠ 0", - "context_binders": [], - "declaration_mentions": [ + }, { - "identifier": "threeCycle_current_zero_one", - "qualified_name": "FEP.ContinuousTimeMarkov.threeCycle_current_zero_one", - "resolution": "exact or same-namespace source identifier", - "role": "proof_reference" + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DecidableEq State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" } ], - "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", - "import_context": [ - "FepSketches.finite_markov_dynamics", - "FepSketches.active_inference", - "FepSketches.decision_risk", - "FepSketches.markov_blanket", - "Mathlib.Analysis.Normed.Algebra.MatrixExponential" - ], - "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.ContinuousTimeMarkov", - "namespace_variable_context": [], - "preceding_scope_directives": [], - "qualified_name": "FEP.ContinuousTimeMarkov.threeCycle_current_zero_one_ne_zero", - "source_line": 324, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", - "statement": "theorem threeCycle_current_zero_one_ne_zero :\n threeCycleGenerator.probabilityCurrent threeCycleStationaryLaw\n (0 : Fin 3) (1 : Fin 3) ≠ 0", - "statement_sha256": "a400813f0250f34be4432d7dc282316e9a4464319cf416e6e977ee2e9d8cc326" - }, - "FEP.ContinuousTimeMarkov.threeCycle_not_detailedBalanced": { - "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [], - "conclusion": "¬threeCycleGenerator.IsDetailedBalanced threeCycleStationaryLaw", - "context_binders": [], - "declaration_mentions": [], - "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", - "import_context": [ - "FepSketches.finite_markov_dynamics", - "FepSketches.active_inference", - "FepSketches.decision_risk", - "FepSketches.markov_blanket", - "Mathlib.Analysis.Normed.Algebra.MatrixExponential" - ], - "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.ContinuousTimeMarkov", - "namespace_variable_context": [], - "preceding_scope_directives": [], - "qualified_name": "FEP.ContinuousTimeMarkov.threeCycle_not_detailedBalanced", - "source_line": 311, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", - "statement": "theorem threeCycle_not_detailedBalanced :\n ¬threeCycleGenerator.IsDetailedBalanced threeCycleStationaryLaw", - "statement_sha256": "d68ee5298d04dbc9d2507ce54751c41b74dcbbab3a9455afc74f798a0ade8079" - }, - "FEP.ContinuousTimeMarkov.threeCycle_stationary": { - "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [], - "conclusion": "threeCycleGenerator.IsStationary threeCycleStationaryLaw", - "context_binders": [], - "declaration_mentions": [], - "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", - "import_context": [ - "FepSketches.finite_markov_dynamics", - "FepSketches.active_inference", - "FepSketches.decision_risk", - "FepSketches.markov_blanket", - "Mathlib.Analysis.Normed.Algebra.MatrixExponential" - ], - "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.ContinuousTimeMarkov", - "namespace_variable_context": [], - "preceding_scope_directives": [], - "qualified_name": "FEP.ContinuousTimeMarkov.threeCycle_stationary", - "source_line": 304, + "qualified_name": "FEP.ContinuousTimeMarkov.liftInternalLaw_ne_uniform_of_ne_uniform", + "source_line": 964, "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", - "statement": "theorem threeCycle_stationary :\n threeCycleGenerator.IsStationary threeCycleStationaryLaw", - "statement_sha256": "7c32dcaaed73f4de9b4f453b9d1c065a53c7b3079d28305723d7885d565ff3e6" + "statement": "theorem liftInternalLaw_ne_uniform_of_ne_uniform\n (internal : FiniteLaw Bool)\n (hInternal : internal ≠ (FiniteLaw.uniform : FiniteLaw Bool)) :\n liftInternalLaw internal ≠\n (FiniteLaw.uniform : FiniteLaw BoolBlanketState)", + "statement_sha256": "c0b14587aacd7feac17d55c6226500231723ea7f11353230621640b4090d79c4" }, - "FEP.ControlledMarkov.actionBeliefUpdate_reconstruction": { + "FEP.ContinuousTimeMarkov.liftInternalLikelihood_posterior_liftInternalLaw": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "prior" + "Outcome" ], "role": "typed_binder", - "source": "(prior : FiniteLaw State)", - "type_source": "FiniteLaw State", - "visibility": "explicit" + "source": "{Outcome : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "transition" - ], - "role": "typed_binder", - "source": "(transition : ControlledKernel State Action)", - "type_source": "ControlledKernel State Action", - "visibility": "explicit" + "names": [], + "role": "instance_requirement", + "source": "[Fintype Outcome]", + "type_source": "Fintype Outcome", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "emission" + "internal" ], "role": "typed_binder", - "source": "(emission : FiniteKernel State Observation)", - "type_source": "FiniteKernel State Observation", + "source": "(internal : FiniteLaw Bool)", + "type_source": "FiniteLaw Bool", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "action" + "likelihood" ], "role": "typed_binder", - "source": "(action : Action)", - "type_source": "Action", + "source": "(likelihood : FiniteKernel Bool Outcome)", + "type_source": "FiniteKernel Bool Outcome", "visibility": "explicit" }, { @@ -35296,8 +36420,8 @@ "observation" ], "role": "typed_binder", - "source": "(observation : Observation)", - "type_source": "Observation", + "source": "(observation : Outcome)", + "type_source": "Outcome", "visibility": "explicit" }, { @@ -35306,33 +36430,20 @@ "hEvidence" ], "role": "typed_binder", - "source": "(hEvidence : 0 < actionEvidence prior transition emission action observation)", - "type_source": "0 < actionEvidence prior transition emission action observation", - "visibility": "explicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "state" - ], - "role": "typed_binder", - "source": "(state : State)", - "type_source": "State", + "source": "(hEvidence : 0 < likelihood.predictive internal observation)", + "type_source": "0 < likelihood.predictive internal observation", "visibility": "explicit" } ], - "conclusion": "actionBeliefUpdate prior transition emission action observation hEvidence state *\n actionEvidence prior transition emission action observation =\n actionPrediction prior transition action state * emission state observation", + "conclusion": "(liftInternalLikelihood likelihood).posterior (liftInternalLaw internal)\n observation\n (by\n rw [liftInternalLikelihood_predictive_liftInternalLaw]\n exact hEvidence) =\n liftInternalLaw\n (likelihood.posterior internal observation hEvidence)", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "State", - "Action", - "Observation", - "Belief" + "State" ], "role": "typed_binder", - "source": "{State Action Observation Belief : Type*}", + "source": "{State : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -35348,249 +36459,280 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Action]", - "type_source": "Fintype Action", + "source": "[Nonempty State]", + "type_source": "Nonempty State", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Observation]", - "type_source": "Fintype Observation", + "source": "[DecidableEq State]", + "type_source": "DecidableEq State", "visibility": "instance" }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype Belief]", - "type_source": "Fintype Belief", - "visibility": "instance" - } - ], - "declaration_mentions": [], - "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", - "import_context": [ - "FepSketches.active_inference" - ], - "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.ControlledMarkov", - "namespace_variable_context": [ - "{State Action Observation Belief : Type*}\n [Fintype State] [Fintype Action] [Fintype Observation] [Fintype Belief]" - ], - "preceding_scope_directives": [], - "qualified_name": "FEP.ControlledMarkov.actionBeliefUpdate_reconstruction", - "source_line": 65, - "source_owner": "src/fep_lean/formal/controlled_markov.lean", - "statement": "theorem actionBeliefUpdate_reconstruction (prior : FiniteLaw State)\n (transition : ControlledKernel State Action)\n (emission : FiniteKernel State Observation) (action : Action)\n (observation : Observation)\n (hEvidence : 0 < actionEvidence prior transition emission action observation)\n (state : State) :\n actionBeliefUpdate prior transition emission action observation hEvidence state *\n actionEvidence prior transition emission action observation =\n actionPrediction prior transition action state * emission state observation", - "statement_sha256": "648350fcdda30c983feb84cb54f20408f9560cbf38598f50e90204e4781f143a" - }, - "FEP.ControlledMarkov.actionBeliefUpdate_sum_one": { - "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "prior" + "Internal", + "Sensory", + "Active", + "External" ], "role": "typed_binder", - "source": "(prior : FiniteLaw State)", - "type_source": "FiniteLaw State", - "visibility": "explicit" + "source": "{Internal Sensory Active External : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "transition" - ], - "role": "typed_binder", - "source": "(transition : ControlledKernel State Action)", - "type_source": "ControlledKernel State Action", - "visibility": "explicit" + "names": [], + "role": "instance_requirement", + "source": "[Fintype Internal]", + "type_source": "Fintype Internal", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "emission" - ], - "role": "typed_binder", - "source": "(emission : FiniteKernel State Observation)", - "type_source": "FiniteKernel State Observation", - "visibility": "explicit" + "names": [], + "role": "instance_requirement", + "source": "[Fintype Sensory]", + "type_source": "Fintype Sensory", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "action" - ], - "role": "typed_binder", - "source": "(action : Action)", - "type_source": "Action", - "visibility": "explicit" + "names": [], + "role": "instance_requirement", + "source": "[Fintype Active]", + "type_source": "Fintype Active", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "observation" - ], - "role": "typed_binder", - "source": "(observation : Observation)", - "type_source": "Observation", - "visibility": "explicit" + "names": [], + "role": "instance_requirement", + "source": "[Fintype External]", + "type_source": "Fintype External", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "hEvidence" - ], - "role": "typed_binder", - "source": "(hEvidence : 0 < actionEvidence prior transition emission action observation)", - "type_source": "0 < actionEvidence prior transition emission action observation", - "visibility": "explicit" - } - ], - "conclusion": "∑ state,\n actionBeliefUpdate prior transition emission action observation hEvidence state =\n 1", - "context_binders": [ + "names": [], + "role": "instance_requirement", + "source": "[DecidableEq Internal]", + "type_source": "DecidableEq Internal", + "visibility": "instance" + }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "State", - "Action", - "Observation", - "Belief" - ], - "role": "typed_binder", - "source": "{State Action Observation Belief : Type*}", - "type_source": "Type*", - "visibility": "implicit" + "names": [], + "role": "instance_requirement", + "source": "[DecidableEq Sensory]", + "type_source": "DecidableEq Sensory", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype State]", - "type_source": "Fintype State", + "source": "[DecidableEq Active]", + "type_source": "DecidableEq Active", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Action]", - "type_source": "Fintype Action", + "source": "[DecidableEq External]", + "type_source": "DecidableEq External", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Observation]", - "type_source": "Fintype Observation", + "source": "[Nontrivial Internal]", + "type_source": "Nontrivial Internal", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Belief]", - "type_source": "Fintype Belief", + "source": "[Nontrivial Sensory]", + "type_source": "Nontrivial Sensory", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Nontrivial Active]", + "type_source": "Nontrivial Active", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Nontrivial External]", + "type_source": "Nontrivial External", "visibility": "instance" } ], - "declaration_mentions": [], + "declaration_mentions": [ + { + "identifier": "liftInternalLikelihood_predictive_liftInternalLaw", + "qualified_name": "FEP.ContinuousTimeMarkov.liftInternalLikelihood_predictive_liftInternalLaw", + "resolution": "exact or same-namespace source identifier", + "role": "statement_reference" + }, + { + "identifier": "liftInternalLikelihood_predictive_liftInternalLaw", + "qualified_name": "FEP.ContinuousTimeMarkov.liftInternalLikelihood_predictive_liftInternalLaw", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + } + ], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.active_inference" + "FepSketches.finite_markov_dynamics", + "FepSketches.active_inference", + "FepSketches.decision_risk", + "FepSketches.markov_blanket", + "Mathlib.Analysis.Normed.Algebra.MatrixExponential" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.ControlledMarkov", + "namespace": "FEP.ContinuousTimeMarkov", "namespace_variable_context": [ - "{State Action Observation Belief : Type*}\n [Fintype State] [Fintype Action] [Fintype Observation] [Fintype Belief]" + "{State : Type*} [Fintype State] [Nonempty State] [DecidableEq State]", + "{Internal Sensory Active External : Type*}\n [Fintype Internal] [Fintype Sensory] [Fintype Active] [Fintype External]\n [DecidableEq Internal] [DecidableEq Sensory] [DecidableEq Active]\n [DecidableEq External]\n [Nontrivial Internal] [Nontrivial Sensory]\n [Nontrivial Active] [Nontrivial External]" ], - "preceding_scope_directives": [], - "qualified_name": "FEP.ControlledMarkov.actionBeliefUpdate_sum_one", - "source_line": 78, - "source_owner": "src/fep_lean/formal/controlled_markov.lean", - "statement": "theorem actionBeliefUpdate_sum_one (prior : FiniteLaw State)\n (transition : ControlledKernel State Action)\n (emission : FiniteKernel State Observation) (action : Action)\n (observation : Observation)\n (hEvidence : 0 < actionEvidence prior transition emission action observation) :\n ∑ state,\n actionBeliefUpdate prior transition emission action observation hEvidence state =\n 1", - "statement_sha256": "3faa8e383e7f126e949c2be63abf5a31dce769891785edffe34df1828047e118" - }, - "FEP.ControlledMarkov.actionEvidence_zero_boundary": { - "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [ + "preceding_scope_directives": [ { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "prior" - ], - "role": "typed_binder", - "source": "(prior : FiniteLaw State)", - "type_source": "FiniteLaw State", - "visibility": "explicit" + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" }, { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "transition" - ], - "role": "typed_binder", - "source": "(transition : ControlledKernel State Action)", - "type_source": "ControlledKernel State Action", - "visibility": "explicit" + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DecidableEq State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DecidableEq State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DecidableEq State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DecidableEq State] in" }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + } + ], + "qualified_name": "FEP.ContinuousTimeMarkov.liftInternalLikelihood_posterior_liftInternalLaw", + "source_line": 1026, + "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "statement": "theorem liftInternalLikelihood_posterior_liftInternalLaw\n {Outcome : Type*} [Fintype Outcome]\n (internal : FiniteLaw Bool) (likelihood : FiniteKernel Bool Outcome)\n (observation : Outcome)\n (hEvidence : 0 < likelihood.predictive internal observation) :\n (liftInternalLikelihood likelihood).posterior (liftInternalLaw internal)\n observation\n (by\n rw [liftInternalLikelihood_predictive_liftInternalLaw]\n exact hEvidence) =\n liftInternalLaw\n (likelihood.posterior internal observation hEvidence)", + "statement_sha256": "4155dc68ec57027af49132df50ca64c46dc5ccdcf67960151f16b1dc20cb9198" + }, + "FEP.ContinuousTimeMarkov.liftInternalLikelihood_predictive_liftInternalLaw": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "emission" + "Outcome" ], "role": "typed_binder", - "source": "(emission : FiniteKernel State Observation)", - "type_source": "FiniteKernel State Observation", - "visibility": "explicit" + "source": "{Outcome : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "action" - ], - "role": "typed_binder", - "source": "(action : Action)", - "type_source": "Action", - "visibility": "explicit" + "names": [], + "role": "instance_requirement", + "source": "[Fintype Outcome]", + "type_source": "Fintype Outcome", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "observation" + "internal" ], "role": "typed_binder", - "source": "(observation : Observation)", - "type_source": "Observation", + "source": "(internal : FiniteLaw Bool)", + "type_source": "FiniteLaw Bool", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "hZero" + "likelihood" ], "role": "typed_binder", - "source": "(hZero : actionEvidence prior transition emission action observation = 0)", - "type_source": "actionEvidence prior transition emission action observation = 0", + "source": "(likelihood : FiniteKernel Bool Outcome)", + "type_source": "FiniteKernel Bool Outcome", "visibility": "explicit" } ], - "conclusion": "¬0 < actionEvidence prior transition emission action observation", + "conclusion": "(liftInternalLikelihood likelihood).predictive (liftInternalLaw internal) =\n likelihood.predictive internal", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "State", - "Action", - "Observation", - "Belief" + "State" ], "role": "typed_binder", - "source": "{State Action Observation Belief : Type*}", + "source": "{State : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -35606,80 +36748,28 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Action]", - "type_source": "Fintype Action", - "visibility": "instance" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype Observation]", - "type_source": "Fintype Observation", + "source": "[Nonempty State]", + "type_source": "Nonempty State", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Belief]", - "type_source": "Fintype Belief", + "source": "[DecidableEq State]", + "type_source": "DecidableEq State", "visibility": "instance" - } - ], - "declaration_mentions": [], - "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", - "import_context": [ - "FepSketches.active_inference" - ], - "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.ControlledMarkov", - "namespace_variable_context": [ - "{State Action Observation Belief : Type*}\n [Fintype State] [Fintype Action] [Fintype Observation] [Fintype Belief]" - ], - "preceding_scope_directives": [], - "qualified_name": "FEP.ControlledMarkov.actionEvidence_zero_boundary", - "source_line": 90, - "source_owner": "src/fep_lean/formal/controlled_markov.lean", - "statement": "theorem actionEvidence_zero_boundary (prior : FiniteLaw State)\n (transition : ControlledKernel State Action)\n (emission : FiniteKernel State Observation) (action : Action)\n (observation : Observation)\n (hZero : actionEvidence prior transition emission action observation = 0) :\n ¬0 < actionEvidence prior transition emission action observation", - "statement_sha256": "415fb679ce24f661eb014638826e2a74896ba05d6222de33724b3c6aa6c2ff54" - }, - "FEP.ControlledMarkov.boltzmannPartition_pos": { - "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [ - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "prior" - ], - "role": "typed_binder", - "source": "(prior : FiniteLaw Action)", - "type_source": "FiniteLaw Action", - "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "energy" - ], - "role": "typed_binder", - "source": "(energy : Action → ℝ)", - "type_source": "Action → ℝ", - "visibility": "explicit" - } - ], - "conclusion": "0 < boltzmannPartition prior energy", - "context_binders": [ - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "State", - "Action", - "Observation", - "Belief" + "Internal", + "Sensory", + "Active", + "External" ], "role": "typed_binder", - "source": "{State Action Observation Belief : Type*}", + "source": "{Internal Sensory Active External : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -35687,275 +36777,221 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype State]", - "type_source": "Fintype State", + "source": "[Fintype Internal]", + "type_source": "Fintype Internal", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Action]", - "type_source": "Fintype Action", + "source": "[Fintype Sensory]", + "type_source": "Fintype Sensory", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Observation]", - "type_source": "Fintype Observation", + "source": "[Fintype Active]", + "type_source": "Fintype Active", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Belief]", - "type_source": "Fintype Belief", + "source": "[Fintype External]", + "type_source": "Fintype External", "visibility": "instance" - } - ], - "declaration_mentions": [], - "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", - "import_context": [ - "FepSketches.active_inference" - ], - "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.ControlledMarkov", - "namespace_variable_context": [ - "{State Action Observation Belief : Type*}\n [Fintype State] [Fintype Action] [Fintype Observation] [Fintype Belief]" - ], - "preceding_scope_directives": [], - "qualified_name": "FEP.ControlledMarkov.boltzmannPartition_pos", - "source_line": 208, - "source_owner": "src/fep_lean/formal/controlled_markov.lean", - "statement": "theorem boltzmannPartition_pos (prior : FiniteLaw Action)\n (energy : Action → ℝ) :\n 0 < boltzmannPartition prior energy", - "statement_sha256": "dc197afe4714fbcc8ffd33f117a8144a46326cef7402aaed09abbaf267925961" - }, - "FEP.ControlledMarkov.boltzmannPosterior_mul_partition": { - "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [ - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "prior" - ], - "role": "typed_binder", - "source": "(prior : FiniteLaw Action)", - "type_source": "FiniteLaw Action", - "visibility": "explicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "energy" - ], - "role": "typed_binder", - "source": "(energy : Action → ℝ)", - "type_source": "Action → ℝ", - "visibility": "explicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "action" - ], - "role": "typed_binder", - "source": "(action : Action)", - "type_source": "Action", - "visibility": "explicit" - } - ], - "conclusion": "boltzmannPosterior prior energy action * boltzmannPartition prior energy =\n boltzmannWeight prior energy action", - "context_binders": [ - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "State", - "Action", - "Observation", - "Belief" - ], - "role": "typed_binder", - "source": "{State Action Observation Belief : Type*}", - "type_source": "Type*", - "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype State]", - "type_source": "Fintype State", + "source": "[DecidableEq Internal]", + "type_source": "DecidableEq Internal", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Action]", - "type_source": "Fintype Action", + "source": "[DecidableEq Sensory]", + "type_source": "DecidableEq Sensory", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Observation]", - "type_source": "Fintype Observation", + "source": "[DecidableEq Active]", + "type_source": "DecidableEq Active", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Belief]", - "type_source": "Fintype Belief", + "source": "[DecidableEq External]", + "type_source": "DecidableEq External", "visibility": "instance" - } - ], - "declaration_mentions": [ - { - "identifier": "boltzmannPartition_pos", - "qualified_name": "FEP.ControlledMarkov.boltzmannPartition_pos", - "resolution": "exact or same-namespace source identifier", - "role": "proof_reference" - } - ], - "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", - "import_context": [ - "FepSketches.active_inference" - ], - "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.ControlledMarkov", - "namespace_variable_context": [ - "{State Action Observation Belief : Type*}\n [Fintype State] [Fintype Action] [Fintype Observation] [Fintype Belief]" - ], - "preceding_scope_directives": [], - "qualified_name": "FEP.ControlledMarkov.boltzmannPosterior_mul_partition", - "source_line": 235, - "source_owner": "src/fep_lean/formal/controlled_markov.lean", - "statement": "theorem boltzmannPosterior_mul_partition (prior : FiniteLaw Action)\n (energy : Action → ℝ) (action : Action) :\n boltzmannPosterior prior energy action * boltzmannPartition prior energy =\n boltzmannWeight prior energy action", - "statement_sha256": "39e289779c1061cf8454de8d6080d57de6ca73441b8cf1e9d121178418de93a6" - }, - "FEP.ControlledMarkov.boltzmannPosterior_zero_energy": { - "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [ - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "prior" - ], - "role": "typed_binder", - "source": "(prior : FiniteLaw Action)", - "type_source": "FiniteLaw Action", - "visibility": "explicit" - } - ], - "conclusion": "boltzmannPosterior prior (fun _ => 0) = prior", - "context_binders": [ - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "State", - "Action", - "Observation", - "Belief" - ], - "role": "typed_binder", - "source": "{State Action Observation Belief : Type*}", - "type_source": "Type*", - "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype State]", - "type_source": "Fintype State", + "source": "[Nontrivial Internal]", + "type_source": "Nontrivial Internal", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Action]", - "type_source": "Fintype Action", + "source": "[Nontrivial Sensory]", + "type_source": "Nontrivial Sensory", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Observation]", - "type_source": "Fintype Observation", + "source": "[Nontrivial Active]", + "type_source": "Nontrivial Active", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Belief]", - "type_source": "Fintype Belief", + "source": "[Nontrivial External]", + "type_source": "Nontrivial External", "visibility": "instance" } ], "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.active_inference" + "FepSketches.finite_markov_dynamics", + "FepSketches.active_inference", + "FepSketches.decision_risk", + "FepSketches.markov_blanket", + "Mathlib.Analysis.Normed.Algebra.MatrixExponential" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.ControlledMarkov", + "namespace": "FEP.ContinuousTimeMarkov", "namespace_variable_context": [ - "{State Action Observation Belief : Type*}\n [Fintype State] [Fintype Action] [Fintype Observation] [Fintype Belief]" + "{State : Type*} [Fintype State] [Nonempty State] [DecidableEq State]", + "{Internal Sensory Active External : Type*}\n [Fintype Internal] [Fintype Sensory] [Fintype Active] [Fintype External]\n [DecidableEq Internal] [DecidableEq Sensory] [DecidableEq Active]\n [DecidableEq External]\n [Nontrivial Internal] [Nontrivial Sensory]\n [Nontrivial Active] [Nontrivial External]" ], - "preceding_scope_directives": [], - "qualified_name": "FEP.ControlledMarkov.boltzmannPosterior_zero_energy", - "source_line": 242, - "source_owner": "src/fep_lean/formal/controlled_markov.lean", - "statement": "theorem boltzmannPosterior_zero_energy (prior : FiniteLaw Action) :\n boltzmannPosterior prior (fun _ => 0) = prior", - "statement_sha256": "f1a170f6370e7d4dbc2d641310ba40b811200b66ac1584bdcb38469ee6b7b467" + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DecidableEq State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DecidableEq State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DecidableEq State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DecidableEq State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + } + ], + "qualified_name": "FEP.ContinuousTimeMarkov.liftInternalLikelihood_predictive_liftInternalLaw", + "source_line": 991, + "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "statement": "theorem liftInternalLikelihood_predictive_liftInternalLaw\n {Outcome : Type*} [Fintype Outcome]\n (internal : FiniteLaw Bool) (likelihood : FiniteKernel Bool Outcome) :\n (liftInternalLikelihood likelihood).predictive (liftInternalLaw internal) =\n likelihood.predictive internal", + "statement_sha256": "a95be87e2bc9e1640f6091fb5d4f458fa9b77a9d69c4c117486ab76619cee343" }, - "FEP.ControlledMarkov.boolReachablePOMDP_update_sound": { + "FEP.ContinuousTimeMarkov.refreshGenerator_mul_transition": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "belief", - "action", - "observation" + "time" ], "role": "typed_binder", - "source": "(belief action observation : Bool)", - "type_source": "Bool", + "source": "(time : ℝ)", + "type_source": "ℝ", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "hEvidence" + "source", + "target" ], "role": "typed_binder", - "source": "(hEvidence : 0 < actionEvidence\n (boolReachablePOMDP.interpret belief) boolReachablePOMDP.transition\n boolReachablePOMDP.emission action observation)", - "type_source": "0 < actionEvidence\n (boolReachablePOMDP.interpret belief) boolReachablePOMDP.transition\n boolReachablePOMDP.emission action observation", + "source": "(source target : State)", + "type_source": "State", "visibility": "explicit" } ], - "conclusion": "boolReachablePOMDP.interpret\n (boolReachablePOMDP.update belief action observation) =\n actionBeliefUpdate (boolReachablePOMDP.interpret belief)\n boolReachablePOMDP.transition boolReachablePOMDP.emission action observation\n hEvidence", + "conclusion": "(∑ middle,\n refreshRateGenerator source middle *\n refreshTransition time middle target) =\n refreshTransitionDerivative time source target", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "State", - "Action", - "Observation", - "Belief" + "State" ], "role": "typed_binder", - "source": "{State Action Observation Belief : Type*}", + "source": "{State : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -35971,88 +37007,144 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Action]", - "type_source": "Fintype Action", - "visibility": "instance" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype Observation]", - "type_source": "Fintype Observation", + "source": "[Nonempty State]", + "type_source": "Nonempty State", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Belief]", - "type_source": "Fintype Belief", + "source": "[DecidableEq State]", + "type_source": "DecidableEq State", "visibility": "instance" } ], "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.active_inference" + "FepSketches.finite_markov_dynamics", + "FepSketches.active_inference", + "FepSketches.decision_risk", + "FepSketches.markov_blanket", + "Mathlib.Analysis.Normed.Algebra.MatrixExponential" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.ControlledMarkov", + "namespace": "FEP.ContinuousTimeMarkov", "namespace_variable_context": [ - "{State Action Observation Belief : Type*}\n [Fintype State] [Fintype Action] [Fintype Observation] [Fintype Belief]" + "{State : Type*} [Fintype State] [Nonempty State] [DecidableEq State]" ], "preceding_scope_directives": [ { "directive": "omit", "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Fintype State] in" + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DecidableEq State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DecidableEq State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DecidableEq State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" } ], - "qualified_name": "FEP.ControlledMarkov.boolReachablePOMDP_update_sound", - "source_line": 582, - "source_owner": "src/fep_lean/formal/controlled_markov.lean", - "statement": "theorem boolReachablePOMDP_update_sound (belief action observation : Bool)\n (hEvidence : 0 < actionEvidence\n (boolReachablePOMDP.interpret belief) boolReachablePOMDP.transition\n boolReachablePOMDP.emission action observation) :\n boolReachablePOMDP.interpret\n (boolReachablePOMDP.update belief action observation) =\n actionBeliefUpdate (boolReachablePOMDP.interpret belief)\n boolReachablePOMDP.transition boolReachablePOMDP.emission action observation\n hEvidence", - "statement_sha256": "991cdf5d71c884e0fef75bea235957b474e215e58993c85728aa8501f51a03fc" + "qualified_name": "FEP.ContinuousTimeMarkov.refreshGenerator_mul_transition", + "source_line": 556, + "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "statement": "theorem refreshGenerator_mul_transition (time : ℝ)\n (source target : State) :\n (∑ middle,\n refreshRateGenerator source middle *\n refreshTransition time middle target) =\n refreshTransitionDerivative time source target", + "statement_sha256": "50d351aac41f424026e5f7afd468e6e267172da647d5ab88af54b1fafbdaaccc" }, - "FEP.ControlledMarkov.bool_actionBeliefUpdate_eq": { + "FEP.ContinuousTimeMarkov.refreshSemigroup_finiteKL_strict_decrease_of_ne_uniform": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "belief", - "action", - "observation" + "law" ], "role": "typed_binder", - "source": "(belief action observation : Bool)", - "type_source": "Bool", + "source": "(law : FiniteLaw State)", + "type_source": "FiniteLaw State", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "hEvidence" + "time" ], "role": "typed_binder", - "source": "(hEvidence : 0 < actionEvidence (boolBeliefInterpret belief)\n boolActionTransition boolObservationKernel action observation)", - "type_source": "0 < actionEvidence (boolBeliefInterpret belief)\n boolActionTransition boolObservationKernel action observation", + "source": "{time : ℝ}", + "type_source": "ℝ", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hTime" + ], + "role": "typed_binder", + "source": "(hTime : 0 < time)", + "type_source": "0 < time", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hLaw" + ], + "role": "typed_binder", + "source": "(hLaw : law ≠ (FiniteLaw.uniform : FiniteLaw State))", + "type_source": "law ≠ (FiniteLaw.uniform : FiniteLaw State)", "visibility": "explicit" } ], - "conclusion": "actionBeliefUpdate (boolBeliefInterpret belief) boolActionTransition\n boolObservationKernel action observation hEvidence =\n boolBeliefInterpret (boolBeliefUpdate belief action observation)", + "conclusion": "finiteKL\n ((refreshSemigroup.kernel time hTime.le).predictive law)\n (FiniteLaw.uniform : FiniteLaw State) <\n finiteKL law (FiniteLaw.uniform : FiniteLaw State)", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "State", - "Action", - "Observation", - "Belief" + "State" ], "role": "typed_binder", - "source": "{State Action Observation Belief : Type*}", + "source": "{State : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -36068,196 +37160,217 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Action]", - "type_source": "Fintype Action", - "visibility": "instance" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype Observation]", - "type_source": "Fintype Observation", + "source": "[Nonempty State]", + "type_source": "Nonempty State", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Belief]", - "type_source": "Fintype Belief", + "source": "[DecidableEq State]", + "type_source": "DecidableEq State", "visibility": "instance" } ], "declaration_mentions": [ { - "identifier": "actionBeliefUpdate_reconstruction", - "qualified_name": "FEP.ControlledMarkov.actionBeliefUpdate_reconstruction", - "resolution": "exact or same-namespace source identifier", + "candidates": [ + "FEP.FiniteInformation.crossEntropy_uniform" + ], + "identifier": "crossEntropy_uniform", + "resolution": "unresolved lexical scope", "role": "proof_reference" }, { - "identifier": "bool_actionEvidence_eq", - "qualified_name": "FEP.ControlledMarkov.bool_actionEvidence_eq", - "resolution": "exact or same-namespace source identifier", + "candidates": [ + "FEP.FiniteInformation.finiteKL_eq_crossEntropy_sub_entropy" + ], + "identifier": "finiteKL_eq_crossEntropy_sub_entropy", + "resolution": "unresolved lexical scope", "role": "proof_reference" }, { - "identifier": "bool_actionPrediction_eq", - "qualified_name": "FEP.ControlledMarkov.bool_actionPrediction_eq", - "resolution": "exact or same-namespace source identifier", + "candidates": [ + "FEP.FiniteInformation.finiteKL_eq_zero_iff" + ], + "identifier": "finiteKL_eq_zero_iff", + "resolution": "unresolved lexical scope", "role": "proof_reference" }, { - "identifier": "bool_positiveEvidence_observation_eq_action", - "qualified_name": "FEP.ControlledMarkov.bool_positiveEvidence_observation_eq_action", + "candidates": [ + "FEP.FiniteInformation.finiteKL_nonneg" + ], + "identifier": "finiteKL_nonneg", + "resolution": "unresolved lexical scope", + "role": "proof_reference" + }, + { + "candidates": [ + "FEP.FiniteInformation.finiteKL_self" + ], + "identifier": "finiteKL_self", + "resolution": "unresolved lexical scope", + "role": "proof_reference" + }, + { + "identifier": "refreshSemigroup_predictive_mass", + "qualified_name": "FEP.ContinuousTimeMarkov.refreshSemigroup_predictive_mass", "resolution": "exact or same-namespace source identifier", "role": "proof_reference" } ], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.active_inference" + "FepSketches.finite_markov_dynamics", + "FepSketches.active_inference", + "FepSketches.decision_risk", + "FepSketches.markov_blanket", + "Mathlib.Analysis.Normed.Algebra.MatrixExponential" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.ControlledMarkov", + "namespace": "FEP.ContinuousTimeMarkov", "namespace_variable_context": [ - "{State Action Observation Belief : Type*}\n [Fintype State] [Fintype Action] [Fintype Observation] [Fintype Belief]" + "{State : Type*} [Fintype State] [Nonempty State] [DecidableEq State]" ], "preceding_scope_directives": [ { "directive": "omit", "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Fintype State] in" + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DecidableEq State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DecidableEq State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DecidableEq State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DecidableEq State] in" } ], - "qualified_name": "FEP.ControlledMarkov.bool_actionBeliefUpdate_eq", - "source_line": 538, - "source_owner": "src/fep_lean/formal/controlled_markov.lean", - "statement": "theorem bool_actionBeliefUpdate_eq (belief action observation : Bool)\n (hEvidence : 0 < actionEvidence (boolBeliefInterpret belief)\n boolActionTransition boolObservationKernel action observation) :\n actionBeliefUpdate (boolBeliefInterpret belief) boolActionTransition\n boolObservationKernel action observation hEvidence =\n boolBeliefInterpret (boolBeliefUpdate belief action observation)", - "statement_sha256": "b44d25715b746539dca26347931594f583114bcc78682b49d50bf43ce0053467" + "qualified_name": "FEP.ContinuousTimeMarkov.refreshSemigroup_finiteKL_strict_decrease_of_ne_uniform", + "source_line": 760, + "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "statement": "theorem refreshSemigroup_finiteKL_strict_decrease_of_ne_uniform\n (law : FiniteLaw State) {time : ℝ} (hTime : 0 < time)\n (hLaw : law ≠ (FiniteLaw.uniform : FiniteLaw State)) :\n finiteKL\n ((refreshSemigroup.kernel time hTime.le).predictive law)\n (FiniteLaw.uniform : FiniteLaw State) <\n finiteKL law (FiniteLaw.uniform : FiniteLaw State)", + "statement_sha256": "39cb0ec01c6a2dfd88e4774990dd40a9bf658040588d351bac948094861f1595" }, - "FEP.ControlledMarkov.bool_actionEvidence_eq": { + "FEP.ContinuousTimeMarkov.refreshSemigroup_nativeKL_strict_decrease_of_ne_uniform": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "belief", - "action", - "observation" - ], - "role": "typed_binder", - "source": "(belief action observation : Bool)", - "type_source": "Bool", - "visibility": "explicit" - } - ], - "conclusion": "actionEvidence (boolBeliefInterpret belief) boolActionTransition\n boolObservationKernel action observation =\n if observation = action then 1 else 0", - "context_binders": [ - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "State", - "Action", - "Observation", - "Belief" - ], - "role": "typed_binder", - "source": "{State Action Observation Belief : Type*}", - "type_source": "Type*", - "visibility": "implicit" - }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype State]", - "type_source": "Fintype State", + "source": "[MeasurableSpace State]", + "type_source": "MeasurableSpace State", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Action]", - "type_source": "Fintype Action", + "source": "[DiscreteMeasurableSpace State]", + "type_source": "DiscreteMeasurableSpace State", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype Observation]", - "type_source": "Fintype Observation", - "visibility": "instance" + "names": [ + "law" + ], + "role": "typed_binder", + "source": "(law : FiniteLaw State)", + "type_source": "FiniteLaw State", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype Belief]", - "type_source": "Fintype Belief", - "visibility": "instance" - } - ], - "declaration_mentions": [ - { - "identifier": "bool_actionPrediction_eq", - "qualified_name": "FEP.ControlledMarkov.bool_actionPrediction_eq", - "resolution": "exact or same-namespace source identifier", - "role": "proof_reference" - } - ], - "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", - "import_context": [ - "FepSketches.active_inference" - ], - "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.ControlledMarkov", - "namespace_variable_context": [ - "{State Action Observation Belief : Type*}\n [Fintype State] [Fintype Action] [Fintype Observation] [Fintype Belief]" - ], - "preceding_scope_directives": [ + "names": [ + "time" + ], + "role": "typed_binder", + "source": "{time : ℝ}", + "type_source": "ℝ", + "visibility": "implicit" + }, { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Fintype State] in" - } - ], - "qualified_name": "FEP.ControlledMarkov.bool_actionEvidence_eq", - "source_line": 516, - "source_owner": "src/fep_lean/formal/controlled_markov.lean", - "statement": "theorem bool_actionEvidence_eq (belief action observation : Bool) :\n actionEvidence (boolBeliefInterpret belief) boolActionTransition\n boolObservationKernel action observation =\n if observation = action then 1 else 0", - "statement_sha256": "4be1324ea537ccda2a8f6a808a772a35c0bedb282d1686aa09cbe0ca124c4796" - }, - "FEP.ControlledMarkov.bool_actionPrediction_eq": { - "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [ + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hTime" + ], + "role": "typed_binder", + "source": "(hTime : 0 < time)", + "type_source": "0 < time", + "visibility": "explicit" + }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "belief", - "action" + "hLaw" ], "role": "typed_binder", - "source": "(belief action : Bool)", - "type_source": "Bool", + "source": "(hLaw : law ≠ (FiniteLaw.uniform : FiniteLaw State))", + "type_source": "law ≠ (FiniteLaw.uniform : FiniteLaw State)", "visibility": "explicit" } ], - "conclusion": "actionPrediction (boolBeliefInterpret belief) boolActionTransition action =\n FiniteLaw.pointMass action", + "conclusion": "InformationTheory.klDiv\n (FEP.NativeBlanket.embeddedLaw\n ((refreshSemigroup.kernel time hTime.le).predictive law))\n (FEP.NativeBlanket.embeddedLaw\n (FiniteLaw.uniform : FiniteLaw State)) <\n InformationTheory.klDiv\n (FEP.NativeBlanket.embeddedLaw law)\n (FEP.NativeBlanket.embeddedLaw\n (FiniteLaw.uniform : FiniteLaw State))", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "State", - "Action", - "Observation", - "Belief" + "State" ], "role": "typed_binder", - "source": "{State Action Observation Belief : Type*}", + "source": "{State : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -36273,88 +37386,175 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Action]", - "type_source": "Fintype Action", + "source": "[Nonempty State]", + "type_source": "Nonempty State", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Observation]", - "type_source": "Fintype Observation", + "source": "[DecidableEq State]", + "type_source": "DecidableEq State", "visibility": "instance" + } + ], + "declaration_mentions": [ + { + "identifier": "FEP.DecisionRisk.weightedDirac_klDiv_eq_finiteKL_of_fullSupport", + "qualified_name": "FEP.DecisionRisk.weightedDirac_klDiv_eq_finiteKL_of_fullSupport", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" }, { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype Belief]", - "type_source": "Fintype Belief", - "visibility": "instance" + "candidates": [ + "FEP.FiniteInformation.finiteKL_nonneg" + ], + "identifier": "finiteKL_nonneg", + "resolution": "unresolved lexical scope", + "role": "proof_reference" + }, + { + "identifier": "refreshSemigroup_finiteKL_strict_decrease_of_ne_uniform", + "qualified_name": "FEP.ContinuousTimeMarkov.refreshSemigroup_finiteKL_strict_decrease_of_ne_uniform", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" } ], - "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.active_inference" + "FepSketches.finite_markov_dynamics", + "FepSketches.active_inference", + "FepSketches.decision_risk", + "FepSketches.markov_blanket", + "Mathlib.Analysis.Normed.Algebra.MatrixExponential" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.ControlledMarkov", + "namespace": "FEP.ContinuousTimeMarkov", "namespace_variable_context": [ - "{State Action Observation Belief : Type*}\n [Fintype State] [Fintype Action] [Fintype Observation] [Fintype Belief]" + "{State : Type*} [Fintype State] [Nonempty State] [DecidableEq State]" ], "preceding_scope_directives": [ { "directive": "omit", "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Fintype State] in" - } + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DecidableEq State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DecidableEq State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DecidableEq State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DecidableEq State] in" + } ], - "qualified_name": "FEP.ControlledMarkov.bool_actionPrediction_eq", - "source_line": 505, - "source_owner": "src/fep_lean/formal/controlled_markov.lean", - "statement": "theorem bool_actionPrediction_eq (belief action : Bool) :\n actionPrediction (boolBeliefInterpret belief) boolActionTransition action =\n FiniteLaw.pointMass action", - "statement_sha256": "bc8fea5d13d052d808fb89d3ca2414494fbead026236a8e2bc42c16630f54174" + "qualified_name": "FEP.ContinuousTimeMarkov.refreshSemigroup_nativeKL_strict_decrease_of_ne_uniform", + "source_line": 857, + "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "statement": "theorem refreshSemigroup_nativeKL_strict_decrease_of_ne_uniform\n [MeasurableSpace State] [DiscreteMeasurableSpace State]\n (law : FiniteLaw State) {time : ℝ} (hTime : 0 < time)\n (hLaw : law ≠ (FiniteLaw.uniform : FiniteLaw State)) :\n InformationTheory.klDiv\n (FEP.NativeBlanket.embeddedLaw\n ((refreshSemigroup.kernel time hTime.le).predictive law))\n (FEP.NativeBlanket.embeddedLaw\n (FiniteLaw.uniform : FiniteLaw State)) <\n InformationTheory.klDiv\n (FEP.NativeBlanket.embeddedLaw law)\n (FEP.NativeBlanket.embeddedLaw\n (FiniteLaw.uniform : FiniteLaw State))", + "statement_sha256": "49b2c06a8ec96e883a4dc749fd8bb015f4c572c25430586078834bb86e1d6a7d" }, - "FEP.ControlledMarkov.bool_positiveEvidence_observation_eq_action": { + "FEP.ContinuousTimeMarkov.refreshSemigroup_predictive_mass": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "belief", - "action", - "observation" + "law" ], "role": "typed_binder", - "source": "(belief action observation : Bool)", - "type_source": "Bool", + "source": "(law : FiniteLaw State)", + "type_source": "FiniteLaw State", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "hEvidence" + "time" ], "role": "typed_binder", - "source": "(hEvidence : 0 < actionEvidence (boolBeliefInterpret belief)\n boolActionTransition boolObservationKernel action observation)", - "type_source": "0 < actionEvidence (boolBeliefInterpret belief)\n boolActionTransition boolObservationKernel action observation", + "source": "{time : ℝ}", + "type_source": "ℝ", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hTime" + ], + "role": "typed_binder", + "source": "(hTime : 0 ≤ time)", + "type_source": "0 ≤ time", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "target" + ], + "role": "typed_binder", + "source": "(target : State)", + "type_source": "State", "visibility": "explicit" } ], - "conclusion": "observation = action", + "conclusion": "(refreshSemigroup.kernel time hTime).predictive law target =\n refreshRho time * law target +\n (1 - refreshRho time) *\n (FiniteLaw.uniform : FiniteLaw State) target", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "State", - "Action", - "Observation", - "Belief" + "State" ], "role": "typed_binder", - "source": "{State Action Observation Belief : Type*}", + "source": "{State : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -36370,103 +37570,103 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Action]", - "type_source": "Fintype Action", - "visibility": "instance" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype Observation]", - "type_source": "Fintype Observation", + "source": "[Nonempty State]", + "type_source": "Nonempty State", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Belief]", - "type_source": "Fintype Belief", + "source": "[DecidableEq State]", + "type_source": "DecidableEq State", "visibility": "instance" } ], - "declaration_mentions": [ - { - "identifier": "bool_actionEvidence_eq", - "qualified_name": "FEP.ControlledMarkov.bool_actionEvidence_eq", - "resolution": "exact or same-namespace source identifier", - "role": "proof_reference" - } - ], + "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.active_inference" + "FepSketches.finite_markov_dynamics", + "FepSketches.active_inference", + "FepSketches.decision_risk", + "FepSketches.markov_blanket", + "Mathlib.Analysis.Normed.Algebra.MatrixExponential" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.ControlledMarkov", + "namespace": "FEP.ContinuousTimeMarkov", "namespace_variable_context": [ - "{State Action Observation Belief : Type*}\n [Fintype State] [Fintype Action] [Fintype Observation] [Fintype Belief]" + "{State : Type*} [Fintype State] [Nonempty State] [DecidableEq State]" ], "preceding_scope_directives": [ { "directive": "omit", "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Fintype State] in" - } - ], - "qualified_name": "FEP.ControlledMarkov.bool_positiveEvidence_observation_eq_action", - "source_line": 527, - "source_owner": "src/fep_lean/formal/controlled_markov.lean", - "statement": "theorem bool_positiveEvidence_observation_eq_action\n (belief action observation : Bool)\n (hEvidence : 0 < actionEvidence (boolBeliefInterpret belief)\n boolActionTransition boolObservationKernel action observation) :\n observation = action", - "statement_sha256": "37876acc8b32e3603dbc7636b8e854dfbc274f5abd9b04699c3301103fc8e620" - }, - "FEP.ControlledMarkov.controlPosterior_sum_one": { - "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [ + "source": "omit [Nonempty State] in" + }, { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "prior" - ], - "role": "typed_binder", - "source": "(prior : FiniteLaw Action)", - "type_source": "FiniteLaw Action", - "visibility": "explicit" + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DecidableEq State] in" }, { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "precision" - ], - "role": "typed_binder", - "source": "(precision : ℝ)", - "type_source": "ℝ", - "visibility": "explicit" + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" }, { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "cost" - ], - "role": "typed_binder", - "source": "(cost : Action → ℝ)", - "type_source": "Action → ℝ", - "visibility": "explicit" + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DecidableEq State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DecidableEq State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" } ], - "conclusion": "∑ action, controlPosterior prior precision cost action = 1", + "qualified_name": "FEP.ContinuousTimeMarkov.refreshSemigroup_predictive_mass", + "source_line": 650, + "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "statement": "theorem refreshSemigroup_predictive_mass (law : FiniteLaw State)\n {time : ℝ} (hTime : 0 ≤ time) (target : State) :\n (refreshSemigroup.kernel time hTime).predictive law target =\n refreshRho time * law target +\n (1 - refreshRho time) *\n (FiniteLaw.uniform : FiniteLaw State) target", + "statement_sha256": "b4e4b94c289647b7d229f024211b926d2026498d63444458bf5c12863d4455a5" + }, + "FEP.ContinuousTimeMarkov.refreshSemigroup_uniform_stationary": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [], + "conclusion": "refreshSemigroup.IsStationary (FiniteLaw.uniform : FiniteLaw State)", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "State", - "Action", - "Observation", - "Belief" + "State" ], "role": "typed_binder", - "source": "{State Action Observation Belief : Type*}", + "source": "{State : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -36482,80 +37682,126 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Action]", - "type_source": "Fintype Action", - "visibility": "instance" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype Observation]", - "type_source": "Fintype Observation", + "source": "[Nonempty State]", + "type_source": "Nonempty State", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Belief]", - "type_source": "Fintype Belief", + "source": "[DecidableEq State]", + "type_source": "DecidableEq State", "visibility": "instance" } ], "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.active_inference" + "FepSketches.finite_markov_dynamics", + "FepSketches.active_inference", + "FepSketches.decision_risk", + "FepSketches.markov_blanket", + "Mathlib.Analysis.Normed.Algebra.MatrixExponential" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.ControlledMarkov", + "namespace": "FEP.ContinuousTimeMarkov", "namespace_variable_context": [ - "{State Action Observation Belief : Type*}\n [Fintype State] [Fintype Action] [Fintype Observation] [Fintype Belief]" + "{State : Type*} [Fintype State] [Nonempty State] [DecidableEq State]" ], - "preceding_scope_directives": [], - "qualified_name": "FEP.ControlledMarkov.controlPosterior_sum_one", - "source_line": 255, - "source_owner": "src/fep_lean/formal/controlled_markov.lean", - "statement": "theorem controlPosterior_sum_one (prior : FiniteLaw Action)\n (precision : ℝ) (cost : Action → ℝ) :\n ∑ action, controlPosterior prior precision cost action = 1", - "statement_sha256": "57519db825237ef574843f4dcac281be27fe9a93f36c4448e0a08f7fb238eb65" + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DecidableEq State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DecidableEq State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DecidableEq State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + } + ], + "qualified_name": "FEP.ContinuousTimeMarkov.refreshSemigroup_uniform_stationary", + "source_line": 715, + "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "statement": "theorem refreshSemigroup_uniform_stationary :\n refreshSemigroup.IsStationary (FiniteLaw.uniform : FiniteLaw State)", + "statement_sha256": "fd08a300d83b75b24f3268b2a0b88780c22e4cb4cd0614f7072597e5fe0025fc" }, - "FEP.ControlledMarkov.controlPosterior_zero_cost": { + "FEP.ContinuousTimeMarkov.refreshTransition_add": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "prior" + "left", + "right" ], "role": "typed_binder", - "source": "(prior : FiniteLaw Action)", - "type_source": "FiniteLaw Action", + "source": "(left right : ℝ)", + "type_source": "ℝ", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "precision" + "source", + "target" ], "role": "typed_binder", - "source": "(precision : ℝ)", - "type_source": "ℝ", + "source": "(source target : State)", + "type_source": "State", "visibility": "explicit" } ], - "conclusion": "controlPosterior prior precision (fun _ => 0) = prior", + "conclusion": "refreshTransition (left + right) source target =\n ∑ middle,\n refreshTransition left source middle *\n refreshTransition right middle target", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "State", - "Action", - "Observation", - "Belief" + "State" ], "role": "typed_binder", - "source": "{State Action Observation Belief : Type*}", + "source": "{State : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -36571,97 +37817,120 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Action]", - "type_source": "Fintype Action", - "visibility": "instance" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype Observation]", - "type_source": "Fintype Observation", + "source": "[Nonempty State]", + "type_source": "Nonempty State", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Belief]", - "type_source": "Fintype Belief", + "source": "[DecidableEq State]", + "type_source": "DecidableEq State", "visibility": "instance" } ], - "declaration_mentions": [ - { - "identifier": "boltzmannPosterior_zero_energy", - "qualified_name": "FEP.ControlledMarkov.boltzmannPosterior_zero_energy", - "resolution": "exact or same-namespace source identifier", - "role": "proof_reference" - } - ], + "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.active_inference" + "FepSketches.finite_markov_dynamics", + "FepSketches.active_inference", + "FepSketches.decision_risk", + "FepSketches.markov_blanket", + "Mathlib.Analysis.Normed.Algebra.MatrixExponential" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.ControlledMarkov", + "namespace": "FEP.ContinuousTimeMarkov", "namespace_variable_context": [ - "{State Action Observation Belief : Type*}\n [Fintype State] [Fintype Action] [Fintype Observation] [Fintype Belief]" + "{State : Type*} [Fintype State] [Nonempty State] [DecidableEq State]" ], - "preceding_scope_directives": [], - "qualified_name": "FEP.ControlledMarkov.controlPosterior_zero_cost", - "source_line": 261, - "source_owner": "src/fep_lean/formal/controlled_markov.lean", - "statement": "theorem controlPosterior_zero_cost (prior : FiniteLaw Action)\n (precision : ℝ) :\n controlPosterior prior precision (fun _ => 0) = prior", - "statement_sha256": "85e81a42b7a9b06510458da4c6db5188805f198e081b1be5419a092b3007db26" + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DecidableEq State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DecidableEq State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DecidableEq State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + } + ], + "qualified_name": "FEP.ContinuousTimeMarkov.refreshTransition_add", + "source_line": 487, + "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "statement": "theorem refreshTransition_add (left right : ℝ) (source target : State) :\n refreshTransition (left + right) source target =\n ∑ middle,\n refreshTransition left source middle *\n refreshTransition right middle target", + "statement_sha256": "5b7335611916435d94c2745987632f009e3f0656371105a3def4c7efe31c0382" }, - "FEP.ControlledMarkov.controlledKernel_sum_one": { + "FEP.ContinuousTimeMarkov.refreshTransition_hasDerivAt": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "transition" - ], - "role": "typed_binder", - "source": "(transition : ControlledKernel State Action)", - "type_source": "ControlledKernel State Action", - "visibility": "explicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "action" + "time" ], "role": "typed_binder", - "source": "(action : Action)", - "type_source": "Action", + "source": "(time : ℝ)", + "type_source": "ℝ", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "state" + "source", + "target" ], "role": "typed_binder", - "source": "(state : State)", + "source": "(source target : State)", "type_source": "State", "visibility": "explicit" } ], - "conclusion": "∑ nextState, transition action state nextState = 1", + "conclusion": "HasDerivAt (fun candidate ↦ refreshTransition candidate source target)\n (refreshTransitionDerivative time source target) time", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "State", - "Action", - "Observation", - "Belief" + "State" ], "role": "typed_binder", - "source": "{State Action Observation Belief : Type*}", + "source": "{State : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -36677,101 +37946,125 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Action]", - "type_source": "Fintype Action", - "visibility": "instance" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype Observation]", - "type_source": "Fintype Observation", + "source": "[Nonempty State]", + "type_source": "Nonempty State", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Belief]", - "type_source": "Fintype Belief", + "source": "[DecidableEq State]", + "type_source": "DecidableEq State", "visibility": "instance" } ], "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.active_inference" + "FepSketches.finite_markov_dynamics", + "FepSketches.active_inference", + "FepSketches.decision_risk", + "FepSketches.markov_blanket", + "Mathlib.Analysis.Normed.Algebra.MatrixExponential" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.ControlledMarkov", + "namespace": "FEP.ContinuousTimeMarkov", "namespace_variable_context": [ - "{State Action Observation Belief : Type*}\n [Fintype State] [Fintype Action] [Fintype Observation] [Fintype Belief]" + "{State : Type*} [Fintype State] [Nonempty State] [DecidableEq State]" ], - "preceding_scope_directives": [], - "qualified_name": "FEP.ControlledMarkov.controlledKernel_sum_one", - "source_line": 28, - "source_owner": "src/fep_lean/formal/controlled_markov.lean", - "statement": "theorem controlledKernel_sum_one\n (transition : ControlledKernel State Action)\n (action : Action) (state : State) :\n ∑ nextState, transition action state nextState = 1", - "statement_sha256": "1c306d8e03c1016377701655161709999c39111bda5dd9d2c713554cc8598f8b" - }, - "FEP.ControlledMarkov.desirabilityStep_nonneg": { - "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [ + "preceding_scope_directives": [ { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "passive" - ], - "role": "typed_binder", - "source": "(passive : FiniteKernel State State)", - "type_source": "FiniteKernel State State", - "visibility": "explicit" + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" }, { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "stateCost", - "desirability" - ], - "role": "typed_binder", - "source": "(stateCost desirability : State → ℝ)", - "type_source": "State → ℝ", - "visibility": "explicit" + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DecidableEq State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DecidableEq State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DecidableEq State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + } + ], + "qualified_name": "FEP.ContinuousTimeMarkov.refreshTransition_hasDerivAt", + "source_line": 544, + "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "statement": "theorem refreshTransition_hasDerivAt (time : ℝ)\n (source target : State) :\n HasDerivAt (fun candidate ↦ refreshTransition candidate source target)\n (refreshTransitionDerivative time source target) time", + "statement_sha256": "4059368ac72f5f1bf5418b9b445953e45e8084e246f7bf8cf822f8d41b93ee36" + }, + "FEP.ContinuousTimeMarkov.refreshTransition_mul_generator": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "hDesirability" + "time" ], "role": "typed_binder", - "source": "(hDesirability : ∀ state, 0 ≤ desirability state)", - "type_source": "∀ state, 0 ≤ desirability state", + "source": "(time : ℝ)", + "type_source": "ℝ", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "state" + "source", + "target" ], "role": "typed_binder", - "source": "(state : State)", + "source": "(source target : State)", "type_source": "State", "visibility": "explicit" } ], - "conclusion": "0 ≤ desirabilityStep passive stateCost desirability state", + "conclusion": "(∑ middle,\n refreshTransition time source middle *\n refreshRateGenerator middle target) =\n refreshTransitionDerivative time source target", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "State", - "Action", - "Observation", - "Belief" + "State" ], "role": "typed_binder", - "source": "{State Action Observation Belief : Type*}", + "source": "{State : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -36787,86 +38080,135 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Action]", - "type_source": "Fintype Action", - "visibility": "instance" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype Observation]", - "type_source": "Fintype Observation", + "source": "[Nonempty State]", + "type_source": "Nonempty State", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Belief]", - "type_source": "Fintype Belief", + "source": "[DecidableEq State]", + "type_source": "DecidableEq State", "visibility": "instance" } ], "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.active_inference" + "FepSketches.finite_markov_dynamics", + "FepSketches.active_inference", + "FepSketches.decision_risk", + "FepSketches.markov_blanket", + "Mathlib.Analysis.Normed.Algebra.MatrixExponential" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.ControlledMarkov", + "namespace": "FEP.ContinuousTimeMarkov", "namespace_variable_context": [ - "{State Action Observation Belief : Type*}\n [Fintype State] [Fintype Action] [Fintype Observation] [Fintype Belief]" + "{State : Type*} [Fintype State] [Nonempty State] [DecidableEq State]" ], "preceding_scope_directives": [ { "directive": "omit", "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Fintype State] in" + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DecidableEq State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DecidableEq State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DecidableEq State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" } ], - "qualified_name": "FEP.ControlledMarkov.desirabilityStep_nonneg", - "source_line": 375, - "source_owner": "src/fep_lean/formal/controlled_markov.lean", - "statement": "theorem desirabilityStep_nonneg (passive : FiniteKernel State State)\n (stateCost desirability : State → ℝ)\n (hDesirability : ∀ state, 0 ≤ desirability state) (state : State) :\n 0 ≤ desirabilityStep passive stateCost desirability state", - "statement_sha256": "f0940293feb1d7c36ca769ac86fcaf0a6dfda02d31418a46e99a32319a203458" + "qualified_name": "FEP.ContinuousTimeMarkov.refreshTransition_mul_generator", + "source_line": 594, + "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "statement": "theorem refreshTransition_mul_generator (time : ℝ)\n (source target : State) :\n (∑ middle,\n refreshTransition time source middle *\n refreshRateGenerator middle target) =\n refreshTransitionDerivative time source target", + "statement_sha256": "4031a4221a1a8a3fdd15b427112d706572cc2fbbde2bede10a7643d1572e2de3" }, - "FEP.ControlledMarkov.desirabilityStep_zero_cost_one": { + "FEP.ContinuousTimeMarkov.refreshTransition_nonneg": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "passive" + "time" ], "role": "typed_binder", - "source": "(passive : FiniteKernel State State)", - "type_source": "FiniteKernel State State", + "source": "{time : ℝ}", + "type_source": "ℝ", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hTime" + ], + "role": "typed_binder", + "source": "(hTime : 0 ≤ time)", + "type_source": "0 ≤ time", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "state" + "source", + "target" ], "role": "typed_binder", - "source": "(state : State)", + "source": "(source target : State)", "type_source": "State", "visibility": "explicit" } ], - "conclusion": "desirabilityStep passive (fun _ => 0) (fun _ => 1) state = 1", + "conclusion": "0 ≤ refreshTransition time source target", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "State", - "Action", - "Observation", - "Belief" + "State" ], "role": "typed_binder", - "source": "{State Action Observation Belief : Type*}", + "source": "{State : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -36882,102 +38224,125 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Action]", - "type_source": "Fintype Action", - "visibility": "instance" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype Observation]", - "type_source": "Fintype Observation", + "source": "[Nonempty State]", + "type_source": "Nonempty State", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Belief]", - "type_source": "Fintype Belief", + "source": "[DecidableEq State]", + "type_source": "DecidableEq State", "visibility": "instance" } ], "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.active_inference" + "FepSketches.finite_markov_dynamics", + "FepSketches.active_inference", + "FepSketches.decision_risk", + "FepSketches.markov_blanket", + "Mathlib.Analysis.Normed.Algebra.MatrixExponential" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.ControlledMarkov", + "namespace": "FEP.ContinuousTimeMarkov", "namespace_variable_context": [ - "{State Action Observation Belief : Type*}\n [Fintype State] [Fintype Action] [Fintype Observation] [Fintype Belief]" + "{State : Type*} [Fintype State] [Nonempty State] [DecidableEq State]" ], "preceding_scope_directives": [ { "directive": "omit", "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Fintype State] in" + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DecidableEq State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DecidableEq State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DecidableEq State] in" } ], - "qualified_name": "FEP.ControlledMarkov.desirabilityStep_zero_cost_one", - "source_line": 386, - "source_owner": "src/fep_lean/formal/controlled_markov.lean", - "statement": "theorem desirabilityStep_zero_cost_one (passive : FiniteKernel State State)\n (state : State) :\n desirabilityStep passive (fun _ => 0) (fun _ => 1) state = 1", - "statement_sha256": "4dca41fe0a826905de41f969a8f5baeeef42a264aad4b4d198789a7f796f804c" + "qualified_name": "FEP.ContinuousTimeMarkov.refreshTransition_nonneg", + "source_line": 443, + "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "statement": "theorem refreshTransition_nonneg {time : ℝ} (hTime : 0 ≤ time)\n (source target : State) : 0 ≤ refreshTransition time source target", + "statement_sha256": "28b171e34c63676011c12bf1ac2e0c182cf9ace636810148ad276652c2957331" }, - "FEP.ControlledMarkov.exists_finite_minimizer": { + "FEP.ContinuousTimeMarkov.refreshTransition_pos": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "ι" + "time" ], "role": "typed_binder", - "source": "{ι : Type*}", - "type_source": "Type*", + "source": "{time : ℝ}", + "type_source": "ℝ", "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype ι]", - "type_source": "Fintype ι", - "visibility": "instance" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Nonempty ι]", - "type_source": "Nonempty ι", - "visibility": "instance" + "names": [ + "hTime" + ], + "role": "typed_binder", + "source": "(hTime : 0 < time)", + "type_source": "0 < time", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "objective" + "source", + "target" ], "role": "typed_binder", - "source": "(objective : ι → ℝ)", - "type_source": "ι → ℝ", + "source": "(source target : State)", + "type_source": "State", "visibility": "explicit" } ], - "conclusion": "∃ minimizer, ∀ alternative, objective minimizer ≤ objective alternative", + "conclusion": "0 < refreshTransition time source target", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "State", - "Action", - "Observation", - "Belief" + "State" ], "role": "typed_binder", - "source": "{State Action Observation Belief : Type*}", + "source": "{State : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -36993,112 +38358,114 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Action]", - "type_source": "Fintype Action", - "visibility": "instance" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype Observation]", - "type_source": "Fintype Observation", + "source": "[Nonempty State]", + "type_source": "Nonempty State", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Belief]", - "type_source": "Fintype Belief", + "source": "[DecidableEq State]", + "type_source": "DecidableEq State", "visibility": "instance" } ], "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.active_inference" + "FepSketches.finite_markov_dynamics", + "FepSketches.active_inference", + "FepSketches.decision_risk", + "FepSketches.markov_blanket", + "Mathlib.Analysis.Normed.Algebra.MatrixExponential" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.ControlledMarkov", + "namespace": "FEP.ContinuousTimeMarkov", "namespace_variable_context": [ - "{State Action Observation Belief : Type*}\n [Fintype State] [Fintype Action] [Fintype Observation] [Fintype Belief]" + "{State : Type*} [Fintype State] [Nonempty State] [DecidableEq State]" ], "preceding_scope_directives": [ { "directive": "omit", "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Fintype State] in" - } - ], - "qualified_name": "FEP.ControlledMarkov.exists_finite_minimizer", - "source_line": 395, - "source_owner": "src/fep_lean/formal/controlled_markov.lean", - "statement": "theorem exists_finite_minimizer {ι : Type*} [Fintype ι] [Nonempty ι]\n (objective : ι → ℝ) :\n ∃ minimizer, ∀ alternative, objective minimizer ≤ objective alternative", - "statement_sha256": "15f6d60894af56c03b0d782710b64bca417bccd7b5b4094d94b0c1764875c3cb" - }, - "FEP.ControlledMarkov.finiteArgmin_le": { - "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [ + "source": "omit [Nonempty State] in" + }, { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "ι" - ], - "role": "typed_binder", - "source": "{ι : Type*}", - "type_source": "Type*", - "visibility": "implicit" + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DecidableEq State] in" }, { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype ι]", - "type_source": "Fintype ι", - "visibility": "instance" + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" }, { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Nonempty ι]", - "type_source": "Nonempty ι", - "visibility": "instance" + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DecidableEq State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DecidableEq State] in" + } + ], + "qualified_name": "FEP.ContinuousTimeMarkov.refreshTransition_pos", + "source_line": 456, + "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "statement": "theorem refreshTransition_pos {time : ℝ} (hTime : 0 < time)\n (source target : State) : 0 < refreshTransition time source target", + "statement_sha256": "ab02c9dbcd76eb448aa1fe5e96569f64dcf2c3f46dd6d056aa2212963cdf9c9c" + }, + "FEP.ContinuousTimeMarkov.refreshTransition_sum_one": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "objective" + "time" ], "role": "typed_binder", - "source": "(objective : ι → ℝ)", - "type_source": "ι → ℝ", + "source": "(time : ℝ)", + "type_source": "ℝ", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "alternative" + "source" ], "role": "typed_binder", - "source": "(alternative : ι)", - "type_source": "ι", + "source": "(source : State)", + "type_source": "State", "visibility": "explicit" } ], - "conclusion": "objective (finiteArgmin objective) ≤ objective alternative", + "conclusion": "∑ target, refreshTransition time source target = 1", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "State", - "Action", - "Observation", - "Belief" + "State" ], "role": "typed_binder", - "source": "{State Action Observation Belief : Type*}", + "source": "{State : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -37114,131 +38481,105 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Action]", - "type_source": "Fintype Action", - "visibility": "instance" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype Observation]", - "type_source": "Fintype Observation", + "source": "[Nonempty State]", + "type_source": "Nonempty State", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Belief]", - "type_source": "Fintype Belief", + "source": "[DecidableEq State]", + "type_source": "DecidableEq State", "visibility": "instance" } ], - "declaration_mentions": [ - { - "identifier": "exists_finite_minimizer", - "qualified_name": "FEP.ControlledMarkov.exists_finite_minimizer", - "resolution": "exact or same-namespace source identifier", - "role": "proof_reference" - } - ], + "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.active_inference" + "FepSketches.finite_markov_dynamics", + "FepSketches.active_inference", + "FepSketches.decision_risk", + "FepSketches.markov_blanket", + "Mathlib.Analysis.Normed.Algebra.MatrixExponential" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.ControlledMarkov", + "namespace": "FEP.ContinuousTimeMarkov", "namespace_variable_context": [ - "{State Action Observation Belief : Type*}\n [Fintype State] [Fintype Action] [Fintype Observation] [Fintype Belief]" + "{State : Type*} [Fintype State] [Nonempty State] [DecidableEq State]" ], "preceding_scope_directives": [ { "directive": "omit", "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Fintype State] in" - } - ], - "qualified_name": "FEP.ControlledMarkov.finiteArgmin_le", - "source_line": 412, - "source_owner": "src/fep_lean/formal/controlled_markov.lean", - "statement": "theorem finiteArgmin_le {ι : Type*} [Fintype ι] [Nonempty ι]\n (objective : ι → ℝ) (alternative : ι) :\n objective (finiteArgmin objective) ≤ objective alternative", - "statement_sha256": "5a5d8669c3d09d4e2b8ca33716a681ecd1fdff7638184b108b6c05def20121f8" - }, - "FEP.ControlledMarkov.reachableBelief_policyValue_eq": { - "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [ + "source": "omit [Nonempty State] in" + }, { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[DecidableEq Belief]", - "type_source": "DecidableEq Belief", - "visibility": "instance" + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DecidableEq State] in" }, { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "model" - ], - "role": "typed_binder", - "source": "(model : ReachableBeliefPOMDP Belief State Action Observation)", - "type_source": "ReachableBeliefPOMDP Belief State Action Observation", - "visibility": "explicit" + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" }, { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "stateCost" - ], - "role": "typed_binder", - "source": "(stateCost : State → Action → ℝ)", - "type_source": "State → Action → ℝ", - "visibility": "explicit" + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" }, { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "policy" - ], - "role": "typed_binder", - "source": "(policy : ℕ → Belief → Action)", - "type_source": "ℕ → Belief → Action", - "visibility": "explicit" + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" }, { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "horizon" - ], - "role": "typed_binder", - "source": "(horizon : ℕ)", - "type_source": "ℕ", - "visibility": "explicit" + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DecidableEq State] in" }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DecidableEq State] in" + } + ], + "qualified_name": "FEP.ContinuousTimeMarkov.refreshTransition_sum_one", + "source_line": 471, + "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "statement": "theorem refreshTransition_sum_one (time : ℝ) (source : State) :\n ∑ target, refreshTransition time source target = 1", + "statement_sha256": "febb83b782fc8823ec37c5487fbdb0a75b2ef23e06a80bffd7584e68fa82beaa" + }, + "FEP.ContinuousTimeMarkov.refreshTransition_zero": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "belief" + "source", + "target" ], "role": "typed_binder", - "source": "(belief : Belief)", - "type_source": "Belief", + "source": "(source target : State)", + "type_source": "State", "visibility": "explicit" } ], - "conclusion": "reducedPolicyValue model stateCost policy horizon belief =\n interpretedPolicyValue model stateCost policy horizon belief", + "conclusion": "refreshTransition 0 source target =\n if source = target then 1 else 0", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "State", - "Action", - "Observation", - "Belief" + "State" ], "role": "typed_binder", - "source": "{State Action Observation Belief : Type*}", + "source": "{State : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -37254,83 +38595,250 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Action]", - "type_source": "Fintype Action", + "source": "[Nonempty State]", + "type_source": "Nonempty State", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Observation]", - "type_source": "Fintype Observation", + "source": "[DecidableEq State]", + "type_source": "DecidableEq State", "visibility": "instance" + } + ], + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.finite_markov_dynamics", + "FepSketches.active_inference", + "FepSketches.decision_risk", + "FepSketches.markov_blanket", + "Mathlib.Analysis.Normed.Algebra.MatrixExponential" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.ContinuousTimeMarkov", + "namespace_variable_context": [ + "{State : Type*} [Fintype State] [Nonempty State] [DecidableEq State]" + ], + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" }, { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype Belief]", - "type_source": "Fintype Belief", - "visibility": "instance" + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DecidableEq State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DecidableEq State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DecidableEq State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" } ], + "qualified_name": "FEP.ContinuousTimeMarkov.refreshTransition_zero", + "source_line": 481, + "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "statement": "theorem refreshTransition_zero (source target : State) :\n refreshTransition 0 source target =\n if source = target then 1 else 0", + "statement_sha256": "2a90db7283b1abaf66bd3f7475d93e685e2441c47e7a4d9ce7663e704c6b8440" + }, + "FEP.ContinuousTimeMarkov.threeCycle_current_zero_one": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [], + "conclusion": "threeCycleGenerator.probabilityCurrent threeCycleStationaryLaw\n (0 : Fin 3) (1 : Fin 3) = 1 / 3", + "context_binders": [], "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.active_inference" + "FepSketches.finite_markov_dynamics", + "FepSketches.active_inference", + "FepSketches.decision_risk", + "FepSketches.markov_blanket", + "Mathlib.Analysis.Normed.Algebra.MatrixExponential" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.ControlledMarkov", - "namespace_variable_context": [ - "{State Action Observation Belief : Type*}\n [Fintype State] [Fintype Action] [Fintype Observation] [Fintype Belief]" + "namespace": "FEP.ContinuousTimeMarkov", + "namespace_variable_context": [], + "preceding_scope_directives": [], + "qualified_name": "FEP.ContinuousTimeMarkov.threeCycle_current_zero_one", + "source_line": 318, + "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "statement": "theorem threeCycle_current_zero_one :\n threeCycleGenerator.probabilityCurrent threeCycleStationaryLaw\n (0 : Fin 3) (1 : Fin 3) = 1 / 3", + "statement_sha256": "25403a2c47fa7a5980050ee56d296d3f943821ca1d9065edef7af206f3d0bf3c" + }, + "FEP.ContinuousTimeMarkov.threeCycle_current_zero_one_ne_zero": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [], + "conclusion": "threeCycleGenerator.probabilityCurrent threeCycleStationaryLaw\n (0 : Fin 3) (1 : Fin 3) ≠ 0", + "context_binders": [], + "declaration_mentions": [ + { + "identifier": "threeCycle_current_zero_one", + "qualified_name": "FEP.ContinuousTimeMarkov.threeCycle_current_zero_one", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + } + ], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.finite_markov_dynamics", + "FepSketches.active_inference", + "FepSketches.decision_risk", + "FepSketches.markov_blanket", + "Mathlib.Analysis.Normed.Algebra.MatrixExponential" ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.ContinuousTimeMarkov", + "namespace_variable_context": [], "preceding_scope_directives": [], - "qualified_name": "FEP.ControlledMarkov.reachableBelief_policyValue_eq", - "source_line": 171, - "source_owner": "src/fep_lean/formal/controlled_markov.lean", - "statement": "theorem reachableBelief_policyValue_eq [DecidableEq Belief]\n (model : ReachableBeliefPOMDP Belief State Action Observation)\n (stateCost : State → Action → ℝ) (policy : ℕ → Belief → Action)\n (horizon : ℕ) (belief : Belief) :\n reducedPolicyValue model stateCost policy horizon belief =\n interpretedPolicyValue model stateCost policy horizon belief", - "statement_sha256": "2933a0e9dcfa32545c630a3a24543934ecf17f9a63bf045e03a1d5cadf0aa92f" + "qualified_name": "FEP.ContinuousTimeMarkov.threeCycle_current_zero_one_ne_zero", + "source_line": 324, + "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "statement": "theorem threeCycle_current_zero_one_ne_zero :\n threeCycleGenerator.probabilityCurrent threeCycleStationaryLaw\n (0 : Fin 3) (1 : Fin 3) ≠ 0", + "statement_sha256": "a400813f0250f34be4432d7dc282316e9a4464319cf416e6e977ee2e9d8cc326" }, - "FEP.ControlledMarkov.softBellmanPartition_pos": { + "FEP.ContinuousTimeMarkov.threeCycle_not_detailedBalanced": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [], + "conclusion": "¬threeCycleGenerator.IsDetailedBalanced threeCycleStationaryLaw", + "context_binders": [], + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.finite_markov_dynamics", + "FepSketches.active_inference", + "FepSketches.decision_risk", + "FepSketches.markov_blanket", + "Mathlib.Analysis.Normed.Algebra.MatrixExponential" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.ContinuousTimeMarkov", + "namespace_variable_context": [], + "preceding_scope_directives": [], + "qualified_name": "FEP.ContinuousTimeMarkov.threeCycle_not_detailedBalanced", + "source_line": 311, + "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "statement": "theorem threeCycle_not_detailedBalanced :\n ¬threeCycleGenerator.IsDetailedBalanced threeCycleStationaryLaw", + "statement_sha256": "d68ee5298d04dbc9d2507ce54751c41b74dcbbab3a9455afc74f798a0ade8079" + }, + "FEP.ContinuousTimeMarkov.threeCycle_stationary": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [], + "conclusion": "threeCycleGenerator.IsStationary threeCycleStationaryLaw", + "context_binders": [], + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.finite_markov_dynamics", + "FepSketches.active_inference", + "FepSketches.decision_risk", + "FepSketches.markov_blanket", + "Mathlib.Analysis.Normed.Algebra.MatrixExponential" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.ContinuousTimeMarkov", + "namespace_variable_context": [], + "preceding_scope_directives": [], + "qualified_name": "FEP.ContinuousTimeMarkov.threeCycle_stationary", + "source_line": 304, + "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "statement": "theorem threeCycle_stationary :\n threeCycleGenerator.IsStationary threeCycleStationaryLaw", + "statement_sha256": "7c32dcaaed73f4de9b4f453b9d1c065a53c7b3079d28305723d7885d565ff3e6" + }, + "FEP.ControlledMarkov.actionBeliefUpdate_reconstruction": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Nonempty Action]", - "type_source": "Nonempty Action", - "visibility": "instance" + "names": [ + "prior" + ], + "role": "typed_binder", + "source": "(prior : FiniteLaw State)", + "type_source": "FiniteLaw State", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "temperature" + "transition" ], "role": "typed_binder", - "source": "(temperature : ℝ)", - "type_source": "ℝ", + "source": "(transition : ControlledKernel State Action)", + "type_source": "ControlledKernel State Action", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "stageCost" + "emission" ], "role": "typed_binder", - "source": "(stageCost : State → Action → ℝ)", - "type_source": "State → Action → ℝ", + "source": "(emission : FiniteKernel State Observation)", + "type_source": "FiniteKernel State Observation", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "continuation" + "action" ], "role": "typed_binder", - "source": "(continuation : Action → ℝ)", - "type_source": "Action → ℝ", + "source": "(action : Action)", + "type_source": "Action", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "observation" + ], + "role": "typed_binder", + "source": "(observation : Observation)", + "type_source": "Observation", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hEvidence" + ], + "role": "typed_binder", + "source": "(hEvidence : 0 < actionEvidence prior transition emission action observation)", + "type_source": "0 < actionEvidence prior transition emission action observation", "visibility": "explicit" }, { @@ -37344,7 +38852,7 @@ "visibility": "explicit" } ], - "conclusion": "0 < softBellmanPartition temperature stageCost continuation state", + "conclusion": "actionBeliefUpdate prior transition emission action observation hEvidence state *\n actionEvidence prior transition emission action observation =\n actionPrediction prior transition action state * emission state observation", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -37402,102 +38910,78 @@ "namespace_variable_context": [ "{State Action Observation Belief : Type*}\n [Fintype State] [Fintype Action] [Fintype Observation] [Fintype Belief]" ], - "preceding_scope_directives": [ - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Fintype State] in" - } - ], - "qualified_name": "FEP.ControlledMarkov.softBellmanPartition_pos", - "source_line": 275, + "preceding_scope_directives": [], + "qualified_name": "FEP.ControlledMarkov.actionBeliefUpdate_reconstruction", + "source_line": 65, "source_owner": "src/fep_lean/formal/controlled_markov.lean", - "statement": "theorem softBellmanPartition_pos [Nonempty Action] (temperature : ℝ)\n (stageCost : State → Action → ℝ) (continuation : Action → ℝ)\n (state : State) :\n 0 < softBellmanPartition temperature stageCost continuation state", - "statement_sha256": "6e579a39415379f1406120bf8add41052db22a6db3aa0f2aa45fc7a52a70a0da" + "statement": "theorem actionBeliefUpdate_reconstruction (prior : FiniteLaw State)\n (transition : ControlledKernel State Action)\n (emission : FiniteKernel State Observation) (action : Action)\n (observation : Observation)\n (hEvidence : 0 < actionEvidence prior transition emission action observation)\n (state : State) :\n actionBeliefUpdate prior transition emission action observation hEvidence state *\n actionEvidence prior transition emission action observation =\n actionPrediction prior transition action state * emission state observation", + "statement_sha256": "648350fcdda30c983feb84cb54f20408f9560cbf38598f50e90204e4781f143a" }, - "FEP.ControlledMarkov.softBellmanValue_le_actionEnergy": { + "FEP.ControlledMarkov.actionBeliefUpdate_sum_one": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Nonempty Action]", - "type_source": "Nonempty Action", - "visibility": "instance" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "temperature" - ], - "role": "typed_binder", - "source": "(temperature : ℝ)", - "type_source": "ℝ", - "visibility": "explicit" - }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "hTemperature" + "prior" ], "role": "typed_binder", - "source": "(hTemperature : 0 < temperature)", - "type_source": "0 < temperature", + "source": "(prior : FiniteLaw State)", + "type_source": "FiniteLaw State", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "stageCost" + "transition" ], "role": "typed_binder", - "source": "(stageCost : State → Action → ℝ)", - "type_source": "State → Action → ℝ", + "source": "(transition : ControlledKernel State Action)", + "type_source": "ControlledKernel State Action", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "transition" + "emission" ], "role": "typed_binder", - "source": "(transition : ControlledKernel State Action)", - "type_source": "ControlledKernel State Action", + "source": "(emission : FiniteKernel State Observation)", + "type_source": "FiniteKernel State Observation", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "horizon" + "action" ], "role": "typed_binder", - "source": "(horizon : ℕ)", - "type_source": "ℕ", + "source": "(action : Action)", + "type_source": "Action", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "state" + "observation" ], "role": "typed_binder", - "source": "(state : State)", - "type_source": "State", + "source": "(observation : Observation)", + "type_source": "Observation", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "action" + "hEvidence" ], "role": "typed_binder", - "source": "(action : Action)", - "type_source": "Action", + "source": "(hEvidence : 0 < actionEvidence prior transition emission action observation)", + "type_source": "0 < actionEvidence prior transition emission action observation", "visibility": "explicit" } ], - "conclusion": "softBellmanValue temperature stageCost transition (horizon + 1) state ≤\n softBellmanActionEnergy temperature stageCost transition\n horizon state action", + "conclusion": "∑ state,\n actionBeliefUpdate prior transition emission action observation hEvidence state =\n 1", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -37545,14 +39029,7 @@ "visibility": "instance" } ], - "declaration_mentions": [ - { - "identifier": "softBellmanValue_succ", - "qualified_name": "FEP.ControlledMarkov.softBellmanValue_succ", - "resolution": "exact or same-namespace source identifier", - "role": "proof_reference" - } - ], + "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ "FepSketches.active_inference" @@ -37562,82 +39039,78 @@ "namespace_variable_context": [ "{State Action Observation Belief : Type*}\n [Fintype State] [Fintype Action] [Fintype Observation] [Fintype Belief]" ], - "preceding_scope_directives": [ - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Fintype State] in" - } - ], - "qualified_name": "FEP.ControlledMarkov.softBellmanValue_le_actionEnergy", - "source_line": 336, + "preceding_scope_directives": [], + "qualified_name": "FEP.ControlledMarkov.actionBeliefUpdate_sum_one", + "source_line": 78, "source_owner": "src/fep_lean/formal/controlled_markov.lean", - "statement": "theorem softBellmanValue_le_actionEnergy [Nonempty Action]\n (temperature : ℝ) (hTemperature : 0 < temperature)\n (stageCost : State → Action → ℝ)\n (transition : ControlledKernel State Action)\n (horizon : ℕ) (state : State) (action : Action) :\n softBellmanValue temperature stageCost transition (horizon + 1) state ≤\n softBellmanActionEnergy temperature stageCost transition\n horizon state action", - "statement_sha256": "ee17f7aba190973748f8c83c71915d3f4c7a023d973404d8c7a6348632f8794b" + "statement": "theorem actionBeliefUpdate_sum_one (prior : FiniteLaw State)\n (transition : ControlledKernel State Action)\n (emission : FiniteKernel State Observation) (action : Action)\n (observation : Observation)\n (hEvidence : 0 < actionEvidence prior transition emission action observation) :\n ∑ state,\n actionBeliefUpdate prior transition emission action observation hEvidence state =\n 1", + "statement_sha256": "3faa8e383e7f126e949c2be63abf5a31dce769891785edffe34df1828047e118" }, - "FEP.ControlledMarkov.softBellmanValue_partition_pos": { + "FEP.ControlledMarkov.actionEvidence_zero_boundary": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Nonempty Action]", - "type_source": "Nonempty Action", - "visibility": "instance" + "names": [ + "prior" + ], + "role": "typed_binder", + "source": "(prior : FiniteLaw State)", + "type_source": "FiniteLaw State", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "temperature" + "transition" ], "role": "typed_binder", - "source": "(temperature : ℝ)", - "type_source": "ℝ", + "source": "(transition : ControlledKernel State Action)", + "type_source": "ControlledKernel State Action", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "stageCost" + "emission" ], "role": "typed_binder", - "source": "(stageCost : State → Action → ℝ)", - "type_source": "State → Action → ℝ", + "source": "(emission : FiniteKernel State Observation)", + "type_source": "FiniteKernel State Observation", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "transition" + "action" ], "role": "typed_binder", - "source": "(transition : ControlledKernel State Action)", - "type_source": "ControlledKernel State Action", + "source": "(action : Action)", + "type_source": "Action", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "horizon" + "observation" ], "role": "typed_binder", - "source": "(horizon : ℕ)", - "type_source": "ℕ", + "source": "(observation : Observation)", + "type_source": "Observation", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "state" + "hZero" ], "role": "typed_binder", - "source": "(state : State)", - "type_source": "State", + "source": "(hZero : actionEvidence prior transition emission action observation = 0)", + "type_source": "actionEvidence prior transition emission action observation = 0", "visibility": "explicit" } ], - "conclusion": "0 < ∑ action,\n Real.exp (-((softBellmanActionEnergy temperature stageCost transition\n horizon state action) / temperature))", + "conclusion": "¬0 < actionEvidence prior transition emission action observation", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -37695,74 +39168,38 @@ "namespace_variable_context": [ "{State Action Observation Belief : Type*}\n [Fintype State] [Fintype Action] [Fintype Observation] [Fintype Belief]" ], - "preceding_scope_directives": [ - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Fintype State] in" - } - ], - "qualified_name": "FEP.ControlledMarkov.softBellmanValue_partition_pos", - "source_line": 321, + "preceding_scope_directives": [], + "qualified_name": "FEP.ControlledMarkov.actionEvidence_zero_boundary", + "source_line": 90, "source_owner": "src/fep_lean/formal/controlled_markov.lean", - "statement": "theorem softBellmanValue_partition_pos [Nonempty Action]\n (temperature : ℝ) (stageCost : State → Action → ℝ)\n (transition : ControlledKernel State Action)\n (horizon : ℕ) (state : State) :\n 0 < ∑ action,\n Real.exp (-((softBellmanActionEnergy temperature stageCost transition\n horizon state action) / temperature))", - "statement_sha256": "fcbe7195340c0c874d777f2f773de200650d1a1c780001e11e3b9f3a9565d256" + "statement": "theorem actionEvidence_zero_boundary (prior : FiniteLaw State)\n (transition : ControlledKernel State Action)\n (emission : FiniteKernel State Observation) (action : Action)\n (observation : Observation)\n (hZero : actionEvidence prior transition emission action observation = 0) :\n ¬0 < actionEvidence prior transition emission action observation", + "statement_sha256": "415fb679ce24f661eb014638826e2a74896ba05d6222de33724b3c6aa6c2ff54" }, - "FEP.ControlledMarkov.softBellmanValue_succ": { + "FEP.ControlledMarkov.boltzmannPartition_pos": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "temperature" - ], - "role": "typed_binder", - "source": "(temperature : ℝ)", - "type_source": "ℝ", - "visibility": "explicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "stageCost" - ], - "role": "typed_binder", - "source": "(stageCost : State → Action → ℝ)", - "type_source": "State → Action → ℝ", - "visibility": "explicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "transition" - ], - "role": "typed_binder", - "source": "(transition : ControlledKernel State Action)", - "type_source": "ControlledKernel State Action", - "visibility": "explicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "horizon" + "prior" ], "role": "typed_binder", - "source": "(horizon : ℕ)", - "type_source": "ℕ", + "source": "(prior : FiniteLaw Action)", + "type_source": "FiniteLaw Action", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "state" + "energy" ], "role": "typed_binder", - "source": "(state : State)", - "type_source": "State", + "source": "(energy : Action → ℝ)", + "type_source": "Action → ℝ", "visibility": "explicit" } ], - "conclusion": "softBellmanValue temperature stageCost transition (horizon + 1) state =\n -temperature * Real.log\n (∑ action,\n Real.exp (-((softBellmanActionEnergy temperature stageCost transition\n horizon state action) / temperature)))", + "conclusion": "0 < boltzmannPartition prior energy", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -37820,72 +39257,48 @@ "namespace_variable_context": [ "{State Action Observation Belief : Type*}\n [Fintype State] [Fintype Action] [Fintype Observation] [Fintype Belief]" ], - "preceding_scope_directives": [ - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Fintype State] in" - } - ], - "qualified_name": "FEP.ControlledMarkov.softBellmanValue_succ", - "source_line": 308, + "preceding_scope_directives": [], + "qualified_name": "FEP.ControlledMarkov.boltzmannPartition_pos", + "source_line": 208, "source_owner": "src/fep_lean/formal/controlled_markov.lean", - "statement": "theorem softBellmanValue_succ (temperature : ℝ)\n (stageCost : State → Action → ℝ)\n (transition : ControlledKernel State Action)\n (horizon : ℕ) (state : State) :\n softBellmanValue temperature stageCost transition (horizon + 1) state =\n -temperature * Real.log\n (∑ action,\n Real.exp (-((softBellmanActionEnergy temperature stageCost transition\n horizon state action) / temperature)))", - "statement_sha256": "4bb5613752da6955623d918024ac88c0e8cba6a6024a1e31b69f5b2bf466c8f2" + "statement": "theorem boltzmannPartition_pos (prior : FiniteLaw Action)\n (energy : Action → ℝ) :\n 0 < boltzmannPartition prior energy", + "statement_sha256": "dc197afe4714fbcc8ffd33f117a8144a46326cef7402aaed09abbaf267925961" }, - "FEP.ControlledMarkov.sophisticatedEFEAction_le": { + "FEP.ControlledMarkov.boltzmannPosterior_mul_partition": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Nonempty Action]", - "type_source": "Nonempty Action", - "visibility": "instance" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "model" - ], - "role": "typed_binder", - "source": "(model : SophisticatedEFEModel Belief Action Observation)", - "type_source": "SophisticatedEFEModel Belief Action Observation", - "visibility": "explicit" - }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "horizon" + "prior" ], "role": "typed_binder", - "source": "(horizon : ℕ)", - "type_source": "ℕ", + "source": "(prior : FiniteLaw Action)", + "type_source": "FiniteLaw Action", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "belief" + "energy" ], "role": "typed_binder", - "source": "(belief : Belief)", - "type_source": "Belief", + "source": "(energy : Action → ℝ)", + "type_source": "Action → ℝ", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "alternative" + "action" ], "role": "typed_binder", - "source": "(alternative : Action)", + "source": "(action : Action)", "type_source": "Action", "visibility": "explicit" } ], - "conclusion": "model.stageEFE horizon belief (sophisticatedEFEAction model horizon belief) +\n ∑ observation,\n model.observationLaw belief (sophisticatedEFEAction model horizon belief)\n observation *\n sophisticatedEFEValue model horizon\n (model.update belief (sophisticatedEFEAction model horizon belief)\n observation) ≤\n model.stageEFE horizon belief alternative +\n ∑ observation, model.observationLaw belief alternative observation *\n sophisticatedEFEValue model horizon\n (model.update belief alternative observation)", + "conclusion": "boltzmannPosterior prior energy action * boltzmannPartition prior energy =\n boltzmannWeight prior energy action", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -37935,8 +39348,8 @@ ], "declaration_mentions": [ { - "identifier": "finiteArgmin_le", - "qualified_name": "FEP.ControlledMarkov.finiteArgmin_le", + "identifier": "boltzmannPartition_pos", + "qualified_name": "FEP.ControlledMarkov.boltzmannPartition_pos", "resolution": "exact or same-namespace source identifier", "role": "proof_reference" } @@ -37950,62 +39363,28 @@ "namespace_variable_context": [ "{State Action Observation Belief : Type*}\n [Fintype State] [Fintype Action] [Fintype Observation] [Fintype Belief]" ], - "preceding_scope_directives": [ - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Fintype State] in" - } - ], - "qualified_name": "FEP.ControlledMarkov.sophisticatedEFEAction_le", - "source_line": 464, + "preceding_scope_directives": [], + "qualified_name": "FEP.ControlledMarkov.boltzmannPosterior_mul_partition", + "source_line": 235, "source_owner": "src/fep_lean/formal/controlled_markov.lean", - "statement": "theorem sophisticatedEFEAction_le [Nonempty Action]\n (model : SophisticatedEFEModel Belief Action Observation)\n (horizon : ℕ) (belief : Belief) (alternative : Action) :\n model.stageEFE horizon belief (sophisticatedEFEAction model horizon belief) +\n ∑ observation,\n model.observationLaw belief (sophisticatedEFEAction model horizon belief)\n observation *\n sophisticatedEFEValue model horizon\n (model.update belief (sophisticatedEFEAction model horizon belief)\n observation) ≤\n model.stageEFE horizon belief alternative +\n ∑ observation, model.observationLaw belief alternative observation *\n sophisticatedEFEValue model horizon\n (model.update belief alternative observation)", - "statement_sha256": "f16289f57f1639a01f6fe6d303b4e613e715c62f5bacfca350a2fb4e7433b423" + "statement": "theorem boltzmannPosterior_mul_partition (prior : FiniteLaw Action)\n (energy : Action → ℝ) (action : Action) :\n boltzmannPosterior prior energy action * boltzmannPartition prior energy =\n boltzmannWeight prior energy action", + "statement_sha256": "39e289779c1061cf8454de8d6080d57de6ca73441b8cf1e9d121178418de93a6" }, - "FEP.ControlledMarkov.sophisticatedEFEValue_succ": { + "FEP.ControlledMarkov.boltzmannPosterior_zero_energy": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Nonempty Action]", - "type_source": "Nonempty Action", - "visibility": "instance" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "model" - ], - "role": "typed_binder", - "source": "(model : SophisticatedEFEModel Belief Action Observation)", - "type_source": "SophisticatedEFEModel Belief Action Observation", - "visibility": "explicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "horizon" - ], - "role": "typed_binder", - "source": "(horizon : ℕ)", - "type_source": "ℕ", - "visibility": "explicit" - }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "belief" + "prior" ], "role": "typed_binder", - "source": "(belief : Belief)", - "type_source": "Belief", + "source": "(prior : FiniteLaw Action)", + "type_source": "FiniteLaw Action", "visibility": "explicit" } ], - "conclusion": "sophisticatedEFEValue model (horizon + 1) belief =\n model.stageEFE horizon belief (sophisticatedEFEAction model horizon belief) +\n ∑ observation,\n model.observationLaw belief (sophisticatedEFEAction model horizon belief)\n observation *\n sophisticatedEFEValue model horizon\n (model.update belief (sophisticatedEFEAction model horizon belief)\n observation)", + "conclusion": "boltzmannPosterior prior (fun _ => 0) = prior", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -38063,23 +39442,40 @@ "namespace_variable_context": [ "{State Action Observation Belief : Type*}\n [Fintype State] [Fintype Action] [Fintype Observation] [Fintype Belief]" ], - "preceding_scope_directives": [ - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Fintype State] in" - } - ], - "qualified_name": "FEP.ControlledMarkov.sophisticatedEFEValue_succ", - "source_line": 449, + "preceding_scope_directives": [], + "qualified_name": "FEP.ControlledMarkov.boltzmannPosterior_zero_energy", + "source_line": 242, "source_owner": "src/fep_lean/formal/controlled_markov.lean", - "statement": "theorem sophisticatedEFEValue_succ [Nonempty Action]\n (model : SophisticatedEFEModel Belief Action Observation)\n (horizon : ℕ) (belief : Belief) :\n sophisticatedEFEValue model (horizon + 1) belief =\n model.stageEFE horizon belief (sophisticatedEFEAction model horizon belief) +\n ∑ observation,\n model.observationLaw belief (sophisticatedEFEAction model horizon belief)\n observation *\n sophisticatedEFEValue model horizon\n (model.update belief (sophisticatedEFEAction model horizon belief)\n observation)", - "statement_sha256": "649418f0ebd46bc65ad52e975c7eb03bd06b9828827f47045871fbc6de7dce69" + "statement": "theorem boltzmannPosterior_zero_energy (prior : FiniteLaw Action) :\n boltzmannPosterior prior (fun _ => 0) = prior", + "statement_sha256": "f1a170f6370e7d4dbc2d641310ba40b811200b66ac1584bdcb38469ee6b7b467" }, - "FEP.ControlledMarkov.twoStageFeedbackExpectedCost_zero": { + "FEP.ControlledMarkov.boolReachablePOMDP_update_sound": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [], - "conclusion": "twoStageFeedbackExpectedCost = 0", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "belief", + "action", + "observation" + ], + "role": "typed_binder", + "source": "(belief action observation : Bool)", + "type_source": "Bool", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hEvidence" + ], + "role": "typed_binder", + "source": "(hEvidence : 0 < actionEvidence\n (boolReachablePOMDP.interpret belief) boolReachablePOMDP.transition\n boolReachablePOMDP.emission action observation)", + "type_source": "0 < actionEvidence\n (boolReachablePOMDP.interpret belief) boolReachablePOMDP.transition\n boolReachablePOMDP.emission action observation", + "visibility": "explicit" + } + ], + "conclusion": "boolReachablePOMDP.interpret\n (boolReachablePOMDP.update belief action observation) =\n actionBeliefUpdate (boolReachablePOMDP.interpret belief)\n boolReachablePOMDP.transition boolReachablePOMDP.emission action observation\n hEvidence", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -38127,14 +39523,7 @@ "visibility": "instance" } ], - "declaration_mentions": [ - { - "identifier": "twoStageFeedback_eq_observation", - "qualified_name": "FEP.ControlledMarkov.twoStageFeedback_eq_observation", - "resolution": "exact or same-namespace source identifier", - "role": "proof_reference" - } - ], + "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ "FepSketches.active_inference" @@ -38151,27 +39540,39 @@ "source": "omit [Fintype State] in" } ], - "qualified_name": "FEP.ControlledMarkov.twoStageFeedbackExpectedCost_zero", - "source_line": 631, + "qualified_name": "FEP.ControlledMarkov.boolReachablePOMDP_update_sound", + "source_line": 582, "source_owner": "src/fep_lean/formal/controlled_markov.lean", - "statement": "theorem twoStageFeedbackExpectedCost_zero :\n twoStageFeedbackExpectedCost = 0", - "statement_sha256": "3cacca59e7d5f417f22ecf1f79153cea0037e5964c576f83a837aee958a852e2" + "statement": "theorem boolReachablePOMDP_update_sound (belief action observation : Bool)\n (hEvidence : 0 < actionEvidence\n (boolReachablePOMDP.interpret belief) boolReachablePOMDP.transition\n boolReachablePOMDP.emission action observation) :\n boolReachablePOMDP.interpret\n (boolReachablePOMDP.update belief action observation) =\n actionBeliefUpdate (boolReachablePOMDP.interpret belief)\n boolReachablePOMDP.transition boolReachablePOMDP.emission action observation\n hEvidence", + "statement_sha256": "991cdf5d71c884e0fef75bea235957b474e215e58993c85728aa8501f51a03fc" }, - "FEP.ControlledMarkov.twoStageFeedback_beats_openLoop": { + "FEP.ControlledMarkov.bool_actionBeliefUpdate_eq": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "action" + "belief", + "action", + "observation" ], "role": "typed_binder", - "source": "(action : Bool)", + "source": "(belief action observation : Bool)", "type_source": "Bool", "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hEvidence" + ], + "role": "typed_binder", + "source": "(hEvidence : 0 < actionEvidence (boolBeliefInterpret belief)\n boolActionTransition boolObservationKernel action observation)", + "type_source": "0 < actionEvidence (boolBeliefInterpret belief)\n boolActionTransition boolObservationKernel action observation", + "visibility": "explicit" } ], - "conclusion": "twoStageFeedbackExpectedCost < twoStageOpenLoopExpectedCost action", + "conclusion": "actionBeliefUpdate (boolBeliefInterpret belief) boolActionTransition\n boolObservationKernel action observation hEvidence =\n boolBeliefInterpret (boolBeliefUpdate belief action observation)", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -38221,14 +39622,26 @@ ], "declaration_mentions": [ { - "identifier": "twoStageFeedbackExpectedCost_zero", - "qualified_name": "FEP.ControlledMarkov.twoStageFeedbackExpectedCost_zero", + "identifier": "actionBeliefUpdate_reconstruction", + "qualified_name": "FEP.ControlledMarkov.actionBeliefUpdate_reconstruction", "resolution": "exact or same-namespace source identifier", "role": "proof_reference" }, { - "identifier": "twoStageOpenLoopExpectedCost_eq_half", - "qualified_name": "FEP.ControlledMarkov.twoStageOpenLoopExpectedCost_eq_half", + "identifier": "bool_actionEvidence_eq", + "qualified_name": "FEP.ControlledMarkov.bool_actionEvidence_eq", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + }, + { + "identifier": "bool_actionPrediction_eq", + "qualified_name": "FEP.ControlledMarkov.bool_actionPrediction_eq", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + }, + { + "identifier": "bool_positiveEvidence_observation_eq_action", + "qualified_name": "FEP.ControlledMarkov.bool_positiveEvidence_observation_eq_action", "resolution": "exact or same-namespace source identifier", "role": "proof_reference" } @@ -38249,16 +39662,29 @@ "source": "omit [Fintype State] in" } ], - "qualified_name": "FEP.ControlledMarkov.twoStageFeedback_beats_openLoop", - "source_line": 645, + "qualified_name": "FEP.ControlledMarkov.bool_actionBeliefUpdate_eq", + "source_line": 538, "source_owner": "src/fep_lean/formal/controlled_markov.lean", - "statement": "theorem twoStageFeedback_beats_openLoop (action : Bool) :\n twoStageFeedbackExpectedCost < twoStageOpenLoopExpectedCost action", - "statement_sha256": "ee5ff03790b8e6de8b267d703520a5a550bb31f848aa64ef72a23772615b8960" + "statement": "theorem bool_actionBeliefUpdate_eq (belief action observation : Bool)\n (hEvidence : 0 < actionEvidence (boolBeliefInterpret belief)\n boolActionTransition boolObservationKernel action observation) :\n actionBeliefUpdate (boolBeliefInterpret belief) boolActionTransition\n boolObservationKernel action observation hEvidence =\n boolBeliefInterpret (boolBeliefUpdate belief action observation)", + "statement_sha256": "b44d25715b746539dca26347931594f583114bcc78682b49d50bf43ce0053467" }, - "FEP.ControlledMarkov.twoStageFeedback_changes_action": { + "FEP.ControlledMarkov.bool_actionEvidence_eq": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [], - "conclusion": "twoStageFeedback false ≠ twoStageFeedback true", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "belief", + "action", + "observation" + ], + "role": "typed_binder", + "source": "(belief action observation : Bool)", + "type_source": "Bool", + "visibility": "explicit" + } + ], + "conclusion": "actionEvidence (boolBeliefInterpret belief) boolActionTransition\n boolObservationKernel action observation =\n if observation = action then 1 else 0", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -38308,8 +39734,8 @@ ], "declaration_mentions": [ { - "identifier": "twoStageFeedback_eq_observation", - "qualified_name": "FEP.ControlledMarkov.twoStageFeedback_eq_observation", + "identifier": "bool_actionPrediction_eq", + "qualified_name": "FEP.ControlledMarkov.bool_actionPrediction_eq", "resolution": "exact or same-namespace source identifier", "role": "proof_reference" } @@ -38330,27 +39756,28 @@ "source": "omit [Fintype State] in" } ], - "qualified_name": "FEP.ControlledMarkov.twoStageFeedback_changes_action", - "source_line": 613, + "qualified_name": "FEP.ControlledMarkov.bool_actionEvidence_eq", + "source_line": 516, "source_owner": "src/fep_lean/formal/controlled_markov.lean", - "statement": "theorem twoStageFeedback_changes_action :\n twoStageFeedback false ≠ twoStageFeedback true", - "statement_sha256": "88c9fb5cd85736a29fcf86e9f20b5593d3bbae6170faa8dd11ca52dd41217929" + "statement": "theorem bool_actionEvidence_eq (belief action observation : Bool) :\n actionEvidence (boolBeliefInterpret belief) boolActionTransition\n boolObservationKernel action observation =\n if observation = action then 1 else 0", + "statement_sha256": "4be1324ea537ccda2a8f6a808a772a35c0bedb282d1686aa09cbe0ca124c4796" }, - "FEP.ControlledMarkov.twoStageFeedback_eq_observation": { + "FEP.ControlledMarkov.bool_actionPrediction_eq": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "observation" + "belief", + "action" ], "role": "typed_binder", - "source": "(observation : Bool)", + "source": "(belief action : Bool)", "type_source": "Bool", "visibility": "explicit" } ], - "conclusion": "twoStageFeedback observation = observation", + "conclusion": "actionPrediction (boolBeliefInterpret belief) boolActionTransition action =\n FiniteLaw.pointMass action", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -38398,14 +39825,7 @@ "visibility": "instance" } ], - "declaration_mentions": [ - { - "identifier": "finiteArgmin_le", - "qualified_name": "FEP.ControlledMarkov.finiteArgmin_le", - "resolution": "exact or same-namespace source identifier", - "role": "proof_reference" - } - ], + "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ "FepSketches.active_inference" @@ -38422,27 +39842,39 @@ "source": "omit [Fintype State] in" } ], - "qualified_name": "FEP.ControlledMarkov.twoStageFeedback_eq_observation", - "source_line": 603, + "qualified_name": "FEP.ControlledMarkov.bool_actionPrediction_eq", + "source_line": 505, "source_owner": "src/fep_lean/formal/controlled_markov.lean", - "statement": "theorem twoStageFeedback_eq_observation (observation : Bool) :\n twoStageFeedback observation = observation", - "statement_sha256": "75f89290630a57d012e136cd01d1d94240a16367a659e62fb2bbd61234173b13" + "statement": "theorem bool_actionPrediction_eq (belief action : Bool) :\n actionPrediction (boolBeliefInterpret belief) boolActionTransition action =\n FiniteLaw.pointMass action", + "statement_sha256": "bc8fea5d13d052d808fb89d3ca2414494fbead026236a8e2bc42c16630f54174" }, - "FEP.ControlledMarkov.twoStageOpenLoopExpectedCost_eq_half": { + "FEP.ControlledMarkov.bool_positiveEvidence_observation_eq_action": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "action" + "belief", + "action", + "observation" ], "role": "typed_binder", - "source": "(action : Bool)", + "source": "(belief action observation : Bool)", "type_source": "Bool", "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hEvidence" + ], + "role": "typed_binder", + "source": "(hEvidence : 0 < actionEvidence (boolBeliefInterpret belief)\n boolActionTransition boolObservationKernel action observation)", + "type_source": "0 < actionEvidence (boolBeliefInterpret belief)\n boolActionTransition boolObservationKernel action observation", + "visibility": "explicit" } ], - "conclusion": "twoStageOpenLoopExpectedCost action = 1 / 2", + "conclusion": "observation = action", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -38490,7 +39922,14 @@ "visibility": "instance" } ], - "declaration_mentions": [], + "declaration_mentions": [ + { + "identifier": "bool_actionEvidence_eq", + "qualified_name": "FEP.ControlledMarkov.bool_actionEvidence_eq", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + } + ], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ "FepSketches.active_inference" @@ -38507,174 +39946,147 @@ "source": "omit [Fintype State] in" } ], - "qualified_name": "FEP.ControlledMarkov.twoStageOpenLoopExpectedCost_eq_half", - "source_line": 637, + "qualified_name": "FEP.ControlledMarkov.bool_positiveEvidence_observation_eq_action", + "source_line": 527, "source_owner": "src/fep_lean/formal/controlled_markov.lean", - "statement": "theorem twoStageOpenLoopExpectedCost_eq_half (action : Bool) :\n twoStageOpenLoopExpectedCost action = 1 / 2", - "statement_sha256": "cba609e57d77d1c26d861358a99fd1290dd33469780229e9f63a86b39fc70b5b" + "statement": "theorem bool_positiveEvidence_observation_eq_action\n (belief action observation : Bool)\n (hEvidence : 0 < actionEvidence (boolBeliefInterpret belief)\n boolActionTransition boolObservationKernel action observation) :\n observation = action", + "statement_sha256": "37876acc8b32e3603dbc7636b8e854dfbc274f5abd9b04699c3301103fc8e620" }, - "FEP.DecisionRisk.bayesRisk_mono_under_observationGarbling": { + "FEP.ControlledMarkov.controlPosterior_sum_one": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "loss" - ], - "role": "typed_binder", - "source": "(loss : Θ → Decision → ℝ≥0∞)", - "type_source": "Θ → Decision → ℝ≥0∞", - "visibility": "explicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "experiment" + "prior" ], "role": "typed_binder", - "source": "(experiment : Kernel Θ Observation)", - "type_source": "Kernel Θ Observation", + "source": "(prior : FiniteLaw Action)", + "type_source": "FiniteLaw Action", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "prior" + "precision" ], "role": "typed_binder", - "source": "(prior : Measure Θ)", - "type_source": "Measure Θ", + "source": "(precision : ℝ)", + "type_source": "ℝ", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "garbling" + "cost" ], "role": "typed_binder", - "source": "(garbling : Kernel Observation Garbled)", - "type_source": "Kernel Observation Garbled", + "source": "(cost : Action → ℝ)", + "type_source": "Action → ℝ", "visibility": "explicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[IsMarkovKernel garbling]", - "type_source": "IsMarkovKernel garbling", - "visibility": "instance" } ], - "conclusion": "ProbabilityTheory.bayesRisk loss experiment prior ≤\n ProbabilityTheory.bayesRisk loss (garbling ∘ₖ experiment) prior", + "conclusion": "∑ action, controlPosterior prior precision cost action = 1", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Θ", + "State", + "Action", "Observation", - "Garbled", - "Decision" + "Belief" ], "role": "typed_binder", - "source": "{Θ Observation Garbled Decision : Type*}", + "source": "{State Action Observation Belief : Type*}", "type_source": "Type*", "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "mΘ" - ], - "role": "typed_binder", - "source": "{mΘ : MeasurableSpace Θ}", - "type_source": "MeasurableSpace Θ", - "visibility": "implicit" + "names": [], + "role": "instance_requirement", + "source": "[Fintype State]", + "type_source": "Fintype State", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "mObservation" - ], - "role": "typed_binder", - "source": "{mObservation : MeasurableSpace Observation}", - "type_source": "MeasurableSpace Observation", - "visibility": "implicit" + "names": [], + "role": "instance_requirement", + "source": "[Fintype Action]", + "type_source": "Fintype Action", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "mGarbled" - ], - "role": "typed_binder", - "source": "{mGarbled : MeasurableSpace Garbled}", - "type_source": "MeasurableSpace Garbled", - "visibility": "implicit" + "names": [], + "role": "instance_requirement", + "source": "[Fintype Observation]", + "type_source": "Fintype Observation", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "mDecision" - ], - "role": "typed_binder", - "source": "{mDecision : MeasurableSpace Decision}", - "type_source": "MeasurableSpace Decision", - "visibility": "implicit" + "names": [], + "role": "instance_requirement", + "source": "[Fintype Belief]", + "type_source": "Fintype Belief", + "visibility": "instance" } ], "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.native_blanket", - "FepSketches.finite_information", - "Mathlib.InformationTheory.KullbackLeibler.DataProcessing", - "Mathlib.Probability.Decision.BayesEstimator", - "Mathlib.Probability.Decision.Risk.Basic" + "FepSketches.active_inference" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.DecisionRisk", + "namespace": "FEP.ControlledMarkov", "namespace_variable_context": [ - "{Θ Observation Garbled Decision : Type*}\n {mΘ : MeasurableSpace Θ} {mObservation : MeasurableSpace Observation}\n {mGarbled : MeasurableSpace Garbled} {mDecision : MeasurableSpace Decision}" + "{State Action Observation Belief : Type*}\n [Fintype State] [Fintype Action] [Fintype Observation] [Fintype Belief]" ], - "preceding_scope_directives": [ - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DiscreteMeasurableSpace α] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [MeasurableSpace α] [MeasurableSpace β]" - }, + "preceding_scope_directives": [], + "qualified_name": "FEP.ControlledMarkov.controlPosterior_sum_one", + "source_line": 255, + "source_owner": "src/fep_lean/formal/controlled_markov.lean", + "statement": "theorem controlPosterior_sum_one (prior : FiniteLaw Action)\n (precision : ℝ) (cost : Action → ℝ) :\n ∑ action, controlPosterior prior precision cost action = 1", + "statement_sha256": "57519db825237ef574843f4dcac281be27fe9a93f36c4448e0a08f7fb238eb65" + }, + "FEP.ControlledMarkov.controlPosterior_zero_cost": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [MeasurableSpace α] [MeasurableSpace β]" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "prior" + ], + "role": "typed_binder", + "source": "(prior : FiniteLaw Action)", + "type_source": "FiniteLaw Action", + "visibility": "explicit" }, { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [MeasurableSpace α] [MeasurableSpace β]" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "precision" + ], + "role": "typed_binder", + "source": "(precision : ℝ)", + "type_source": "ℝ", + "visibility": "explicit" } ], - "qualified_name": "FEP.DecisionRisk.bayesRisk_mono_under_observationGarbling", - "source_line": 416, - "source_owner": "src/fep_lean/formal/decision_risk.lean", - "statement": "theorem bayesRisk_mono_under_observationGarbling\n (loss : Θ → Decision → ℝ≥0∞) (experiment : Kernel Θ Observation)\n (prior : Measure Θ) (garbling : Kernel Observation Garbled)\n [IsMarkovKernel garbling] :\n ProbabilityTheory.bayesRisk loss experiment prior ≤\n ProbabilityTheory.bayesRisk loss (garbling ∘ₖ experiment) prior", - "statement_sha256": "9791b44afe63a080ae0c81f6856c1815f729c1a7ce9529c1050fdd840d298fa3" - }, - "FEP.DecisionRisk.boolPointMass_klDiv_eq_top": { - "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [], - "conclusion": "InformationTheory.klDiv\n (embeddedLaw (FiniteLaw.pointMass true))\n (embeddedLaw (FiniteLaw.pointMass false)) = ∞", + "conclusion": "controlPosterior prior precision (fun _ => 0) = prior", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "α" + "State", + "Action", + "Observation", + "Belief" ], "role": "typed_binder", - "source": "{α : Type*}", + "source": "{State Action Observation Belief : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -38682,326 +40094,310 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype α]", - "type_source": "Fintype α", + "source": "[Fintype State]", + "type_source": "Fintype State", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[MeasurableSpace α]", - "type_source": "MeasurableSpace α", + "source": "[Fintype Action]", + "type_source": "Fintype Action", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace α]", - "type_source": "DiscreteMeasurableSpace α", + "source": "[Fintype Observation]", + "type_source": "Fintype Observation", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Belief]", + "type_source": "Fintype Belief", "visibility": "instance" } ], "declaration_mentions": [ { - "candidates": [ - "FEP.NativeBlanket.embeddedLaw_apply_singleton" - ], - "identifier": "embeddedLaw_apply_singleton", - "resolution": "unresolved lexical scope", - "role": "proof_reference" - }, - { - "identifier": "weightedDirac_klDiv_eq_top_of_not_absolutelyContinuous", - "qualified_name": "FEP.DecisionRisk.weightedDirac_klDiv_eq_top_of_not_absolutelyContinuous", + "identifier": "boltzmannPosterior_zero_energy", + "qualified_name": "FEP.ControlledMarkov.boltzmannPosterior_zero_energy", "resolution": "exact or same-namespace source identifier", "role": "proof_reference" } ], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.native_blanket", - "FepSketches.finite_information", - "Mathlib.InformationTheory.KullbackLeibler.DataProcessing", - "Mathlib.Probability.Decision.BayesEstimator", - "Mathlib.Probability.Decision.Risk.Basic" + "FepSketches.active_inference" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.DecisionRisk", + "namespace": "FEP.ControlledMarkov", "namespace_variable_context": [ - "{α : Type*} [Fintype α] [MeasurableSpace α]\n [DiscreteMeasurableSpace α]" - ], - "preceding_scope_directives": [ - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DiscreteMeasurableSpace α] in" - } + "{State Action Observation Belief : Type*}\n [Fintype State] [Fintype Action] [Fintype Observation] [Fintype Belief]" ], - "qualified_name": "FEP.DecisionRisk.boolPointMass_klDiv_eq_top", - "source_line": 145, - "source_owner": "src/fep_lean/formal/decision_risk.lean", - "statement": "theorem boolPointMass_klDiv_eq_top :\n InformationTheory.klDiv\n (embeddedLaw (FiniteLaw.pointMass true))\n (embeddedLaw (FiniteLaw.pointMass false)) = ∞", - "statement_sha256": "7205ef761122cde5308e63253838bcb48392e64c8172b7b4304a7bad82b3afc7" + "preceding_scope_directives": [], + "qualified_name": "FEP.ControlledMarkov.controlPosterior_zero_cost", + "source_line": 261, + "source_owner": "src/fep_lean/formal/controlled_markov.lean", + "statement": "theorem controlPosterior_zero_cost (prior : FiniteLaw Action)\n (precision : ℝ) :\n controlPosterior prior precision (fun _ => 0) = prior", + "statement_sha256": "85e81a42b7a9b06510458da4c6db5188805f198e081b1be5419a092b3007db26" }, - "FEP.DecisionRisk.boolPrior_zeroOneRisk": { + "FEP.ControlledMarkov.controlledKernel_sum_one": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "report" + "transition" ], "role": "typed_binder", - "source": "(report : Bool)", - "type_source": "Bool", + "source": "(transition : ControlledKernel State Action)", + "type_source": "ControlledKernel State Action", "visibility": "explicit" - } - ], - "conclusion": "∫⁻ truth, boolZeroOneLoss truth report ∂boolPrior = 1 / 2", - "context_binders": [ + }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Θ", - "Observation", - "Garbled", - "Decision" + "action" ], "role": "typed_binder", - "source": "{Θ Observation Garbled Decision : Type*}", - "type_source": "Type*", - "visibility": "implicit" + "source": "(action : Action)", + "type_source": "Action", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "mΘ" + "state" ], "role": "typed_binder", - "source": "{mΘ : MeasurableSpace Θ}", - "type_source": "MeasurableSpace Θ", - "visibility": "implicit" - }, + "source": "(state : State)", + "type_source": "State", + "visibility": "explicit" + } + ], + "conclusion": "∑ nextState, transition action state nextState = 1", + "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "mObservation" + "State", + "Action", + "Observation", + "Belief" ], "role": "typed_binder", - "source": "{mObservation : MeasurableSpace Observation}", - "type_source": "MeasurableSpace Observation", + "source": "{State Action Observation Belief : Type*}", + "type_source": "Type*", "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "mGarbled" - ], - "role": "typed_binder", - "source": "{mGarbled : MeasurableSpace Garbled}", - "type_source": "MeasurableSpace Garbled", - "visibility": "implicit" + "names": [], + "role": "instance_requirement", + "source": "[Fintype State]", + "type_source": "Fintype State", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "mDecision" - ], - "role": "typed_binder", - "source": "{mDecision : MeasurableSpace Decision}", - "type_source": "MeasurableSpace Decision", - "visibility": "implicit" - } - ], - "declaration_mentions": [ + "names": [], + "role": "instance_requirement", + "source": "[Fintype Action]", + "type_source": "Fintype Action", + "visibility": "instance" + }, { - "candidates": [ - "FEP.NativeBlanket.embeddedLaw_apply_singleton" - ], - "identifier": "embeddedLaw_apply_singleton", - "resolution": "unresolved lexical scope", - "role": "proof_reference" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Observation]", + "type_source": "Fintype Observation", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Belief]", + "type_source": "Fintype Belief", + "visibility": "instance" } ], + "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.native_blanket", - "FepSketches.finite_information", - "Mathlib.InformationTheory.KullbackLeibler.DataProcessing", - "Mathlib.Probability.Decision.BayesEstimator", - "Mathlib.Probability.Decision.Risk.Basic" + "FepSketches.active_inference" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.DecisionRisk", + "namespace": "FEP.ControlledMarkov", "namespace_variable_context": [ - "{Θ Observation Garbled Decision : Type*}\n {mΘ : MeasurableSpace Θ} {mObservation : MeasurableSpace Observation}\n {mGarbled : MeasurableSpace Garbled} {mDecision : MeasurableSpace Decision}" - ], - "preceding_scope_directives": [ - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DiscreteMeasurableSpace α] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [MeasurableSpace α] [MeasurableSpace β]" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [MeasurableSpace α] [MeasurableSpace β]" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [MeasurableSpace α] [MeasurableSpace β]" - } + "{State Action Observation Belief : Type*}\n [Fintype State] [Fintype Action] [Fintype Observation] [Fintype Belief]" ], - "qualified_name": "FEP.DecisionRisk.boolPrior_zeroOneRisk", - "source_line": 466, - "source_owner": "src/fep_lean/formal/decision_risk.lean", - "statement": "theorem boolPrior_zeroOneRisk (report : Bool) :\n ∫⁻ truth, boolZeroOneLoss truth report ∂boolPrior = 1 / 2", - "statement_sha256": "575505267a149f1a82bcbc2fba9e5dab5be18b79730e0b57ca6376f87d141e89" + "preceding_scope_directives": [], + "qualified_name": "FEP.ControlledMarkov.controlledKernel_sum_one", + "source_line": 28, + "source_owner": "src/fep_lean/formal/controlled_markov.lean", + "statement": "theorem controlledKernel_sum_one\n (transition : ControlledKernel State Action)\n (action : Action) (state : State) :\n ∑ nextState, transition action state nextState = 1", + "statement_sha256": "1c306d8e03c1016377701655161709999c39111bda5dd9d2c713554cc8598f8b" }, - "FEP.DecisionRisk.boolZeroOneLoss_measurable": { + "FEP.ControlledMarkov.desirabilityStep_nonneg": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [], - "conclusion": "Measurable (Function.uncurry boolZeroOneLoss)", - "context_binders": [ + "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Θ", - "Observation", - "Garbled", - "Decision" + "passive" ], "role": "typed_binder", - "source": "{Θ Observation Garbled Decision : Type*}", - "type_source": "Type*", - "visibility": "implicit" + "source": "(passive : FiniteKernel State State)", + "type_source": "FiniteKernel State State", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "mΘ" + "stateCost", + "desirability" ], "role": "typed_binder", - "source": "{mΘ : MeasurableSpace Θ}", - "type_source": "MeasurableSpace Θ", - "visibility": "implicit" + "source": "(stateCost desirability : State → ℝ)", + "type_source": "State → ℝ", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "mObservation" + "hDesirability" ], "role": "typed_binder", - "source": "{mObservation : MeasurableSpace Observation}", - "type_source": "MeasurableSpace Observation", - "visibility": "implicit" + "source": "(hDesirability : ∀ state, 0 ≤ desirability state)", + "type_source": "∀ state, 0 ≤ desirability state", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "mGarbled" + "state" ], "role": "typed_binder", - "source": "{mGarbled : MeasurableSpace Garbled}", - "type_source": "MeasurableSpace Garbled", - "visibility": "implicit" - }, + "source": "(state : State)", + "type_source": "State", + "visibility": "explicit" + } + ], + "conclusion": "0 ≤ desirabilityStep passive stateCost desirability state", + "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "mDecision" + "State", + "Action", + "Observation", + "Belief" ], "role": "typed_binder", - "source": "{mDecision : MeasurableSpace Decision}", - "type_source": "MeasurableSpace Decision", + "source": "{State Action Observation Belief : Type*}", + "type_source": "Type*", "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype State]", + "type_source": "Fintype State", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Action]", + "type_source": "Fintype Action", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Observation]", + "type_source": "Fintype Observation", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Belief]", + "type_source": "Fintype Belief", + "visibility": "instance" } ], "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.native_blanket", - "FepSketches.finite_information", - "Mathlib.InformationTheory.KullbackLeibler.DataProcessing", - "Mathlib.Probability.Decision.BayesEstimator", - "Mathlib.Probability.Decision.Risk.Basic" + "FepSketches.active_inference" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.DecisionRisk", + "namespace": "FEP.ControlledMarkov", "namespace_variable_context": [ - "{Θ Observation Garbled Decision : Type*}\n {mΘ : MeasurableSpace Θ} {mObservation : MeasurableSpace Observation}\n {mGarbled : MeasurableSpace Garbled} {mDecision : MeasurableSpace Decision}" + "{State Action Observation Belief : Type*}\n [Fintype State] [Fintype Action] [Fintype Observation] [Fintype Belief]" ], "preceding_scope_directives": [ { "directive": "omit", "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DiscreteMeasurableSpace α] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [MeasurableSpace α] [MeasurableSpace β]" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [MeasurableSpace α] [MeasurableSpace β]" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [MeasurableSpace α] [MeasurableSpace β]" + "source": "omit [Fintype State] in" } ], - "qualified_name": "FEP.DecisionRisk.boolZeroOneLoss_measurable", - "source_line": 445, - "source_owner": "src/fep_lean/formal/decision_risk.lean", - "statement": "theorem boolZeroOneLoss_measurable :\n Measurable (Function.uncurry boolZeroOneLoss)", - "statement_sha256": "7141d9e03e363c81a935632ac9e8c3c3fe2838108e07538b152e4478b1a2f677" + "qualified_name": "FEP.ControlledMarkov.desirabilityStep_nonneg", + "source_line": 375, + "source_owner": "src/fep_lean/formal/controlled_markov.lean", + "statement": "theorem desirabilityStep_nonneg (passive : FiniteKernel State State)\n (stateCost desirability : State → ℝ)\n (hDesirability : ∀ state, 0 ≤ desirability state) (state : State) :\n 0 ≤ desirabilityStep passive stateCost desirability state", + "statement_sha256": "f0940293feb1d7c36ca769ac86fcaf0a6dfda02d31418a46e99a32319a203458" }, - "FEP.DecisionRisk.channelJoint_fstMarginal": { + "FEP.ControlledMarkov.desirabilityStep_zero_cost_one": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "prior" + "passive" ], "role": "typed_binder", - "source": "(prior : FiniteLaw α)", - "type_source": "FiniteLaw α", + "source": "(passive : FiniteKernel State State)", + "type_source": "FiniteKernel State State", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "experiment" + "state" ], "role": "typed_binder", - "source": "(experiment : FiniteKernel α β)", - "type_source": "FiniteKernel α β", + "source": "(state : State)", + "type_source": "State", "visibility": "explicit" } ], - "conclusion": "(experiment.joint prior).fstMarginal = prior", + "conclusion": "desirabilityStep passive (fun _ => 0) (fun _ => 1) state = 1", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "α", - "β", - "γ" + "State", + "Action", + "Observation", + "Belief" ], "role": "typed_binder", - "source": "{α β γ : Type*}", + "source": "{State Action Observation Belief : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -39009,137 +40405,68 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype α]", - "type_source": "Fintype α", - "visibility": "instance" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype β]", - "type_source": "Fintype β", - "visibility": "instance" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype γ]", - "type_source": "Fintype γ", - "visibility": "instance" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[MeasurableSpace α]", - "type_source": "MeasurableSpace α", - "visibility": "instance" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[MeasurableSpace β]", - "type_source": "MeasurableSpace β", - "visibility": "instance" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[MeasurableSpace γ]", - "type_source": "MeasurableSpace γ", + "source": "[Fintype State]", + "type_source": "Fintype State", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace α]", - "type_source": "DiscreteMeasurableSpace α", + "source": "[Fintype Action]", + "type_source": "Fintype Action", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace β]", - "type_source": "DiscreteMeasurableSpace β", + "source": "[Fintype Observation]", + "type_source": "Fintype Observation", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace γ]", - "type_source": "DiscreteMeasurableSpace γ", + "source": "[Fintype Belief]", + "type_source": "Fintype Belief", "visibility": "instance" } ], "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.native_blanket", - "FepSketches.finite_information", - "Mathlib.InformationTheory.KullbackLeibler.DataProcessing", - "Mathlib.Probability.Decision.BayesEstimator", - "Mathlib.Probability.Decision.Risk.Basic" + "FepSketches.active_inference" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.DecisionRisk", + "namespace": "FEP.ControlledMarkov", "namespace_variable_context": [ - "{α β γ : Type*} [Fintype α] [Fintype β] [Fintype γ]\n [MeasurableSpace α] [MeasurableSpace β] [MeasurableSpace γ]\n [DiscreteMeasurableSpace α] [DiscreteMeasurableSpace β]\n [DiscreteMeasurableSpace γ]" + "{State Action Observation Belief : Type*}\n [Fintype State] [Fintype Action] [Fintype Observation] [Fintype Belief]" ], "preceding_scope_directives": [ { "directive": "omit", "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DiscreteMeasurableSpace α] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [MeasurableSpace α] [MeasurableSpace β]" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [MeasurableSpace α] [MeasurableSpace β]" + "source": "omit [Fintype State] in" } ], - "qualified_name": "FEP.DecisionRisk.channelJoint_fstMarginal", - "source_line": 326, - "source_owner": "src/fep_lean/formal/decision_risk.lean", - "statement": "theorem channelJoint_fstMarginal (prior : FiniteLaw α)\n (experiment : FiniteKernel α β) :\n (experiment.joint prior).fstMarginal = prior", - "statement_sha256": "500c79fc96e7e21187458248fee53b1868883abf3c68c74ec6cbb38290450b67" + "qualified_name": "FEP.ControlledMarkov.desirabilityStep_zero_cost_one", + "source_line": 386, + "source_owner": "src/fep_lean/formal/controlled_markov.lean", + "statement": "theorem desirabilityStep_zero_cost_one (passive : FiniteKernel State State)\n (state : State) :\n desirabilityStep passive (fun _ => 0) (fun _ => 1) state = 1", + "statement_sha256": "4dca41fe0a826905de41f969a8f5baeeef42a264aad4b4d198789a7f796f804c" }, - "FEP.DecisionRisk.embeddedJoint_klDiv_eq_mutualInformation": { + "FEP.ControlledMarkov.exists_finite_minimizer": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "joint" - ], - "role": "typed_binder", - "source": "(joint : FiniteLaw (α × β))", - "type_source": "FiniteLaw (α × β)", - "visibility": "explicit" - } - ], - "conclusion": "InformationTheory.klDiv (embeddedLaw joint)\n ((embeddedLaw joint.fstMarginal).prod (embeddedLaw joint.sndMarginal)) =\n ENNReal.ofReal (mutualInformation joint)", - "context_binders": [ - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "α", - "β", - "γ" + "ι" ], "role": "typed_binder", - "source": "{α β γ : Type*}", + "source": "{ι : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -39147,161 +40474,110 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype α]", - "type_source": "Fintype α", - "visibility": "instance" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype β]", - "type_source": "Fintype β", + "source": "[Fintype ι]", + "type_source": "Fintype ι", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype γ]", - "type_source": "Fintype γ", + "source": "[Nonempty ι]", + "type_source": "Nonempty ι", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[MeasurableSpace α]", - "type_source": "MeasurableSpace α", - "visibility": "instance" - }, + "names": [ + "objective" + ], + "role": "typed_binder", + "source": "(objective : ι → ℝ)", + "type_source": "ι → ℝ", + "visibility": "explicit" + } + ], + "conclusion": "∃ minimizer, ∀ alternative, objective minimizer ≤ objective alternative", + "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[MeasurableSpace β]", - "type_source": "MeasurableSpace β", - "visibility": "instance" + "names": [ + "State", + "Action", + "Observation", + "Belief" + ], + "role": "typed_binder", + "source": "{State Action Observation Belief : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[MeasurableSpace γ]", - "type_source": "MeasurableSpace γ", + "source": "[Fintype State]", + "type_source": "Fintype State", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace α]", - "type_source": "DiscreteMeasurableSpace α", + "source": "[Fintype Action]", + "type_source": "Fintype Action", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace β]", - "type_source": "DiscreteMeasurableSpace β", + "source": "[Fintype Observation]", + "type_source": "Fintype Observation", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace γ]", - "type_source": "DiscreteMeasurableSpace γ", + "source": "[Fintype Belief]", + "type_source": "Fintype Belief", "visibility": "instance" } ], - "declaration_mentions": [ - { - "identifier": "embeddedLaw_product", - "qualified_name": "FEP.DecisionRisk.embeddedLaw_product", - "resolution": "exact or same-namespace source identifier", - "role": "proof_reference" - }, - { - "identifier": "joint_relativeSupport_productMarginals", - "qualified_name": "FEP.DecisionRisk.joint_relativeSupport_productMarginals", - "resolution": "exact or same-namespace source identifier", - "role": "proof_reference" - }, - { - "identifier": "weightedDirac_klDiv_eq_finiteKL_of_relativeSupport", - "qualified_name": "FEP.DecisionRisk.weightedDirac_klDiv_eq_finiteKL_of_relativeSupport", - "resolution": "exact or same-namespace source identifier", - "role": "proof_reference" - } - ], + "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.native_blanket", - "FepSketches.finite_information", - "Mathlib.InformationTheory.KullbackLeibler.DataProcessing", - "Mathlib.Probability.Decision.BayesEstimator", - "Mathlib.Probability.Decision.Risk.Basic" + "FepSketches.active_inference" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.DecisionRisk", + "namespace": "FEP.ControlledMarkov", "namespace_variable_context": [ - "{α β γ : Type*} [Fintype α] [Fintype β] [Fintype γ]\n [MeasurableSpace α] [MeasurableSpace β] [MeasurableSpace γ]\n [DiscreteMeasurableSpace α] [DiscreteMeasurableSpace β]\n [DiscreteMeasurableSpace γ]" + "{State Action Observation Belief : Type*}\n [Fintype State] [Fintype Action] [Fintype Observation] [Fintype Belief]" ], "preceding_scope_directives": [ { "directive": "omit", "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DiscreteMeasurableSpace α] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [MeasurableSpace α] [MeasurableSpace β]" + "source": "omit [Fintype State] in" } ], - "qualified_name": "FEP.DecisionRisk.embeddedJoint_klDiv_eq_mutualInformation", - "source_line": 314, - "source_owner": "src/fep_lean/formal/decision_risk.lean", - "statement": "theorem embeddedJoint_klDiv_eq_mutualInformation\n (joint : FiniteLaw (α × β)) :\n InformationTheory.klDiv (embeddedLaw joint)\n ((embeddedLaw joint.fstMarginal).prod (embeddedLaw joint.sndMarginal)) =\n ENNReal.ofReal (mutualInformation joint)", - "statement_sha256": "20fb41dcce2ee6aa15830bf54b4c8ba6f093881877c2a491712f6dc3b2020f64" + "qualified_name": "FEP.ControlledMarkov.exists_finite_minimizer", + "source_line": 395, + "source_owner": "src/fep_lean/formal/controlled_markov.lean", + "statement": "theorem exists_finite_minimizer {ι : Type*} [Fintype ι] [Nonempty ι]\n (objective : ι → ℝ) :\n ∃ minimizer, ∀ alternative, objective minimizer ≤ objective alternative", + "statement_sha256": "15f6d60894af56c03b0d782710b64bca417bccd7b5b4094d94b0c1764875c3cb" }, - "FEP.DecisionRisk.embeddedLaw_product": { + "FEP.ControlledMarkov.finiteArgmin_le": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "p" - ], - "role": "typed_binder", - "source": "(p : FiniteLaw α)", - "type_source": "FiniteLaw α", - "visibility": "explicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "q" - ], - "role": "typed_binder", - "source": "(q : FiniteLaw β)", - "type_source": "FiniteLaw β", - "visibility": "explicit" - } - ], - "conclusion": "embeddedLaw (p.product q) = (embeddedLaw p).prod (embeddedLaw q)", - "context_binders": [ - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "α", - "β", - "γ" + "ι" ], "role": "typed_binder", - "source": "{α β γ : Type*}", + "source": "{ι : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -39309,145 +40585,191 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype α]", - "type_source": "Fintype α", + "source": "[Fintype ι]", + "type_source": "Fintype ι", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype β]", - "type_source": "Fintype β", + "source": "[Nonempty ι]", + "type_source": "Nonempty ι", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype γ]", - "type_source": "Fintype γ", - "visibility": "instance" + "names": [ + "objective" + ], + "role": "typed_binder", + "source": "(objective : ι → ℝ)", + "type_source": "ι → ℝ", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[MeasurableSpace α]", - "type_source": "MeasurableSpace α", - "visibility": "instance" - }, + "names": [ + "alternative" + ], + "role": "typed_binder", + "source": "(alternative : ι)", + "type_source": "ι", + "visibility": "explicit" + } + ], + "conclusion": "objective (finiteArgmin objective) ≤ objective alternative", + "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[MeasurableSpace β]", - "type_source": "MeasurableSpace β", - "visibility": "instance" + "names": [ + "State", + "Action", + "Observation", + "Belief" + ], + "role": "typed_binder", + "source": "{State Action Observation Belief : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[MeasurableSpace γ]", - "type_source": "MeasurableSpace γ", + "source": "[Fintype State]", + "type_source": "Fintype State", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace α]", - "type_source": "DiscreteMeasurableSpace α", + "source": "[Fintype Action]", + "type_source": "Fintype Action", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace β]", - "type_source": "DiscreteMeasurableSpace β", + "source": "[Fintype Observation]", + "type_source": "Fintype Observation", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace γ]", - "type_source": "DiscreteMeasurableSpace γ", + "source": "[Fintype Belief]", + "type_source": "Fintype Belief", "visibility": "instance" } ], "declaration_mentions": [ { - "candidates": [ - "FEP.NativeBlanket.embeddedLaw_apply_singleton" - ], - "identifier": "embeddedLaw_apply_singleton", - "resolution": "unresolved lexical scope", + "identifier": "exists_finite_minimizer", + "qualified_name": "FEP.ControlledMarkov.exists_finite_minimizer", + "resolution": "exact or same-namespace source identifier", "role": "proof_reference" } ], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.native_blanket", - "FepSketches.finite_information", - "Mathlib.InformationTheory.KullbackLeibler.DataProcessing", - "Mathlib.Probability.Decision.BayesEstimator", - "Mathlib.Probability.Decision.Risk.Basic" + "FepSketches.active_inference" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.DecisionRisk", + "namespace": "FEP.ControlledMarkov", "namespace_variable_context": [ - "{α β γ : Type*} [Fintype α] [Fintype β] [Fintype γ]\n [MeasurableSpace α] [MeasurableSpace β] [MeasurableSpace γ]\n [DiscreteMeasurableSpace α] [DiscreteMeasurableSpace β]\n [DiscreteMeasurableSpace γ]" + "{State Action Observation Belief : Type*}\n [Fintype State] [Fintype Action] [Fintype Observation] [Fintype Belief]" ], "preceding_scope_directives": [ { "directive": "omit", "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DiscreteMeasurableSpace α] in" + "source": "omit [Fintype State] in" } ], - "qualified_name": "FEP.DecisionRisk.embeddedLaw_product", - "source_line": 279, - "source_owner": "src/fep_lean/formal/decision_risk.lean", - "statement": "theorem embeddedLaw_product (p : FiniteLaw α) (q : FiniteLaw β) :\n embeddedLaw (p.product q) = (embeddedLaw p).prod (embeddedLaw q)", - "statement_sha256": "b5c15fb5f446e3b12e3838e241b2461236530f177a5ff0c3a66418935c62bc1a" + "qualified_name": "FEP.ControlledMarkov.finiteArgmin_le", + "source_line": 412, + "source_owner": "src/fep_lean/formal/controlled_markov.lean", + "statement": "theorem finiteArgmin_le {ι : Type*} [Fintype ι] [Nonempty ι]\n (objective : ι → ℝ) (alternative : ι) :\n objective (finiteArgmin objective) ≤ objective alternative", + "statement_sha256": "5a5d8669c3d09d4e2b8ca33716a681ecd1fdff7638184b108b6c05def20121f8" }, - "FEP.DecisionRisk.embeddedLaw_withDensity_ratio": { + "FEP.ControlledMarkov.reachableBelief_policyValue_eq": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DecidableEq Belief]", + "type_source": "DecidableEq Belief", + "visibility": "instance" + }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "p", - "q" + "model" ], "role": "typed_binder", - "source": "(p q : FiniteLaw α)", - "type_source": "FiniteLaw α", + "source": "(model : ReachableBeliefPOMDP Belief State Action Observation)", + "type_source": "ReachableBeliefPOMDP Belief State Action Observation", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "hq" + "stateCost" ], "role": "typed_binder", - "source": "(hq : ∀ x, 0 < q x)", - "type_source": "∀ x, 0 < q x", + "source": "(stateCost : State → Action → ℝ)", + "type_source": "State → Action → ℝ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "policy" + ], + "role": "typed_binder", + "source": "(policy : ℕ → Belief → Action)", + "type_source": "ℕ → Belief → Action", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "horizon" + ], + "role": "typed_binder", + "source": "(horizon : ℕ)", + "type_source": "ℕ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "belief" + ], + "role": "typed_binder", + "source": "(belief : Belief)", + "type_source": "Belief", "visibility": "explicit" } ], - "conclusion": "(embeddedLaw q).withDensity\n (fun x => ENNReal.ofReal (p x / q x)) = embeddedLaw p", + "conclusion": "reducedPolicyValue model stateCost policy horizon belief =\n interpretedPolicyValue model stateCost policy horizon belief", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "α" + "State", + "Action", + "Observation", + "Belief" ], "role": "typed_binder", - "source": "{α : Type*}", + "source": "{State Action Observation Belief : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -39455,91 +40777,116 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype α]", - "type_source": "Fintype α", + "source": "[Fintype State]", + "type_source": "Fintype State", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[MeasurableSpace α]", - "type_source": "MeasurableSpace α", + "source": "[Fintype Action]", + "type_source": "Fintype Action", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace α]", - "type_source": "DiscreteMeasurableSpace α", + "source": "[Fintype Observation]", + "type_source": "Fintype Observation", "visibility": "instance" - } - ], - "declaration_mentions": [ + }, { - "candidates": [ - "FEP.NativeBlanket.embeddedLaw_apply_singleton" - ], - "identifier": "embeddedLaw_apply_singleton", - "resolution": "unresolved lexical scope", - "role": "proof_reference" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Belief]", + "type_source": "Fintype Belief", + "visibility": "instance" } ], + "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.native_blanket", - "FepSketches.finite_information", - "Mathlib.InformationTheory.KullbackLeibler.DataProcessing", - "Mathlib.Probability.Decision.BayesEstimator", - "Mathlib.Probability.Decision.Risk.Basic" + "FepSketches.active_inference" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.DecisionRisk", + "namespace": "FEP.ControlledMarkov", "namespace_variable_context": [ - "{α : Type*} [Fintype α] [MeasurableSpace α]\n [DiscreteMeasurableSpace α]" + "{State Action Observation Belief : Type*}\n [Fintype State] [Fintype Action] [Fintype Observation] [Fintype Belief]" ], "preceding_scope_directives": [], - "qualified_name": "FEP.DecisionRisk.embeddedLaw_withDensity_ratio", - "source_line": 89, - "source_owner": "src/fep_lean/formal/decision_risk.lean", - "statement": "theorem embeddedLaw_withDensity_ratio (p q : FiniteLaw α)\n (hq : ∀ x, 0 < q x) :\n (embeddedLaw q).withDensity\n (fun x => ENNReal.ofReal (p x / q x)) = embeddedLaw p", - "statement_sha256": "f12ef23cda6ab799533d1e03ef01dca9764d16f72defd8951da34a6c735701ce" + "qualified_name": "FEP.ControlledMarkov.reachableBelief_policyValue_eq", + "source_line": 171, + "source_owner": "src/fep_lean/formal/controlled_markov.lean", + "statement": "theorem reachableBelief_policyValue_eq [DecidableEq Belief]\n (model : ReachableBeliefPOMDP Belief State Action Observation)\n (stateCost : State → Action → ℝ) (policy : ℕ → Belief → Action)\n (horizon : ℕ) (belief : Belief) :\n reducedPolicyValue model stateCost policy horizon belief =\n interpretedPolicyValue model stateCost policy horizon belief", + "statement_sha256": "2933a0e9dcfa32545c630a3a24543934ecf17f9a63bf045e03a1d5cadf0aa92f" }, - "FEP.DecisionRisk.embeddedLaw_withDensity_ratio_of_relativeSupport": { + "FEP.ControlledMarkov.softBellmanPartition_pos": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Nonempty Action]", + "type_source": "Nonempty Action", + "visibility": "instance" + }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "p", - "q" + "temperature" ], "role": "typed_binder", - "source": "(p q : FiniteLaw α)", - "type_source": "FiniteLaw α", + "source": "(temperature : ℝ)", + "type_source": "ℝ", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "hsupport" + "stageCost" ], "role": "typed_binder", - "source": "(hsupport : ∀ x, p x ≠ 0 → 0 < q x)", - "type_source": "∀ x, p x ≠ 0 → 0 < q x", + "source": "(stageCost : State → Action → ℝ)", + "type_source": "State → Action → ℝ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "continuation" + ], + "role": "typed_binder", + "source": "(continuation : Action → ℝ)", + "type_source": "Action → ℝ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "state" + ], + "role": "typed_binder", + "source": "(state : State)", + "type_source": "State", "visibility": "explicit" } ], - "conclusion": "(embeddedLaw q).withDensity\n (fun x => ENNReal.ofReal (p x / q x)) = embeddedLaw p", + "conclusion": "0 < softBellmanPartition temperature stageCost continuation state", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "α" + "State", + "Action", + "Observation", + "Belief" ], "role": "typed_binder", - "source": "{α : Type*}", + "source": "{State Action Observation Belief : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -39547,154 +40894,152 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype α]", - "type_source": "Fintype α", + "source": "[Fintype State]", + "type_source": "Fintype State", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[MeasurableSpace α]", - "type_source": "MeasurableSpace α", + "source": "[Fintype Action]", + "type_source": "Fintype Action", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace α]", - "type_source": "DiscreteMeasurableSpace α", + "source": "[Fintype Observation]", + "type_source": "Fintype Observation", "visibility": "instance" - } - ], - "declaration_mentions": [ - { - "candidates": [ - "FEP.NativeBlanket.embeddedLaw_apply_singleton" - ], - "identifier": "embeddedLaw_apply_singleton", - "resolution": "unresolved lexical scope", - "role": "proof_reference" - } - ], - "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", - "import_context": [ - "FepSketches.native_blanket", - "FepSketches.finite_information", - "Mathlib.InformationTheory.KullbackLeibler.DataProcessing", - "Mathlib.Probability.Decision.BayesEstimator", - "Mathlib.Probability.Decision.Risk.Basic" - ], - "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.DecisionRisk", - "namespace_variable_context": [ - "{α : Type*} [Fintype α] [MeasurableSpace α]\n [DiscreteMeasurableSpace α]" - ], - "preceding_scope_directives": [], - "qualified_name": "FEP.DecisionRisk.embeddedLaw_withDensity_ratio_of_relativeSupport", - "source_line": 33, - "source_owner": "src/fep_lean/formal/decision_risk.lean", - "statement": "theorem embeddedLaw_withDensity_ratio_of_relativeSupport (p q : FiniteLaw α)\n (hsupport : ∀ x, p x ≠ 0 → 0 < q x) :\n (embeddedLaw q).withDensity\n (fun x => ENNReal.ofReal (p x / q x)) = embeddedLaw p", - "statement_sha256": "f5b6070b3f180ffcde944939913274707342d01faa2199866ad7a7f2fef5fd61" - }, - "FEP.DecisionRisk.finiteKL_asymmetric_bool": { - "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [], - "conclusion": "finiteKL asymmetricBoolTruth asymmetricBoolReport ≠\n finiteKL asymmetricBoolReport asymmetricBoolTruth", - "context_binders": [ - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "α" - ], - "role": "typed_binder", - "source": "{α : Type*}", - "type_source": "Type*", - "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype α]", - "type_source": "Fintype α", + "source": "[Fintype Belief]", + "type_source": "Fintype Belief", "visibility": "instance" } ], "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.native_blanket", - "FepSketches.finite_information", - "Mathlib.InformationTheory.KullbackLeibler.DataProcessing", - "Mathlib.Probability.Decision.BayesEstimator", - "Mathlib.Probability.Decision.Risk.Basic" + "FepSketches.active_inference" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.DecisionRisk", + "namespace": "FEP.ControlledMarkov", "namespace_variable_context": [ - "{α : Type*} [Fintype α]" + "{State Action Observation Belief : Type*}\n [Fintype State] [Fintype Action] [Fintype Observation] [Fintype Belief]" ], "preceding_scope_directives": [ { "directive": "omit", "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DiscreteMeasurableSpace α] in" + "source": "omit [Fintype State] in" } ], - "qualified_name": "FEP.DecisionRisk.finiteKL_asymmetric_bool", - "source_line": 217, - "source_owner": "src/fep_lean/formal/decision_risk.lean", - "statement": "theorem finiteKL_asymmetric_bool :\n finiteKL asymmetricBoolTruth asymmetricBoolReport ≠\n finiteKL asymmetricBoolReport asymmetricBoolTruth", - "statement_sha256": "1eb597e2bf76d2dec840e4a11dcfdaf055099a017eb1bbb0a8f7c9666fb82e75" + "qualified_name": "FEP.ControlledMarkov.softBellmanPartition_pos", + "source_line": 275, + "source_owner": "src/fep_lean/formal/controlled_markov.lean", + "statement": "theorem softBellmanPartition_pos [Nonempty Action] (temperature : ℝ)\n (stageCost : State → Action → ℝ) (continuation : Action → ℝ)\n (state : State) :\n 0 < softBellmanPartition temperature stageCost continuation state", + "statement_sha256": "6e579a39415379f1406120bf8add41052db22a6db3aa0f2aa45fc7a52a70a0da" }, - "FEP.DecisionRisk.finiteKL_mono_under_channel_of_relativeSupport": { + "FEP.ControlledMarkov.softBellmanValue_le_actionEnergy": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Nonempty Action]", + "type_source": "Nonempty Action", + "visibility": "instance" + }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "actual", - "reference" + "temperature" ], "role": "typed_binder", - "source": "(actual reference : FiniteLaw α)", - "type_source": "FiniteLaw α", + "source": "(temperature : ℝ)", + "type_source": "ℝ", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "channel" + "hTemperature" ], "role": "typed_binder", - "source": "(channel : FiniteKernel α β)", - "type_source": "FiniteKernel α β", + "source": "(hTemperature : 0 < temperature)", + "type_source": "0 < temperature", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "hsupport" + "stageCost" ], "role": "typed_binder", - "source": "(hsupport : ∀ x, actual x ≠ 0 → 0 < reference x)", - "type_source": "∀ x, actual x ≠ 0 → 0 < reference x", + "source": "(stageCost : State → Action → ℝ)", + "type_source": "State → Action → ℝ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "transition" + ], + "role": "typed_binder", + "source": "(transition : ControlledKernel State Action)", + "type_source": "ControlledKernel State Action", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "horizon" + ], + "role": "typed_binder", + "source": "(horizon : ℕ)", + "type_source": "ℕ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "state" + ], + "role": "typed_binder", + "source": "(state : State)", + "type_source": "State", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "action" + ], + "role": "typed_binder", + "source": "(action : Action)", + "type_source": "Action", "visibility": "explicit" } ], - "conclusion": "finiteKL (channel.predictive actual) (channel.predictive reference) ≤\n finiteKL actual reference", + "conclusion": "softBellmanValue temperature stageCost transition (horizon + 1) state ≤\n softBellmanActionEnergy temperature stageCost transition\n horizon state action", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "α", - "β", - "γ" + "State", + "Action", + "Observation", + "Belief" ], "role": "typed_binder", - "source": "{α β γ : Type*}", + "source": "{State Action Observation Belief : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -39702,477 +41047,264 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype α]", - "type_source": "Fintype α", + "source": "[Fintype State]", + "type_source": "Fintype State", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype β]", - "type_source": "Fintype β", + "source": "[Fintype Action]", + "type_source": "Fintype Action", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype γ]", - "type_source": "Fintype γ", + "source": "[Fintype Observation]", + "type_source": "Fintype Observation", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[MeasurableSpace α]", - "type_source": "MeasurableSpace α", - "visibility": "instance" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[MeasurableSpace β]", - "type_source": "MeasurableSpace β", - "visibility": "instance" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[MeasurableSpace γ]", - "type_source": "MeasurableSpace γ", - "visibility": "instance" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace α]", - "type_source": "DiscreteMeasurableSpace α", - "visibility": "instance" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace β]", - "type_source": "DiscreteMeasurableSpace β", - "visibility": "instance" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace γ]", - "type_source": "DiscreteMeasurableSpace γ", + "source": "[Fintype Belief]", + "type_source": "Fintype Belief", "visibility": "instance" } ], "declaration_mentions": [ { - "candidates": [ - "FEP.NativeBlanket.embeddedPredictive_eq_comp" - ], - "identifier": "embeddedPredictive_eq_comp", - "resolution": "unresolved lexical scope", - "role": "proof_reference" - }, - { - "candidates": [ - "FEP.FiniteInformation.finiteKL_nonneg" - ], - "identifier": "finiteKL_nonneg", - "resolution": "unresolved lexical scope", - "role": "proof_reference" - }, - { - "identifier": "predictive_relativeSupport", - "qualified_name": "FEP.DecisionRisk.predictive_relativeSupport", - "resolution": "exact or same-namespace source identifier", - "role": "proof_reference" - }, - { - "identifier": "weightedDirac_klDiv_eq_finiteKL_of_relativeSupport", - "qualified_name": "FEP.DecisionRisk.weightedDirac_klDiv_eq_finiteKL_of_relativeSupport", + "identifier": "softBellmanValue_succ", + "qualified_name": "FEP.ControlledMarkov.softBellmanValue_succ", "resolution": "exact or same-namespace source identifier", "role": "proof_reference" } ], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.native_blanket", - "FepSketches.finite_information", - "Mathlib.InformationTheory.KullbackLeibler.DataProcessing", - "Mathlib.Probability.Decision.BayesEstimator", - "Mathlib.Probability.Decision.Risk.Basic" + "FepSketches.active_inference" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.DecisionRisk", + "namespace": "FEP.ControlledMarkov", "namespace_variable_context": [ - "{α β γ : Type*} [Fintype α] [Fintype β] [Fintype γ]\n [MeasurableSpace α] [MeasurableSpace β] [MeasurableSpace γ]\n [DiscreteMeasurableSpace α] [DiscreteMeasurableSpace β]\n [DiscreteMeasurableSpace γ]" + "{State Action Observation Belief : Type*}\n [Fintype State] [Fintype Action] [Fintype Observation] [Fintype Belief]" ], "preceding_scope_directives": [ { "directive": "omit", "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DiscreteMeasurableSpace α] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [MeasurableSpace α] [MeasurableSpace β]" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [MeasurableSpace α] [MeasurableSpace β]" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [MeasurableSpace α] [MeasurableSpace β]" + "source": "omit [Fintype State] in" } ], - "qualified_name": "FEP.DecisionRisk.finiteKL_mono_under_channel_of_relativeSupport", - "source_line": 379, - "source_owner": "src/fep_lean/formal/decision_risk.lean", - "statement": "theorem finiteKL_mono_under_channel_of_relativeSupport\n (actual reference : FiniteLaw α) (channel : FiniteKernel α β)\n (hsupport : ∀ x, actual x ≠ 0 → 0 < reference x) :\n finiteKL (channel.predictive actual) (channel.predictive reference) ≤\n finiteKL actual reference", - "statement_sha256": "c8ad9c552196b0a2c8193a93971e98ecaa01a805a89635acafd642f8913614e6" + "qualified_name": "FEP.ControlledMarkov.softBellmanValue_le_actionEnergy", + "source_line": 336, + "source_owner": "src/fep_lean/formal/controlled_markov.lean", + "statement": "theorem softBellmanValue_le_actionEnergy [Nonempty Action]\n (temperature : ℝ) (hTemperature : 0 < temperature)\n (stageCost : State → Action → ℝ)\n (transition : ControlledKernel State Action)\n (horizon : ℕ) (state : State) (action : Action) :\n softBellmanValue temperature stageCost transition (horizon + 1) state ≤\n softBellmanActionEnergy temperature stageCost transition\n horizon state action", + "statement_sha256": "ee17f7aba190973748f8c83c71915d3f4c7a023d973404d8c7a6348632f8794b" }, - "FEP.DecisionRisk.finiteMutualInformation_mono_under_observationGarbling": { + "FEP.ControlledMarkov.softBellmanValue_partition_pos": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Nonempty Action]", + "type_source": "Nonempty Action", + "visibility": "instance" + }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "prior" + "temperature" ], "role": "typed_binder", - "source": "(prior : FiniteLaw α)", - "type_source": "FiniteLaw α", + "source": "(temperature : ℝ)", + "type_source": "ℝ", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "experiment" + "stageCost" ], "role": "typed_binder", - "source": "(experiment : FiniteKernel α β)", - "type_source": "FiniteKernel α β", + "source": "(stageCost : State → Action → ℝ)", + "type_source": "State → Action → ℝ", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "garbling" + "transition" ], "role": "typed_binder", - "source": "(garbling : FiniteKernel β γ)", - "type_source": "FiniteKernel β γ", + "source": "(transition : ControlledKernel State Action)", + "type_source": "ControlledKernel State Action", "visibility": "explicit" - } - ], - "conclusion": "mutualInformation ((FiniteKernel.comp garbling experiment).joint prior) ≤\n mutualInformation (experiment.joint prior)", - "context_binders": [ + }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "α", - "β", - "γ" + "horizon" ], "role": "typed_binder", - "source": "{α β γ : Type*}", - "type_source": "Type*", - "visibility": "implicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype α]", - "type_source": "Fintype α", - "visibility": "instance" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype β]", - "type_source": "Fintype β", - "visibility": "instance" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype γ]", - "type_source": "Fintype γ", - "visibility": "instance" + "source": "(horizon : ℕ)", + "type_source": "ℕ", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[MeasurableSpace α]", - "type_source": "MeasurableSpace α", - "visibility": "instance" - }, + "names": [ + "state" + ], + "role": "typed_binder", + "source": "(state : State)", + "type_source": "State", + "visibility": "explicit" + } + ], + "conclusion": "0 < ∑ action,\n Real.exp (-((softBellmanActionEnergy temperature stageCost transition\n horizon state action) / temperature))", + "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[MeasurableSpace β]", - "type_source": "MeasurableSpace β", - "visibility": "instance" + "names": [ + "State", + "Action", + "Observation", + "Belief" + ], + "role": "typed_binder", + "source": "{State Action Observation Belief : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[MeasurableSpace γ]", - "type_source": "MeasurableSpace γ", + "source": "[Fintype State]", + "type_source": "Fintype State", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace α]", - "type_source": "DiscreteMeasurableSpace α", + "source": "[Fintype Action]", + "type_source": "Fintype Action", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace β]", - "type_source": "DiscreteMeasurableSpace β", + "source": "[Fintype Observation]", + "type_source": "Fintype Observation", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace γ]", - "type_source": "DiscreteMeasurableSpace γ", + "source": "[Fintype Belief]", + "type_source": "Fintype Belief", "visibility": "instance" } ], - "declaration_mentions": [ - { - "candidates": [ - "FEP.NativeBlanket.embeddedKernel_comp" - ], - "identifier": "embeddedKernel_comp", - "resolution": "unresolved lexical scope", - "role": "proof_reference" - }, - { - "identifier": "mutualInformation_mono_under_observationGarbling", - "qualified_name": "FEP.DecisionRisk.mutualInformation_mono_under_observationGarbling", - "resolution": "exact or same-namespace source identifier", - "role": "proof_reference" - }, - { - "candidates": [ - "FEP.FiniteInformation.mutualInformation_nonneg" - ], - "identifier": "mutualInformation_nonneg", - "resolution": "unresolved lexical scope", - "role": "proof_reference" - }, - { - "identifier": "nativeChannelMutualInformation_eq_finite", - "qualified_name": "FEP.DecisionRisk.nativeChannelMutualInformation_eq_finite", - "resolution": "exact or same-namespace source identifier", - "role": "proof_reference" - } - ], + "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.native_blanket", - "FepSketches.finite_information", - "Mathlib.InformationTheory.KullbackLeibler.DataProcessing", - "Mathlib.Probability.Decision.BayesEstimator", - "Mathlib.Probability.Decision.Risk.Basic" + "FepSketches.active_inference" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.DecisionRisk", + "namespace": "FEP.ControlledMarkov", "namespace_variable_context": [ - "{α β γ : Type*} [Fintype α] [Fintype β] [Fintype γ]\n [MeasurableSpace α] [MeasurableSpace β] [MeasurableSpace γ]\n [DiscreteMeasurableSpace α] [DiscreteMeasurableSpace β]\n [DiscreteMeasurableSpace γ]" + "{State Action Observation Belief : Type*}\n [Fintype State] [Fintype Action] [Fintype Observation] [Fintype Belief]" ], "preceding_scope_directives": [ { "directive": "omit", "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DiscreteMeasurableSpace α] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [MeasurableSpace α] [MeasurableSpace β]" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [MeasurableSpace α] [MeasurableSpace β]" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [MeasurableSpace α] [MeasurableSpace β]" + "source": "omit [Fintype State] in" } ], - "qualified_name": "FEP.DecisionRisk.finiteMutualInformation_mono_under_observationGarbling", - "source_line": 395, - "source_owner": "src/fep_lean/formal/decision_risk.lean", - "statement": "theorem finiteMutualInformation_mono_under_observationGarbling\n (prior : FiniteLaw α) (experiment : FiniteKernel α β)\n (garbling : FiniteKernel β γ) :\n mutualInformation ((FiniteKernel.comp garbling experiment).joint prior) ≤\n mutualInformation (experiment.joint prior)", - "statement_sha256": "4bd54f87800f214c7161f8941852fbc0422abc0c9f61bf5f51aa9c3d3b711207" + "qualified_name": "FEP.ControlledMarkov.softBellmanValue_partition_pos", + "source_line": 321, + "source_owner": "src/fep_lean/formal/controlled_markov.lean", + "statement": "theorem softBellmanValue_partition_pos [Nonempty Action]\n (temperature : ℝ) (stageCost : State → Action → ℝ)\n (transition : ControlledKernel State Action)\n (horizon : ℕ) (state : State) :\n 0 < ∑ action,\n Real.exp (-((softBellmanActionEnergy temperature stageCost transition\n horizon state action) / temperature))", + "statement_sha256": "fcbe7195340c0c874d777f2f773de200650d1a1c780001e11e3b9f3a9565d256" }, - "FEP.DecisionRisk.garbledBool_bayesRisk_eq_half": { + "FEP.ControlledMarkov.softBellmanValue_succ": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [], - "conclusion": "bayesRisk boolZeroOneLoss garbledBoolExperiment boolPrior = 1 / 2", - "context_binders": [ - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "Θ", - "Observation", - "Garbled", - "Decision" - ], - "role": "typed_binder", - "source": "{Θ Observation Garbled Decision : Type*}", - "type_source": "Type*", - "visibility": "implicit" - }, + "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "mΘ" + "temperature" ], "role": "typed_binder", - "source": "{mΘ : MeasurableSpace Θ}", - "type_source": "MeasurableSpace Θ", - "visibility": "implicit" + "source": "(temperature : ℝ)", + "type_source": "ℝ", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "mObservation" + "stageCost" ], "role": "typed_binder", - "source": "{mObservation : MeasurableSpace Observation}", - "type_source": "MeasurableSpace Observation", - "visibility": "implicit" + "source": "(stageCost : State → Action → ℝ)", + "type_source": "State → Action → ℝ", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "mGarbled" + "transition" ], "role": "typed_binder", - "source": "{mGarbled : MeasurableSpace Garbled}", - "type_source": "MeasurableSpace Garbled", - "visibility": "implicit" + "source": "(transition : ControlledKernel State Action)", + "type_source": "ControlledKernel State Action", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "mDecision" + "horizon" ], "role": "typed_binder", - "source": "{mDecision : MeasurableSpace Decision}", - "type_source": "MeasurableSpace Decision", - "visibility": "implicit" - } - ], - "declaration_mentions": [ - { - "identifier": "boolPrior_zeroOneRisk", - "qualified_name": "FEP.DecisionRisk.boolPrior_zeroOneRisk", - "resolution": "exact or same-namespace source identifier", - "role": "proof_reference" - }, - { - "identifier": "boolZeroOneLoss_measurable", - "qualified_name": "FEP.DecisionRisk.boolZeroOneLoss_measurable", - "resolution": "exact or same-namespace source identifier", - "role": "proof_reference" - } - ], - "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", - "import_context": [ - "FepSketches.native_blanket", - "FepSketches.finite_information", - "Mathlib.InformationTheory.KullbackLeibler.DataProcessing", - "Mathlib.Probability.Decision.BayesEstimator", - "Mathlib.Probability.Decision.Risk.Basic" - ], - "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.DecisionRisk", - "namespace_variable_context": [ - "{Θ Observation Garbled Decision : Type*}\n {mΘ : MeasurableSpace Θ} {mObservation : MeasurableSpace Observation}\n {mGarbled : MeasurableSpace Garbled} {mDecision : MeasurableSpace Decision}" - ], - "preceding_scope_directives": [ - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DiscreteMeasurableSpace α] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [MeasurableSpace α] [MeasurableSpace β]" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [MeasurableSpace α] [MeasurableSpace β]" + "source": "(horizon : ℕ)", + "type_source": "ℕ", + "visibility": "explicit" }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [MeasurableSpace α] [MeasurableSpace β]" - } - ], - "qualified_name": "FEP.DecisionRisk.garbledBool_bayesRisk_eq_half", - "source_line": 502, - "source_owner": "src/fep_lean/formal/decision_risk.lean", - "statement": "theorem garbledBool_bayesRisk_eq_half :\n bayesRisk boolZeroOneLoss garbledBoolExperiment boolPrior = 1 / 2", - "statement_sha256": "f710912db85c5d1a0332caedfee89807846f09718bab0b21204f76bec834a82a" - }, - "FEP.DecisionRisk.joint_relativeSupport_productMarginals": { - "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "joint" + "state" ], "role": "typed_binder", - "source": "(joint : FiniteLaw (α × β))", - "type_source": "FiniteLaw (α × β)", + "source": "(state : State)", + "type_source": "State", "visibility": "explicit" } ], - "conclusion": "∀ xy, joint xy ≠ 0 →\n 0 < (joint.fstMarginal.product joint.sndMarginal) xy", + "conclusion": "softBellmanValue temperature stageCost transition (horizon + 1) state =\n -temperature * Real.log\n (∑ action,\n Real.exp (-((softBellmanActionEnergy temperature stageCost transition\n horizon state action) / temperature)))", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "α", - "β", - "γ" + "State", + "Action", + "Observation", + "Belief" ], "role": "typed_binder", - "source": "{α β γ : Type*}", + "source": "{State Action Observation Belief : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -40180,272 +41312,242 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype α]", - "type_source": "Fintype α", - "visibility": "instance" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype β]", - "type_source": "Fintype β", - "visibility": "instance" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype γ]", - "type_source": "Fintype γ", - "visibility": "instance" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[MeasurableSpace α]", - "type_source": "MeasurableSpace α", - "visibility": "instance" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[MeasurableSpace β]", - "type_source": "MeasurableSpace β", - "visibility": "instance" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[MeasurableSpace γ]", - "type_source": "MeasurableSpace γ", + "source": "[Fintype State]", + "type_source": "Fintype State", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace α]", - "type_source": "DiscreteMeasurableSpace α", + "source": "[Fintype Action]", + "type_source": "Fintype Action", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace β]", - "type_source": "DiscreteMeasurableSpace β", + "source": "[Fintype Observation]", + "type_source": "Fintype Observation", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace γ]", - "type_source": "DiscreteMeasurableSpace γ", + "source": "[Fintype Belief]", + "type_source": "Fintype Belief", "visibility": "instance" } ], "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.native_blanket", - "FepSketches.finite_information", - "Mathlib.InformationTheory.KullbackLeibler.DataProcessing", - "Mathlib.Probability.Decision.BayesEstimator", - "Mathlib.Probability.Decision.Risk.Basic" + "FepSketches.active_inference" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.DecisionRisk", + "namespace": "FEP.ControlledMarkov", "namespace_variable_context": [ - "{α β γ : Type*} [Fintype α] [Fintype β] [Fintype γ]\n [MeasurableSpace α] [MeasurableSpace β] [MeasurableSpace γ]\n [DiscreteMeasurableSpace α] [DiscreteMeasurableSpace β]\n [DiscreteMeasurableSpace γ]" + "{State Action Observation Belief : Type*}\n [Fintype State] [Fintype Action] [Fintype Observation] [Fintype Belief]" ], "preceding_scope_directives": [ { "directive": "omit", "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DiscreteMeasurableSpace α] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [MeasurableSpace α] [MeasurableSpace β]" + "source": "omit [Fintype State] in" } ], - "qualified_name": "FEP.DecisionRisk.joint_relativeSupport_productMarginals", - "source_line": 295, - "source_owner": "src/fep_lean/formal/decision_risk.lean", - "statement": "theorem joint_relativeSupport_productMarginals (joint : FiniteLaw (α × β)) :\n ∀ xy, joint xy ≠ 0 →\n 0 < (joint.fstMarginal.product joint.sndMarginal) xy", - "statement_sha256": "ceb5b7a4f5c76cd94a86483bb981e30ee0f8fad9ffeb2e1237591ae4f819625b" + "qualified_name": "FEP.ControlledMarkov.softBellmanValue_succ", + "source_line": 308, + "source_owner": "src/fep_lean/formal/controlled_markov.lean", + "statement": "theorem softBellmanValue_succ (temperature : ℝ)\n (stageCost : State → Action → ℝ)\n (transition : ControlledKernel State Action)\n (horizon : ℕ) (state : State) :\n softBellmanValue temperature stageCost transition (horizon + 1) state =\n -temperature * Real.log\n (∑ action,\n Real.exp (-((softBellmanActionEnergy temperature stageCost transition\n horizon state action) / temperature)))", + "statement_sha256": "4bb5613752da6955623d918024ac88c0e8cba6a6024a1e31b69f5b2bf466c8f2" }, - "FEP.DecisionRisk.mutualInformation_mono_under_observationGarbling": { + "FEP.ControlledMarkov.sophisticatedEFEAction_le": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "prior" - ], - "role": "typed_binder", - "source": "(prior : Measure Parameter)", - "type_source": "Measure Parameter", - "visibility": "explicit" - }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[IsProbabilityMeasure prior]", - "type_source": "IsProbabilityMeasure prior", + "source": "[Nonempty Action]", + "type_source": "Nonempty Action", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "experiment" + "model" ], "role": "typed_binder", - "source": "(experiment : Kernel Parameter Observation)", - "type_source": "Kernel Parameter Observation", + "source": "(model : SophisticatedEFEModel Belief Action Observation)", + "type_source": "SophisticatedEFEModel Belief Action Observation", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[IsMarkovKernel experiment]", - "type_source": "IsMarkovKernel experiment", - "visibility": "instance" + "names": [ + "horizon" + ], + "role": "typed_binder", + "source": "(horizon : ℕ)", + "type_source": "ℕ", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "garbling" + "belief" ], "role": "typed_binder", - "source": "(garbling : Kernel Observation Garbled)", - "type_source": "Kernel Observation Garbled", + "source": "(belief : Belief)", + "type_source": "Belief", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[IsMarkovKernel garbling]", - "type_source": "IsMarkovKernel garbling", - "visibility": "instance" + "names": [ + "alternative" + ], + "role": "typed_binder", + "source": "(alternative : Action)", + "type_source": "Action", + "visibility": "explicit" } ], - "conclusion": "nativeChannelMutualInformation prior (garbling ∘ₖ experiment) ≤\n nativeChannelMutualInformation prior experiment", + "conclusion": "model.stageEFE horizon belief (sophisticatedEFEAction model horizon belief) +\n ∑ observation,\n model.observationLaw belief (sophisticatedEFEAction model horizon belief)\n observation *\n sophisticatedEFEValue model horizon\n (model.update belief (sophisticatedEFEAction model horizon belief)\n observation) ≤\n model.stageEFE horizon belief alternative +\n ∑ observation, model.observationLaw belief alternative observation *\n sophisticatedEFEValue model horizon\n (model.update belief alternative observation)", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Parameter", + "State", + "Action", "Observation", - "Garbled" + "Belief" ], "role": "typed_binder", - "source": "{Parameter Observation Garbled : Type*}", + "source": "{State Action Observation Belief : Type*}", "type_source": "Type*", "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "mParameter" - ], - "role": "typed_binder", - "source": "{mParameter : MeasurableSpace Parameter}", - "type_source": "MeasurableSpace Parameter", - "visibility": "implicit" + "names": [], + "role": "instance_requirement", + "source": "[Fintype State]", + "type_source": "Fintype State", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "mObservation" - ], - "role": "typed_binder", - "source": "{mObservation : MeasurableSpace Observation}", - "type_source": "MeasurableSpace Observation", - "visibility": "implicit" + "names": [], + "role": "instance_requirement", + "source": "[Fintype Action]", + "type_source": "Fintype Action", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "mGarbled" - ], - "role": "typed_binder", - "source": "{mGarbled : MeasurableSpace Garbled}", - "type_source": "MeasurableSpace Garbled", - "visibility": "implicit" + "names": [], + "role": "instance_requirement", + "source": "[Fintype Observation]", + "type_source": "Fintype Observation", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Belief]", + "type_source": "Fintype Belief", + "visibility": "instance" + } + ], + "declaration_mentions": [ + { + "identifier": "finiteArgmin_le", + "qualified_name": "FEP.ControlledMarkov.finiteArgmin_le", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" } ], - "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.native_blanket", - "FepSketches.finite_information", - "Mathlib.InformationTheory.KullbackLeibler.DataProcessing", - "Mathlib.Probability.Decision.BayesEstimator", - "Mathlib.Probability.Decision.Risk.Basic" + "FepSketches.active_inference" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.DecisionRisk", + "namespace": "FEP.ControlledMarkov", "namespace_variable_context": [ - "{Parameter Observation Garbled : Type*}\n {mParameter : MeasurableSpace Parameter}\n {mObservation : MeasurableSpace Observation}\n {mGarbled : MeasurableSpace Garbled}" + "{State Action Observation Belief : Type*}\n [Fintype State] [Fintype Action] [Fintype Observation] [Fintype Belief]" ], "preceding_scope_directives": [ { "directive": "omit", "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DiscreteMeasurableSpace α] in" + "source": "omit [Fintype State] in" } ], - "qualified_name": "FEP.DecisionRisk.mutualInformation_mono_under_observationGarbling", - "source_line": 258, - "source_owner": "src/fep_lean/formal/decision_risk.lean", - "statement": "theorem mutualInformation_mono_under_observationGarbling\n (prior : Measure Parameter) [IsProbabilityMeasure prior]\n (experiment : Kernel Parameter Observation) [IsMarkovKernel experiment]\n (garbling : Kernel Observation Garbled) [IsMarkovKernel garbling] :\n nativeChannelMutualInformation prior (garbling ∘ₖ experiment) ≤\n nativeChannelMutualInformation prior experiment", - "statement_sha256": "912240be45a9936ed4213cb1463127d27c180cbb83a640429345141c0ebb9181" + "qualified_name": "FEP.ControlledMarkov.sophisticatedEFEAction_le", + "source_line": 464, + "source_owner": "src/fep_lean/formal/controlled_markov.lean", + "statement": "theorem sophisticatedEFEAction_le [Nonempty Action]\n (model : SophisticatedEFEModel Belief Action Observation)\n (horizon : ℕ) (belief : Belief) (alternative : Action) :\n model.stageEFE horizon belief (sophisticatedEFEAction model horizon belief) +\n ∑ observation,\n model.observationLaw belief (sophisticatedEFEAction model horizon belief)\n observation *\n sophisticatedEFEValue model horizon\n (model.update belief (sophisticatedEFEAction model horizon belief)\n observation) ≤\n model.stageEFE horizon belief alternative +\n ∑ observation, model.observationLaw belief alternative observation *\n sophisticatedEFEValue model horizon\n (model.update belief alternative observation)", + "statement_sha256": "f16289f57f1639a01f6fe6d303b4e613e715c62f5bacfca350a2fb4e7433b423" }, - "FEP.DecisionRisk.nativeChannelMutualInformation_eq_finite": { + "FEP.ControlledMarkov.sophisticatedEFEValue_succ": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Nonempty Action]", + "type_source": "Nonempty Action", + "visibility": "instance" + }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "prior" + "model" ], "role": "typed_binder", - "source": "(prior : FiniteLaw α)", - "type_source": "FiniteLaw α", + "source": "(model : SophisticatedEFEModel Belief Action Observation)", + "type_source": "SophisticatedEFEModel Belief Action Observation", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "experiment" + "horizon" ], "role": "typed_binder", - "source": "(experiment : FiniteKernel α β)", - "type_source": "FiniteKernel α β", + "source": "(horizon : ℕ)", + "type_source": "ℕ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "belief" + ], + "role": "typed_binder", + "source": "(belief : Belief)", + "type_source": "Belief", "visibility": "explicit" } ], - "conclusion": "nativeChannelMutualInformation (embeddedLaw prior) (embeddedKernel experiment) =\n ENNReal.ofReal (mutualInformation (experiment.joint prior))", + "conclusion": "sophisticatedEFEValue model (horizon + 1) belief =\n model.stageEFE horizon belief (sophisticatedEFEAction model horizon belief) +\n ∑ observation,\n model.observationLaw belief (sophisticatedEFEAction model horizon belief)\n observation *\n sophisticatedEFEValue model horizon\n (model.update belief (sophisticatedEFEAction model horizon belief)\n observation)", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "α", - "β", - "γ" + "State", + "Action", + "Observation", + "Belief" ], "role": "typed_binder", - "source": "{α β γ : Type*}", + "source": "{State Action Observation Belief : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -40453,187 +41555,165 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype α]", - "type_source": "Fintype α", + "source": "[Fintype State]", + "type_source": "Fintype State", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype β]", - "type_source": "Fintype β", + "source": "[Fintype Action]", + "type_source": "Fintype Action", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype γ]", - "type_source": "Fintype γ", + "source": "[Fintype Observation]", + "type_source": "Fintype Observation", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[MeasurableSpace α]", - "type_source": "MeasurableSpace α", + "source": "[Fintype Belief]", + "type_source": "Fintype Belief", "visibility": "instance" - }, + } + ], + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.active_inference" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.ControlledMarkov", + "namespace_variable_context": [ + "{State Action Observation Belief : Type*}\n [Fintype State] [Fintype Action] [Fintype Observation] [Fintype Belief]" + ], + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Fintype State] in" + } + ], + "qualified_name": "FEP.ControlledMarkov.sophisticatedEFEValue_succ", + "source_line": 449, + "source_owner": "src/fep_lean/formal/controlled_markov.lean", + "statement": "theorem sophisticatedEFEValue_succ [Nonempty Action]\n (model : SophisticatedEFEModel Belief Action Observation)\n (horizon : ℕ) (belief : Belief) :\n sophisticatedEFEValue model (horizon + 1) belief =\n model.stageEFE horizon belief (sophisticatedEFEAction model horizon belief) +\n ∑ observation,\n model.observationLaw belief (sophisticatedEFEAction model horizon belief)\n observation *\n sophisticatedEFEValue model horizon\n (model.update belief (sophisticatedEFEAction model horizon belief)\n observation)", + "statement_sha256": "649418f0ebd46bc65ad52e975c7eb03bd06b9828827f47045871fbc6de7dce69" + }, + "FEP.ControlledMarkov.twoStageFeedbackExpectedCost_zero": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [], + "conclusion": "twoStageFeedbackExpectedCost = 0", + "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[MeasurableSpace β]", - "type_source": "MeasurableSpace β", - "visibility": "instance" + "names": [ + "State", + "Action", + "Observation", + "Belief" + ], + "role": "typed_binder", + "source": "{State Action Observation Belief : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[MeasurableSpace γ]", - "type_source": "MeasurableSpace γ", + "source": "[Fintype State]", + "type_source": "Fintype State", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace α]", - "type_source": "DiscreteMeasurableSpace α", + "source": "[Fintype Action]", + "type_source": "Fintype Action", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace β]", - "type_source": "DiscreteMeasurableSpace β", + "source": "[Fintype Observation]", + "type_source": "Fintype Observation", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace γ]", - "type_source": "DiscreteMeasurableSpace γ", + "source": "[Fintype Belief]", + "type_source": "Fintype Belief", "visibility": "instance" } ], "declaration_mentions": [ { - "identifier": "channelJoint_fstMarginal", - "qualified_name": "FEP.DecisionRisk.channelJoint_fstMarginal", - "resolution": "exact or same-namespace source identifier", - "role": "proof_reference" - }, - { - "identifier": "embeddedJoint_klDiv_eq_mutualInformation", - "qualified_name": "FEP.DecisionRisk.embeddedJoint_klDiv_eq_mutualInformation", + "identifier": "twoStageFeedback_eq_observation", + "qualified_name": "FEP.ControlledMarkov.twoStageFeedback_eq_observation", "resolution": "exact or same-namespace source identifier", "role": "proof_reference" - }, - { - "candidates": [ - "FEP.NativeBlanket.embeddedLaw_joint_eq_compProd" - ], - "identifier": "embeddedLaw_joint_eq_compProd", - "resolution": "unresolved lexical scope", - "role": "proof_reference" - }, - { - "candidates": [ - "FEP.NativeBlanket.embeddedPredictive_eq_comp" - ], - "identifier": "embeddedPredictive_eq_comp", - "resolution": "unresolved lexical scope", - "role": "proof_reference" } ], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.native_blanket", - "FepSketches.finite_information", - "Mathlib.InformationTheory.KullbackLeibler.DataProcessing", - "Mathlib.Probability.Decision.BayesEstimator", - "Mathlib.Probability.Decision.Risk.Basic" + "FepSketches.active_inference" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.DecisionRisk", + "namespace": "FEP.ControlledMarkov", "namespace_variable_context": [ - "{α β γ : Type*} [Fintype α] [Fintype β] [Fintype γ]\n [MeasurableSpace α] [MeasurableSpace β] [MeasurableSpace γ]\n [DiscreteMeasurableSpace α] [DiscreteMeasurableSpace β]\n [DiscreteMeasurableSpace γ]" + "{State Action Observation Belief : Type*}\n [Fintype State] [Fintype Action] [Fintype Observation] [Fintype Belief]" ], "preceding_scope_directives": [ { "directive": "omit", "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DiscreteMeasurableSpace α] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [MeasurableSpace α] [MeasurableSpace β]" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [MeasurableSpace α] [MeasurableSpace β]" + "source": "omit [Fintype State] in" } ], - "qualified_name": "FEP.DecisionRisk.nativeChannelMutualInformation_eq_finite", - "source_line": 337, - "source_owner": "src/fep_lean/formal/decision_risk.lean", - "statement": "theorem nativeChannelMutualInformation_eq_finite\n (prior : FiniteLaw α) (experiment : FiniteKernel α β) :\n nativeChannelMutualInformation (embeddedLaw prior) (embeddedKernel experiment) =\n ENNReal.ofReal (mutualInformation (experiment.joint prior))", - "statement_sha256": "c6bc98a30287724d02c406019dfe209bf3f107815649551c74570283bb7afedb" + "qualified_name": "FEP.ControlledMarkov.twoStageFeedbackExpectedCost_zero", + "source_line": 631, + "source_owner": "src/fep_lean/formal/controlled_markov.lean", + "statement": "theorem twoStageFeedbackExpectedCost_zero :\n twoStageFeedbackExpectedCost = 0", + "statement_sha256": "3cacca59e7d5f417f22ecf1f79153cea0037e5964c576f83a837aee958a852e2" }, - "FEP.DecisionRisk.predictive_relativeSupport": { + "FEP.ControlledMarkov.twoStageFeedback_beats_openLoop": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "actual", - "reference" - ], - "role": "typed_binder", - "source": "(actual reference : FiniteLaw α)", - "type_source": "FiniteLaw α", - "visibility": "explicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "channel" - ], - "role": "typed_binder", - "source": "(channel : FiniteKernel α β)", - "type_source": "FiniteKernel α β", - "visibility": "explicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "hsupport" + "action" ], "role": "typed_binder", - "source": "(hsupport : ∀ x, actual x ≠ 0 → 0 < reference x)", - "type_source": "∀ x, actual x ≠ 0 → 0 < reference x", + "source": "(action : Bool)", + "type_source": "Bool", "visibility": "explicit" } ], - "conclusion": "∀ y, channel.predictive actual y ≠ 0 →\n 0 < channel.predictive reference y", + "conclusion": "twoStageFeedbackExpectedCost < twoStageOpenLoopExpectedCost action", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "α", - "β", - "γ" + "State", + "Action", + "Observation", + "Belief" ], "role": "typed_binder", - "source": "{α β γ : Type*}", + "source": "{State Action Observation Belief : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -40641,151 +41721,178 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype α]", - "type_source": "Fintype α", + "source": "[Fintype State]", + "type_source": "Fintype State", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype β]", - "type_source": "Fintype β", + "source": "[Fintype Action]", + "type_source": "Fintype Action", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype γ]", - "type_source": "Fintype γ", + "source": "[Fintype Observation]", + "type_source": "Fintype Observation", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[MeasurableSpace α]", - "type_source": "MeasurableSpace α", + "source": "[Fintype Belief]", + "type_source": "Fintype Belief", "visibility": "instance" + } + ], + "declaration_mentions": [ + { + "identifier": "twoStageFeedbackExpectedCost_zero", + "qualified_name": "FEP.ControlledMarkov.twoStageFeedbackExpectedCost_zero", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" }, + { + "identifier": "twoStageOpenLoopExpectedCost_eq_half", + "qualified_name": "FEP.ControlledMarkov.twoStageOpenLoopExpectedCost_eq_half", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + } + ], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.active_inference" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.ControlledMarkov", + "namespace_variable_context": [ + "{State Action Observation Belief : Type*}\n [Fintype State] [Fintype Action] [Fintype Observation] [Fintype Belief]" + ], + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Fintype State] in" + } + ], + "qualified_name": "FEP.ControlledMarkov.twoStageFeedback_beats_openLoop", + "source_line": 645, + "source_owner": "src/fep_lean/formal/controlled_markov.lean", + "statement": "theorem twoStageFeedback_beats_openLoop (action : Bool) :\n twoStageFeedbackExpectedCost < twoStageOpenLoopExpectedCost action", + "statement_sha256": "ee5ff03790b8e6de8b267d703520a5a550bb31f848aa64ef72a23772615b8960" + }, + "FEP.ControlledMarkov.twoStageFeedback_changes_action": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [], + "conclusion": "twoStageFeedback false ≠ twoStageFeedback true", + "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[MeasurableSpace β]", - "type_source": "MeasurableSpace β", - "visibility": "instance" + "names": [ + "State", + "Action", + "Observation", + "Belief" + ], + "role": "typed_binder", + "source": "{State Action Observation Belief : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[MeasurableSpace γ]", - "type_source": "MeasurableSpace γ", + "source": "[Fintype State]", + "type_source": "Fintype State", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace α]", - "type_source": "DiscreteMeasurableSpace α", + "source": "[Fintype Action]", + "type_source": "Fintype Action", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace β]", - "type_source": "DiscreteMeasurableSpace β", + "source": "[Fintype Observation]", + "type_source": "Fintype Observation", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace γ]", - "type_source": "DiscreteMeasurableSpace γ", + "source": "[Fintype Belief]", + "type_source": "Fintype Belief", "visibility": "instance" } ], - "declaration_mentions": [], + "declaration_mentions": [ + { + "identifier": "twoStageFeedback_eq_observation", + "qualified_name": "FEP.ControlledMarkov.twoStageFeedback_eq_observation", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + } + ], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.native_blanket", - "FepSketches.finite_information", - "Mathlib.InformationTheory.KullbackLeibler.DataProcessing", - "Mathlib.Probability.Decision.BayesEstimator", - "Mathlib.Probability.Decision.Risk.Basic" + "FepSketches.active_inference" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.DecisionRisk", + "namespace": "FEP.ControlledMarkov", "namespace_variable_context": [ - "{α β γ : Type*} [Fintype α] [Fintype β] [Fintype γ]\n [MeasurableSpace α] [MeasurableSpace β] [MeasurableSpace γ]\n [DiscreteMeasurableSpace α] [DiscreteMeasurableSpace β]\n [DiscreteMeasurableSpace γ]" + "{State Action Observation Belief : Type*}\n [Fintype State] [Fintype Action] [Fintype Observation] [Fintype Belief]" ], "preceding_scope_directives": [ { "directive": "omit", "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DiscreteMeasurableSpace α] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [MeasurableSpace α] [MeasurableSpace β]" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [MeasurableSpace α] [MeasurableSpace β]" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [MeasurableSpace α] [MeasurableSpace β]" + "source": "omit [Fintype State] in" } ], - "qualified_name": "FEP.DecisionRisk.predictive_relativeSupport", - "source_line": 352, - "source_owner": "src/fep_lean/formal/decision_risk.lean", - "statement": "theorem predictive_relativeSupport (actual reference : FiniteLaw α)\n (channel : FiniteKernel α β)\n (hsupport : ∀ x, actual x ≠ 0 → 0 < reference x) :\n ∀ y, channel.predictive actual y ≠ 0 →\n 0 < channel.predictive reference y", - "statement_sha256": "e3da52d30cbaa404bdcc6c364b1cdde4dda3e72e59e5e88b2c2feca92c4ff37f" + "qualified_name": "FEP.ControlledMarkov.twoStageFeedback_changes_action", + "source_line": 613, + "source_owner": "src/fep_lean/formal/controlled_markov.lean", + "statement": "theorem twoStageFeedback_changes_action :\n twoStageFeedback false ≠ twoStageFeedback true", + "statement_sha256": "88c9fb5cd85736a29fcf86e9f20b5593d3bbae6170faa8dd11ca52dd41217929" }, - "FEP.DecisionRisk.properLogScore_excessRisk_eq_finiteKL_truth_report": { + "FEP.ControlledMarkov.twoStageFeedback_eq_observation": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "truth", - "report" - ], - "role": "typed_binder", - "source": "(truth report : FiniteLaw α)", - "type_source": "FiniteLaw α", - "visibility": "explicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "hreport" + "observation" ], "role": "typed_binder", - "source": "(hreport : ∀ x, truth x ≠ 0 → 0 < report x)", - "type_source": "∀ x, truth x ≠ 0 → 0 < report x", + "source": "(observation : Bool)", + "type_source": "Bool", "visibility": "explicit" } ], - "conclusion": "properLogScoreExcessRisk truth report = finiteKL truth report", + "conclusion": "twoStageFeedback observation = observation", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "α" + "State", + "Action", + "Observation", + "Belief" ], "role": "typed_binder", - "source": "{α : Type*}", + "source": "{State Action Observation Belief : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -40793,51 +41900,203 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype α]", - "type_source": "Fintype α", + "source": "[Fintype State]", + "type_source": "Fintype State", "visibility": "instance" - } - ], - "declaration_mentions": [ + }, { - "candidates": [ - "FEP.FiniteInformation.weighted_klFun_eq_log_score" - ], - "identifier": "weighted_klFun_eq_log_score", - "resolution": "unresolved lexical scope", + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Action]", + "type_source": "Fintype Action", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Observation]", + "type_source": "Fintype Observation", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Belief]", + "type_source": "Fintype Belief", + "visibility": "instance" + } + ], + "declaration_mentions": [ + { + "identifier": "finiteArgmin_le", + "qualified_name": "FEP.ControlledMarkov.finiteArgmin_le", + "resolution": "exact or same-namespace source identifier", "role": "proof_reference" } ], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.native_blanket", - "FepSketches.finite_information", - "Mathlib.InformationTheory.KullbackLeibler.DataProcessing", - "Mathlib.Probability.Decision.BayesEstimator", - "Mathlib.Probability.Decision.Risk.Basic" + "FepSketches.active_inference" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.DecisionRisk", + "namespace": "FEP.ControlledMarkov", "namespace_variable_context": [ - "{α : Type*} [Fintype α]" + "{State Action Observation Belief : Type*}\n [Fintype State] [Fintype Action] [Fintype Observation] [Fintype Belief]" ], "preceding_scope_directives": [ { "directive": "omit", "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DiscreteMeasurableSpace α] in" + "source": "omit [Fintype State] in" } ], - "qualified_name": "FEP.DecisionRisk.properLogScore_excessRisk_eq_finiteKL_truth_report", - "source_line": 180, - "source_owner": "src/fep_lean/formal/decision_risk.lean", - "statement": "theorem properLogScore_excessRisk_eq_finiteKL_truth_report\n (truth report : FiniteLaw α)\n (hreport : ∀ x, truth x ≠ 0 → 0 < report x) :\n properLogScoreExcessRisk truth report = finiteKL truth report", - "statement_sha256": "a70a1720be4370c18edbcb549bbfad6ce06d7b18af63a4b4aca75939567ec678" + "qualified_name": "FEP.ControlledMarkov.twoStageFeedback_eq_observation", + "source_line": 603, + "source_owner": "src/fep_lean/formal/controlled_markov.lean", + "statement": "theorem twoStageFeedback_eq_observation (observation : Bool) :\n twoStageFeedback observation = observation", + "statement_sha256": "75f89290630a57d012e136cd01d1d94240a16367a659e62fb2bbd61234173b13" }, - "FEP.DecisionRisk.revealingBoolArgminEstimator": { + "FEP.ControlledMarkov.twoStageOpenLoopExpectedCost_eq_half": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [], - "conclusion": "IsArgminEstimator boolZeroOneLoss revealingBoolExperiment boolPrior id", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "action" + ], + "role": "typed_binder", + "source": "(action : Bool)", + "type_source": "Bool", + "visibility": "explicit" + } + ], + "conclusion": "twoStageOpenLoopExpectedCost action = 1 / 2", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "State", + "Action", + "Observation", + "Belief" + ], + "role": "typed_binder", + "source": "{State Action Observation Belief : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype State]", + "type_source": "Fintype State", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Action]", + "type_source": "Fintype Action", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Observation]", + "type_source": "Fintype Observation", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Belief]", + "type_source": "Fintype Belief", + "visibility": "instance" + } + ], + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.active_inference" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.ControlledMarkov", + "namespace_variable_context": [ + "{State Action Observation Belief : Type*}\n [Fintype State] [Fintype Action] [Fintype Observation] [Fintype Belief]" + ], + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Fintype State] in" + } + ], + "qualified_name": "FEP.ControlledMarkov.twoStageOpenLoopExpectedCost_eq_half", + "source_line": 637, + "source_owner": "src/fep_lean/formal/controlled_markov.lean", + "statement": "theorem twoStageOpenLoopExpectedCost_eq_half (action : Bool) :\n twoStageOpenLoopExpectedCost action = 1 / 2", + "statement_sha256": "cba609e57d77d1c26d861358a99fd1290dd33469780229e9f63a86b39fc70b5b" + }, + "FEP.DecisionRisk.bayesRisk_mono_under_observationGarbling": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "loss" + ], + "role": "typed_binder", + "source": "(loss : Θ → Decision → ℝ≥0∞)", + "type_source": "Θ → Decision → ℝ≥0∞", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "experiment" + ], + "role": "typed_binder", + "source": "(experiment : Kernel Θ Observation)", + "type_source": "Kernel Θ Observation", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "prior" + ], + "role": "typed_binder", + "source": "(prior : Measure Θ)", + "type_source": "Measure Θ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "garbling" + ], + "role": "typed_binder", + "source": "(garbling : Kernel Observation Garbled)", + "type_source": "Kernel Observation Garbled", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[IsMarkovKernel garbling]", + "type_source": "IsMarkovKernel garbling", + "visibility": "instance" + } + ], + "conclusion": "ProbabilityTheory.bayesRisk loss experiment prior ≤\n ProbabilityTheory.bayesRisk loss (garbling ∘ₖ experiment) prior", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -40929,75 +42188,64 @@ "source": "omit [MeasurableSpace α] [MeasurableSpace β]" } ], - "qualified_name": "FEP.DecisionRisk.revealingBoolArgminEstimator", - "source_line": 475, + "qualified_name": "FEP.DecisionRisk.bayesRisk_mono_under_observationGarbling", + "source_line": 416, "source_owner": "src/fep_lean/formal/decision_risk.lean", - "statement": "theorem revealingBoolArgminEstimator :\n IsArgminEstimator boolZeroOneLoss revealingBoolExperiment boolPrior id", - "statement_sha256": "b1d9b279351bf9c4c38d43895393dfc2ef4b5581e9afd25bc24dcc35a3add012" + "statement": "theorem bayesRisk_mono_under_observationGarbling\n (loss : Θ → Decision → ℝ≥0∞) (experiment : Kernel Θ Observation)\n (prior : Measure Θ) (garbling : Kernel Observation Garbled)\n [IsMarkovKernel garbling] :\n ProbabilityTheory.bayesRisk loss experiment prior ≤\n ProbabilityTheory.bayesRisk loss (garbling ∘ₖ experiment) prior", + "statement_sha256": "9791b44afe63a080ae0c81f6856c1815f729c1a7ce9529c1050fdd840d298fa3" }, - "FEP.DecisionRisk.revealingBool_bayesRisk_eq_zero": { + "FEP.DecisionRisk.boolPointMass_klDiv_eq_top": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [], - "conclusion": "bayesRisk boolZeroOneLoss revealingBoolExperiment boolPrior = 0", + "conclusion": "InformationTheory.klDiv\n (embeddedLaw (FiniteLaw.pointMass true))\n (embeddedLaw (FiniteLaw.pointMass false)) = ∞", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Θ", - "Observation", - "Garbled", - "Decision" + "α" ], "role": "typed_binder", - "source": "{Θ Observation Garbled Decision : Type*}", + "source": "{α : Type*}", "type_source": "Type*", "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "mΘ" - ], - "role": "typed_binder", - "source": "{mΘ : MeasurableSpace Θ}", - "type_source": "MeasurableSpace Θ", - "visibility": "implicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "mObservation" - ], - "role": "typed_binder", - "source": "{mObservation : MeasurableSpace Observation}", - "type_source": "MeasurableSpace Observation", - "visibility": "implicit" + "names": [], + "role": "instance_requirement", + "source": "[Fintype α]", + "type_source": "Fintype α", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "mGarbled" - ], - "role": "typed_binder", - "source": "{mGarbled : MeasurableSpace Garbled}", - "type_source": "MeasurableSpace Garbled", - "visibility": "implicit" + "names": [], + "role": "instance_requirement", + "source": "[MeasurableSpace α]", + "type_source": "MeasurableSpace α", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "mDecision" - ], - "role": "typed_binder", - "source": "{mDecision : MeasurableSpace Decision}", - "type_source": "MeasurableSpace Decision", - "visibility": "implicit" + "names": [], + "role": "instance_requirement", + "source": "[DiscreteMeasurableSpace α]", + "type_source": "DiscreteMeasurableSpace α", + "visibility": "instance" } ], "declaration_mentions": [ { - "identifier": "revealingBool_isBayesEstimator", - "qualified_name": "FEP.DecisionRisk.revealingBool_isBayesEstimator", + "candidates": [ + "FEP.NativeBlanket.embeddedLaw_apply_singleton" + ], + "identifier": "embeddedLaw_apply_singleton", + "resolution": "unresolved lexical scope", + "role": "proof_reference" + }, + { + "identifier": "weightedDirac_klDiv_eq_top_of_not_absolutelyContinuous", + "qualified_name": "FEP.DecisionRisk.weightedDirac_klDiv_eq_top_of_not_absolutelyContinuous", "resolution": "exact or same-namespace source identifier", "role": "proof_reference" } @@ -41013,40 +42261,36 @@ "line_coordinate_kind": "formal_resource_file", "namespace": "FEP.DecisionRisk", "namespace_variable_context": [ - "{Θ Observation Garbled Decision : Type*}\n {mΘ : MeasurableSpace Θ} {mObservation : MeasurableSpace Observation}\n {mGarbled : MeasurableSpace Garbled} {mDecision : MeasurableSpace Decision}" + "{α : Type*} [Fintype α] [MeasurableSpace α]\n [DiscreteMeasurableSpace α]" ], "preceding_scope_directives": [ { "directive": "omit", "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", "source": "omit [DiscreteMeasurableSpace α] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [MeasurableSpace α] [MeasurableSpace β]" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [MeasurableSpace α] [MeasurableSpace β]" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [MeasurableSpace α] [MeasurableSpace β]" } ], - "qualified_name": "FEP.DecisionRisk.revealingBool_bayesRisk_eq_zero", - "source_line": 493, + "qualified_name": "FEP.DecisionRisk.boolPointMass_klDiv_eq_top", + "source_line": 145, "source_owner": "src/fep_lean/formal/decision_risk.lean", - "statement": "theorem revealingBool_bayesRisk_eq_zero :\n bayesRisk boolZeroOneLoss revealingBoolExperiment boolPrior = 0", - "statement_sha256": "3eafce0c453c11e575eee8486d47986f1b7e5ce3ce4d5524ae7b86055907ab3f" + "statement": "theorem boolPointMass_klDiv_eq_top :\n InformationTheory.klDiv\n (embeddedLaw (FiniteLaw.pointMass true))\n (embeddedLaw (FiniteLaw.pointMass false)) = ∞", + "statement_sha256": "7205ef761122cde5308e63253838bcb48392e64c8172b7b4304a7bad82b3afc7" }, - "FEP.DecisionRisk.revealingBool_bayesRisk_lt_garbled": { + "FEP.DecisionRisk.boolPrior_zeroOneRisk": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [], - "conclusion": "bayesRisk boolZeroOneLoss revealingBoolExperiment boolPrior <\n bayesRisk boolZeroOneLoss garbledBoolExperiment boolPrior", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "report" + ], + "role": "typed_binder", + "source": "(report : Bool)", + "type_source": "Bool", + "visibility": "explicit" + } + ], + "conclusion": "∫⁻ truth, boolZeroOneLoss truth report ∂boolPrior = 1 / 2", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -41104,15 +42348,11 @@ ], "declaration_mentions": [ { - "identifier": "garbledBool_bayesRisk_eq_half", - "qualified_name": "FEP.DecisionRisk.garbledBool_bayesRisk_eq_half", - "resolution": "exact or same-namespace source identifier", - "role": "proof_reference" - }, - { - "identifier": "revealingBool_bayesRisk_eq_zero", - "qualified_name": "FEP.DecisionRisk.revealingBool_bayesRisk_eq_zero", - "resolution": "exact or same-namespace source identifier", + "candidates": [ + "FEP.NativeBlanket.embeddedLaw_apply_singleton" + ], + "identifier": "embeddedLaw_apply_singleton", + "resolution": "unresolved lexical scope", "role": "proof_reference" } ], @@ -41151,16 +42391,16 @@ "source": "omit [MeasurableSpace α] [MeasurableSpace β]" } ], - "qualified_name": "FEP.DecisionRisk.revealingBool_bayesRisk_lt_garbled", - "source_line": 512, + "qualified_name": "FEP.DecisionRisk.boolPrior_zeroOneRisk", + "source_line": 466, "source_owner": "src/fep_lean/formal/decision_risk.lean", - "statement": "theorem revealingBool_bayesRisk_lt_garbled :\n bayesRisk boolZeroOneLoss revealingBoolExperiment boolPrior <\n bayesRisk boolZeroOneLoss garbledBoolExperiment boolPrior", - "statement_sha256": "6b9f29c6033f3c1a352d654d8c14da635f414fa6046fae217c2eba76759177fa" + "statement": "theorem boolPrior_zeroOneRisk (report : Bool) :\n ∫⁻ truth, boolZeroOneLoss truth report ∂boolPrior = 1 / 2", + "statement_sha256": "575505267a149f1a82bcbc2fba9e5dab5be18b79730e0b57ca6376f87d141e89" }, - "FEP.DecisionRisk.revealingBool_isBayesEstimator": { + "FEP.DecisionRisk.boolZeroOneLoss_measurable": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [], - "conclusion": "IsBayesEstimator boolZeroOneLoss revealingBoolExperiment Kernel.id boolPrior", + "conclusion": "Measurable (Function.uncurry boolZeroOneLoss)", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -41216,14 +42456,7 @@ "visibility": "implicit" } ], - "declaration_mentions": [ - { - "identifier": "boolZeroOneLoss_measurable", - "qualified_name": "FEP.DecisionRisk.boolZeroOneLoss_measurable", - "resolution": "exact or same-namespace source identifier", - "role": "proof_reference" - } - ], + "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ "FepSketches.native_blanket", @@ -41259,46 +42492,47 @@ "source": "omit [MeasurableSpace α] [MeasurableSpace β]" } ], - "qualified_name": "FEP.DecisionRisk.revealingBool_isBayesEstimator", - "source_line": 486, + "qualified_name": "FEP.DecisionRisk.boolZeroOneLoss_measurable", + "source_line": 445, "source_owner": "src/fep_lean/formal/decision_risk.lean", - "statement": "theorem revealingBool_isBayesEstimator :\n IsBayesEstimator boolZeroOneLoss revealingBoolExperiment Kernel.id boolPrior", - "statement_sha256": "19c1fc738f7d1ba211b166a00ff937df36c81281618513109caa1f83c22c7e65" + "statement": "theorem boolZeroOneLoss_measurable :\n Measurable (Function.uncurry boolZeroOneLoss)", + "statement_sha256": "7141d9e03e363c81a935632ac9e8c3c3fe2838108e07538b152e4478b1a2f677" }, - "FEP.DecisionRisk.weightedDirac_klDiv_eq_finiteKL_of_fullSupport": { + "FEP.DecisionRisk.channelJoint_fstMarginal": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "p", - "q" + "prior" ], "role": "typed_binder", - "source": "(p q : FiniteLaw α)", + "source": "(prior : FiniteLaw α)", "type_source": "FiniteLaw α", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "hq" + "experiment" ], "role": "typed_binder", - "source": "(hq : ∀ x, 0 < q x)", - "type_source": "∀ x, 0 < q x", + "source": "(experiment : FiniteKernel α β)", + "type_source": "FiniteKernel α β", "visibility": "explicit" } ], - "conclusion": "InformationTheory.klDiv (embeddedLaw p) (embeddedLaw q) =\n ENNReal.ofReal (finiteKL p q)", + "conclusion": "(experiment.joint prior).fstMarginal = prior", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "α" + "α", + "β", + "γ" ], "role": "typed_binder", - "source": "{α : Type*}", + "source": "{α β γ : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -41310,6 +42544,22 @@ "type_source": "Fintype α", "visibility": "instance" }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype β]", + "type_source": "Fintype β", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype γ]", + "type_source": "Fintype γ", + "visibility": "instance" + }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], @@ -41318,6 +42568,22 @@ "type_source": "MeasurableSpace α", "visibility": "instance" }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[MeasurableSpace β]", + "type_source": "MeasurableSpace β", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[MeasurableSpace γ]", + "type_source": "MeasurableSpace γ", + "visibility": "instance" + }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], @@ -41325,24 +42591,25 @@ "source": "[DiscreteMeasurableSpace α]", "type_source": "DiscreteMeasurableSpace α", "visibility": "instance" - } - ], - "declaration_mentions": [ + }, { - "candidates": [ - "FEP.NativeBlanket.embeddedLaw_apply_singleton" - ], - "identifier": "embeddedLaw_apply_singleton", - "resolution": "unresolved lexical scope", - "role": "proof_reference" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DiscreteMeasurableSpace β]", + "type_source": "DiscreteMeasurableSpace β", + "visibility": "instance" }, { - "identifier": "embeddedLaw_withDensity_ratio", - "qualified_name": "FEP.DecisionRisk.embeddedLaw_withDensity_ratio", - "resolution": "exact or same-namespace source identifier", - "role": "proof_reference" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DiscreteMeasurableSpace γ]", + "type_source": "DiscreteMeasurableSpace γ", + "visibility": "instance" } ], + "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ "FepSketches.native_blanket", @@ -41354,49 +42621,56 @@ "line_coordinate_kind": "formal_resource_file", "namespace": "FEP.DecisionRisk", "namespace_variable_context": [ - "{α : Type*} [Fintype α] [MeasurableSpace α]\n [DiscreteMeasurableSpace α]" + "{α β γ : Type*} [Fintype α] [Fintype β] [Fintype γ]\n [MeasurableSpace α] [MeasurableSpace β] [MeasurableSpace γ]\n [DiscreteMeasurableSpace α] [DiscreteMeasurableSpace β]\n [DiscreteMeasurableSpace γ]" ], - "preceding_scope_directives": [], - "qualified_name": "FEP.DecisionRisk.weightedDirac_klDiv_eq_finiteKL_of_fullSupport", - "source_line": 104, + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DiscreteMeasurableSpace α] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [MeasurableSpace α] [MeasurableSpace β]" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [MeasurableSpace α] [MeasurableSpace β]" + } + ], + "qualified_name": "FEP.DecisionRisk.channelJoint_fstMarginal", + "source_line": 326, "source_owner": "src/fep_lean/formal/decision_risk.lean", - "statement": "theorem weightedDirac_klDiv_eq_finiteKL_of_fullSupport\n (p q : FiniteLaw α) (hq : ∀ x, 0 < q x) :\n InformationTheory.klDiv (embeddedLaw p) (embeddedLaw q) =\n ENNReal.ofReal (finiteKL p q)", - "statement_sha256": "703569f68de9b9092f83f615787418ece25bb98202d82e2df705e874f97d208a" + "statement": "theorem channelJoint_fstMarginal (prior : FiniteLaw α)\n (experiment : FiniteKernel α β) :\n (experiment.joint prior).fstMarginal = prior", + "statement_sha256": "500c79fc96e7e21187458248fee53b1868883abf3c68c74ec6cbb38290450b67" }, - "FEP.DecisionRisk.weightedDirac_klDiv_eq_finiteKL_of_relativeSupport": { + "FEP.DecisionRisk.embeddedJoint_klDiv_eq_mutualInformation": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "p", - "q" - ], - "role": "typed_binder", - "source": "(p q : FiniteLaw α)", - "type_source": "FiniteLaw α", - "visibility": "explicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "hsupport" + "joint" ], "role": "typed_binder", - "source": "(hsupport : ∀ x, p x ≠ 0 → 0 < q x)", - "type_source": "∀ x, p x ≠ 0 → 0 < q x", + "source": "(joint : FiniteLaw (α × β))", + "type_source": "FiniteLaw (α × β)", "visibility": "explicit" } ], - "conclusion": "InformationTheory.klDiv (embeddedLaw p) (embeddedLaw q) =\n ENNReal.ofReal (finiteKL p q)", + "conclusion": "InformationTheory.klDiv (embeddedLaw joint)\n ((embeddedLaw joint.fstMarginal).prod (embeddedLaw joint.sndMarginal)) =\n ENNReal.ofReal (mutualInformation joint)", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "α" + "α", + "β", + "γ" ], "role": "typed_binder", - "source": "{α : Type*}", + "source": "{α β γ : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -41408,6 +42682,22 @@ "type_source": "Fintype α", "visibility": "instance" }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype β]", + "type_source": "Fintype β", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype γ]", + "type_source": "Fintype γ", + "visibility": "instance" + }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], @@ -41416,6 +42706,22 @@ "type_source": "MeasurableSpace α", "visibility": "instance" }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[MeasurableSpace β]", + "type_source": "MeasurableSpace β", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[MeasurableSpace γ]", + "type_source": "MeasurableSpace γ", + "visibility": "instance" + }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], @@ -41423,20 +42729,40 @@ "source": "[DiscreteMeasurableSpace α]", "type_source": "DiscreteMeasurableSpace α", "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DiscreteMeasurableSpace β]", + "type_source": "DiscreteMeasurableSpace β", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DiscreteMeasurableSpace γ]", + "type_source": "DiscreteMeasurableSpace γ", + "visibility": "instance" } ], "declaration_mentions": [ { - "candidates": [ - "FEP.NativeBlanket.embeddedLaw_apply_singleton" - ], - "identifier": "embeddedLaw_apply_singleton", - "resolution": "unresolved lexical scope", + "identifier": "embeddedLaw_product", + "qualified_name": "FEP.DecisionRisk.embeddedLaw_product", + "resolution": "exact or same-namespace source identifier", "role": "proof_reference" }, { - "identifier": "embeddedLaw_withDensity_ratio_of_relativeSupport", - "qualified_name": "FEP.DecisionRisk.embeddedLaw_withDensity_ratio_of_relativeSupport", + "identifier": "joint_relativeSupport_productMarginals", + "qualified_name": "FEP.DecisionRisk.joint_relativeSupport_productMarginals", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + }, + { + "identifier": "weightedDirac_klDiv_eq_finiteKL_of_relativeSupport", + "qualified_name": "FEP.DecisionRisk.weightedDirac_klDiv_eq_finiteKL_of_relativeSupport", "resolution": "exact or same-namespace source identifier", "role": "proof_reference" } @@ -41452,49 +42778,61 @@ "line_coordinate_kind": "formal_resource_file", "namespace": "FEP.DecisionRisk", "namespace_variable_context": [ - "{α : Type*} [Fintype α] [MeasurableSpace α]\n [DiscreteMeasurableSpace α]" + "{α β γ : Type*} [Fintype α] [Fintype β] [Fintype γ]\n [MeasurableSpace α] [MeasurableSpace β] [MeasurableSpace γ]\n [DiscreteMeasurableSpace α] [DiscreteMeasurableSpace β]\n [DiscreteMeasurableSpace γ]" ], - "preceding_scope_directives": [], - "qualified_name": "FEP.DecisionRisk.weightedDirac_klDiv_eq_finiteKL_of_relativeSupport", - "source_line": 54, + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DiscreteMeasurableSpace α] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [MeasurableSpace α] [MeasurableSpace β]" + } + ], + "qualified_name": "FEP.DecisionRisk.embeddedJoint_klDiv_eq_mutualInformation", + "source_line": 314, "source_owner": "src/fep_lean/formal/decision_risk.lean", - "statement": "theorem weightedDirac_klDiv_eq_finiteKL_of_relativeSupport\n (p q : FiniteLaw α) (hsupport : ∀ x, p x ≠ 0 → 0 < q x) :\n InformationTheory.klDiv (embeddedLaw p) (embeddedLaw q) =\n ENNReal.ofReal (finiteKL p q)", - "statement_sha256": "5bb042b816a921998ee560133c2274e1c7cbdf8d3dd91119704722ad5baee1b9" + "statement": "theorem embeddedJoint_klDiv_eq_mutualInformation\n (joint : FiniteLaw (α × β)) :\n InformationTheory.klDiv (embeddedLaw joint)\n ((embeddedLaw joint.fstMarginal).prod (embeddedLaw joint.sndMarginal)) =\n ENNReal.ofReal (mutualInformation joint)", + "statement_sha256": "20fb41dcce2ee6aa15830bf54b4c8ba6f093881877c2a491712f6dc3b2020f64" }, - "FEP.DecisionRisk.weightedDirac_klDiv_eq_top_of_not_absolutelyContinuous": { + "FEP.DecisionRisk.embeddedLaw_product": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "p", - "q" + "p" ], "role": "typed_binder", - "source": "(p q : FiniteLaw α)", + "source": "(p : FiniteLaw α)", "type_source": "FiniteLaw α", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "hNotAC" + "q" ], "role": "typed_binder", - "source": "(hNotAC : ¬ embeddedLaw p ≪ embeddedLaw q)", - "type_source": "¬ embeddedLaw p ≪ embeddedLaw q", + "source": "(q : FiniteLaw β)", + "type_source": "FiniteLaw β", "visibility": "explicit" } ], - "conclusion": "InformationTheory.klDiv (embeddedLaw p) (embeddedLaw q) = ∞", + "conclusion": "embeddedLaw (p.product q) = (embeddedLaw p).prod (embeddedLaw q)", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "α" + "α", + "β", + "γ" ], "role": "typed_binder", - "source": "{α : Type*}", + "source": "{α β γ : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -41506,6 +42844,22 @@ "type_source": "Fintype α", "visibility": "instance" }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype β]", + "type_source": "Fintype β", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype γ]", + "type_source": "Fintype γ", + "visibility": "instance" + }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], @@ -41514,6 +42868,22 @@ "type_source": "MeasurableSpace α", "visibility": "instance" }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[MeasurableSpace β]", + "type_source": "MeasurableSpace β", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[MeasurableSpace γ]", + "type_source": "MeasurableSpace γ", + "visibility": "instance" + }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], @@ -41521,9 +42891,34 @@ "source": "[DiscreteMeasurableSpace α]", "type_source": "DiscreteMeasurableSpace α", "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DiscreteMeasurableSpace β]", + "type_source": "DiscreteMeasurableSpace β", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DiscreteMeasurableSpace γ]", + "type_source": "DiscreteMeasurableSpace γ", + "visibility": "instance" + } + ], + "declaration_mentions": [ + { + "candidates": [ + "FEP.NativeBlanket.embeddedLaw_apply_singleton" + ], + "identifier": "embeddedLaw_apply_singleton", + "resolution": "unresolved lexical scope", + "role": "proof_reference" } ], - "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ "FepSketches.native_blanket", @@ -41535,7 +42930,7 @@ "line_coordinate_kind": "formal_resource_file", "namespace": "FEP.DecisionRisk", "namespace_variable_context": [ - "{α : Type*} [Fintype α] [MeasurableSpace α]\n [DiscreteMeasurableSpace α]" + "{α β γ : Type*} [Fintype α] [Fintype β] [Fintype γ]\n [MeasurableSpace α] [MeasurableSpace β] [MeasurableSpace γ]\n [DiscreteMeasurableSpace α] [DiscreteMeasurableSpace β]\n [DiscreteMeasurableSpace γ]" ], "preceding_scope_directives": [ { @@ -41544,60 +42939,46 @@ "source": "omit [DiscreteMeasurableSpace α] in" } ], - "qualified_name": "FEP.DecisionRisk.weightedDirac_klDiv_eq_top_of_not_absolutelyContinuous", - "source_line": 139, + "qualified_name": "FEP.DecisionRisk.embeddedLaw_product", + "source_line": 279, "source_owner": "src/fep_lean/formal/decision_risk.lean", - "statement": "theorem weightedDirac_klDiv_eq_top_of_not_absolutelyContinuous\n (p q : FiniteLaw α) (hNotAC : ¬ embeddedLaw p ≪ embeddedLaw q) :\n InformationTheory.klDiv (embeddedLaw p) (embeddedLaw q) = ∞", - "statement_sha256": "e13d0b70df731d0af7e5b8971026bdd95e1252fe9d6943d1a14a53333fcff65c" + "statement": "theorem embeddedLaw_product (p : FiniteLaw α) (q : FiniteLaw β) :\n embeddedLaw (p.product q) = (embeddedLaw p).prod (embeddedLaw q)", + "statement_sha256": "b5c15fb5f446e3b12e3838e241b2461236530f177a5ff0c3a66418935c62bc1a" }, - "FEP.EFEPolicy.argminEFE_eq_risk_add_ambiguity": { + "FEP.DecisionRisk.embeddedLaw_withDensity_ratio": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "model" - ], - "role": "typed_binder", - "source": "(model : GenerativeModel Policy State Outcome)", - "type_source": "GenerativeModel Policy State Outcome", - "visibility": "explicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "support" + "p", + "q" ], "role": "typed_binder", - "source": "(support : FullSupport model)", - "type_source": "FullSupport model", + "source": "(p q : FiniteLaw α)", + "type_source": "FiniteLaw α", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "policy" + "hq" ], "role": "typed_binder", - "source": "(policy : Policy)", - "type_source": "Policy", + "source": "(hq : ∀ x, 0 < q x)", + "type_source": "∀ x, 0 < q x", "visibility": "explicit" } ], - "conclusion": "(∀ alternative : Policy,\n expectedFreeEnergy model policy ≤ expectedFreeEnergy model alternative) ↔\n (∀ alternative : Policy,\n risk model policy + ambiguity model policy ≤\n risk model alternative + ambiguity model alternative)", + "conclusion": "(embeddedLaw q).withDensity\n (fun x => ENNReal.ofReal (p x / q x)) = embeddedLaw p", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Action", - "State", - "Outcome", - "Policy", - "Belief", - "Observation" + "α" ], "role": "typed_binder", - "source": "{Action State Outcome Policy Belief Observation : Type*}", + "source": "{α : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -41605,147 +42986,91 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Action]", - "type_source": "Fintype Action", - "visibility": "instance" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype State]", - "type_source": "Fintype State", - "visibility": "instance" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype Outcome]", - "type_source": "Fintype Outcome", - "visibility": "instance" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype Policy]", - "type_source": "Fintype Policy", + "source": "[Fintype α]", + "type_source": "Fintype α", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Belief]", - "type_source": "Fintype Belief", + "source": "[MeasurableSpace α]", + "type_source": "MeasurableSpace α", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Observation]", - "type_source": "Fintype Observation", + "source": "[DiscreteMeasurableSpace α]", + "type_source": "DiscreteMeasurableSpace α", "visibility": "instance" } ], "declaration_mentions": [ { "candidates": [ - "FEP.ActiveInference.expectedFreeEnergy_eq_risk_add_ambiguity" + "FEP.NativeBlanket.embeddedLaw_apply_singleton" ], - "identifier": "expectedFreeEnergy_eq_risk_add_ambiguity", + "identifier": "embeddedLaw_apply_singleton", "resolution": "unresolved lexical scope", "role": "proof_reference" } ], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.controlled_markov", - "FepSketches.policy_tree", - "FepSketches.variational_duality" + "FepSketches.native_blanket", + "FepSketches.finite_information", + "Mathlib.InformationTheory.KullbackLeibler.DataProcessing", + "Mathlib.Probability.Decision.BayesEstimator", + "Mathlib.Probability.Decision.Risk.Basic" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.EFEPolicy", + "namespace": "FEP.DecisionRisk", "namespace_variable_context": [ - "{Action State Outcome Policy Belief Observation : Type*}\n [Fintype Action] [Fintype State] [Fintype Outcome] [Fintype Policy]\n [Fintype Belief] [Fintype Observation]" + "{α : Type*} [Fintype α] [MeasurableSpace α]\n [DiscreteMeasurableSpace α]" ], "preceding_scope_directives": [], - "qualified_name": "FEP.EFEPolicy.argminEFE_eq_risk_add_ambiguity", - "source_line": 187, - "source_owner": "src/fep_lean/formal/efe_policy_selection.lean", - "statement": "theorem argminEFE_eq_risk_add_ambiguity\n (model : GenerativeModel Policy State Outcome) (support : FullSupport model)\n (policy : Policy) :\n (∀ alternative : Policy,\n expectedFreeEnergy model policy ≤ expectedFreeEnergy model alternative) ↔\n (∀ alternative : Policy,\n risk model policy + ambiguity model policy ≤\n risk model alternative + ambiguity model alternative)", - "statement_sha256": "325b27522fab300f7e526a62e51cbfa57d2a6d703b3df8793c17fcda71943de1" + "qualified_name": "FEP.DecisionRisk.embeddedLaw_withDensity_ratio", + "source_line": 89, + "source_owner": "src/fep_lean/formal/decision_risk.lean", + "statement": "theorem embeddedLaw_withDensity_ratio (p q : FiniteLaw α)\n (hq : ∀ x, 0 < q x) :\n (embeddedLaw q).withDensity\n (fun x => ENNReal.ofReal (p x / q x)) = embeddedLaw p", + "statement_sha256": "f12ef23cda6ab799533d1e03ef01dca9764d16f72defd8951da34a6c735701ce" }, - "FEP.EFEPolicy.boltzmann_control_posterior_minimal_value": { + "FEP.DecisionRisk.embeddedLaw_withDensity_ratio_of_relativeSupport": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "prior" - ], - "role": "typed_binder", - "source": "(prior : FiniteLaw Action)", - "type_source": "FiniteLaw Action", - "visibility": "explicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "prior_pos" - ], - "role": "typed_binder", - "source": "(prior_pos : ∀ policy, 0 < prior policy)", - "type_source": "∀ policy, 0 < prior policy", - "visibility": "explicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "γ" - ], - "role": "typed_binder", - "source": "(γ : ℝ)", - "type_source": "ℝ", - "visibility": "explicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "hγ" + "p", + "q" ], "role": "typed_binder", - "source": "(hγ : 0 < γ)", - "type_source": "0 < γ", + "source": "(p q : FiniteLaw α)", + "type_source": "FiniteLaw α", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "cost" + "hsupport" ], "role": "typed_binder", - "source": "(cost : Action → ℝ)", - "type_source": "Action → ℝ", + "source": "(hsupport : ∀ x, p x ≠ 0 → 0 < q x)", + "type_source": "∀ x, p x ≠ 0 → 0 < q x", "visibility": "explicit" } ], - "conclusion": "efeControlObjective prior γ cost (controlPosterior prior γ cost) =\n -(γ⁻¹ * Real.log (efeControlPartition prior γ cost))", + "conclusion": "(embeddedLaw q).withDensity\n (fun x => ENNReal.ofReal (p x / q x)) = embeddedLaw p", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Action", - "State", - "Outcome", - "Policy", - "Belief", - "Observation" + "α" ], "role": "typed_binder", - "source": "{Action State Outcome Policy Belief Observation : Type*}", + "source": "{α : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -41753,163 +43078,154 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Action]", - "type_source": "Fintype Action", - "visibility": "instance" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype State]", - "type_source": "Fintype State", - "visibility": "instance" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype Outcome]", - "type_source": "Fintype Outcome", - "visibility": "instance" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype Policy]", - "type_source": "Fintype Policy", + "source": "[Fintype α]", + "type_source": "Fintype α", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Belief]", - "type_source": "Fintype Belief", + "source": "[MeasurableSpace α]", + "type_source": "MeasurableSpace α", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Observation]", - "type_source": "Fintype Observation", + "source": "[DiscreteMeasurableSpace α]", + "type_source": "DiscreteMeasurableSpace α", "visibility": "instance" } ], "declaration_mentions": [ - { - "identifier": "efeControlObjective_eq_kl_sub_logPartition", - "qualified_name": "FEP.EFEPolicy.efeControlObjective_eq_kl_sub_logPartition", - "resolution": "exact or same-namespace source identifier", - "role": "proof_reference" - }, { "candidates": [ - "FEP.FiniteInformation.finiteKL_self" + "FEP.NativeBlanket.embeddedLaw_apply_singleton" ], - "identifier": "finiteKL_self", + "identifier": "embeddedLaw_apply_singleton", "resolution": "unresolved lexical scope", "role": "proof_reference" } ], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.controlled_markov", - "FepSketches.policy_tree", - "FepSketches.variational_duality" + "FepSketches.native_blanket", + "FepSketches.finite_information", + "Mathlib.InformationTheory.KullbackLeibler.DataProcessing", + "Mathlib.Probability.Decision.BayesEstimator", + "Mathlib.Probability.Decision.Risk.Basic" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.EFEPolicy", + "namespace": "FEP.DecisionRisk", "namespace_variable_context": [ - "{Action State Outcome Policy Belief Observation : Type*}\n [Fintype Action] [Fintype State] [Fintype Outcome] [Fintype Policy]\n [Fintype Belief] [Fintype Observation]" + "{α : Type*} [Fintype α] [MeasurableSpace α]\n [DiscreteMeasurableSpace α]" ], "preceding_scope_directives": [], - "qualified_name": "FEP.EFEPolicy.boltzmann_control_posterior_minimal_value", - "source_line": 172, - "source_owner": "src/fep_lean/formal/efe_policy_selection.lean", - "statement": "theorem boltzmann_control_posterior_minimal_value (prior : FiniteLaw Action)\n (prior_pos : ∀ policy, 0 < prior policy) (γ : ℝ) (hγ : 0 < γ)\n (cost : Action → ℝ) :\n efeControlObjective prior γ cost (controlPosterior prior γ cost) =\n -(γ⁻¹ * Real.log (efeControlPartition prior γ cost))", - "statement_sha256": "b2986682f1ff302dee8e3fbaba6b9f31529c607b6e9139c837b122d83aede1c6" + "qualified_name": "FEP.DecisionRisk.embeddedLaw_withDensity_ratio_of_relativeSupport", + "source_line": 33, + "source_owner": "src/fep_lean/formal/decision_risk.lean", + "statement": "theorem embeddedLaw_withDensity_ratio_of_relativeSupport (p q : FiniteLaw α)\n (hsupport : ∀ x, p x ≠ 0 → 0 < q x) :\n (embeddedLaw q).withDensity\n (fun x => ENNReal.ofReal (p x / q x)) = embeddedLaw p", + "statement_sha256": "f5b6070b3f180ffcde944939913274707342d01faa2199866ad7a7f2fef5fd61" }, - "FEP.EFEPolicy.boltzmann_control_posterior_minimizes_efe": { + "FEP.DecisionRisk.finiteKL_asymmetric_bool": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [ + "binders": [], + "conclusion": "finiteKL asymmetricBoolTruth asymmetricBoolReport ≠\n finiteKL asymmetricBoolReport asymmetricBoolTruth", + "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "prior" + "α" ], "role": "typed_binder", - "source": "(prior : FiniteLaw Action)", - "type_source": "FiniteLaw Action", - "visibility": "explicit" + "source": "{α : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "prior_pos" - ], - "role": "typed_binder", - "source": "(prior_pos : ∀ policy, 0 < prior policy)", - "type_source": "∀ policy, 0 < prior policy", - "visibility": "explicit" - }, + "names": [], + "role": "instance_requirement", + "source": "[Fintype α]", + "type_source": "Fintype α", + "visibility": "instance" + } + ], + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.native_blanket", + "FepSketches.finite_information", + "Mathlib.InformationTheory.KullbackLeibler.DataProcessing", + "Mathlib.Probability.Decision.BayesEstimator", + "Mathlib.Probability.Decision.Risk.Basic" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.DecisionRisk", + "namespace_variable_context": [ + "{α : Type*} [Fintype α]" + ], + "preceding_scope_directives": [ { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "γ" - ], - "role": "typed_binder", - "source": "(γ : ℝ)", - "type_source": "ℝ", - "visibility": "explicit" - }, + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DiscreteMeasurableSpace α] in" + } + ], + "qualified_name": "FEP.DecisionRisk.finiteKL_asymmetric_bool", + "source_line": 217, + "source_owner": "src/fep_lean/formal/decision_risk.lean", + "statement": "theorem finiteKL_asymmetric_bool :\n finiteKL asymmetricBoolTruth asymmetricBoolReport ≠\n finiteKL asymmetricBoolReport asymmetricBoolTruth", + "statement_sha256": "1eb597e2bf76d2dec840e4a11dcfdaf055099a017eb1bbb0a8f7c9666fb82e75" + }, + "FEP.DecisionRisk.finiteKL_mono_under_channel_of_relativeSupport": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "hγ" + "actual", + "reference" ], "role": "typed_binder", - "source": "(hγ : 0 < γ)", - "type_source": "0 < γ", + "source": "(actual reference : FiniteLaw α)", + "type_source": "FiniteLaw α", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "cost" + "channel" ], "role": "typed_binder", - "source": "(cost : Action → ℝ)", - "type_source": "Action → ℝ", + "source": "(channel : FiniteKernel α β)", + "type_source": "FiniteKernel α β", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Q" + "hsupport" ], "role": "typed_binder", - "source": "(Q : FiniteLaw Action)", - "type_source": "FiniteLaw Action", + "source": "(hsupport : ∀ x, actual x ≠ 0 → 0 < reference x)", + "type_source": "∀ x, actual x ≠ 0 → 0 < reference x", "visibility": "explicit" } ], - "conclusion": "efeControlObjective prior γ cost (controlPosterior prior γ cost) ≤\n efeControlObjective prior γ cost Q ∧\n (efeControlObjective prior γ cost Q =\n efeControlObjective prior γ cost (controlPosterior prior γ cost) ↔\n Q = controlPosterior prior γ cost)", + "conclusion": "finiteKL (channel.predictive actual) (channel.predictive reference) ≤\n finiteKL actual reference", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Action", - "State", - "Outcome", - "Policy", - "Belief", - "Observation" + "α", + "β", + "γ" ], "role": "typed_binder", - "source": "{Action State Outcome Policy Belief Observation : Type*}", + "source": "{α β γ : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -41917,63 +43233,81 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Action]", - "type_source": "Fintype Action", + "source": "[Fintype α]", + "type_source": "Fintype α", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype State]", - "type_source": "Fintype State", + "source": "[Fintype β]", + "type_source": "Fintype β", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Outcome]", - "type_source": "Fintype Outcome", + "source": "[Fintype γ]", + "type_source": "Fintype γ", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Policy]", - "type_source": "Fintype Policy", + "source": "[MeasurableSpace α]", + "type_source": "MeasurableSpace α", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Belief]", - "type_source": "Fintype Belief", + "source": "[MeasurableSpace β]", + "type_source": "MeasurableSpace β", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Observation]", - "type_source": "Fintype Observation", + "source": "[MeasurableSpace γ]", + "type_source": "MeasurableSpace γ", "visibility": "instance" - } - ], - "declaration_mentions": [ - { - "identifier": "efeControlObjective_sub_eq_kl", - "qualified_name": "FEP.EFEPolicy.efeControlObjective_sub_eq_kl", - "resolution": "exact or same-namespace source identifier", - "role": "proof_reference" }, { - "candidates": [ - "FEP.FiniteInformation.finiteKL_eq_zero_iff" - ], - "identifier": "finiteKL_eq_zero_iff", + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DiscreteMeasurableSpace α]", + "type_source": "DiscreteMeasurableSpace α", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DiscreteMeasurableSpace β]", + "type_source": "DiscreteMeasurableSpace β", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DiscreteMeasurableSpace γ]", + "type_source": "DiscreteMeasurableSpace γ", + "visibility": "instance" + } + ], + "declaration_mentions": [ + { + "candidates": [ + "FEP.NativeBlanket.embeddedPredictive_eq_comp" + ], + "identifier": "embeddedPredictive_eq_comp", "resolution": "unresolved lexical scope", "role": "proof_reference" }, @@ -41984,104 +43318,106 @@ "identifier": "finiteKL_nonneg", "resolution": "unresolved lexical scope", "role": "proof_reference" + }, + { + "identifier": "predictive_relativeSupport", + "qualified_name": "FEP.DecisionRisk.predictive_relativeSupport", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + }, + { + "identifier": "weightedDirac_klDiv_eq_finiteKL_of_relativeSupport", + "qualified_name": "FEP.DecisionRisk.weightedDirac_klDiv_eq_finiteKL_of_relativeSupport", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" } ], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.controlled_markov", - "FepSketches.policy_tree", - "FepSketches.variational_duality" + "FepSketches.native_blanket", + "FepSketches.finite_information", + "Mathlib.InformationTheory.KullbackLeibler.DataProcessing", + "Mathlib.Probability.Decision.BayesEstimator", + "Mathlib.Probability.Decision.Risk.Basic" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.EFEPolicy", + "namespace": "FEP.DecisionRisk", "namespace_variable_context": [ - "{Action State Outcome Policy Belief Observation : Type*}\n [Fintype Action] [Fintype State] [Fintype Outcome] [Fintype Policy]\n [Fintype Belief] [Fintype Observation]" + "{α β γ : Type*} [Fintype α] [Fintype β] [Fintype γ]\n [MeasurableSpace α] [MeasurableSpace β] [MeasurableSpace γ]\n [DiscreteMeasurableSpace α] [DiscreteMeasurableSpace β]\n [DiscreteMeasurableSpace γ]" ], - "preceding_scope_directives": [], - "qualified_name": "FEP.EFEPolicy.boltzmann_control_posterior_minimizes_efe", - "source_line": 142, - "source_owner": "src/fep_lean/formal/efe_policy_selection.lean", - "statement": "theorem boltzmann_control_posterior_minimizes_efe (prior : FiniteLaw Action)\n (prior_pos : ∀ policy, 0 < prior policy) (γ : ℝ) (hγ : 0 < γ)\n (cost : Action → ℝ) (Q : FiniteLaw Action) :\n efeControlObjective prior γ cost (controlPosterior prior γ cost) ≤\n efeControlObjective prior γ cost Q ∧\n (efeControlObjective prior γ cost Q =\n efeControlObjective prior γ cost (controlPosterior prior γ cost) ↔\n Q = controlPosterior prior γ cost)", - "statement_sha256": "a733f638c6d5ce49cb9ded2e638af2453f04ff850caf6cde282b25c4d5dfa6f8" - }, - "FEP.EFEPolicy.efeControlObjective_eq_gibbsFreeEnergy": { - "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [ + "preceding_scope_directives": [ { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "prior" - ], - "role": "typed_binder", - "source": "(prior : FiniteLaw Action)", - "type_source": "FiniteLaw Action", - "visibility": "explicit" + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DiscreteMeasurableSpace α] in" }, { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "prior_pos" - ], - "role": "typed_binder", - "source": "(prior_pos : ∀ policy, 0 < prior policy)", - "type_source": "∀ policy, 0 < prior policy", - "visibility": "explicit" + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [MeasurableSpace α] [MeasurableSpace β]" }, { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "γ" - ], - "role": "typed_binder", - "source": "(γ : ℝ)", - "type_source": "ℝ", - "visibility": "explicit" + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [MeasurableSpace α] [MeasurableSpace β]" }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [MeasurableSpace α] [MeasurableSpace β]" + } + ], + "qualified_name": "FEP.DecisionRisk.finiteKL_mono_under_channel_of_relativeSupport", + "source_line": 379, + "source_owner": "src/fep_lean/formal/decision_risk.lean", + "statement": "theorem finiteKL_mono_under_channel_of_relativeSupport\n (actual reference : FiniteLaw α) (channel : FiniteKernel α β)\n (hsupport : ∀ x, actual x ≠ 0 → 0 < reference x) :\n finiteKL (channel.predictive actual) (channel.predictive reference) ≤\n finiteKL actual reference", + "statement_sha256": "c8ad9c552196b0a2c8193a93971e98ecaa01a805a89635acafd642f8913614e6" + }, + "FEP.DecisionRisk.finiteMutualInformation_mono_under_observationGarbling": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "hγ" + "prior" ], "role": "typed_binder", - "source": "(hγ : 0 < γ)", - "type_source": "0 < γ", + "source": "(prior : FiniteLaw α)", + "type_source": "FiniteLaw α", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "cost" + "experiment" ], "role": "typed_binder", - "source": "(cost : Action → ℝ)", - "type_source": "Action → ℝ", + "source": "(experiment : FiniteKernel α β)", + "type_source": "FiniteKernel α β", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Q" + "garbling" ], "role": "typed_binder", - "source": "(Q : FiniteLaw Action)", - "type_source": "FiniteLaw Action", + "source": "(garbling : FiniteKernel β γ)", + "type_source": "FiniteKernel β γ", "visibility": "explicit" } ], - "conclusion": "efeControlObjective prior γ cost Q =\n γ⁻¹ * gibbsFreeEnergy (efeGibbsCertificate prior prior_pos γ cost) Q", + "conclusion": "mutualInformation ((FiniteKernel.comp garbling experiment).joint prior) ≤\n mutualInformation (experiment.joint prior)", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Action", - "State", - "Outcome", - "Policy", - "Belief", - "Observation" + "α", + "β", + "γ" ], "role": "typed_binder", - "source": "{Action State Outcome Policy Belief Observation : Type*}", + "source": "{α β γ : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -42089,312 +43425,285 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Action]", - "type_source": "Fintype Action", + "source": "[Fintype α]", + "type_source": "Fintype α", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype State]", - "type_source": "Fintype State", + "source": "[Fintype β]", + "type_source": "Fintype β", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Outcome]", - "type_source": "Fintype Outcome", + "source": "[Fintype γ]", + "type_source": "Fintype γ", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Policy]", - "type_source": "Fintype Policy", + "source": "[MeasurableSpace α]", + "type_source": "MeasurableSpace α", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Belief]", - "type_source": "Fintype Belief", + "source": "[MeasurableSpace β]", + "type_source": "MeasurableSpace β", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Observation]", - "type_source": "Fintype Observation", + "source": "[MeasurableSpace γ]", + "type_source": "MeasurableSpace γ", "visibility": "instance" - } - ], - "declaration_mentions": [], - "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", - "import_context": [ - "FepSketches.controlled_markov", - "FepSketches.policy_tree", - "FepSketches.variational_duality" - ], - "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.EFEPolicy", - "namespace_variable_context": [ - "{Action State Outcome Policy Belief Observation : Type*}\n [Fintype Action] [Fintype State] [Fintype Outcome] [Fintype Policy]\n [Fintype Belief] [Fintype Observation]" - ], - "preceding_scope_directives": [], - "qualified_name": "FEP.EFEPolicy.efeControlObjective_eq_gibbsFreeEnergy", - "source_line": 82, - "source_owner": "src/fep_lean/formal/efe_policy_selection.lean", - "statement": "theorem efeControlObjective_eq_gibbsFreeEnergy (prior : FiniteLaw Action)\n (prior_pos : ∀ policy, 0 < prior policy) (γ : ℝ) (hγ : 0 < γ)\n (cost : Action → ℝ) (Q : FiniteLaw Action) :\n efeControlObjective prior γ cost Q =\n γ⁻¹ * gibbsFreeEnergy (efeGibbsCertificate prior prior_pos γ cost) Q", - "statement_sha256": "47d6f14bc2f8035cd39998a94ba50d2a6b1a4be92ac12b5313d90234a748aaa7" - }, - "FEP.EFEPolicy.efeControlObjective_eq_kl_sub_logPartition": { - "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [ - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "prior" - ], - "role": "typed_binder", - "source": "(prior : FiniteLaw Action)", - "type_source": "FiniteLaw Action", - "visibility": "explicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "prior_pos" - ], - "role": "typed_binder", - "source": "(prior_pos : ∀ policy, 0 < prior policy)", - "type_source": "∀ policy, 0 < prior policy", - "visibility": "explicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "γ" - ], - "role": "typed_binder", - "source": "(γ : ℝ)", - "type_source": "ℝ", - "visibility": "explicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "hγ" - ], - "role": "typed_binder", - "source": "(hγ : 0 < γ)", - "type_source": "0 < γ", - "visibility": "explicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "cost" - ], - "role": "typed_binder", - "source": "(cost : Action → ℝ)", - "type_source": "Action → ℝ", - "visibility": "explicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "Q" - ], - "role": "typed_binder", - "source": "(Q : FiniteLaw Action)", - "type_source": "FiniteLaw Action", - "visibility": "explicit" - } - ], - "conclusion": "efeControlObjective prior γ cost Q =\n γ⁻¹ * (finiteKL Q (controlPosterior prior γ cost) -\n Real.log (efeControlPartition prior γ cost))", - "context_binders": [ - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "Action", - "State", - "Outcome", - "Policy", - "Belief", - "Observation" - ], - "role": "typed_binder", - "source": "{Action State Outcome Policy Belief Observation : Type*}", - "type_source": "Type*", - "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Action]", - "type_source": "Fintype Action", + "source": "[DiscreteMeasurableSpace α]", + "type_source": "DiscreteMeasurableSpace α", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype State]", - "type_source": "Fintype State", + "source": "[DiscreteMeasurableSpace β]", + "type_source": "DiscreteMeasurableSpace β", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Outcome]", - "type_source": "Fintype Outcome", + "source": "[DiscreteMeasurableSpace γ]", + "type_source": "DiscreteMeasurableSpace γ", "visibility": "instance" - }, + } + ], + "declaration_mentions": [ { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype Policy]", - "type_source": "Fintype Policy", - "visibility": "instance" + "candidates": [ + "FEP.NativeBlanket.embeddedKernel_comp" + ], + "identifier": "embeddedKernel_comp", + "resolution": "unresolved lexical scope", + "role": "proof_reference" }, { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype Belief]", - "type_source": "Fintype Belief", - "visibility": "instance" + "identifier": "mutualInformation_mono_under_observationGarbling", + "qualified_name": "FEP.DecisionRisk.mutualInformation_mono_under_observationGarbling", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype Observation]", - "type_source": "Fintype Observation", - "visibility": "instance" - } - ], - "declaration_mentions": [ { "candidates": [ - "FEP.VariationalDuality.dvObjective_eq_logPartition_sub_kl" + "FEP.FiniteInformation.mutualInformation_nonneg" ], - "identifier": "dvObjective_eq_logPartition_sub_kl", + "identifier": "mutualInformation_nonneg", "resolution": "unresolved lexical scope", "role": "proof_reference" }, { - "identifier": "efeControlObjective_eq_gibbsFreeEnergy", - "qualified_name": "FEP.EFEPolicy.efeControlObjective_eq_gibbsFreeEnergy", + "identifier": "nativeChannelMutualInformation_eq_finite", + "qualified_name": "FEP.DecisionRisk.nativeChannelMutualInformation_eq_finite", "resolution": "exact or same-namespace source identifier", "role": "proof_reference" } ], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.controlled_markov", - "FepSketches.policy_tree", - "FepSketches.variational_duality" + "FepSketches.native_blanket", + "FepSketches.finite_information", + "Mathlib.InformationTheory.KullbackLeibler.DataProcessing", + "Mathlib.Probability.Decision.BayesEstimator", + "Mathlib.Probability.Decision.Risk.Basic" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.EFEPolicy", + "namespace": "FEP.DecisionRisk", "namespace_variable_context": [ - "{Action State Outcome Policy Belief Observation : Type*}\n [Fintype Action] [Fintype State] [Fintype Outcome] [Fintype Policy]\n [Fintype Belief] [Fintype Observation]" + "{α β γ : Type*} [Fintype α] [Fintype β] [Fintype γ]\n [MeasurableSpace α] [MeasurableSpace β] [MeasurableSpace γ]\n [DiscreteMeasurableSpace α] [DiscreteMeasurableSpace β]\n [DiscreteMeasurableSpace γ]" ], - "preceding_scope_directives": [], - "qualified_name": "FEP.EFEPolicy.efeControlObjective_eq_kl_sub_logPartition", - "source_line": 103, - "source_owner": "src/fep_lean/formal/efe_policy_selection.lean", - "statement": "theorem efeControlObjective_eq_kl_sub_logPartition (prior : FiniteLaw Action)\n (prior_pos : ∀ policy, 0 < prior policy) (γ : ℝ) (hγ : 0 < γ)\n (cost : Action → ℝ) (Q : FiniteLaw Action) :\n efeControlObjective prior γ cost Q =\n γ⁻¹ * (finiteKL Q (controlPosterior prior γ cost) -\n Real.log (efeControlPartition prior γ cost))", - "statement_sha256": "91681f54a3e1ba1998e1b5b6313f21e9148f5f1a2160deaff4b91d9d1ef3c96d" + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DiscreteMeasurableSpace α] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [MeasurableSpace α] [MeasurableSpace β]" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [MeasurableSpace α] [MeasurableSpace β]" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [MeasurableSpace α] [MeasurableSpace β]" + } + ], + "qualified_name": "FEP.DecisionRisk.finiteMutualInformation_mono_under_observationGarbling", + "source_line": 395, + "source_owner": "src/fep_lean/formal/decision_risk.lean", + "statement": "theorem finiteMutualInformation_mono_under_observationGarbling\n (prior : FiniteLaw α) (experiment : FiniteKernel α β)\n (garbling : FiniteKernel β γ) :\n mutualInformation ((FiniteKernel.comp garbling experiment).joint prior) ≤\n mutualInformation (experiment.joint prior)", + "statement_sha256": "4bd54f87800f214c7161f8941852fbc0422abc0c9f61bf5f51aa9c3d3b711207" }, - "FEP.EFEPolicy.efeControlObjective_sub_eq_kl": { + "FEP.DecisionRisk.garbledBool_bayesRisk_eq_half": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [ + "binders": [], + "conclusion": "bayesRisk boolZeroOneLoss garbledBoolExperiment boolPrior = 1 / 2", + "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "prior" + "Θ", + "Observation", + "Garbled", + "Decision" ], "role": "typed_binder", - "source": "(prior : FiniteLaw Action)", - "type_source": "FiniteLaw Action", - "visibility": "explicit" + "source": "{Θ Observation Garbled Decision : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "prior_pos" + "mΘ" ], "role": "typed_binder", - "source": "(prior_pos : ∀ policy, 0 < prior policy)", - "type_source": "∀ policy, 0 < prior policy", - "visibility": "explicit" + "source": "{mΘ : MeasurableSpace Θ}", + "type_source": "MeasurableSpace Θ", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "γ" + "mObservation" ], "role": "typed_binder", - "source": "(γ : ℝ)", - "type_source": "ℝ", - "visibility": "explicit" + "source": "{mObservation : MeasurableSpace Observation}", + "type_source": "MeasurableSpace Observation", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "hγ" + "mGarbled" ], "role": "typed_binder", - "source": "(hγ : 0 < γ)", - "type_source": "0 < γ", - "visibility": "explicit" + "source": "{mGarbled : MeasurableSpace Garbled}", + "type_source": "MeasurableSpace Garbled", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "cost" + "mDecision" ], "role": "typed_binder", - "source": "(cost : Action → ℝ)", - "type_source": "Action → ℝ", - "visibility": "explicit" + "source": "{mDecision : MeasurableSpace Decision}", + "type_source": "MeasurableSpace Decision", + "visibility": "implicit" + } + ], + "declaration_mentions": [ + { + "identifier": "boolPrior_zeroOneRisk", + "qualified_name": "FEP.DecisionRisk.boolPrior_zeroOneRisk", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + }, + { + "identifier": "boolZeroOneLoss_measurable", + "qualified_name": "FEP.DecisionRisk.boolZeroOneLoss_measurable", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + } + ], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.native_blanket", + "FepSketches.finite_information", + "Mathlib.InformationTheory.KullbackLeibler.DataProcessing", + "Mathlib.Probability.Decision.BayesEstimator", + "Mathlib.Probability.Decision.Risk.Basic" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.DecisionRisk", + "namespace_variable_context": [ + "{Θ Observation Garbled Decision : Type*}\n {mΘ : MeasurableSpace Θ} {mObservation : MeasurableSpace Observation}\n {mGarbled : MeasurableSpace Garbled} {mDecision : MeasurableSpace Decision}" + ], + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DiscreteMeasurableSpace α] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [MeasurableSpace α] [MeasurableSpace β]" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [MeasurableSpace α] [MeasurableSpace β]" }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [MeasurableSpace α] [MeasurableSpace β]" + } + ], + "qualified_name": "FEP.DecisionRisk.garbledBool_bayesRisk_eq_half", + "source_line": 502, + "source_owner": "src/fep_lean/formal/decision_risk.lean", + "statement": "theorem garbledBool_bayesRisk_eq_half :\n bayesRisk boolZeroOneLoss garbledBoolExperiment boolPrior = 1 / 2", + "statement_sha256": "f710912db85c5d1a0332caedfee89807846f09718bab0b21204f76bec834a82a" + }, + "FEP.DecisionRisk.joint_relativeSupport_productMarginals": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Q" + "joint" ], "role": "typed_binder", - "source": "(Q : FiniteLaw Action)", - "type_source": "FiniteLaw Action", + "source": "(joint : FiniteLaw (α × β))", + "type_source": "FiniteLaw (α × β)", "visibility": "explicit" } ], - "conclusion": "efeControlObjective prior γ cost Q -\n efeControlObjective prior γ cost (controlPosterior prior γ cost) =\n γ⁻¹ * finiteKL Q (controlPosterior prior γ cost)", + "conclusion": "∀ xy, joint xy ≠ 0 →\n 0 < (joint.fstMarginal.product joint.sndMarginal) xy", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Action", - "State", - "Outcome", - "Policy", - "Belief", - "Observation" + "α", + "β", + "γ" ], "role": "typed_binder", - "source": "{Action State Outcome Policy Belief Observation : Type*}", + "source": "{α β γ : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -42402,401 +43711,460 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Action]", - "type_source": "Fintype Action", + "source": "[Fintype α]", + "type_source": "Fintype α", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype State]", - "type_source": "Fintype State", + "source": "[Fintype β]", + "type_source": "Fintype β", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Outcome]", - "type_source": "Fintype Outcome", + "source": "[Fintype γ]", + "type_source": "Fintype γ", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Policy]", - "type_source": "Fintype Policy", + "source": "[MeasurableSpace α]", + "type_source": "MeasurableSpace α", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Belief]", - "type_source": "Fintype Belief", + "source": "[MeasurableSpace β]", + "type_source": "MeasurableSpace β", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Observation]", - "type_source": "Fintype Observation", + "source": "[MeasurableSpace γ]", + "type_source": "MeasurableSpace γ", "visibility": "instance" - } - ], - "declaration_mentions": [ + }, { - "identifier": "efeControlObjective_eq_kl_sub_logPartition", - "qualified_name": "FEP.EFEPolicy.efeControlObjective_eq_kl_sub_logPartition", - "resolution": "exact or same-namespace source identifier", - "role": "proof_reference" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DiscreteMeasurableSpace α]", + "type_source": "DiscreteMeasurableSpace α", + "visibility": "instance" }, { - "candidates": [ - "FEP.FiniteInformation.finiteKL_self" - ], - "identifier": "finiteKL_self", - "resolution": "unresolved lexical scope", - "role": "proof_reference" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DiscreteMeasurableSpace β]", + "type_source": "DiscreteMeasurableSpace β", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DiscreteMeasurableSpace γ]", + "type_source": "DiscreteMeasurableSpace γ", + "visibility": "instance" } ], + "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.controlled_markov", - "FepSketches.policy_tree", - "FepSketches.variational_duality" + "FepSketches.native_blanket", + "FepSketches.finite_information", + "Mathlib.InformationTheory.KullbackLeibler.DataProcessing", + "Mathlib.Probability.Decision.BayesEstimator", + "Mathlib.Probability.Decision.Risk.Basic" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.EFEPolicy", + "namespace": "FEP.DecisionRisk", "namespace_variable_context": [ - "{Action State Outcome Policy Belief Observation : Type*}\n [Fintype Action] [Fintype State] [Fintype Outcome] [Fintype Policy]\n [Fintype Belief] [Fintype Observation]" + "{α β γ : Type*} [Fintype α] [Fintype β] [Fintype γ]\n [MeasurableSpace α] [MeasurableSpace β] [MeasurableSpace γ]\n [DiscreteMeasurableSpace α] [DiscreteMeasurableSpace β]\n [DiscreteMeasurableSpace γ]" ], - "preceding_scope_directives": [], - "qualified_name": "FEP.EFEPolicy.efeControlObjective_sub_eq_kl", - "source_line": 125, - "source_owner": "src/fep_lean/formal/efe_policy_selection.lean", - "statement": "theorem efeControlObjective_sub_eq_kl (prior : FiniteLaw Action)\n (prior_pos : ∀ policy, 0 < prior policy) (γ : ℝ) (hγ : 0 < γ)\n (cost : Action → ℝ) (Q : FiniteLaw Action) :\n efeControlObjective prior γ cost Q -\n efeControlObjective prior γ cost (controlPosterior prior γ cost) =\n γ⁻¹ * finiteKL Q (controlPosterior prior γ cost)", - "statement_sha256": "016f021b1599e7627fe7cbcbe2267ee0f0290d2e073e47c2721d5dcfaf320091" + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DiscreteMeasurableSpace α] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [MeasurableSpace α] [MeasurableSpace β]" + } + ], + "qualified_name": "FEP.DecisionRisk.joint_relativeSupport_productMarginals", + "source_line": 295, + "source_owner": "src/fep_lean/formal/decision_risk.lean", + "statement": "theorem joint_relativeSupport_productMarginals (joint : FiniteLaw (α × β)) :\n ∀ xy, joint xy ≠ 0 →\n 0 < (joint.fstMarginal.product joint.sndMarginal) xy", + "statement_sha256": "ceb5b7a4f5c76cd94a86483bb981e30ee0f8fad9ffeb2e1237591ae4f819625b" }, - "FEP.EFEPolicy.exists_EFE_minimizing_policy": { + "FEP.DecisionRisk.mutualInformation_mono_under_observationGarbling": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "model" + "prior" ], "role": "typed_binder", - "source": "(model : GenerativeModel Policy State Outcome)", - "type_source": "GenerativeModel Policy State Outcome", + "source": "(prior : Measure Parameter)", + "type_source": "Measure Parameter", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Nonempty Policy]", - "type_source": "Nonempty Policy", + "source": "[IsProbabilityMeasure prior]", + "type_source": "IsProbabilityMeasure prior", "visibility": "instance" - } - ], - "conclusion": "∃ policy : Policy, ∀ alternative : Policy,\n expectedFreeEnergy model policy ≤ expectedFreeEnergy model alternative", - "context_binders": [ + }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Action", - "State", - "Outcome", - "Policy", - "Belief", - "Observation" + "experiment" ], "role": "typed_binder", - "source": "{Action State Outcome Policy Belief Observation : Type*}", - "type_source": "Type*", - "visibility": "implicit" + "source": "(experiment : Kernel Parameter Observation)", + "type_source": "Kernel Parameter Observation", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Action]", - "type_source": "Fintype Action", + "source": "[IsMarkovKernel experiment]", + "type_source": "IsMarkovKernel experiment", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype State]", - "type_source": "Fintype State", - "visibility": "instance" + "names": [ + "garbling" + ], + "role": "typed_binder", + "source": "(garbling : Kernel Observation Garbled)", + "type_source": "Kernel Observation Garbled", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Outcome]", - "type_source": "Fintype Outcome", + "source": "[IsMarkovKernel garbling]", + "type_source": "IsMarkovKernel garbling", "visibility": "instance" - }, + } + ], + "conclusion": "nativeChannelMutualInformation prior (garbling ∘ₖ experiment) ≤\n nativeChannelMutualInformation prior experiment", + "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype Policy]", - "type_source": "Fintype Policy", - "visibility": "instance" + "names": [ + "Parameter", + "Observation", + "Garbled" + ], + "role": "typed_binder", + "source": "{Parameter Observation Garbled : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype Belief]", - "type_source": "Fintype Belief", - "visibility": "instance" + "names": [ + "mParameter" + ], + "role": "typed_binder", + "source": "{mParameter : MeasurableSpace Parameter}", + "type_source": "MeasurableSpace Parameter", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype Observation]", - "type_source": "Fintype Observation", - "visibility": "instance" - } - ], - "declaration_mentions": [ + "names": [ + "mObservation" + ], + "role": "typed_binder", + "source": "{mObservation : MeasurableSpace Observation}", + "type_source": "MeasurableSpace Observation", + "visibility": "implicit" + }, { - "candidates": [ - "FEP.ControlledMarkov.exists_finite_minimizer" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "mGarbled" ], - "identifier": "exists_finite_minimizer", - "resolution": "unresolved lexical scope", - "role": "proof_reference" + "role": "typed_binder", + "source": "{mGarbled : MeasurableSpace Garbled}", + "type_source": "MeasurableSpace Garbled", + "visibility": "implicit" } ], + "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.controlled_markov", - "FepSketches.policy_tree", - "FepSketches.variational_duality" + "FepSketches.native_blanket", + "FepSketches.finite_information", + "Mathlib.InformationTheory.KullbackLeibler.DataProcessing", + "Mathlib.Probability.Decision.BayesEstimator", + "Mathlib.Probability.Decision.Risk.Basic" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.EFEPolicy", + "namespace": "FEP.DecisionRisk", "namespace_variable_context": [ - "{Action State Outcome Policy Belief Observation : Type*}\n [Fintype Action] [Fintype State] [Fintype Outcome] [Fintype Policy]\n [Fintype Belief] [Fintype Observation]" + "{Parameter Observation Garbled : Type*}\n {mParameter : MeasurableSpace Parameter}\n {mObservation : MeasurableSpace Observation}\n {mGarbled : MeasurableSpace Garbled}" ], - "preceding_scope_directives": [], - "qualified_name": "FEP.EFEPolicy.exists_EFE_minimizing_policy", - "source_line": 221, - "source_owner": "src/fep_lean/formal/efe_policy_selection.lean", - "statement": "theorem exists_EFE_minimizing_policy\n (model : GenerativeModel Policy State Outcome) [Nonempty Policy] :\n ∃ policy : Policy, ∀ alternative : Policy,\n expectedFreeEnergy model policy ≤ expectedFreeEnergy model alternative", - "statement_sha256": "08deb4dfa80c7321cf6a38c050182a1b1bba8e591d439cae1e9fc634b12218bc" + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DiscreteMeasurableSpace α] in" + } + ], + "qualified_name": "FEP.DecisionRisk.mutualInformation_mono_under_observationGarbling", + "source_line": 258, + "source_owner": "src/fep_lean/formal/decision_risk.lean", + "statement": "theorem mutualInformation_mono_under_observationGarbling\n (prior : Measure Parameter) [IsProbabilityMeasure prior]\n (experiment : Kernel Parameter Observation) [IsMarkovKernel experiment]\n (garbling : Kernel Observation Garbled) [IsMarkovKernel garbling] :\n nativeChannelMutualInformation prior (garbling ∘ₖ experiment) ≤\n nativeChannelMutualInformation prior experiment", + "statement_sha256": "912240be45a9936ed4213cb1463127d27c180cbb83a640429345141c0ebb9181" }, - "FEP.EFEPolicy.finiteArgminEFE_minimizes_risk_add_ambiguity": { + "FEP.DecisionRisk.nativeChannelMutualInformation_eq_finite": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "model" + "prior" ], "role": "typed_binder", - "source": "(model : GenerativeModel Policy State Outcome)", - "type_source": "GenerativeModel Policy State Outcome", + "source": "(prior : FiniteLaw α)", + "type_source": "FiniteLaw α", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "support" + "experiment" ], "role": "typed_binder", - "source": "(support : FullSupport model)", - "type_source": "FullSupport model", + "source": "(experiment : FiniteKernel α β)", + "type_source": "FiniteKernel α β", "visibility": "explicit" + } + ], + "conclusion": "nativeChannelMutualInformation (embeddedLaw prior) (embeddedKernel experiment) =\n ENNReal.ofReal (mutualInformation (experiment.joint prior))", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "α", + "β", + "γ" + ], + "role": "typed_binder", + "source": "{α β γ : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Nonempty Policy]", - "type_source": "Nonempty Policy", + "source": "[Fintype α]", + "type_source": "Fintype α", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "alternative" - ], - "role": "typed_binder", - "source": "(alternative : Policy)", - "type_source": "Policy", - "visibility": "explicit" - } - ], - "conclusion": "risk model (finiteArgmin (expectedFreeEnergy model)) +\n ambiguity model (finiteArgmin (expectedFreeEnergy model)) ≤\n risk model alternative + ambiguity model alternative", - "context_binders": [ + "names": [], + "role": "instance_requirement", + "source": "[Fintype β]", + "type_source": "Fintype β", + "visibility": "instance" + }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "Action", - "State", - "Outcome", - "Policy", - "Belief", - "Observation" - ], - "role": "typed_binder", - "source": "{Action State Outcome Policy Belief Observation : Type*}", - "type_source": "Type*", - "visibility": "implicit" + "names": [], + "role": "instance_requirement", + "source": "[Fintype γ]", + "type_source": "Fintype γ", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Action]", - "type_source": "Fintype Action", + "source": "[MeasurableSpace α]", + "type_source": "MeasurableSpace α", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype State]", - "type_source": "Fintype State", + "source": "[MeasurableSpace β]", + "type_source": "MeasurableSpace β", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Outcome]", - "type_source": "Fintype Outcome", + "source": "[MeasurableSpace γ]", + "type_source": "MeasurableSpace γ", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Policy]", - "type_source": "Fintype Policy", + "source": "[DiscreteMeasurableSpace α]", + "type_source": "DiscreteMeasurableSpace α", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Belief]", - "type_source": "Fintype Belief", + "source": "[DiscreteMeasurableSpace β]", + "type_source": "DiscreteMeasurableSpace β", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Observation]", - "type_source": "Fintype Observation", + "source": "[DiscreteMeasurableSpace γ]", + "type_source": "DiscreteMeasurableSpace γ", "visibility": "instance" } ], "declaration_mentions": [ + { + "identifier": "channelJoint_fstMarginal", + "qualified_name": "FEP.DecisionRisk.channelJoint_fstMarginal", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + }, + { + "identifier": "embeddedJoint_klDiv_eq_mutualInformation", + "qualified_name": "FEP.DecisionRisk.embeddedJoint_klDiv_eq_mutualInformation", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + }, { "candidates": [ - "FEP.ActiveInference.expectedFreeEnergy_eq_risk_add_ambiguity" + "FEP.NativeBlanket.embeddedLaw_joint_eq_compProd" ], - "identifier": "expectedFreeEnergy_eq_risk_add_ambiguity", + "identifier": "embeddedLaw_joint_eq_compProd", "resolution": "unresolved lexical scope", "role": "proof_reference" }, { "candidates": [ - "FEP.ControlledMarkov.finiteArgmin_le" + "FEP.NativeBlanket.embeddedPredictive_eq_comp" ], - "identifier": "finiteArgmin_le", + "identifier": "embeddedPredictive_eq_comp", "resolution": "unresolved lexical scope", "role": "proof_reference" } ], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.controlled_markov", - "FepSketches.policy_tree", - "FepSketches.variational_duality" + "FepSketches.native_blanket", + "FepSketches.finite_information", + "Mathlib.InformationTheory.KullbackLeibler.DataProcessing", + "Mathlib.Probability.Decision.BayesEstimator", + "Mathlib.Probability.Decision.Risk.Basic" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.EFEPolicy", + "namespace": "FEP.DecisionRisk", "namespace_variable_context": [ - "{Action State Outcome Policy Belief Observation : Type*}\n [Fintype Action] [Fintype State] [Fintype Outcome] [Fintype Policy]\n [Fintype Belief] [Fintype Observation]" + "{α β γ : Type*} [Fintype α] [Fintype β] [Fintype γ]\n [MeasurableSpace α] [MeasurableSpace β] [MeasurableSpace γ]\n [DiscreteMeasurableSpace α] [DiscreteMeasurableSpace β]\n [DiscreteMeasurableSpace γ]" ], - "preceding_scope_directives": [], - "qualified_name": "FEP.EFEPolicy.finiteArgminEFE_minimizes_risk_add_ambiguity", - "source_line": 208, - "source_owner": "src/fep_lean/formal/efe_policy_selection.lean", - "statement": "theorem finiteArgminEFE_minimizes_risk_add_ambiguity\n (model : GenerativeModel Policy State Outcome) (support : FullSupport model)\n [Nonempty Policy] (alternative : Policy) :\n risk model (finiteArgmin (expectedFreeEnergy model)) +\n ambiguity model (finiteArgmin (expectedFreeEnergy model)) ≤\n risk model alternative + ambiguity model alternative", - "statement_sha256": "295e7d88b5d13905027d7de7efc561913397081095fc9a78619048ec46b46c0c" + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DiscreteMeasurableSpace α] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [MeasurableSpace α] [MeasurableSpace β]" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [MeasurableSpace α] [MeasurableSpace β]" + } + ], + "qualified_name": "FEP.DecisionRisk.nativeChannelMutualInformation_eq_finite", + "source_line": 337, + "source_owner": "src/fep_lean/formal/decision_risk.lean", + "statement": "theorem nativeChannelMutualInformation_eq_finite\n (prior : FiniteLaw α) (experiment : FiniteKernel α β) :\n nativeChannelMutualInformation (embeddedLaw prior) (embeddedKernel experiment) =\n ENNReal.ofReal (mutualInformation (experiment.joint prior))", + "statement_sha256": "c6bc98a30287724d02c406019dfe209bf3f107815649551c74570283bb7afedb" }, - "FEP.EFEPolicy.policyTree_value_agreement": { + "FEP.DecisionRisk.predictive_relativeSupport": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Nonempty Action]", - "type_source": "Nonempty Action", - "visibility": "instance" - }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "model" + "actual", + "reference" ], "role": "typed_binder", - "source": "(model : EFEPolicyTreeModel Belief State Action Observation)", - "type_source": "EFEPolicyTreeModel Belief State Action Observation", + "source": "(actual reference : FiniteLaw α)", + "type_source": "FiniteLaw α", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "depth" + "channel" ], "role": "typed_binder", - "source": "(depth : ℕ)", - "type_source": "ℕ", + "source": "(channel : FiniteKernel α β)", + "type_source": "FiniteKernel α β", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "belief" + "hsupport" ], "role": "typed_binder", - "source": "(belief : Belief)", - "type_source": "Belief", + "source": "(hsupport : ∀ x, actual x ≠ 0 → 0 < reference x)", + "type_source": "∀ x, actual x ≠ 0 → 0 < reference x", "visibility": "explicit" } ], - "conclusion": "policyTreeValue (riskAmbiguityPolicyTreeModel model)\n (optimalPolicyTree (efePolicyTreeModel model) depth belief) belief =\n optimalTreeValue (riskAmbiguityPolicyTreeModel model) depth belief ∧\n policyTreeValue (efePolicyTreeModel model)\n (optimalPolicyTree (riskAmbiguityPolicyTreeModel model) depth belief)\n belief =\n optimalTreeValue (efePolicyTreeModel model) depth belief", + "conclusion": "∀ y, channel.predictive actual y ≠ 0 →\n 0 < channel.predictive reference y", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Action", - "State", - "Outcome", - "Policy", - "Belief", - "Observation" + "α", + "β", + "γ" ], "role": "typed_binder", - "source": "{Action State Outcome Policy Belief Observation : Type*}", + "source": "{α β γ : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -42804,182 +44172,151 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Action]", - "type_source": "Fintype Action", + "source": "[Fintype α]", + "type_source": "Fintype α", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype State]", - "type_source": "Fintype State", + "source": "[Fintype β]", + "type_source": "Fintype β", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Outcome]", - "type_source": "Fintype Outcome", + "source": "[Fintype γ]", + "type_source": "Fintype γ", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Policy]", - "type_source": "Fintype Policy", + "source": "[MeasurableSpace α]", + "type_source": "MeasurableSpace α", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Belief]", - "type_source": "Fintype Belief", + "source": "[MeasurableSpace β]", + "type_source": "MeasurableSpace β", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Observation]", - "type_source": "Fintype Observation", + "source": "[MeasurableSpace γ]", + "type_source": "MeasurableSpace γ", "visibility": "instance" - } - ], - "declaration_mentions": [ + }, { - "candidates": [ - "FEP.PolicyTrees.optimalEFEValue_eq_riskAmbiguity" - ], - "identifier": "optimalEFEValue_eq_riskAmbiguity", - "resolution": "unresolved lexical scope", - "role": "proof_reference" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DiscreteMeasurableSpace α]", + "type_source": "DiscreteMeasurableSpace α", + "visibility": "instance" }, { - "candidates": [ - "FEP.PolicyTrees.optimalPolicyTree_value" - ], - "identifier": "optimalPolicyTree_value", - "resolution": "unresolved lexical scope", - "role": "proof_reference" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DiscreteMeasurableSpace β]", + "type_source": "DiscreteMeasurableSpace β", + "visibility": "instance" }, { - "candidates": [ - "FEP.PolicyTrees.policyTree_efe_eq_risk_add_ambiguity" - ], - "identifier": "policyTree_efe_eq_risk_add_ambiguity", - "resolution": "unresolved lexical scope", - "role": "proof_reference" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DiscreteMeasurableSpace γ]", + "type_source": "DiscreteMeasurableSpace γ", + "visibility": "instance" } ], + "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.controlled_markov", - "FepSketches.policy_tree", - "FepSketches.variational_duality" + "FepSketches.native_blanket", + "FepSketches.finite_information", + "Mathlib.InformationTheory.KullbackLeibler.DataProcessing", + "Mathlib.Probability.Decision.BayesEstimator", + "Mathlib.Probability.Decision.Risk.Basic" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.EFEPolicy", + "namespace": "FEP.DecisionRisk", "namespace_variable_context": [ - "{Action State Outcome Policy Belief Observation : Type*}\n [Fintype Action] [Fintype State] [Fintype Outcome] [Fintype Policy]\n [Fintype Belief] [Fintype Observation]" + "{α β γ : Type*} [Fintype α] [Fintype β] [Fintype γ]\n [MeasurableSpace α] [MeasurableSpace β] [MeasurableSpace γ]\n [DiscreteMeasurableSpace α] [DiscreteMeasurableSpace β]\n [DiscreteMeasurableSpace γ]" ], - "preceding_scope_directives": [], - "qualified_name": "FEP.EFEPolicy.policyTree_value_agreement", - "source_line": 233, - "source_owner": "src/fep_lean/formal/efe_policy_selection.lean", - "statement": "theorem policyTree_value_agreement [Nonempty Action]\n (model : EFEPolicyTreeModel Belief State Action Observation)\n (depth : ℕ) (belief : Belief) :\n policyTreeValue (riskAmbiguityPolicyTreeModel model)\n (optimalPolicyTree (efePolicyTreeModel model) depth belief) belief =\n optimalTreeValue (riskAmbiguityPolicyTreeModel model) depth belief ∧\n policyTreeValue (efePolicyTreeModel model)\n (optimalPolicyTree (riskAmbiguityPolicyTreeModel model) depth belief)\n belief =\n optimalTreeValue (efePolicyTreeModel model) depth belief", - "statement_sha256": "0461b993b036973fade4474acfc164f619b76824ad1afb717e1056f2e156fe02" - }, - "FEP.EmpiricalRisk.brierExcess_eq_sqError": { - "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [ + "preceding_scope_directives": [ { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "target", - "forecast" - ], - "role": "typed_binder", - "source": "(target forecast : ℝ)", - "type_source": "ℝ", - "visibility": "explicit" - } - ], - "conclusion": "bernoulliBrierScore target forecast - bernoulliBrierScore target target =\n (forecast - target) ^ 2", - "context_binders": [ + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DiscreteMeasurableSpace α] in" + }, { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "Ω" - ], - "role": "typed_binder", - "source": "{Ω : Type*}", - "type_source": "Type*", - "visibility": "implicit" + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [MeasurableSpace α] [MeasurableSpace β]" }, { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype Ω]", - "type_source": "Fintype Ω", - "visibility": "instance" + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [MeasurableSpace α] [MeasurableSpace β]" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [MeasurableSpace α] [MeasurableSpace β]" } ], - "declaration_mentions": [], - "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", - "import_context": [ - "FepSketches.learning_theory" - ], - "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.EmpiricalRisk", - "namespace_variable_context": [ - "{Ω : Type*} [Fintype Ω]" - ], - "preceding_scope_directives": [], - "qualified_name": "FEP.EmpiricalRisk.brierExcess_eq_sqError", - "source_line": 228, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", - "statement": "theorem brierExcess_eq_sqError (target forecast : ℝ) :\n bernoulliBrierScore target forecast - bernoulliBrierScore target target =\n (forecast - target) ^ 2", - "statement_sha256": "d8b850fd61ba4818626cc86a96961c6be7af8b2f61772d3e7ce12ec5e5ab141c" + "qualified_name": "FEP.DecisionRisk.predictive_relativeSupport", + "source_line": 352, + "source_owner": "src/fep_lean/formal/decision_risk.lean", + "statement": "theorem predictive_relativeSupport (actual reference : FiniteLaw α)\n (channel : FiniteKernel α β)\n (hsupport : ∀ x, actual x ≠ 0 → 0 < reference x) :\n ∀ y, channel.predictive actual y ≠ 0 →\n 0 < channel.predictive reference y", + "statement_sha256": "e3da52d30cbaa404bdcc6c364b1cdde4dda3e72e59e5e88b2c2feca92c4ff37f" }, - "FEP.EmpiricalRisk.expectation_add": { + "FEP.DecisionRisk.properLogScore_excessRisk_eq_finiteKL_truth_report": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "sampling" + "truth", + "report" ], "role": "typed_binder", - "source": "(sampling : FiniteLaw Ω)", - "type_source": "FiniteLaw Ω", + "source": "(truth report : FiniteLaw α)", + "type_source": "FiniteLaw α", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "left", - "right" + "hreport" ], "role": "typed_binder", - "source": "(left right : Ω → ℝ)", - "type_source": "Ω → ℝ", + "source": "(hreport : ∀ x, truth x ≠ 0 → 0 < report x)", + "type_source": "∀ x, truth x ≠ 0 → 0 < report x", "visibility": "explicit" } ], - "conclusion": "VariationalDuality.expectation sampling (fun outcome =>\n left outcome + right outcome) =\n VariationalDuality.expectation sampling left +\n VariationalDuality.expectation sampling right", + "conclusion": "properLogScoreExcessRisk truth report = finiteKL truth report", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Ω" + "α" ], "role": "typed_binder", - "source": "{Ω : Type*}", + "source": "{α : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -42987,373 +44324,520 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Ω]", - "type_source": "Fintype Ω", + "source": "[Fintype α]", + "type_source": "Fintype α", "visibility": "instance" } ], - "declaration_mentions": [], + "declaration_mentions": [ + { + "candidates": [ + "FEP.CollectiveInference.crossEntropy_self_eq_entropy" + ], + "identifier": "crossEntropy_self_eq_entropy", + "resolution": "unresolved lexical scope", + "role": "proof_reference" + }, + { + "candidates": [ + "FEP.FiniteInformation.weighted_klFun_eq_log_score" + ], + "identifier": "weighted_klFun_eq_log_score", + "resolution": "unresolved lexical scope", + "role": "proof_reference" + } + ], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.learning_theory" + "FepSketches.native_blanket", + "FepSketches.finite_information", + "Mathlib.InformationTheory.KullbackLeibler.DataProcessing", + "Mathlib.Probability.Decision.BayesEstimator", + "Mathlib.Probability.Decision.Risk.Basic" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.EmpiricalRisk", + "namespace": "FEP.DecisionRisk", "namespace_variable_context": [ - "{Ω : Type*} [Fintype Ω]" + "{α : Type*} [Fintype α]" ], - "preceding_scope_directives": [], - "qualified_name": "FEP.EmpiricalRisk.expectation_add", - "source_line": 156, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", - "statement": "theorem expectation_add (sampling : FiniteLaw Ω) (left right : Ω → ℝ) :\n VariationalDuality.expectation sampling (fun outcome =>\n left outcome + right outcome) =\n VariationalDuality.expectation sampling left +\n VariationalDuality.expectation sampling right", - "statement_sha256": "343a1e4a9ae96040ae9bf3d140f44794e2f2eed024621ca8ec5432478ba28561" + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DiscreteMeasurableSpace α] in" + } + ], + "qualified_name": "FEP.DecisionRisk.properLogScore_excessRisk_eq_finiteKL_truth_report", + "source_line": 180, + "source_owner": "src/fep_lean/formal/decision_risk.lean", + "statement": "theorem properLogScore_excessRisk_eq_finiteKL_truth_report\n (truth report : FiniteLaw α)\n (hreport : ∀ x, truth x ≠ 0 → 0 < report x) :\n properLogScoreExcessRisk truth report = finiteKL truth report", + "statement_sha256": "a70a1720be4370c18edbcb549bbfad6ce06d7b18af63a4b4aca75939567ec678" }, - "FEP.EmpiricalRisk.expectation_const": { + "FEP.DecisionRisk.revealingBoolArgminEstimator": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [ + "binders": [], + "conclusion": "IsArgminEstimator boolZeroOneLoss revealingBoolExperiment boolPrior id", + "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "sampling" + "Θ", + "Observation", + "Garbled", + "Decision" ], "role": "typed_binder", - "source": "(sampling : FiniteLaw Ω)", - "type_source": "FiniteLaw Ω", - "visibility": "explicit" + "source": "{Θ Observation Garbled Decision : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "constant" + "mΘ" ], "role": "typed_binder", - "source": "(constant : ℝ)", - "type_source": "ℝ", - "visibility": "explicit" - } - ], - "conclusion": "VariationalDuality.expectation sampling (fun _ => constant) = constant", - "context_binders": [ + "source": "{mΘ : MeasurableSpace Θ}", + "type_source": "MeasurableSpace Θ", + "visibility": "implicit" + }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Ω" + "mObservation" ], "role": "typed_binder", - "source": "{Ω : Type*}", - "type_source": "Type*", + "source": "{mObservation : MeasurableSpace Observation}", + "type_source": "MeasurableSpace Observation", "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype Ω]", - "type_source": "Fintype Ω", - "visibility": "instance" + "names": [ + "mGarbled" + ], + "role": "typed_binder", + "source": "{mGarbled : MeasurableSpace Garbled}", + "type_source": "MeasurableSpace Garbled", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "mDecision" + ], + "role": "typed_binder", + "source": "{mDecision : MeasurableSpace Decision}", + "type_source": "MeasurableSpace Decision", + "visibility": "implicit" } ], "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.learning_theory" + "FepSketches.native_blanket", + "FepSketches.finite_information", + "Mathlib.InformationTheory.KullbackLeibler.DataProcessing", + "Mathlib.Probability.Decision.BayesEstimator", + "Mathlib.Probability.Decision.Risk.Basic" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.EmpiricalRisk", + "namespace": "FEP.DecisionRisk", "namespace_variable_context": [ - "{Ω : Type*} [Fintype Ω]" + "{Θ Observation Garbled Decision : Type*}\n {mΘ : MeasurableSpace Θ} {mObservation : MeasurableSpace Observation}\n {mGarbled : MeasurableSpace Garbled} {mDecision : MeasurableSpace Decision}" ], - "preceding_scope_directives": [], - "qualified_name": "FEP.EmpiricalRisk.expectation_const", - "source_line": 174, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", - "statement": "theorem expectation_const (sampling : FiniteLaw Ω) (constant : ℝ) :\n VariationalDuality.expectation sampling (fun _ => constant) = constant", - "statement_sha256": "8ba5a17071f1d9a3283ced20904197fac138298e288bdfd2dae7fa8700fd1b50" + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DiscreteMeasurableSpace α] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [MeasurableSpace α] [MeasurableSpace β]" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [MeasurableSpace α] [MeasurableSpace β]" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [MeasurableSpace α] [MeasurableSpace β]" + } + ], + "qualified_name": "FEP.DecisionRisk.revealingBoolArgminEstimator", + "source_line": 475, + "source_owner": "src/fep_lean/formal/decision_risk.lean", + "statement": "theorem revealingBoolArgminEstimator :\n IsArgminEstimator boolZeroOneLoss revealingBoolExperiment boolPrior id", + "statement_sha256": "b1d9b279351bf9c4c38d43895393dfc2ef4b5581e9afd25bc24dcc35a3add012" }, - "FEP.EmpiricalRisk.expectation_const_mul": { + "FEP.DecisionRisk.revealingBool_bayesRisk_eq_zero": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [ + "binders": [], + "conclusion": "bayesRisk boolZeroOneLoss revealingBoolExperiment boolPrior = 0", + "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "sampling" + "Θ", + "Observation", + "Garbled", + "Decision" ], "role": "typed_binder", - "source": "(sampling : FiniteLaw Ω)", - "type_source": "FiniteLaw Ω", - "visibility": "explicit" + "source": "{Θ Observation Garbled Decision : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "constant" + "mΘ" ], "role": "typed_binder", - "source": "(constant : ℝ)", - "type_source": "ℝ", - "visibility": "explicit" + "source": "{mΘ : MeasurableSpace Θ}", + "type_source": "MeasurableSpace Θ", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "value" + "mObservation" ], "role": "typed_binder", - "source": "(value : Ω → ℝ)", - "type_source": "Ω → ℝ", - "visibility": "explicit" - } - ], - "conclusion": "VariationalDuality.expectation sampling (fun outcome =>\n constant * value outcome) =\n constant * VariationalDuality.expectation sampling value", - "context_binders": [ + "source": "{mObservation : MeasurableSpace Observation}", + "type_source": "MeasurableSpace Observation", + "visibility": "implicit" + }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Ω" + "mGarbled" ], "role": "typed_binder", - "source": "{Ω : Type*}", - "type_source": "Type*", + "source": "{mGarbled : MeasurableSpace Garbled}", + "type_source": "MeasurableSpace Garbled", "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype Ω]", - "type_source": "Fintype Ω", - "visibility": "instance" + "names": [ + "mDecision" + ], + "role": "typed_binder", + "source": "{mDecision : MeasurableSpace Decision}", + "type_source": "MeasurableSpace Decision", + "visibility": "implicit" + } + ], + "declaration_mentions": [ + { + "identifier": "revealingBool_isBayesEstimator", + "qualified_name": "FEP.DecisionRisk.revealingBool_isBayesEstimator", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" } ], - "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.learning_theory" + "FepSketches.native_blanket", + "FepSketches.finite_information", + "Mathlib.InformationTheory.KullbackLeibler.DataProcessing", + "Mathlib.Probability.Decision.BayesEstimator", + "Mathlib.Probability.Decision.Risk.Basic" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.EmpiricalRisk", + "namespace": "FEP.DecisionRisk", "namespace_variable_context": [ - "{Ω : Type*} [Fintype Ω]" + "{Θ Observation Garbled Decision : Type*}\n {mΘ : MeasurableSpace Θ} {mObservation : MeasurableSpace Observation}\n {mGarbled : MeasurableSpace Garbled} {mDecision : MeasurableSpace Decision}" ], - "preceding_scope_directives": [], - "qualified_name": "FEP.EmpiricalRisk.expectation_const_mul", - "source_line": 163, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", - "statement": "theorem expectation_const_mul (sampling : FiniteLaw Ω) (constant : ℝ)\n (value : Ω → ℝ) :\n VariationalDuality.expectation sampling (fun outcome =>\n constant * value outcome) =\n constant * VariationalDuality.expectation sampling value", - "statement_sha256": "26b2b9934e200c7683658d243c34e13ff1167ba73a6869d7158327bb1ceefe95" + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DiscreteMeasurableSpace α] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [MeasurableSpace α] [MeasurableSpace β]" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [MeasurableSpace α] [MeasurableSpace β]" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [MeasurableSpace α] [MeasurableSpace β]" + } + ], + "qualified_name": "FEP.DecisionRisk.revealingBool_bayesRisk_eq_zero", + "source_line": 493, + "source_owner": "src/fep_lean/formal/decision_risk.lean", + "statement": "theorem revealingBool_bayesRisk_eq_zero :\n bayesRisk boolZeroOneLoss revealingBoolExperiment boolPrior = 0", + "statement_sha256": "3eafce0c453c11e575eee8486d47986f1b7e5ce3ce4d5524ae7b86055907ab3f" }, - "FEP.EmpiricalRisk.expectation_mono": { + "FEP.DecisionRisk.revealingBool_bayesRisk_lt_garbled": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [ + "binders": [], + "conclusion": "bayesRisk boolZeroOneLoss revealingBoolExperiment boolPrior <\n bayesRisk boolZeroOneLoss garbledBoolExperiment boolPrior", + "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "sampling" + "Θ", + "Observation", + "Garbled", + "Decision" ], "role": "typed_binder", - "source": "(sampling : FiniteLaw Ω)", - "type_source": "FiniteLaw Ω", - "visibility": "explicit" + "source": "{Θ Observation Garbled Decision : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "left", - "right" + "mΘ" ], "role": "typed_binder", - "source": "(left right : Ω → ℝ)", - "type_source": "Ω → ℝ", - "visibility": "explicit" + "source": "{mΘ : MeasurableSpace Θ}", + "type_source": "MeasurableSpace Θ", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "pointwise" + "mObservation" ], "role": "typed_binder", - "source": "(pointwise : ∀ outcome, left outcome ≤ right outcome)", - "type_source": "∀ outcome, left outcome ≤ right outcome", - "visibility": "explicit" - } - ], - "conclusion": "VariationalDuality.expectation sampling left ≤\n VariationalDuality.expectation sampling right", - "context_binders": [ + "source": "{mObservation : MeasurableSpace Observation}", + "type_source": "MeasurableSpace Observation", + "visibility": "implicit" + }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Ω" + "mGarbled" ], "role": "typed_binder", - "source": "{Ω : Type*}", - "type_source": "Type*", + "source": "{mGarbled : MeasurableSpace Garbled}", + "type_source": "MeasurableSpace Garbled", "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype Ω]", - "type_source": "Fintype Ω", - "visibility": "instance" + "names": [ + "mDecision" + ], + "role": "typed_binder", + "source": "{mDecision : MeasurableSpace Decision}", + "type_source": "MeasurableSpace Decision", + "visibility": "implicit" + } + ], + "declaration_mentions": [ + { + "identifier": "garbledBool_bayesRisk_eq_half", + "qualified_name": "FEP.DecisionRisk.garbledBool_bayesRisk_eq_half", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + }, + { + "identifier": "revealingBool_bayesRisk_eq_zero", + "qualified_name": "FEP.DecisionRisk.revealingBool_bayesRisk_eq_zero", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" } ], - "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.learning_theory" + "FepSketches.native_blanket", + "FepSketches.finite_information", + "Mathlib.InformationTheory.KullbackLeibler.DataProcessing", + "Mathlib.Probability.Decision.BayesEstimator", + "Mathlib.Probability.Decision.Risk.Basic" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.EmpiricalRisk", + "namespace": "FEP.DecisionRisk", "namespace_variable_context": [ - "{Ω : Type*} [Fintype Ω]" + "{Θ Observation Garbled Decision : Type*}\n {mΘ : MeasurableSpace Θ} {mObservation : MeasurableSpace Observation}\n {mGarbled : MeasurableSpace Garbled} {mDecision : MeasurableSpace Decision}" ], - "preceding_scope_directives": [], - "qualified_name": "FEP.EmpiricalRisk.expectation_mono", - "source_line": 148, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", - "statement": "theorem expectation_mono (sampling : FiniteLaw Ω) (left right : Ω → ℝ)\n (pointwise : ∀ outcome, left outcome ≤ right outcome) :\n VariationalDuality.expectation sampling left ≤\n VariationalDuality.expectation sampling right", - "statement_sha256": "c215c3de6410b3a03945ebfb37bf70e4f21de3cd3e6e77892f0e00db9a25387c" + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DiscreteMeasurableSpace α] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [MeasurableSpace α] [MeasurableSpace β]" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [MeasurableSpace α] [MeasurableSpace β]" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [MeasurableSpace α] [MeasurableSpace β]" + } + ], + "qualified_name": "FEP.DecisionRisk.revealingBool_bayesRisk_lt_garbled", + "source_line": 512, + "source_owner": "src/fep_lean/formal/decision_risk.lean", + "statement": "theorem revealingBool_bayesRisk_lt_garbled :\n bayesRisk boolZeroOneLoss revealingBoolExperiment boolPrior <\n bayesRisk boolZeroOneLoss garbledBoolExperiment boolPrior", + "statement_sha256": "6b9f29c6033f3c1a352d654d8c14da635f414fa6046fae217c2eba76759177fa" }, - "FEP.EmpiricalRisk.finiteEventProbability_mono": { + "FEP.DecisionRisk.revealingBool_isBayesEstimator": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [ + "binders": [], + "conclusion": "IsBayesEstimator boolZeroOneLoss revealingBoolExperiment Kernel.id boolPrior", + "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "sampling" + "Θ", + "Observation", + "Garbled", + "Decision" ], "role": "typed_binder", - "source": "(sampling : FiniteLaw Ω)", - "type_source": "FiniteLaw Ω", - "visibility": "explicit" + "source": "{Θ Observation Garbled Decision : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "left", - "right" + "mΘ" ], "role": "typed_binder", - "source": "{left right : Set Ω}", - "type_source": "Set Ω", + "source": "{mΘ : MeasurableSpace Θ}", + "type_source": "MeasurableSpace Θ", "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "subset" + "mObservation" ], "role": "typed_binder", - "source": "(subset : left ⊆ right)", - "type_source": "left ⊆ right", - "visibility": "explicit" - } - ], - "conclusion": "finiteEventProbability sampling left ≤\n finiteEventProbability sampling right", - "context_binders": [ + "source": "{mObservation : MeasurableSpace Observation}", + "type_source": "MeasurableSpace Observation", + "visibility": "implicit" + }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Ω" + "mGarbled" ], "role": "typed_binder", - "source": "{Ω : Type*}", - "type_source": "Type*", + "source": "{mGarbled : MeasurableSpace Garbled}", + "type_source": "MeasurableSpace Garbled", "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype Ω]", - "type_source": "Fintype Ω", - "visibility": "instance" + "names": [ + "mDecision" + ], + "role": "typed_binder", + "source": "{mDecision : MeasurableSpace Decision}", + "type_source": "MeasurableSpace Decision", + "visibility": "implicit" + } + ], + "declaration_mentions": [ + { + "identifier": "boolZeroOneLoss_measurable", + "qualified_name": "FEP.DecisionRisk.boolZeroOneLoss_measurable", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" } ], - "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.learning_theory" + "FepSketches.native_blanket", + "FepSketches.finite_information", + "Mathlib.InformationTheory.KullbackLeibler.DataProcessing", + "Mathlib.Probability.Decision.BayesEstimator", + "Mathlib.Probability.Decision.Risk.Basic" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.EmpiricalRisk", + "namespace": "FEP.DecisionRisk", "namespace_variable_context": [ - "{Ω : Type*} [Fintype Ω]" + "{Θ Observation Garbled Decision : Type*}\n {mΘ : MeasurableSpace Θ} {mObservation : MeasurableSpace Observation}\n {mGarbled : MeasurableSpace Garbled} {mDecision : MeasurableSpace Decision}" ], - "preceding_scope_directives": [], - "qualified_name": "FEP.EmpiricalRisk.finiteEventProbability_mono", - "source_line": 266, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", - "statement": "theorem finiteEventProbability_mono (sampling : FiniteLaw Ω)\n {left right : Set Ω} (subset : left ⊆ right) :\n finiteEventProbability sampling left ≤\n finiteEventProbability sampling right", - "statement_sha256": "08751f6e9b33cdc28c9b7a62af9de2233010973c34116c3b693195250e8a9d64" - }, - "FEP.EmpiricalRisk.laplaceAbsoluteError_le": { - "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [ + "preceding_scope_directives": [ { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "successes", - "sampleCount" - ], - "role": "typed_binder", - "source": "(successes sampleCount : ℕ)", - "type_source": "ℕ", - "visibility": "explicit" + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DiscreteMeasurableSpace α] in" }, { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "target", - "error" - ], - "role": "typed_binder", - "source": "(target error : ℝ)", - "type_source": "ℝ", - "visibility": "explicit" + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [MeasurableSpace α] [MeasurableSpace β]" }, { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "sampleCountPositive" - ], - "role": "typed_binder", - "source": "(sampleCountPositive : 0 < sampleCount)", - "type_source": "0 < sampleCount", - "visibility": "explicit" + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [MeasurableSpace α] [MeasurableSpace β]" }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [MeasurableSpace α] [MeasurableSpace β]" + } + ], + "qualified_name": "FEP.DecisionRisk.revealingBool_isBayesEstimator", + "source_line": 486, + "source_owner": "src/fep_lean/formal/decision_risk.lean", + "statement": "theorem revealingBool_isBayesEstimator :\n IsBayesEstimator boolZeroOneLoss revealingBoolExperiment Kernel.id boolPrior", + "statement_sha256": "19c1fc738f7d1ba211b166a00ff937df36c81281618513109caa1f83c22c7e65" + }, + "FEP.DecisionRisk.weightedDirac_klDiv_eq_finiteKL_of_fullSupport": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "targetBounds" + "p", + "q" ], "role": "typed_binder", - "source": "(targetBounds : target ∈ Set.Icc (0 : ℝ) 1)", - "type_source": "target ∈ Set.Icc (0 : ℝ) 1", + "source": "(p q : FiniteLaw α)", + "type_source": "FiniteLaw α", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "empiricalErrorBound" + "hq" ], "role": "typed_binder", - "source": "(empiricalErrorBound :\n |empiricalRate successes sampleCount - target| ≤ error)", - "type_source": "|empiricalRate successes sampleCount - target| ≤ error", + "source": "(hq : ∀ x, 0 < q x)", + "type_source": "∀ x, 0 < q x", "visibility": "explicit" } ], - "conclusion": "|laplaceEstimate successes sampleCount - target| ≤\n shrinkage sampleCount * error + 1 / ((sampleCount : ℝ) + 2)", + "conclusion": "InformationTheory.klDiv (embeddedLaw p) (embeddedLaw q) =\n ENNReal.ofReal (finiteKL p q)", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Ω" + "α" ], "role": "typed_binder", - "source": "{Ω : Type*}", + "source": "{α : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -43361,142 +44845,195 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Ω]", - "type_source": "Fintype Ω", + "source": "[Fintype α]", + "type_source": "Fintype α", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[MeasurableSpace α]", + "type_source": "MeasurableSpace α", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DiscreteMeasurableSpace α]", + "type_source": "DiscreteMeasurableSpace α", "visibility": "instance" } ], "declaration_mentions": [ { - "identifier": "laplaceBias_abs_le", - "qualified_name": "FEP.EmpiricalRisk.laplaceBias_abs_le", - "resolution": "exact or same-namespace source identifier", - "role": "proof_reference" - }, - { - "identifier": "laplaceError_identity", - "qualified_name": "FEP.EmpiricalRisk.laplaceError_identity", - "resolution": "exact or same-namespace source identifier", + "candidates": [ + "FEP.NativeBlanket.embeddedLaw_apply_singleton" + ], + "identifier": "embeddedLaw_apply_singleton", + "resolution": "unresolved lexical scope", "role": "proof_reference" }, { - "identifier": "shrinkage_nonneg", - "qualified_name": "FEP.EmpiricalRisk.shrinkage_nonneg", + "identifier": "embeddedLaw_withDensity_ratio", + "qualified_name": "FEP.DecisionRisk.embeddedLaw_withDensity_ratio", "resolution": "exact or same-namespace source identifier", "role": "proof_reference" } ], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.learning_theory" + "FepSketches.native_blanket", + "FepSketches.finite_information", + "Mathlib.InformationTheory.KullbackLeibler.DataProcessing", + "Mathlib.Probability.Decision.BayesEstimator", + "Mathlib.Probability.Decision.Risk.Basic" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.EmpiricalRisk", + "namespace": "FEP.DecisionRisk", "namespace_variable_context": [ - "{Ω : Type*} [Fintype Ω]" + "{α : Type*} [Fintype α] [MeasurableSpace α]\n [DiscreteMeasurableSpace α]" ], "preceding_scope_directives": [], - "qualified_name": "FEP.EmpiricalRisk.laplaceAbsoluteError_le", - "source_line": 78, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", - "statement": "theorem laplaceAbsoluteError_le (successes sampleCount : ℕ) (target error : ℝ)\n (sampleCountPositive : 0 < sampleCount)\n (targetBounds : target ∈ Set.Icc (0 : ℝ) 1)\n (empiricalErrorBound :\n |empiricalRate successes sampleCount - target| ≤ error) :\n |laplaceEstimate successes sampleCount - target| ≤\n shrinkage sampleCount * error + 1 / ((sampleCount : ℝ) + 2)", - "statement_sha256": "c6209f9f786a3480660bddadbcef5cf1c72fd488215340e4c952745bb9865807" + "qualified_name": "FEP.DecisionRisk.weightedDirac_klDiv_eq_finiteKL_of_fullSupport", + "source_line": 104, + "source_owner": "src/fep_lean/formal/decision_risk.lean", + "statement": "theorem weightedDirac_klDiv_eq_finiteKL_of_fullSupport\n (p q : FiniteLaw α) (hq : ∀ x, 0 < q x) :\n InformationTheory.klDiv (embeddedLaw p) (embeddedLaw q) =\n ENNReal.ofReal (finiteKL p q)", + "statement_sha256": "703569f68de9b9092f83f615787418ece25bb98202d82e2df705e874f97d208a" }, - "FEP.EmpiricalRisk.laplaceBadEvent_probability_le": { + "FEP.DecisionRisk.weightedDirac_klDiv_eq_finiteKL_of_relativeSupport": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "sampling" + "p", + "q" ], "role": "typed_binder", - "source": "(sampling : FiniteLaw Ω)", - "type_source": "FiniteLaw Ω", + "source": "(p q : FiniteLaw α)", + "type_source": "FiniteLaw α", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "successes" + "hsupport" ], "role": "typed_binder", - "source": "(successes : Ω → ℕ)", - "type_source": "Ω → ℕ", + "source": "(hsupport : ∀ x, p x ≠ 0 → 0 < q x)", + "type_source": "∀ x, p x ≠ 0 → 0 < q x", "visibility": "explicit" - }, + } + ], + "conclusion": "InformationTheory.klDiv (embeddedLaw p) (embeddedLaw q) =\n ENNReal.ofReal (finiteKL p q)", + "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "sampleCount" + "α" ], "role": "typed_binder", - "source": "(sampleCount : ℕ)", - "type_source": "ℕ", - "visibility": "explicit" + "source": "{α : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "target", - "error", - "failure" - ], - "role": "typed_binder", - "source": "(target error failure : ℝ)", - "type_source": "ℝ", - "visibility": "explicit" + "names": [], + "role": "instance_requirement", + "source": "[Fintype α]", + "type_source": "Fintype α", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "sampleCountPositive" - ], - "role": "typed_binder", - "source": "(sampleCountPositive : 0 < sampleCount)", - "type_source": "0 < sampleCount", - "visibility": "explicit" + "names": [], + "role": "instance_requirement", + "source": "[MeasurableSpace α]", + "type_source": "MeasurableSpace α", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "successesAtMost" + "names": [], + "role": "instance_requirement", + "source": "[DiscreteMeasurableSpace α]", + "type_source": "DiscreteMeasurableSpace α", + "visibility": "instance" + } + ], + "declaration_mentions": [ + { + "candidates": [ + "FEP.NativeBlanket.embeddedLaw_apply_singleton" ], - "role": "typed_binder", - "source": "(successesAtMost : ∀ outcome, successes outcome ≤ sampleCount)", - "type_source": "∀ outcome, successes outcome ≤ sampleCount", - "visibility": "explicit" + "identifier": "embeddedLaw_apply_singleton", + "resolution": "unresolved lexical scope", + "role": "proof_reference" }, + { + "identifier": "embeddedLaw_withDensity_ratio_of_relativeSupport", + "qualified_name": "FEP.DecisionRisk.embeddedLaw_withDensity_ratio_of_relativeSupport", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + } + ], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.native_blanket", + "FepSketches.finite_information", + "Mathlib.InformationTheory.KullbackLeibler.DataProcessing", + "Mathlib.Probability.Decision.BayesEstimator", + "Mathlib.Probability.Decision.Risk.Basic" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.DecisionRisk", + "namespace_variable_context": [ + "{α : Type*} [Fintype α] [MeasurableSpace α]\n [DiscreteMeasurableSpace α]" + ], + "preceding_scope_directives": [], + "qualified_name": "FEP.DecisionRisk.weightedDirac_klDiv_eq_finiteKL_of_relativeSupport", + "source_line": 54, + "source_owner": "src/fep_lean/formal/decision_risk.lean", + "statement": "theorem weightedDirac_klDiv_eq_finiteKL_of_relativeSupport\n (p q : FiniteLaw α) (hsupport : ∀ x, p x ≠ 0 → 0 < q x) :\n InformationTheory.klDiv (embeddedLaw p) (embeddedLaw q) =\n ENNReal.ofReal (finiteKL p q)", + "statement_sha256": "5bb042b816a921998ee560133c2274e1c7cbdf8d3dd91119704722ad5baee1b9" + }, + "FEP.DecisionRisk.weightedDirac_klDiv_eq_top_of_not_absolutelyContinuous": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "targetBounds" + "p", + "q" ], "role": "typed_binder", - "source": "(targetBounds : target ∈ Set.Icc (0 : ℝ) 1)", - "type_source": "target ∈ Set.Icc (0 : ℝ) 1", + "source": "(p q : FiniteLaw α)", + "type_source": "FiniteLaw α", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "rawProbabilityBound" + "hNotAC" ], "role": "typed_binder", - "source": "(rawProbabilityBound :\n finiteEventProbability sampling\n (empiricalBadEvent successes sampleCount target error) ≤ failure)", - "type_source": "finiteEventProbability sampling\n (empiricalBadEvent successes sampleCount target error) ≤ failure", + "source": "(hNotAC : ¬ embeddedLaw p ≪ embeddedLaw q)", + "type_source": "¬ embeddedLaw p ≪ embeddedLaw q", "visibility": "explicit" } ], - "conclusion": "finiteEventProbability sampling\n (laplaceBadEvent successes sampleCount target error) ≤ failure", + "conclusion": "InformationTheory.klDiv (embeddedLaw p) (embeddedLaw q) = ∞", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Ω" + "α" ], "role": "typed_binder", - "source": "{Ω : Type*}", + "source": "{α : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -43504,206 +45041,250 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Ω]", - "type_source": "Fintype Ω", + "source": "[Fintype α]", + "type_source": "Fintype α", "visibility": "instance" - } - ], - "declaration_mentions": [ + }, { - "identifier": "finiteEventProbability_mono", - "qualified_name": "FEP.EmpiricalRisk.finiteEventProbability_mono", - "resolution": "exact or same-namespace source identifier", - "role": "proof_reference" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[MeasurableSpace α]", + "type_source": "MeasurableSpace α", + "visibility": "instance" }, { - "identifier": "laplaceBadEvent_subset", - "qualified_name": "FEP.EmpiricalRisk.laplaceBadEvent_subset", - "resolution": "exact or same-namespace source identifier", - "role": "proof_reference" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DiscreteMeasurableSpace α]", + "type_source": "DiscreteMeasurableSpace α", + "visibility": "instance" } ], + "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.learning_theory" + "FepSketches.native_blanket", + "FepSketches.finite_information", + "Mathlib.InformationTheory.KullbackLeibler.DataProcessing", + "Mathlib.Probability.Decision.BayesEstimator", + "Mathlib.Probability.Decision.Risk.Basic" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.EmpiricalRisk", + "namespace": "FEP.DecisionRisk", "namespace_variable_context": [ - "{Ω : Type*} [Fintype Ω]" + "{α : Type*} [Fintype α] [MeasurableSpace α]\n [DiscreteMeasurableSpace α]" ], "preceding_scope_directives": [ { "directive": "omit", "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Fintype Ω] in" + "source": "omit [DiscreteMeasurableSpace α] in" } ], - "qualified_name": "FEP.EmpiricalRisk.laplaceBadEvent_probability_le", - "source_line": 316, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", - "statement": "theorem laplaceBadEvent_probability_le (sampling : FiniteLaw Ω)\n (successes : Ω → ℕ) (sampleCount : ℕ) (target error failure : ℝ)\n (sampleCountPositive : 0 < sampleCount)\n (successesAtMost : ∀ outcome, successes outcome ≤ sampleCount)\n (targetBounds : target ∈ Set.Icc (0 : ℝ) 1)\n (rawProbabilityBound :\n finiteEventProbability sampling\n (empiricalBadEvent successes sampleCount target error) ≤ failure) :\n finiteEventProbability sampling\n (laplaceBadEvent successes sampleCount target error) ≤ failure", - "statement_sha256": "ce7c618dc07629e9bb9a1d21743ec9c4a491aa35f5fa67a744fab983d4b92b30" + "qualified_name": "FEP.DecisionRisk.weightedDirac_klDiv_eq_top_of_not_absolutelyContinuous", + "source_line": 139, + "source_owner": "src/fep_lean/formal/decision_risk.lean", + "statement": "theorem weightedDirac_klDiv_eq_top_of_not_absolutelyContinuous\n (p q : FiniteLaw α) (hNotAC : ¬ embeddedLaw p ≪ embeddedLaw q) :\n InformationTheory.klDiv (embeddedLaw p) (embeddedLaw q) = ∞", + "statement_sha256": "e13d0b70df731d0af7e5b8971026bdd95e1252fe9d6943d1a14a53333fcff65c" }, - "FEP.EmpiricalRisk.laplaceBadEvent_subset": { + "FEP.EFEPolicy.argminEFE_eq_risk_add_ambiguity": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "successes" + "model" ], "role": "typed_binder", - "source": "(successes : Ω → ℕ)", - "type_source": "Ω → ℕ", + "source": "(model : GenerativeModel Policy State Outcome)", + "type_source": "GenerativeModel Policy State Outcome", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "sampleCount" + "support" ], "role": "typed_binder", - "source": "(sampleCount : ℕ)", - "type_source": "ℕ", + "source": "(support : FullSupport model)", + "type_source": "FullSupport model", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "target", - "error" + "policy" ], "role": "typed_binder", - "source": "(target error : ℝ)", - "type_source": "ℝ", + "source": "(policy : Policy)", + "type_source": "Policy", "visibility": "explicit" - }, + } + ], + "conclusion": "(∀ alternative : Policy,\n expectedFreeEnergy model policy ≤ expectedFreeEnergy model alternative) ↔\n (∀ alternative : Policy,\n risk model policy + ambiguity model policy ≤\n risk model alternative + ambiguity model alternative)", + "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "sampleCountPositive" + "Action", + "State", + "Outcome", + "Policy", + "Belief", + "Observation" ], "role": "typed_binder", - "source": "(sampleCountPositive : 0 < sampleCount)", - "type_source": "0 < sampleCount", - "visibility": "explicit" + "source": "{Action State Outcome Policy Belief Observation : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "successesAtMost" - ], - "role": "typed_binder", - "source": "(successesAtMost : ∀ outcome, successes outcome ≤ sampleCount)", - "type_source": "∀ outcome, successes outcome ≤ sampleCount", - "visibility": "explicit" + "names": [], + "role": "instance_requirement", + "source": "[Fintype Action]", + "type_source": "Fintype Action", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "targetBounds" - ], - "role": "typed_binder", - "source": "(targetBounds : target ∈ Set.Icc (0 : ℝ) 1)", - "type_source": "target ∈ Set.Icc (0 : ℝ) 1", - "visibility": "explicit" - } - ], - "conclusion": "laplaceBadEvent successes sampleCount target error ⊆\n empiricalBadEvent successes sampleCount target error", - "context_binders": [ + "names": [], + "role": "instance_requirement", + "source": "[Fintype State]", + "type_source": "Fintype State", + "visibility": "instance" + }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "Ω" - ], - "role": "typed_binder", - "source": "{Ω : Type*}", - "type_source": "Type*", - "visibility": "implicit" + "names": [], + "role": "instance_requirement", + "source": "[Fintype Outcome]", + "type_source": "Fintype Outcome", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Ω]", - "type_source": "Fintype Ω", + "source": "[Fintype Policy]", + "type_source": "Fintype Policy", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Belief]", + "type_source": "Fintype Belief", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Observation]", + "type_source": "Fintype Observation", "visibility": "instance" } ], "declaration_mentions": [ { - "identifier": "laplaceAbsoluteError_le", - "qualified_name": "FEP.EmpiricalRisk.laplaceAbsoluteError_le", - "resolution": "exact or same-namespace source identifier", + "candidates": [ + "FEP.ActiveInference.expectedFreeEnergy_eq_risk_add_ambiguity" + ], + "identifier": "expectedFreeEnergy_eq_risk_add_ambiguity", + "resolution": "unresolved lexical scope", "role": "proof_reference" } ], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.learning_theory" + "FepSketches.controlled_markov", + "FepSketches.policy_tree", + "FepSketches.variational_duality" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.EmpiricalRisk", + "namespace": "FEP.EFEPolicy", "namespace_variable_context": [ - "{Ω : Type*} [Fintype Ω]" - ], - "preceding_scope_directives": [ - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Fintype Ω] in" - } + "{Action State Outcome Policy Belief Observation : Type*}\n [Fintype Action] [Fintype State] [Fintype Outcome] [Fintype Policy]\n [Fintype Belief] [Fintype Observation]" ], - "qualified_name": "FEP.EmpiricalRisk.laplaceBadEvent_subset", - "source_line": 297, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", - "statement": "theorem laplaceBadEvent_subset (successes : Ω → ℕ) (sampleCount : ℕ)\n (target error : ℝ) (sampleCountPositive : 0 < sampleCount)\n (successesAtMost : ∀ outcome, successes outcome ≤ sampleCount)\n (targetBounds : target ∈ Set.Icc (0 : ℝ) 1) :\n laplaceBadEvent successes sampleCount target error ⊆\n empiricalBadEvent successes sampleCount target error", - "statement_sha256": "28b650be249825b97029342b3f834e1b6884301b92520f0663070addc15b3505" + "preceding_scope_directives": [], + "qualified_name": "FEP.EFEPolicy.argminEFE_eq_risk_add_ambiguity", + "source_line": 187, + "source_owner": "src/fep_lean/formal/efe_policy_selection.lean", + "statement": "theorem argminEFE_eq_risk_add_ambiguity\n (model : GenerativeModel Policy State Outcome) (support : FullSupport model)\n (policy : Policy) :\n (∀ alternative : Policy,\n expectedFreeEnergy model policy ≤ expectedFreeEnergy model alternative) ↔\n (∀ alternative : Policy,\n risk model policy + ambiguity model policy ≤\n risk model alternative + ambiguity model alternative)", + "statement_sha256": "325b27522fab300f7e526a62e51cbfa57d2a6d703b3df8793c17fcda71943de1" }, - "FEP.EmpiricalRisk.laplaceBias_abs_le": { + "FEP.EFEPolicy.boltzmann_control_posterior_minimal_value": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "sampleCount" + "prior" ], "role": "typed_binder", - "source": "(sampleCount : ℕ)", - "type_source": "ℕ", + "source": "(prior : FiniteLaw Action)", + "type_source": "FiniteLaw Action", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "target" + "prior_pos" ], "role": "typed_binder", - "source": "(target : ℝ)", + "source": "(prior_pos : ∀ policy, 0 < prior policy)", + "type_source": "∀ policy, 0 < prior policy", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "γ" + ], + "role": "typed_binder", + "source": "(γ : ℝ)", "type_source": "ℝ", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "targetBounds" + "hγ" ], "role": "typed_binder", - "source": "(targetBounds : target ∈ Set.Icc (0 : ℝ) 1)", - "type_source": "target ∈ Set.Icc (0 : ℝ) 1", + "source": "(hγ : 0 < γ)", + "type_source": "0 < γ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "cost" + ], + "role": "typed_binder", + "source": "(cost : Action → ℝ)", + "type_source": "Action → ℝ", "visibility": "explicit" } ], - "conclusion": "|laplaceBias sampleCount target| ≤\n 1 / ((sampleCount : ℝ) + 2)", + "conclusion": "efeControlObjective prior γ cost (controlPosterior prior γ cost) =\n -(γ⁻¹ * Real.log (efeControlPartition prior γ cost))", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Ω" + "Action", + "State", + "Outcome", + "Policy", + "Belief", + "Observation" ], "role": "typed_binder", - "source": "{Ω : Type*}", + "source": "{Action State Outcome Policy Belief Observation : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -43711,158 +45292,163 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Ω]", - "type_source": "Fintype Ω", + "source": "[Fintype Action]", + "type_source": "Fintype Action", "visibility": "instance" - } - ], - "declaration_mentions": [], - "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", - "import_context": [ - "FepSketches.learning_theory" - ], - "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.EmpiricalRisk", - "namespace_variable_context": [ - "{Ω : Type*} [Fintype Ω]" - ], - "preceding_scope_directives": [], - "qualified_name": "FEP.EmpiricalRisk.laplaceBias_abs_le", - "source_line": 66, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", - "statement": "theorem laplaceBias_abs_le (sampleCount : ℕ) (target : ℝ)\n (targetBounds : target ∈ Set.Icc (0 : ℝ) 1) :\n |laplaceBias sampleCount target| ≤\n 1 / ((sampleCount : ℝ) + 2)", - "statement_sha256": "c704efc0a1e8b9efd5c13d09b7feebb1e8ac6dda31615ceb8b28069bd8bf7e48" - }, - "FEP.EmpiricalRisk.laplaceBias_nonzero_witness": { - "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [], - "conclusion": "laplaceBias 2 0 = 1 / 4 ∧ laplaceBias 2 0 ≠ 0", - "context_binders": [ + }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "Ω" - ], - "role": "typed_binder", - "source": "{Ω : Type*}", - "type_source": "Type*", - "visibility": "implicit" + "names": [], + "role": "instance_requirement", + "source": "[Fintype State]", + "type_source": "Fintype State", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Ω]", - "type_source": "Fintype Ω", + "source": "[Fintype Outcome]", + "type_source": "Fintype Outcome", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Policy]", + "type_source": "Fintype Policy", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Belief]", + "type_source": "Fintype Belief", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Observation]", + "type_source": "Fintype Observation", "visibility": "instance" } ], - "declaration_mentions": [], + "declaration_mentions": [ + { + "identifier": "efeControlObjective_eq_kl_sub_logPartition", + "qualified_name": "FEP.EFEPolicy.efeControlObjective_eq_kl_sub_logPartition", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + }, + { + "candidates": [ + "FEP.FiniteInformation.finiteKL_self" + ], + "identifier": "finiteKL_self", + "resolution": "unresolved lexical scope", + "role": "proof_reference" + } + ], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.learning_theory" + "FepSketches.controlled_markov", + "FepSketches.policy_tree", + "FepSketches.variational_duality" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.EmpiricalRisk", + "namespace": "FEP.EFEPolicy", "namespace_variable_context": [ - "{Ω : Type*} [Fintype Ω]" - ], - "preceding_scope_directives": [ - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Fintype Ω] in" - } + "{Action State Outcome Policy Belief Observation : Type*}\n [Fintype Action] [Fintype State] [Fintype Outcome] [Fintype Policy]\n [Fintype Belief] [Fintype Observation]" ], - "qualified_name": "FEP.EmpiricalRisk.laplaceBias_nonzero_witness", - "source_line": 333, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", - "statement": "theorem laplaceBias_nonzero_witness :\n laplaceBias 2 0 = 1 / 4 ∧ laplaceBias 2 0 ≠ 0", - "statement_sha256": "310c7ae1b9948ec17d31121fffea1317871ec35215c8600d13224c9d20049b46" + "preceding_scope_directives": [], + "qualified_name": "FEP.EFEPolicy.boltzmann_control_posterior_minimal_value", + "source_line": 172, + "source_owner": "src/fep_lean/formal/efe_policy_selection.lean", + "statement": "theorem boltzmann_control_posterior_minimal_value (prior : FiniteLaw Action)\n (prior_pos : ∀ policy, 0 < prior policy) (γ : ℝ) (hγ : 0 < γ)\n (cost : Action → ℝ) :\n efeControlObjective prior γ cost (controlPosterior prior γ cost) =\n -(γ⁻¹ * Real.log (efeControlPartition prior γ cost))", + "statement_sha256": "b2986682f1ff302dee8e3fbaba6b9f31529c607b6e9139c837b122d83aede1c6" }, - "FEP.EmpiricalRisk.laplaceBrierRisk_le": { + "FEP.EFEPolicy.boltzmann_control_posterior_minimizes_efe": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "sampling" - ], - "role": "typed_binder", - "source": "(sampling : FiniteLaw Ω)", - "type_source": "FiniteLaw Ω", - "visibility": "explicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "successes" + "prior" ], "role": "typed_binder", - "source": "(successes : Ω → ℕ)", - "type_source": "Ω → ℕ", + "source": "(prior : FiniteLaw Action)", + "type_source": "FiniteLaw Action", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "sampleCount" + "prior_pos" ], "role": "typed_binder", - "source": "(sampleCount : ℕ)", - "type_source": "ℕ", + "source": "(prior_pos : ∀ policy, 0 < prior policy)", + "type_source": "∀ policy, 0 < prior policy", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "target" + "γ" ], "role": "typed_binder", - "source": "(target : ℝ)", + "source": "(γ : ℝ)", "type_source": "ℝ", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "sampleCountPositive" + "hγ" ], "role": "typed_binder", - "source": "(sampleCountPositive : 0 < sampleCount)", - "type_source": "0 < sampleCount", + "source": "(hγ : 0 < γ)", + "type_source": "0 < γ", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "successesAtMost" + "cost" ], "role": "typed_binder", - "source": "(successesAtMost : ∀ outcome, successes outcome ≤ sampleCount)", - "type_source": "∀ outcome, successes outcome ≤ sampleCount", + "source": "(cost : Action → ℝ)", + "type_source": "Action → ℝ", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "targetBounds" + "Q" ], "role": "typed_binder", - "source": "(targetBounds : target ∈ Set.Icc (0 : ℝ) 1)", - "type_source": "target ∈ Set.Icc (0 : ℝ) 1", + "source": "(Q : FiniteLaw Action)", + "type_source": "FiniteLaw Action", "visibility": "explicit" } ], - "conclusion": "brierExcessRisk sampling\n (fun outcome => laplaceEstimate (successes outcome) sampleCount) target ≤\n 2 * shrinkage sampleCount ^ 2 *\n VariationalDuality.expectation sampling (fun outcome =>\n (empiricalRate (successes outcome) sampleCount - target) ^ 2) +\n 2 * (1 / ((sampleCount : ℝ) + 2)) ^ 2", + "conclusion": "efeControlObjective prior γ cost (controlPosterior prior γ cost) ≤\n efeControlObjective prior γ cost Q ∧\n (efeControlObjective prior γ cost Q =\n efeControlObjective prior γ cost (controlPosterior prior γ cost) ↔\n Q = controlPosterior prior γ cost)", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Ω" + "Action", + "State", + "Outcome", + "Policy", + "Belief", + "Observation" ], "role": "typed_binder", - "source": "{Ω : Type*}", + "source": "{Action State Outcome Policy Belief Observation : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -43870,85 +45456,171 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Ω]", - "type_source": "Fintype Ω", + "source": "[Fintype Action]", + "type_source": "Fintype Action", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype State]", + "type_source": "Fintype State", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Outcome]", + "type_source": "Fintype Outcome", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Policy]", + "type_source": "Fintype Policy", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Belief]", + "type_source": "Fintype Belief", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Observation]", + "type_source": "Fintype Observation", "visibility": "instance" } ], "declaration_mentions": [ { - "identifier": "brierExcess_eq_sqError", - "qualified_name": "FEP.EmpiricalRisk.brierExcess_eq_sqError", + "identifier": "efeControlObjective_sub_eq_kl", + "qualified_name": "FEP.EFEPolicy.efeControlObjective_sub_eq_kl", "resolution": "exact or same-namespace source identifier", "role": "proof_reference" }, { - "identifier": "laplaceSquaredRisk_le", - "qualified_name": "FEP.EmpiricalRisk.laplaceSquaredRisk_le", - "resolution": "exact or same-namespace source identifier", + "candidates": [ + "FEP.FiniteInformation.finiteKL_eq_zero_iff" + ], + "identifier": "finiteKL_eq_zero_iff", + "resolution": "unresolved lexical scope", + "role": "proof_reference" + }, + { + "candidates": [ + "FEP.FiniteInformation.finiteKL_nonneg" + ], + "identifier": "finiteKL_nonneg", + "resolution": "unresolved lexical scope", "role": "proof_reference" } ], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.learning_theory" + "FepSketches.controlled_markov", + "FepSketches.policy_tree", + "FepSketches.variational_duality" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.EmpiricalRisk", + "namespace": "FEP.EFEPolicy", "namespace_variable_context": [ - "{Ω : Type*} [Fintype Ω]" + "{Action State Outcome Policy Belief Observation : Type*}\n [Fintype Action] [Fintype State] [Fintype Outcome] [Fintype Policy]\n [Fintype Belief] [Fintype Observation]" ], "preceding_scope_directives": [], - "qualified_name": "FEP.EmpiricalRisk.laplaceBrierRisk_le", - "source_line": 242, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", - "statement": "theorem laplaceBrierRisk_le (sampling : FiniteLaw Ω)\n (successes : Ω → ℕ) (sampleCount : ℕ) (target : ℝ)\n (sampleCountPositive : 0 < sampleCount)\n (successesAtMost : ∀ outcome, successes outcome ≤ sampleCount)\n (targetBounds : target ∈ Set.Icc (0 : ℝ) 1) :\n brierExcessRisk sampling\n (fun outcome => laplaceEstimate (successes outcome) sampleCount) target ≤\n 2 * shrinkage sampleCount ^ 2 *\n VariationalDuality.expectation sampling (fun outcome =>\n (empiricalRate (successes outcome) sampleCount - target) ^ 2) +\n 2 * (1 / ((sampleCount : ℝ) + 2)) ^ 2", - "statement_sha256": "ff207eb78a5ad8829d0af29f300f29c24e8510f967af7d5fd1f7d439d157cdc4" + "qualified_name": "FEP.EFEPolicy.boltzmann_control_posterior_minimizes_efe", + "source_line": 142, + "source_owner": "src/fep_lean/formal/efe_policy_selection.lean", + "statement": "theorem boltzmann_control_posterior_minimizes_efe (prior : FiniteLaw Action)\n (prior_pos : ∀ policy, 0 < prior policy) (γ : ℝ) (hγ : 0 < γ)\n (cost : Action → ℝ) (Q : FiniteLaw Action) :\n efeControlObjective prior γ cost (controlPosterior prior γ cost) ≤\n efeControlObjective prior γ cost Q ∧\n (efeControlObjective prior γ cost Q =\n efeControlObjective prior γ cost (controlPosterior prior γ cost) ↔\n Q = controlPosterior prior γ cost)", + "statement_sha256": "a733f638c6d5ce49cb9ded2e638af2453f04ff850caf6cde282b25c4d5dfa6f8" }, - "FEP.EmpiricalRisk.laplaceError_identity": { + "FEP.EFEPolicy.efeControlObjective_eq_gibbsFreeEnergy": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "successes", - "sampleCount" + "prior" ], "role": "typed_binder", - "source": "(successes sampleCount : ℕ)", - "type_source": "ℕ", + "source": "(prior : FiniteLaw Action)", + "type_source": "FiniteLaw Action", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "target" + "prior_pos" ], "role": "typed_binder", - "source": "(target : ℝ)", + "source": "(prior_pos : ∀ policy, 0 < prior policy)", + "type_source": "∀ policy, 0 < prior policy", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "γ" + ], + "role": "typed_binder", + "source": "(γ : ℝ)", "type_source": "ℝ", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "sampleCountPositive" + "hγ" ], "role": "typed_binder", - "source": "(sampleCountPositive : 0 < sampleCount)", - "type_source": "0 < sampleCount", + "source": "(hγ : 0 < γ)", + "type_source": "0 < γ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "cost" + ], + "role": "typed_binder", + "source": "(cost : Action → ℝ)", + "type_source": "Action → ℝ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "Q" + ], + "role": "typed_binder", + "source": "(Q : FiniteLaw Action)", + "type_source": "FiniteLaw Action", "visibility": "explicit" } ], - "conclusion": "laplaceEstimate successes sampleCount - target =\n shrinkage sampleCount * (empiricalRate successes sampleCount - target) +\n laplaceBias sampleCount target", + "conclusion": "efeControlObjective prior γ cost Q =\n γ⁻¹ * gibbsFreeEnergy (efeGibbsCertificate prior prior_pos γ cost) Q", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Ω" + "Action", + "State", + "Outcome", + "Policy", + "Belief", + "Observation" ], "role": "typed_binder", - "source": "{Ω : Type*}", + "source": "{Action State Outcome Policy Belief Observation : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -43956,82 +45628,148 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Ω]", - "type_source": "Fintype Ω", + "source": "[Fintype Action]", + "type_source": "Fintype Action", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype State]", + "type_source": "Fintype State", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Outcome]", + "type_source": "Fintype Outcome", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Policy]", + "type_source": "Fintype Policy", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Belief]", + "type_source": "Fintype Belief", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Observation]", + "type_source": "Fintype Observation", "visibility": "instance" } ], "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.learning_theory" + "FepSketches.controlled_markov", + "FepSketches.policy_tree", + "FepSketches.variational_duality" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.EmpiricalRisk", + "namespace": "FEP.EFEPolicy", "namespace_variable_context": [ - "{Ω : Type*} [Fintype Ω]" + "{Action State Outcome Policy Belief Observation : Type*}\n [Fintype Action] [Fintype State] [Fintype Outcome] [Fintype Policy]\n [Fintype Belief] [Fintype Observation]" ], "preceding_scope_directives": [], - "qualified_name": "FEP.EmpiricalRisk.laplaceError_identity", - "source_line": 51, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", - "statement": "theorem laplaceError_identity (successes sampleCount : ℕ) (target : ℝ)\n (sampleCountPositive : 0 < sampleCount) :\n laplaceEstimate successes sampleCount - target =\n shrinkage sampleCount * (empiricalRate successes sampleCount - target) +\n laplaceBias sampleCount target", - "statement_sha256": "350960f2036fb6345771778dbbed4c7c791b7ca5714e28a57c556ba5277b2343" + "qualified_name": "FEP.EFEPolicy.efeControlObjective_eq_gibbsFreeEnergy", + "source_line": 82, + "source_owner": "src/fep_lean/formal/efe_policy_selection.lean", + "statement": "theorem efeControlObjective_eq_gibbsFreeEnergy (prior : FiniteLaw Action)\n (prior_pos : ∀ policy, 0 < prior policy) (γ : ℝ) (hγ : 0 < γ)\n (cost : Action → ℝ) (Q : FiniteLaw Action) :\n efeControlObjective prior γ cost Q =\n γ⁻¹ * gibbsFreeEnergy (efeGibbsCertificate prior prior_pos γ cost) Q", + "statement_sha256": "47d6f14bc2f8035cd39998a94ba50d2a6b1a4be92ac12b5313d90234a748aaa7" }, - "FEP.EmpiricalRisk.laplaceSquaredError_le": { + "FEP.EFEPolicy.efeControlObjective_eq_kl_sub_logPartition": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "successes", - "sampleCount" + "prior" ], "role": "typed_binder", - "source": "(successes sampleCount : ℕ)", - "type_source": "ℕ", + "source": "(prior : FiniteLaw Action)", + "type_source": "FiniteLaw Action", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "target" + "prior_pos" ], "role": "typed_binder", - "source": "(target : ℝ)", + "source": "(prior_pos : ∀ policy, 0 < prior policy)", + "type_source": "∀ policy, 0 < prior policy", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "γ" + ], + "role": "typed_binder", + "source": "(γ : ℝ)", "type_source": "ℝ", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "sampleCountPositive" + "hγ" ], "role": "typed_binder", - "source": "(sampleCountPositive : 0 < sampleCount)", - "type_source": "0 < sampleCount", + "source": "(hγ : 0 < γ)", + "type_source": "0 < γ", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "targetBounds" + "cost" ], "role": "typed_binder", - "source": "(targetBounds : target ∈ Set.Icc (0 : ℝ) 1)", - "type_source": "target ∈ Set.Icc (0 : ℝ) 1", + "source": "(cost : Action → ℝ)", + "type_source": "Action → ℝ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "Q" + ], + "role": "typed_binder", + "source": "(Q : FiniteLaw Action)", + "type_source": "FiniteLaw Action", "visibility": "explicit" } ], - "conclusion": "(laplaceEstimate successes sampleCount - target) ^ 2 ≤\n 2 * shrinkage sampleCount ^ 2 *\n (empiricalRate successes sampleCount - target) ^ 2 +\n 2 * (1 / ((sampleCount : ℝ) + 2)) ^ 2", + "conclusion": "efeControlObjective prior γ cost Q =\n γ⁻¹ * (finiteKL Q (controlPosterior prior γ cost) -\n Real.log (efeControlPartition prior γ cost))", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Ω" + "Action", + "State", + "Outcome", + "Policy", + "Belief", + "Observation" ], "role": "typed_binder", - "source": "{Ω : Type*}", + "source": "{Action State Outcome Policy Belief Observation : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -44039,124 +45777,163 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Ω]", - "type_source": "Fintype Ω", + "source": "[Fintype Action]", + "type_source": "Fintype Action", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype State]", + "type_source": "Fintype State", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Outcome]", + "type_source": "Fintype Outcome", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Policy]", + "type_source": "Fintype Policy", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Belief]", + "type_source": "Fintype Belief", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Observation]", + "type_source": "Fintype Observation", "visibility": "instance" } ], "declaration_mentions": [ { - "identifier": "laplaceBias_abs_le", - "qualified_name": "FEP.EmpiricalRisk.laplaceBias_abs_le", - "resolution": "exact or same-namespace source identifier", + "candidates": [ + "FEP.VariationalDuality.dvObjective_eq_logPartition_sub_kl" + ], + "identifier": "dvObjective_eq_logPartition_sub_kl", + "resolution": "unresolved lexical scope", "role": "proof_reference" }, { - "identifier": "laplaceError_identity", - "qualified_name": "FEP.EmpiricalRisk.laplaceError_identity", + "identifier": "efeControlObjective_eq_gibbsFreeEnergy", + "qualified_name": "FEP.EFEPolicy.efeControlObjective_eq_gibbsFreeEnergy", "resolution": "exact or same-namespace source identifier", "role": "proof_reference" } ], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.learning_theory" + "FepSketches.controlled_markov", + "FepSketches.policy_tree", + "FepSketches.variational_duality" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.EmpiricalRisk", + "namespace": "FEP.EFEPolicy", "namespace_variable_context": [ - "{Ω : Type*} [Fintype Ω]" + "{Action State Outcome Policy Belief Observation : Type*}\n [Fintype Action] [Fintype State] [Fintype Outcome] [Fintype Policy]\n [Fintype Belief] [Fintype Observation]" ], "preceding_scope_directives": [], - "qualified_name": "FEP.EmpiricalRisk.laplaceSquaredError_le", - "source_line": 106, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", - "statement": "theorem laplaceSquaredError_le (successes sampleCount : ℕ) (target : ℝ)\n (sampleCountPositive : 0 < sampleCount)\n (targetBounds : target ∈ Set.Icc (0 : ℝ) 1) :\n (laplaceEstimate successes sampleCount - target) ^ 2 ≤\n 2 * shrinkage sampleCount ^ 2 *\n (empiricalRate successes sampleCount - target) ^ 2 +\n 2 * (1 / ((sampleCount : ℝ) + 2)) ^ 2", - "statement_sha256": "c8a9e92e45b4c286d87d6dd80d4b3669e5cb3eda04e1a67f9554c69592f72f7a" + "qualified_name": "FEP.EFEPolicy.efeControlObjective_eq_kl_sub_logPartition", + "source_line": 103, + "source_owner": "src/fep_lean/formal/efe_policy_selection.lean", + "statement": "theorem efeControlObjective_eq_kl_sub_logPartition (prior : FiniteLaw Action)\n (prior_pos : ∀ policy, 0 < prior policy) (γ : ℝ) (hγ : 0 < γ)\n (cost : Action → ℝ) (Q : FiniteLaw Action) :\n efeControlObjective prior γ cost Q =\n γ⁻¹ * (finiteKL Q (controlPosterior prior γ cost) -\n Real.log (efeControlPartition prior γ cost))", + "statement_sha256": "91681f54a3e1ba1998e1b5b6313f21e9148f5f1a2160deaff4b91d9d1ef3c96d" }, - "FEP.EmpiricalRisk.laplaceSquaredRisk_le": { + "FEP.EFEPolicy.efeControlObjective_sub_eq_kl": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "sampling" - ], - "role": "typed_binder", - "source": "(sampling : FiniteLaw Ω)", - "type_source": "FiniteLaw Ω", - "visibility": "explicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "successes" + "prior" ], "role": "typed_binder", - "source": "(successes : Ω → ℕ)", - "type_source": "Ω → ℕ", + "source": "(prior : FiniteLaw Action)", + "type_source": "FiniteLaw Action", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "sampleCount" + "prior_pos" ], "role": "typed_binder", - "source": "(sampleCount : ℕ)", - "type_source": "ℕ", + "source": "(prior_pos : ∀ policy, 0 < prior policy)", + "type_source": "∀ policy, 0 < prior policy", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "target" + "γ" ], "role": "typed_binder", - "source": "(target : ℝ)", + "source": "(γ : ℝ)", "type_source": "ℝ", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "sampleCountPositive" + "hγ" ], "role": "typed_binder", - "source": "(sampleCountPositive : 0 < sampleCount)", - "type_source": "0 < sampleCount", + "source": "(hγ : 0 < γ)", + "type_source": "0 < γ", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "successesAtMost" + "cost" ], "role": "typed_binder", - "source": "(successesAtMost : ∀ outcome, successes outcome ≤ sampleCount)", - "type_source": "∀ outcome, successes outcome ≤ sampleCount", + "source": "(cost : Action → ℝ)", + "type_source": "Action → ℝ", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "targetBounds" + "Q" ], "role": "typed_binder", - "source": "(targetBounds : target ∈ Set.Icc (0 : ℝ) 1)", - "type_source": "target ∈ Set.Icc (0 : ℝ) 1", + "source": "(Q : FiniteLaw Action)", + "type_source": "FiniteLaw Action", "visibility": "explicit" } ], - "conclusion": "VariationalDuality.expectation sampling (fun outcome =>\n (laplaceEstimate (successes outcome) sampleCount - target) ^ 2) ≤\n 2 * shrinkage sampleCount ^ 2 *\n VariationalDuality.expectation sampling (fun outcome =>\n (empiricalRate (successes outcome) sampleCount - target) ^ 2) +\n 2 * (1 / ((sampleCount : ℝ) + 2)) ^ 2", + "conclusion": "efeControlObjective prior γ cost Q -\n efeControlObjective prior γ cost (controlPosterior prior γ cost) =\n γ⁻¹ * finiteKL Q (controlPosterior prior γ cost)", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Ω" + "Action", + "State", + "Outcome", + "Policy", + "Belief", + "Observation" ], "role": "typed_binder", - "source": "{Ω : Type*}", + "source": "{Action State Outcome Policy Belief Observation : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -44164,82 +45941,121 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Ω]", - "type_source": "Fintype Ω", + "source": "[Fintype Action]", + "type_source": "Fintype Action", "visibility": "instance" - } - ], - "declaration_mentions": [ + }, { - "identifier": "expectation_add", - "qualified_name": "FEP.EmpiricalRisk.expectation_add", - "resolution": "exact or same-namespace source identifier", - "role": "proof_reference" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype State]", + "type_source": "Fintype State", + "visibility": "instance" }, { - "identifier": "expectation_const", - "qualified_name": "FEP.EmpiricalRisk.expectation_const", - "resolution": "exact or same-namespace source identifier", - "role": "proof_reference" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Outcome]", + "type_source": "Fintype Outcome", + "visibility": "instance" }, { - "identifier": "expectation_const_mul", - "qualified_name": "FEP.EmpiricalRisk.expectation_const_mul", - "resolution": "exact or same-namespace source identifier", - "role": "proof_reference" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Policy]", + "type_source": "Fintype Policy", + "visibility": "instance" }, { - "identifier": "expectation_mono", - "qualified_name": "FEP.EmpiricalRisk.expectation_mono", + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Belief]", + "type_source": "Fintype Belief", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Observation]", + "type_source": "Fintype Observation", + "visibility": "instance" + } + ], + "declaration_mentions": [ + { + "identifier": "efeControlObjective_eq_kl_sub_logPartition", + "qualified_name": "FEP.EFEPolicy.efeControlObjective_eq_kl_sub_logPartition", "resolution": "exact or same-namespace source identifier", "role": "proof_reference" }, { - "identifier": "laplaceSquaredError_le", - "qualified_name": "FEP.EmpiricalRisk.laplaceSquaredError_le", - "resolution": "exact or same-namespace source identifier", + "candidates": [ + "FEP.FiniteInformation.finiteKL_self" + ], + "identifier": "finiteKL_self", + "resolution": "unresolved lexical scope", "role": "proof_reference" } ], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.learning_theory" + "FepSketches.controlled_markov", + "FepSketches.policy_tree", + "FepSketches.variational_duality" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.EmpiricalRisk", + "namespace": "FEP.EFEPolicy", "namespace_variable_context": [ - "{Ω : Type*} [Fintype Ω]" + "{Action State Outcome Policy Belief Observation : Type*}\n [Fintype Action] [Fintype State] [Fintype Outcome] [Fintype Policy]\n [Fintype Belief] [Fintype Observation]" ], "preceding_scope_directives": [], - "qualified_name": "FEP.EmpiricalRisk.laplaceSquaredRisk_le", - "source_line": 181, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", - "statement": "theorem laplaceSquaredRisk_le (sampling : FiniteLaw Ω)\n (successes : Ω → ℕ) (sampleCount : ℕ) (target : ℝ)\n (sampleCountPositive : 0 < sampleCount)\n (successesAtMost : ∀ outcome, successes outcome ≤ sampleCount)\n (targetBounds : target ∈ Set.Icc (0 : ℝ) 1) :\n VariationalDuality.expectation sampling (fun outcome =>\n (laplaceEstimate (successes outcome) sampleCount - target) ^ 2) ≤\n 2 * shrinkage sampleCount ^ 2 *\n VariationalDuality.expectation sampling (fun outcome =>\n (empiricalRate (successes outcome) sampleCount - target) ^ 2) +\n 2 * (1 / ((sampleCount : ℝ) + 2)) ^ 2", - "statement_sha256": "058c104c9d58a611fbc83f863ce36b41457d6f7f56a1bfc6189624bac32f8fab" + "qualified_name": "FEP.EFEPolicy.efeControlObjective_sub_eq_kl", + "source_line": 125, + "source_owner": "src/fep_lean/formal/efe_policy_selection.lean", + "statement": "theorem efeControlObjective_sub_eq_kl (prior : FiniteLaw Action)\n (prior_pos : ∀ policy, 0 < prior policy) (γ : ℝ) (hγ : 0 < γ)\n (cost : Action → ℝ) (Q : FiniteLaw Action) :\n efeControlObjective prior γ cost Q -\n efeControlObjective prior γ cost (controlPosterior prior γ cost) =\n γ⁻¹ * finiteKL Q (controlPosterior prior γ cost)", + "statement_sha256": "016f021b1599e7627fe7cbcbe2267ee0f0290d2e073e47c2721d5dcfaf320091" }, - "FEP.EmpiricalRisk.shrinkage_le_one": { + "FEP.EFEPolicy.exists_EFE_minimizing_policy": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "sampleCount" + "model" ], "role": "typed_binder", - "source": "(sampleCount : ℕ)", - "type_source": "ℕ", + "source": "(model : GenerativeModel Policy State Outcome)", + "type_source": "GenerativeModel Policy State Outcome", "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Nonempty Policy]", + "type_source": "Nonempty Policy", + "visibility": "instance" } ], - "conclusion": "shrinkage sampleCount ≤ 1", + "conclusion": "∃ policy : Policy, ∀ alternative : Policy,\n expectedFreeEnergy model policy ≤ expectedFreeEnergy model alternative", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Ω" + "Action", + "State", + "Outcome", + "Policy", + "Belief", + "Observation" ], "role": "typed_binder", - "source": "{Ω : Type*}", + "source": "{Action State Outcome Policy Belief Observation : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -44247,127 +46063,154 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Ω]", - "type_source": "Fintype Ω", + "source": "[Fintype Action]", + "type_source": "Fintype Action", "visibility": "instance" - } - ], - "declaration_mentions": [], - "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", - "import_context": [ - "FepSketches.learning_theory" - ], - "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.EmpiricalRisk", - "namespace_variable_context": [ - "{Ω : Type*} [Fintype Ω]" - ], - "preceding_scope_directives": [], - "qualified_name": "FEP.EmpiricalRisk.shrinkage_le_one", - "source_line": 44, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", - "statement": "theorem shrinkage_le_one (sampleCount : ℕ) :\n shrinkage sampleCount ≤ 1", - "statement_sha256": "7e70ad651f8bae5b6c07932cc2ff4a41b56cdaeb3ccae460a9a1ffd3b3dbb4ec" - }, - "FEP.EmpiricalRisk.shrinkage_nonneg": { - "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [ + }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "sampleCount" - ], - "role": "typed_binder", - "source": "(sampleCount : ℕ)", - "type_source": "ℕ", - "visibility": "explicit" - } - ], - "conclusion": "0 ≤ shrinkage sampleCount", - "context_binders": [ + "names": [], + "role": "instance_requirement", + "source": "[Fintype State]", + "type_source": "Fintype State", + "visibility": "instance" + }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "Ω" - ], - "role": "typed_binder", - "source": "{Ω : Type*}", - "type_source": "Type*", - "visibility": "implicit" + "names": [], + "role": "instance_requirement", + "source": "[Fintype Outcome]", + "type_source": "Fintype Outcome", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Ω]", - "type_source": "Fintype Ω", + "source": "[Fintype Policy]", + "type_source": "Fintype Policy", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Belief]", + "type_source": "Fintype Belief", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Observation]", + "type_source": "Fintype Observation", "visibility": "instance" } ], - "declaration_mentions": [], + "declaration_mentions": [ + { + "candidates": [ + "FEP.ControlledMarkov.exists_finite_minimizer" + ], + "identifier": "exists_finite_minimizer", + "resolution": "unresolved lexical scope", + "role": "proof_reference" + } + ], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.learning_theory" + "FepSketches.controlled_markov", + "FepSketches.policy_tree", + "FepSketches.variational_duality" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.EmpiricalRisk", + "namespace": "FEP.EFEPolicy", "namespace_variable_context": [ - "{Ω : Type*} [Fintype Ω]" + "{Action State Outcome Policy Belief Observation : Type*}\n [Fintype Action] [Fintype State] [Fintype Outcome] [Fintype Policy]\n [Fintype Belief] [Fintype Observation]" ], "preceding_scope_directives": [], - "qualified_name": "FEP.EmpiricalRisk.shrinkage_nonneg", - "source_line": 39, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", - "statement": "theorem shrinkage_nonneg (sampleCount : ℕ) :\n 0 ≤ shrinkage sampleCount", - "statement_sha256": "8f9e79225727e85761036de9ea627c03ab4b9ccca72f5a75e4c04b6e03906edf" + "qualified_name": "FEP.EFEPolicy.exists_EFE_minimizing_policy", + "source_line": 221, + "source_owner": "src/fep_lean/formal/efe_policy_selection.lean", + "statement": "theorem exists_EFE_minimizing_policy\n (model : GenerativeModel Policy State Outcome) [Nonempty Policy] :\n ∃ policy : Policy, ∀ alternative : Policy,\n expectedFreeEnergy model policy ≤ expectedFreeEnergy model alternative", + "statement_sha256": "08deb4dfa80c7321cf6a38c050182a1b1bba8e591d439cae1e9fc634b12218bc" }, - "FEP.ExponentialFamily.ScalarExponentialFamily.constantStatistic_variance_zero": { + "FEP.EFEPolicy.finiteArgminEFE_minimizes_risk_add_ambiguity": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "base" + "model" ], "role": "typed_binder", - "source": "(base : Outcome → ℝ)", - "type_source": "Outcome → ℝ", + "source": "(model : GenerativeModel Policy State Outcome)", + "type_source": "GenerativeModel Policy State Outcome", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "hBase" + "support" ], "role": "typed_binder", - "source": "(hBase : ∀ outcome, 0 < base outcome)", - "type_source": "∀ outcome, 0 < base outcome", + "source": "(support : FullSupport model)", + "type_source": "FullSupport model", "visibility": "explicit" }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Nonempty Policy]", + "type_source": "Nonempty Policy", + "visibility": "instance" + }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "constant", - "parameter" + "alternative" ], "role": "typed_binder", - "source": "(constant parameter : ℝ)", - "type_source": "ℝ", + "source": "(alternative : Policy)", + "type_source": "Policy", "visibility": "explicit" } ], - "conclusion": "(constantStatisticFamily base hBase constant).variance parameter = 0", + "conclusion": "risk model (finiteArgmin (expectedFreeEnergy model)) +\n ambiguity model (finiteArgmin (expectedFreeEnergy model)) ≤\n risk model alternative + ambiguity model alternative", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Outcome" + "Action", + "State", + "Outcome", + "Policy", + "Belief", + "Observation" ], "role": "typed_binder", - "source": "{Outcome : Type*}", + "source": "{Action State Outcome Policy Belief Observation : Type*}", "type_source": "Type*", "visibility": "implicit" }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Action]", + "type_source": "Fintype Action", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype State]", + "type_source": "Fintype State", + "visibility": "instance" + }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], @@ -44380,90 +46223,119 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Nonempty Outcome]", - "type_source": "Nonempty Outcome", + "source": "[Fintype Policy]", + "type_source": "Fintype Policy", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Belief]", + "type_source": "Fintype Belief", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Observation]", + "type_source": "Fintype Observation", "visibility": "instance" } ], "declaration_mentions": [ { - "identifier": "mean_eq_expectation", - "qualified_name": "FEP.ExponentialFamily.ScalarExponentialFamily.mean_eq_expectation", - "resolution": "exact or same-namespace source identifier", + "candidates": [ + "FEP.ActiveInference.expectedFreeEnergy_eq_risk_add_ambiguity" + ], + "identifier": "expectedFreeEnergy_eq_risk_add_ambiguity", + "resolution": "unresolved lexical scope", + "role": "proof_reference" + }, + { + "candidates": [ + "FEP.ControlledMarkov.finiteArgmin_le" + ], + "identifier": "finiteArgmin_le", + "resolution": "unresolved lexical scope", "role": "proof_reference" } ], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.finite_information" + "FepSketches.controlled_markov", + "FepSketches.policy_tree", + "FepSketches.variational_duality" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.ExponentialFamily.ScalarExponentialFamily", + "namespace": "FEP.EFEPolicy", "namespace_variable_context": [ - "{Outcome : Type*} [Fintype Outcome] [Nonempty Outcome]" + "{Action State Outcome Policy Belief Observation : Type*}\n [Fintype Action] [Fintype State] [Fintype Outcome] [Fintype Policy]\n [Fintype Belief] [Fintype Observation]" ], - "preceding_scope_directives": [ - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty Outcome] in" - }, + "preceding_scope_directives": [], + "qualified_name": "FEP.EFEPolicy.finiteArgminEFE_minimizes_risk_add_ambiguity", + "source_line": 208, + "source_owner": "src/fep_lean/formal/efe_policy_selection.lean", + "statement": "theorem finiteArgminEFE_minimizes_risk_add_ambiguity\n (model : GenerativeModel Policy State Outcome) (support : FullSupport model)\n [Nonempty Policy] (alternative : Policy) :\n risk model (finiteArgmin (expectedFreeEnergy model)) +\n ambiguity model (finiteArgmin (expectedFreeEnergy model)) ≤\n risk model alternative + ambiguity model alternative", + "statement_sha256": "295e7d88b5d13905027d7de7efc561913397081095fc9a78619048ec46b46c0c" + }, + "FEP.EFEPolicy.policyTree_value_agreement": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty Outcome] in" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Nonempty Action]", + "type_source": "Nonempty Action", + "visibility": "instance" }, { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty Outcome] in" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "model" + ], + "role": "typed_binder", + "source": "(model : EFEPolicyTreeModel Belief State Action Observation)", + "type_source": "EFEPolicyTreeModel Belief State Action Observation", + "visibility": "explicit" }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty Outcome] in" - } - ], - "qualified_name": "FEP.ExponentialFamily.ScalarExponentialFamily.constantStatistic_variance_zero", - "source_line": 421, - "source_owner": "src/fep_lean/formal/exponential_family.lean", - "statement": "theorem constantStatistic_variance_zero\n (base : Outcome → ℝ) (hBase : ∀ outcome, 0 < base outcome)\n (constant parameter : ℝ) :\n (constantStatisticFamily base hBase constant).variance parameter = 0", - "statement_sha256": "f640d406160712678350a37070c0111266610c317cf1cfa743d92e18fff09113" - }, - "FEP.ExponentialFamily.ScalarExponentialFamily.finiteKL_eq_logPartitionBregman": { - "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "family" + "depth" ], "role": "typed_binder", - "source": "(family : ScalarExponentialFamily Outcome)", - "type_source": "ScalarExponentialFamily Outcome", + "source": "(depth : ℕ)", + "type_source": "ℕ", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "left", - "right" + "belief" ], "role": "typed_binder", - "source": "(left right : ℝ)", - "type_source": "ℝ", + "source": "(belief : Belief)", + "type_source": "Belief", "visibility": "explicit" } ], - "conclusion": "finiteKL (family.law left) (family.law right) =\n family.logPartitionBregman left right", + "conclusion": "policyTreeValue (riskAmbiguityPolicyTreeModel model)\n (optimalPolicyTree (efePolicyTreeModel model) depth belief) belief =\n optimalTreeValue (riskAmbiguityPolicyTreeModel model) depth belief ∧\n policyTreeValue (efePolicyTreeModel model)\n (optimalPolicyTree (riskAmbiguityPolicyTreeModel model) depth belief)\n belief =\n optimalTreeValue (efePolicyTreeModel model) depth belief", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Outcome" + "Action", + "State", + "Outcome", + "Policy", + "Belief", + "Observation" ], "role": "typed_binder", - "source": "{Outcome : Type*}", + "source": "{Action State Outcome Policy Belief Observation : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -44471,91 +46343,119 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Outcome]", - "type_source": "Fintype Outcome", + "source": "[Fintype Action]", + "type_source": "Fintype Action", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Nonempty Outcome]", - "type_source": "Nonempty Outcome", + "source": "[Fintype State]", + "type_source": "Fintype State", "visibility": "instance" - } - ], - "declaration_mentions": [], - "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", - "import_context": [ - "FepSketches.finite_information" - ], - "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.ExponentialFamily.ScalarExponentialFamily", - "namespace_variable_context": [ - "{Outcome : Type*} [Fintype Outcome] [Nonempty Outcome]" - ], - "preceding_scope_directives": [ + }, { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty Outcome] in" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Outcome]", + "type_source": "Fintype Outcome", + "visibility": "instance" }, { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty Outcome] in" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Policy]", + "type_source": "Fintype Policy", + "visibility": "instance" }, { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty Outcome] in" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Belief]", + "type_source": "Fintype Belief", + "visibility": "instance" }, { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty Outcome] in" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Observation]", + "type_source": "Fintype Observation", + "visibility": "instance" } ], - "qualified_name": "FEP.ExponentialFamily.ScalarExponentialFamily.finiteKL_eq_logPartitionBregman", - "source_line": 367, - "source_owner": "src/fep_lean/formal/exponential_family.lean", - "statement": "theorem finiteKL_eq_logPartitionBregman\n (family : ScalarExponentialFamily Outcome) (left right : ℝ) :\n finiteKL (family.law left) (family.law right) =\n family.logPartitionBregman left right", - "statement_sha256": "6081e9fad923ad5ccb11b666c7f051e9875cdc9b152b1337534d3446c1fa7471" - }, - "FEP.ExponentialFamily.ScalarExponentialFamily.finiteKL_eq_logRatioKL": { - "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [ + "declaration_mentions": [ { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "family" + "candidates": [ + "FEP.PolicyTrees.optimalEFEValue_eq_riskAmbiguity" ], - "role": "typed_binder", - "source": "(family : ScalarExponentialFamily Outcome)", - "type_source": "ScalarExponentialFamily Outcome", - "visibility": "explicit" + "identifier": "optimalEFEValue_eq_riskAmbiguity", + "resolution": "unresolved lexical scope", + "role": "proof_reference" }, + { + "candidates": [ + "FEP.PolicyTrees.optimalPolicyTree_value" + ], + "identifier": "optimalPolicyTree_value", + "resolution": "unresolved lexical scope", + "role": "proof_reference" + }, + { + "candidates": [ + "FEP.PolicyTrees.policyTree_efe_eq_risk_add_ambiguity" + ], + "identifier": "policyTree_efe_eq_risk_add_ambiguity", + "resolution": "unresolved lexical scope", + "role": "proof_reference" + } + ], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.controlled_markov", + "FepSketches.policy_tree", + "FepSketches.variational_duality" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.EFEPolicy", + "namespace_variable_context": [ + "{Action State Outcome Policy Belief Observation : Type*}\n [Fintype Action] [Fintype State] [Fintype Outcome] [Fintype Policy]\n [Fintype Belief] [Fintype Observation]" + ], + "preceding_scope_directives": [], + "qualified_name": "FEP.EFEPolicy.policyTree_value_agreement", + "source_line": 233, + "source_owner": "src/fep_lean/formal/efe_policy_selection.lean", + "statement": "theorem policyTree_value_agreement [Nonempty Action]\n (model : EFEPolicyTreeModel Belief State Action Observation)\n (depth : ℕ) (belief : Belief) :\n policyTreeValue (riskAmbiguityPolicyTreeModel model)\n (optimalPolicyTree (efePolicyTreeModel model) depth belief) belief =\n optimalTreeValue (riskAmbiguityPolicyTreeModel model) depth belief ∧\n policyTreeValue (efePolicyTreeModel model)\n (optimalPolicyTree (riskAmbiguityPolicyTreeModel model) depth belief)\n belief =\n optimalTreeValue (efePolicyTreeModel model) depth belief", + "statement_sha256": "0461b993b036973fade4474acfc164f619b76824ad1afb717e1056f2e156fe02" + }, + "FEP.EmpiricalRisk.brierExcess_eq_sqError": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "left", - "right" + "target", + "forecast" ], "role": "typed_binder", - "source": "(left right : ℝ)", + "source": "(target forecast : ℝ)", "type_source": "ℝ", "visibility": "explicit" } ], - "conclusion": "finiteKL (family.law left) (family.law right) =\n family.logRatioKL left right", + "conclusion": "bernoulliBrierScore target forecast - bernoulliBrierScore target target =\n (forecast - target) ^ 2", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Outcome" + "Ω" ], "role": "typed_binder", - "source": "{Outcome : Type*}", + "source": "{Ω : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -44563,99 +46463,62 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Outcome]", - "type_source": "Fintype Outcome", - "visibility": "instance" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Nonempty Outcome]", - "type_source": "Nonempty Outcome", + "source": "[Fintype Ω]", + "type_source": "Fintype Ω", "visibility": "instance" } ], - "declaration_mentions": [ - { - "candidates": [ - "FEP.FiniteInformation.finiteKL_eq_crossEntropy_sub_entropy" - ], - "identifier": "finiteKL_eq_crossEntropy_sub_entropy", - "resolution": "unresolved lexical scope", - "role": "proof_reference" - } - ], + "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.finite_information" + "FepSketches.learning_theory" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.ExponentialFamily.ScalarExponentialFamily", + "namespace": "FEP.EmpiricalRisk", "namespace_variable_context": [ - "{Outcome : Type*} [Fintype Outcome] [Nonempty Outcome]" - ], - "preceding_scope_directives": [ - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty Outcome] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty Outcome] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty Outcome] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty Outcome] in" - } + "{Ω : Type*} [Fintype Ω]" ], - "qualified_name": "FEP.ExponentialFamily.ScalarExponentialFamily.finiteKL_eq_logRatioKL", - "source_line": 352, - "source_owner": "src/fep_lean/formal/exponential_family.lean", - "statement": "theorem finiteKL_eq_logRatioKL\n (family : ScalarExponentialFamily Outcome) (left right : ℝ) :\n finiteKL (family.law left) (family.law right) =\n family.logRatioKL left right", - "statement_sha256": "117f193029d136fdee655bbce4624e5f77c81fbe0a7125b5494781b0dcf38613" + "preceding_scope_directives": [], + "qualified_name": "FEP.EmpiricalRisk.brierExcess_eq_sqError", + "source_line": 228, + "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "statement": "theorem brierExcess_eq_sqError (target forecast : ℝ) :\n bernoulliBrierScore target forecast - bernoulliBrierScore target target =\n (forecast - target) ^ 2", + "statement_sha256": "d8b850fd61ba4818626cc86a96961c6be7af8b2f61772d3e7ce12ec5e5ab141c" }, - "FEP.ExponentialFamily.ScalarExponentialFamily.fisher_eq_variance": { + "FEP.EmpiricalRisk.expectation_add": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "family" + "sampling" ], "role": "typed_binder", - "source": "(family : ScalarExponentialFamily Outcome)", - "type_source": "ScalarExponentialFamily Outcome", + "source": "(sampling : FiniteLaw Ω)", + "type_source": "FiniteLaw Ω", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "parameter" + "left", + "right" ], "role": "typed_binder", - "source": "(parameter : ℝ)", - "type_source": "ℝ", + "source": "(left right : Ω → ℝ)", + "type_source": "Ω → ℝ", "visibility": "explicit" } ], - "conclusion": "family.fisher parameter = family.variance parameter", + "conclusion": "VariationalDuality.expectation sampling (fun outcome =>\n left outcome + right outcome) =\n VariationalDuality.expectation sampling left +\n VariationalDuality.expectation sampling right", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Outcome" + "Ω" ], "role": "typed_binder", - "source": "{Outcome : Type*}", + "source": "{Ω : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -44663,90 +46526,61 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Outcome]", - "type_source": "Fintype Outcome", - "visibility": "instance" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Nonempty Outcome]", - "type_source": "Nonempty Outcome", + "source": "[Fintype Ω]", + "type_source": "Fintype Ω", "visibility": "instance" } ], "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.finite_information" + "FepSketches.learning_theory" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.ExponentialFamily.ScalarExponentialFamily", + "namespace": "FEP.EmpiricalRisk", "namespace_variable_context": [ - "{Outcome : Type*} [Fintype Outcome] [Nonempty Outcome]" - ], - "preceding_scope_directives": [ - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty Outcome] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty Outcome] in" - } + "{Ω : Type*} [Fintype Ω]" ], - "qualified_name": "FEP.ExponentialFamily.ScalarExponentialFamily.fisher_eq_variance", - "source_line": 151, - "source_owner": "src/fep_lean/formal/exponential_family.lean", - "statement": "theorem fisher_eq_variance (family : ScalarExponentialFamily Outcome)\n (parameter : ℝ) :\n family.fisher parameter = family.variance parameter", - "statement_sha256": "5f0beee45d89505e104149eb141d77488481feb87c0d52d42b6b1d989c321654" + "preceding_scope_directives": [], + "qualified_name": "FEP.EmpiricalRisk.expectation_add", + "source_line": 156, + "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "statement": "theorem expectation_add (sampling : FiniteLaw Ω) (left right : Ω → ℝ) :\n VariationalDuality.expectation sampling (fun outcome =>\n left outcome + right outcome) =\n VariationalDuality.expectation sampling left +\n VariationalDuality.expectation sampling right", + "statement_sha256": "343a1e4a9ae96040ae9bf3d140f44794e2f2eed024621ca8ec5432478ba28561" }, - "FEP.ExponentialFamily.ScalarExponentialFamily.law_hasDerivAt": { + "FEP.EmpiricalRisk.expectation_const": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "family" + "sampling" ], "role": "typed_binder", - "source": "(family : ScalarExponentialFamily Outcome)", - "type_source": "ScalarExponentialFamily Outcome", + "source": "(sampling : FiniteLaw Ω)", + "type_source": "FiniteLaw Ω", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "parameter" + "constant" ], "role": "typed_binder", - "source": "(parameter : ℝ)", + "source": "(constant : ℝ)", "type_source": "ℝ", "visibility": "explicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "outcome" - ], - "role": "typed_binder", - "source": "(outcome : Outcome)", - "type_source": "Outcome", - "visibility": "explicit" } ], - "conclusion": "HasDerivAt (fun candidate ↦ family.law candidate outcome)\n (family.law parameter outcome * family.score parameter outcome)\n parameter", + "conclusion": "VariationalDuality.expectation sampling (fun _ => constant) = constant", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Outcome" + "Ω" ], "role": "typed_binder", - "source": "{Outcome : Type*}", + "source": "{Ω : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -44754,100 +46588,71 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Outcome]", - "type_source": "Fintype Outcome", - "visibility": "instance" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Nonempty Outcome]", - "type_source": "Nonempty Outcome", + "source": "[Fintype Ω]", + "type_source": "Fintype Ω", "visibility": "instance" } ], "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.finite_information" + "FepSketches.learning_theory" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.ExponentialFamily.ScalarExponentialFamily", + "namespace": "FEP.EmpiricalRisk", "namespace_variable_context": [ - "{Outcome : Type*} [Fintype Outcome] [Nonempty Outcome]" - ], - "preceding_scope_directives": [ - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty Outcome] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty Outcome] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty Outcome] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty Outcome] in" - } + "{Ω : Type*} [Fintype Ω]" ], - "qualified_name": "FEP.ExponentialFamily.ScalarExponentialFamily.law_hasDerivAt", - "source_line": 262, - "source_owner": "src/fep_lean/formal/exponential_family.lean", - "statement": "theorem law_hasDerivAt (family : ScalarExponentialFamily Outcome)\n (parameter : ℝ) (outcome : Outcome) :\n HasDerivAt (fun candidate ↦ family.law candidate outcome)\n (family.law parameter outcome * family.score parameter outcome)\n parameter", - "statement_sha256": "e47eb9312eace0a48af8f5a0fecd1854afd721a232e88e412bc8bea618152733" + "preceding_scope_directives": [], + "qualified_name": "FEP.EmpiricalRisk.expectation_const", + "source_line": 174, + "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "statement": "theorem expectation_const (sampling : FiniteLaw Ω) (constant : ℝ) :\n VariationalDuality.expectation sampling (fun _ => constant) = constant", + "statement_sha256": "8ba5a17071f1d9a3283ced20904197fac138298e288bdfd2dae7fa8700fd1b50" }, - "FEP.ExponentialFamily.ScalarExponentialFamily.law_pos": { + "FEP.EmpiricalRisk.expectation_const_mul": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "family" + "sampling" ], "role": "typed_binder", - "source": "(family : ScalarExponentialFamily Outcome)", - "type_source": "ScalarExponentialFamily Outcome", + "source": "(sampling : FiniteLaw Ω)", + "type_source": "FiniteLaw Ω", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "parameter" + "constant" ], "role": "typed_binder", - "source": "(parameter : ℝ)", + "source": "(constant : ℝ)", "type_source": "ℝ", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "outcome" + "value" ], "role": "typed_binder", - "source": "(outcome : Outcome)", - "type_source": "Outcome", + "source": "(value : Ω → ℝ)", + "type_source": "Ω → ℝ", "visibility": "explicit" } ], - "conclusion": "0 < family.law parameter outcome", + "conclusion": "VariationalDuality.expectation sampling (fun outcome =>\n constant * value outcome) =\n constant * VariationalDuality.expectation sampling value", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Outcome" + "Ω" ], "role": "typed_binder", - "source": "{Outcome : Type*}", + "source": "{Ω : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -44855,53 +46660,39 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Outcome]", - "type_source": "Fintype Outcome", - "visibility": "instance" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Nonempty Outcome]", - "type_source": "Nonempty Outcome", + "source": "[Fintype Ω]", + "type_source": "Fintype Ω", "visibility": "instance" } ], "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.finite_information" + "FepSketches.learning_theory" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.ExponentialFamily.ScalarExponentialFamily", + "namespace": "FEP.EmpiricalRisk", "namespace_variable_context": [ - "{Outcome : Type*} [Fintype Outcome] [Nonempty Outcome]" - ], - "preceding_scope_directives": [ - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty Outcome] in" - } + "{Ω : Type*} [Fintype Ω]" ], - "qualified_name": "FEP.ExponentialFamily.ScalarExponentialFamily.law_pos", - "source_line": 72, - "source_owner": "src/fep_lean/formal/exponential_family.lean", - "statement": "theorem law_pos (family : ScalarExponentialFamily Outcome)\n (parameter : ℝ) (outcome : Outcome) :\n 0 < family.law parameter outcome", - "statement_sha256": "ad000d133af492936126ba9c88be8c5ebdcde5ada5762ff26f3d99d954334844" + "preceding_scope_directives": [], + "qualified_name": "FEP.EmpiricalRisk.expectation_const_mul", + "source_line": 163, + "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "statement": "theorem expectation_const_mul (sampling : FiniteLaw Ω) (constant : ℝ)\n (value : Ω → ℝ) :\n VariationalDuality.expectation sampling (fun outcome =>\n constant * value outcome) =\n constant * VariationalDuality.expectation sampling value", + "statement_sha256": "26b2b9934e200c7683658d243c34e13ff1167ba73a6869d7158327bb1ceefe95" }, - "FEP.ExponentialFamily.ScalarExponentialFamily.logDensityRatio_eq": { + "FEP.EmpiricalRisk.expectation_mono": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "family" + "sampling" ], "role": "typed_binder", - "source": "(family : ScalarExponentialFamily Outcome)", - "type_source": "ScalarExponentialFamily Outcome", + "source": "(sampling : FiniteLaw Ω)", + "type_source": "FiniteLaw Ω", "visibility": "explicit" }, { @@ -44911,30 +46702,30 @@ "right" ], "role": "typed_binder", - "source": "(left right : ℝ)", - "type_source": "ℝ", + "source": "(left right : Ω → ℝ)", + "type_source": "Ω → ℝ", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "outcome" + "pointwise" ], "role": "typed_binder", - "source": "(outcome : Outcome)", - "type_source": "Outcome", + "source": "(pointwise : ∀ outcome, left outcome ≤ right outcome)", + "type_source": "∀ outcome, left outcome ≤ right outcome", "visibility": "explicit" } ], - "conclusion": "Real.log\n (family.law left outcome / family.law right outcome) =\n (left - right) * family.statistic outcome -\n (family.logPartition left - family.logPartition right)", + "conclusion": "VariationalDuality.expectation sampling left ≤\n VariationalDuality.expectation sampling right", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Outcome" + "Ω" ], "role": "typed_binder", - "source": "{Outcome : Type*}", + "source": "{Ω : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -44942,90 +46733,72 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Outcome]", - "type_source": "Fintype Outcome", - "visibility": "instance" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Nonempty Outcome]", - "type_source": "Nonempty Outcome", + "source": "[Fintype Ω]", + "type_source": "Fintype Ω", "visibility": "instance" } ], "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.finite_information" + "FepSketches.learning_theory" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.ExponentialFamily.ScalarExponentialFamily", + "namespace": "FEP.EmpiricalRisk", "namespace_variable_context": [ - "{Outcome : Type*} [Fintype Outcome] [Nonempty Outcome]" - ], - "preceding_scope_directives": [ - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty Outcome] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty Outcome] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty Outcome] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty Outcome] in" - } + "{Ω : Type*} [Fintype Ω]" ], - "qualified_name": "FEP.ExponentialFamily.ScalarExponentialFamily.logDensityRatio_eq", - "source_line": 301, - "source_owner": "src/fep_lean/formal/exponential_family.lean", - "statement": "theorem logDensityRatio_eq (family : ScalarExponentialFamily Outcome)\n (left right : ℝ) (outcome : Outcome) :\n Real.log\n (family.law left outcome / family.law right outcome) =\n (left - right) * family.statistic outcome -\n (family.logPartition left - family.logPartition right)", - "statement_sha256": "2ecf299bbbaf6078b1ef8946b2177490f5545d053ed0587746741caf1a94aa9d" + "preceding_scope_directives": [], + "qualified_name": "FEP.EmpiricalRisk.expectation_mono", + "source_line": 148, + "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "statement": "theorem expectation_mono (sampling : FiniteLaw Ω) (left right : Ω → ℝ)\n (pointwise : ∀ outcome, left outcome ≤ right outcome) :\n VariationalDuality.expectation sampling left ≤\n VariationalDuality.expectation sampling right", + "statement_sha256": "c215c3de6410b3a03945ebfb37bf70e4f21de3cd3e6e77892f0e00db9a25387c" }, - "FEP.ExponentialFamily.ScalarExponentialFamily.logPartition_hasDerivAt": { + "FEP.EmpiricalRisk.finiteEventProbability_mono": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "family" + "sampling" ], "role": "typed_binder", - "source": "(family : ScalarExponentialFamily Outcome)", - "type_source": "ScalarExponentialFamily Outcome", + "source": "(sampling : FiniteLaw Ω)", + "type_source": "FiniteLaw Ω", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "parameter" + "left", + "right" ], "role": "typed_binder", - "source": "(parameter : ℝ)", - "type_source": "ℝ", + "source": "{left right : Set Ω}", + "type_source": "Set Ω", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "subset" + ], + "role": "typed_binder", + "source": "(subset : left ⊆ right)", + "type_source": "left ⊆ right", "visibility": "explicit" } ], - "conclusion": "HasDerivAt family.logPartition (family.mean parameter) parameter", + "conclusion": "finiteEventProbability sampling left ≤\n finiteEventProbability sampling right", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Outcome" + "Ω" ], "role": "typed_binder", - "source": "{Outcome : Type*}", + "source": "{Ω : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -45033,91 +46806,93 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Outcome]", - "type_source": "Fintype Outcome", - "visibility": "instance" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Nonempty Outcome]", - "type_source": "Nonempty Outcome", + "source": "[Fintype Ω]", + "type_source": "Fintype Ω", "visibility": "instance" } ], "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.finite_information" + "FepSketches.learning_theory" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.ExponentialFamily.ScalarExponentialFamily", + "namespace": "FEP.EmpiricalRisk", "namespace_variable_context": [ - "{Outcome : Type*} [Fintype Outcome] [Nonempty Outcome]" + "{Ω : Type*} [Fintype Ω]" ], - "preceding_scope_directives": [ + "preceding_scope_directives": [], + "qualified_name": "FEP.EmpiricalRisk.finiteEventProbability_mono", + "source_line": 266, + "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "statement": "theorem finiteEventProbability_mono (sampling : FiniteLaw Ω)\n {left right : Set Ω} (subset : left ⊆ right) :\n finiteEventProbability sampling left ≤\n finiteEventProbability sampling right", + "statement_sha256": "08751f6e9b33cdc28c9b7a62af9de2233010973c34116c3b693195250e8a9d64" + }, + "FEP.EmpiricalRisk.laplaceAbsoluteError_le": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty Outcome] in" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "successes", + "sampleCount" + ], + "role": "typed_binder", + "source": "(successes sampleCount : ℕ)", + "type_source": "ℕ", + "visibility": "explicit" }, { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty Outcome] in" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "target", + "error" + ], + "role": "typed_binder", + "source": "(target error : ℝ)", + "type_source": "ℝ", + "visibility": "explicit" }, { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty Outcome] in" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "sampleCountPositive" + ], + "role": "typed_binder", + "source": "(sampleCountPositive : 0 < sampleCount)", + "type_source": "0 < sampleCount", + "visibility": "explicit" }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty Outcome] in" - } - ], - "qualified_name": "FEP.ExponentialFamily.ScalarExponentialFamily.logPartition_hasDerivAt", - "source_line": 235, - "source_owner": "src/fep_lean/formal/exponential_family.lean", - "statement": "theorem logPartition_hasDerivAt\n (family : ScalarExponentialFamily Outcome) (parameter : ℝ) :\n HasDerivAt family.logPartition (family.mean parameter) parameter", - "statement_sha256": "039fa2048638e77176f74b6d74d99498829bf218e9caacff99b0c8be0829cdbc" - }, - "FEP.ExponentialFamily.ScalarExponentialFamily.logRatioKL_eq_logPartitionBregman": { - "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "family" + "targetBounds" ], "role": "typed_binder", - "source": "(family : ScalarExponentialFamily Outcome)", - "type_source": "ScalarExponentialFamily Outcome", + "source": "(targetBounds : target ∈ Set.Icc (0 : ℝ) 1)", + "type_source": "target ∈ Set.Icc (0 : ℝ) 1", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "left", - "right" + "empiricalErrorBound" ], "role": "typed_binder", - "source": "(left right : ℝ)", - "type_source": "ℝ", + "source": "(empiricalErrorBound :\n |empiricalRate successes sampleCount - target| ≤ error)", + "type_source": "|empiricalRate successes sampleCount - target| ≤ error", "visibility": "explicit" } ], - "conclusion": "family.logRatioKL left right =\n family.logPartitionBregman left right", + "conclusion": "|laplaceEstimate successes sampleCount - target| ≤\n shrinkage sampleCount * error + 1 / ((sampleCount : ℝ) + 2)", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Outcome" + "Ω" ], "role": "typed_binder", - "source": "{Outcome : Type*}", + "source": "{Ω : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -45125,100 +46900,142 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Outcome]", - "type_source": "Fintype Outcome", + "source": "[Fintype Ω]", + "type_source": "Fintype Ω", "visibility": "instance" + } + ], + "declaration_mentions": [ + { + "identifier": "laplaceBias_abs_le", + "qualified_name": "FEP.EmpiricalRisk.laplaceBias_abs_le", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" }, { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Nonempty Outcome]", - "type_source": "Nonempty Outcome", - "visibility": "instance" + "identifier": "laplaceError_identity", + "qualified_name": "FEP.EmpiricalRisk.laplaceError_identity", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + }, + { + "identifier": "shrinkage_nonneg", + "qualified_name": "FEP.EmpiricalRisk.shrinkage_nonneg", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" } ], - "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.finite_information" + "FepSketches.learning_theory" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.ExponentialFamily.ScalarExponentialFamily", + "namespace": "FEP.EmpiricalRisk", "namespace_variable_context": [ - "{Outcome : Type*} [Fintype Outcome] [Nonempty Outcome]" + "{Ω : Type*} [Fintype Ω]" ], - "preceding_scope_directives": [ + "preceding_scope_directives": [], + "qualified_name": "FEP.EmpiricalRisk.laplaceAbsoluteError_le", + "source_line": 78, + "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "statement": "theorem laplaceAbsoluteError_le (successes sampleCount : ℕ) (target error : ℝ)\n (sampleCountPositive : 0 < sampleCount)\n (targetBounds : target ∈ Set.Icc (0 : ℝ) 1)\n (empiricalErrorBound :\n |empiricalRate successes sampleCount - target| ≤ error) :\n |laplaceEstimate successes sampleCount - target| ≤\n shrinkage sampleCount * error + 1 / ((sampleCount : ℝ) + 2)", + "statement_sha256": "c6209f9f786a3480660bddadbcef5cf1c72fd488215340e4c952745bb9865807" + }, + "FEP.EmpiricalRisk.laplaceBadEvent_probability_le": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty Outcome] in" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "sampling" + ], + "role": "typed_binder", + "source": "(sampling : FiniteLaw Ω)", + "type_source": "FiniteLaw Ω", + "visibility": "explicit" }, { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty Outcome] in" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "successes" + ], + "role": "typed_binder", + "source": "(successes : Ω → ℕ)", + "type_source": "Ω → ℕ", + "visibility": "explicit" }, { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty Outcome] in" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "sampleCount" + ], + "role": "typed_binder", + "source": "(sampleCount : ℕ)", + "type_source": "ℕ", + "visibility": "explicit" }, { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty Outcome] in" - } - ], - "qualified_name": "FEP.ExponentialFamily.ScalarExponentialFamily.logRatioKL_eq_logPartitionBregman", - "source_line": 324, - "source_owner": "src/fep_lean/formal/exponential_family.lean", - "statement": "theorem logRatioKL_eq_logPartitionBregman\n (family : ScalarExponentialFamily Outcome) (left right : ℝ) :\n family.logRatioKL left right =\n family.logPartitionBregman left right", - "statement_sha256": "b5783a8f7b374840a1fc6abf08c404189c0fd3752a2cca6b26036c306f2979a7" - }, - "FEP.ExponentialFamily.ScalarExponentialFamily.log_law_eq": { - "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [ + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "target", + "error", + "failure" + ], + "role": "typed_binder", + "source": "(target error failure : ℝ)", + "type_source": "ℝ", + "visibility": "explicit" + }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "family" + "sampleCountPositive" ], "role": "typed_binder", - "source": "(family : ScalarExponentialFamily Outcome)", - "type_source": "ScalarExponentialFamily Outcome", + "source": "(sampleCountPositive : 0 < sampleCount)", + "type_source": "0 < sampleCount", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "parameter" + "successesAtMost" ], "role": "typed_binder", - "source": "(parameter : ℝ)", - "type_source": "ℝ", + "source": "(successesAtMost : ∀ outcome, successes outcome ≤ sampleCount)", + "type_source": "∀ outcome, successes outcome ≤ sampleCount", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "outcome" + "targetBounds" ], "role": "typed_binder", - "source": "(outcome : Outcome)", - "type_source": "Outcome", + "source": "(targetBounds : target ∈ Set.Icc (0 : ℝ) 1)", + "type_source": "target ∈ Set.Icc (0 : ℝ) 1", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "rawProbabilityBound" + ], + "role": "typed_binder", + "source": "(rawProbabilityBound :\n finiteEventProbability sampling\n (empiricalBadEvent successes sampleCount target error) ≤ failure)", + "type_source": "finiteEventProbability sampling\n (empiricalBadEvent successes sampleCount target error) ≤ failure", "visibility": "explicit" } ], - "conclusion": "Real.log (family.law parameter outcome) =\n Real.log (family.base outcome) +\n parameter * family.statistic outcome -\n family.logPartition parameter", + "conclusion": "finiteEventProbability sampling\n (laplaceBadEvent successes sampleCount target error) ≤ failure", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Outcome" + "Ω" ], "role": "typed_binder", - "source": "{Outcome : Type*}", + "source": "{Ω : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -45226,101 +47043,121 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Outcome]", - "type_source": "Fintype Outcome", + "source": "[Fintype Ω]", + "type_source": "Fintype Ω", "visibility": "instance" + } + ], + "declaration_mentions": [ + { + "identifier": "finiteEventProbability_mono", + "qualified_name": "FEP.EmpiricalRisk.finiteEventProbability_mono", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" }, { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Nonempty Outcome]", - "type_source": "Nonempty Outcome", - "visibility": "instance" + "identifier": "laplaceBadEvent_subset", + "qualified_name": "FEP.EmpiricalRisk.laplaceBadEvent_subset", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" } ], - "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.finite_information" + "FepSketches.learning_theory" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.ExponentialFamily.ScalarExponentialFamily", + "namespace": "FEP.EmpiricalRisk", "namespace_variable_context": [ - "{Outcome : Type*} [Fintype Outcome] [Nonempty Outcome]" + "{Ω : Type*} [Fintype Ω]" ], "preceding_scope_directives": [ { "directive": "omit", "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty Outcome] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty Outcome] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty Outcome] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty Outcome] in" + "source": "omit [Fintype Ω] in" } ], - "qualified_name": "FEP.ExponentialFamily.ScalarExponentialFamily.log_law_eq", - "source_line": 286, - "source_owner": "src/fep_lean/formal/exponential_family.lean", - "statement": "theorem log_law_eq (family : ScalarExponentialFamily Outcome)\n (parameter : ℝ) (outcome : Outcome) :\n Real.log (family.law parameter outcome) =\n Real.log (family.base outcome) +\n parameter * family.statistic outcome -\n family.logPartition parameter", - "statement_sha256": "f112825c4a741a3a71ea460d5178879c203e209e1accc0145b4cc582e5c31af1" + "qualified_name": "FEP.EmpiricalRisk.laplaceBadEvent_probability_le", + "source_line": 316, + "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "statement": "theorem laplaceBadEvent_probability_le (sampling : FiniteLaw Ω)\n (successes : Ω → ℕ) (sampleCount : ℕ) (target error failure : ℝ)\n (sampleCountPositive : 0 < sampleCount)\n (successesAtMost : ∀ outcome, successes outcome ≤ sampleCount)\n (targetBounds : target ∈ Set.Icc (0 : ℝ) 1)\n (rawProbabilityBound :\n finiteEventProbability sampling\n (empiricalBadEvent successes sampleCount target error) ≤ failure) :\n finiteEventProbability sampling\n (laplaceBadEvent successes sampleCount target error) ≤ failure", + "statement_sha256": "ce7c618dc07629e9bb9a1d21743ec9c4a491aa35f5fa67a744fab983d4b92b30" }, - "FEP.ExponentialFamily.ScalarExponentialFamily.meanParameter_injectiveOn": { + "FEP.EmpiricalRisk.laplaceBadEvent_subset": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "family" + "successes" ], "role": "typed_binder", - "source": "(family : ScalarExponentialFamily Outcome)", - "type_source": "ScalarExponentialFamily Outcome", + "source": "(successes : Ω → ℕ)", + "type_source": "Ω → ℕ", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "lower", - "upper" + "sampleCount" ], "role": "typed_binder", - "source": "{lower upper : ℝ}", + "source": "(sampleCount : ℕ)", + "type_source": "ℕ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "target", + "error" + ], + "role": "typed_binder", + "source": "(target error : ℝ)", "type_source": "ℝ", - "visibility": "implicit" + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "hVariance" + "sampleCountPositive" ], "role": "typed_binder", - "source": "(hVariance : ∀ parameter ∈ Set.Icc lower upper,\n 0 < family.variance parameter)", - "type_source": "∀ parameter ∈ Set.Icc lower upper,\n 0 < family.variance parameter", + "source": "(sampleCountPositive : 0 < sampleCount)", + "type_source": "0 < sampleCount", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "successesAtMost" + ], + "role": "typed_binder", + "source": "(successesAtMost : ∀ outcome, successes outcome ≤ sampleCount)", + "type_source": "∀ outcome, successes outcome ≤ sampleCount", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "targetBounds" + ], + "role": "typed_binder", + "source": "(targetBounds : target ∈ Set.Icc (0 : ℝ) 1)", + "type_source": "target ∈ Set.Icc (0 : ℝ) 1", "visibility": "explicit" } ], - "conclusion": "Set.InjOn family.mean (Set.Icc lower upper)", + "conclusion": "laplaceBadEvent successes sampleCount target error ⊆\n empiricalBadEvent successes sampleCount target error", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Outcome" + "Ω" ], "role": "typed_binder", - "source": "{Outcome : Type*}", + "source": "{Ω : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -45328,101 +47165,84 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Outcome]", - "type_source": "Fintype Outcome", + "source": "[Fintype Ω]", + "type_source": "Fintype Ω", "visibility": "instance" - }, + } + ], + "declaration_mentions": [ { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Nonempty Outcome]", - "type_source": "Nonempty Outcome", - "visibility": "instance" + "identifier": "laplaceAbsoluteError_le", + "qualified_name": "FEP.EmpiricalRisk.laplaceAbsoluteError_le", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" } ], - "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.finite_information" + "FepSketches.learning_theory" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.ExponentialFamily.ScalarExponentialFamily", + "namespace": "FEP.EmpiricalRisk", "namespace_variable_context": [ - "{Outcome : Type*} [Fintype Outcome] [Nonempty Outcome]" + "{Ω : Type*} [Fintype Ω]" ], "preceding_scope_directives": [ { "directive": "omit", "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty Outcome] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty Outcome] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty Outcome] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty Outcome] in" + "source": "omit [Fintype Ω] in" } ], - "qualified_name": "FEP.ExponentialFamily.ScalarExponentialFamily.meanParameter_injectiveOn", - "source_line": 390, - "source_owner": "src/fep_lean/formal/exponential_family.lean", - "statement": "theorem meanParameter_injectiveOn (family : ScalarExponentialFamily Outcome)\n {lower upper : ℝ}\n (hVariance : ∀ parameter ∈ Set.Icc lower upper,\n 0 < family.variance parameter) :\n Set.InjOn family.mean (Set.Icc lower upper)", - "statement_sha256": "2c20875d1c8139c7577b851b8b2bd4c79b250dd2895e79bbe7465e0c0378d047" + "qualified_name": "FEP.EmpiricalRisk.laplaceBadEvent_subset", + "source_line": 297, + "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "statement": "theorem laplaceBadEvent_subset (successes : Ω → ℕ) (sampleCount : ℕ)\n (target error : ℝ) (sampleCountPositive : 0 < sampleCount)\n (successesAtMost : ∀ outcome, successes outcome ≤ sampleCount)\n (targetBounds : target ∈ Set.Icc (0 : ℝ) 1) :\n laplaceBadEvent successes sampleCount target error ⊆\n empiricalBadEvent successes sampleCount target error", + "statement_sha256": "28b650be249825b97029342b3f834e1b6884301b92520f0663070addc15b3505" }, - "FEP.ExponentialFamily.ScalarExponentialFamily.meanParameter_strictMono": { + "FEP.EmpiricalRisk.laplaceBias_abs_le": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "family" + "sampleCount" ], "role": "typed_binder", - "source": "(family : ScalarExponentialFamily Outcome)", - "type_source": "ScalarExponentialFamily Outcome", + "source": "(sampleCount : ℕ)", + "type_source": "ℕ", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "lower", - "upper" + "target" ], "role": "typed_binder", - "source": "{lower upper : ℝ}", + "source": "(target : ℝ)", "type_source": "ℝ", - "visibility": "implicit" + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "hVariance" + "targetBounds" ], "role": "typed_binder", - "source": "(hVariance : ∀ parameter ∈ Set.Icc lower upper,\n 0 < family.variance parameter)", - "type_source": "∀ parameter ∈ Set.Icc lower upper,\n 0 < family.variance parameter", + "source": "(targetBounds : target ∈ Set.Icc (0 : ℝ) 1)", + "type_source": "target ∈ Set.Icc (0 : ℝ) 1", "visibility": "explicit" } ], - "conclusion": "StrictMonoOn family.mean (Set.Icc lower upper)", + "conclusion": "|laplaceBias sampleCount target| ≤\n 1 / ((sampleCount : ℝ) + 2)", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Outcome" + "Ω" ], "role": "typed_binder", - "source": "{Outcome : Type*}", + "source": "{Ω : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -45430,166 +47250,158 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Outcome]", - "type_source": "Fintype Outcome", + "source": "[Fintype Ω]", + "type_source": "Fintype Ω", "visibility": "instance" + } + ], + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.learning_theory" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.EmpiricalRisk", + "namespace_variable_context": [ + "{Ω : Type*} [Fintype Ω]" + ], + "preceding_scope_directives": [], + "qualified_name": "FEP.EmpiricalRisk.laplaceBias_abs_le", + "source_line": 66, + "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "statement": "theorem laplaceBias_abs_le (sampleCount : ℕ) (target : ℝ)\n (targetBounds : target ∈ Set.Icc (0 : ℝ) 1) :\n |laplaceBias sampleCount target| ≤\n 1 / ((sampleCount : ℝ) + 2)", + "statement_sha256": "c704efc0a1e8b9efd5c13d09b7feebb1e8ac6dda31615ceb8b28069bd8bf7e48" + }, + "FEP.EmpiricalRisk.laplaceBias_nonzero_witness": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [], + "conclusion": "laplaceBias 2 0 = 1 / 4 ∧ laplaceBias 2 0 ≠ 0", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "Ω" + ], + "role": "typed_binder", + "source": "{Ω : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Nonempty Outcome]", - "type_source": "Nonempty Outcome", + "source": "[Fintype Ω]", + "type_source": "Fintype Ω", "visibility": "instance" } ], "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.finite_information" + "FepSketches.learning_theory" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.ExponentialFamily.ScalarExponentialFamily", + "namespace": "FEP.EmpiricalRisk", "namespace_variable_context": [ - "{Outcome : Type*} [Fintype Outcome] [Nonempty Outcome]" + "{Ω : Type*} [Fintype Ω]" ], "preceding_scope_directives": [ { "directive": "omit", "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty Outcome] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty Outcome] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty Outcome] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty Outcome] in" + "source": "omit [Fintype Ω] in" } ], - "qualified_name": "FEP.ExponentialFamily.ScalarExponentialFamily.meanParameter_strictMono", - "source_line": 376, - "source_owner": "src/fep_lean/formal/exponential_family.lean", - "statement": "theorem meanParameter_strictMono (family : ScalarExponentialFamily Outcome)\n {lower upper : ℝ}\n (hVariance : ∀ parameter ∈ Set.Icc lower upper,\n 0 < family.variance parameter) :\n StrictMonoOn family.mean (Set.Icc lower upper)", - "statement_sha256": "5f77828be29fc5523bae87e18a3feefd9c2c8b069a9f18f684991e2e1315be2b" + "qualified_name": "FEP.EmpiricalRisk.laplaceBias_nonzero_witness", + "source_line": 333, + "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "statement": "theorem laplaceBias_nonzero_witness :\n laplaceBias 2 0 = 1 / 4 ∧ laplaceBias 2 0 ≠ 0", + "statement_sha256": "310c7ae1b9948ec17d31121fffea1317871ec35215c8600d13224c9d20049b46" }, - "FEP.ExponentialFamily.ScalarExponentialFamily.mean_eq_expectation": { + "FEP.EmpiricalRisk.laplaceBrierRisk_le": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "family" + "sampling" ], "role": "typed_binder", - "source": "(family : ScalarExponentialFamily Outcome)", - "type_source": "ScalarExponentialFamily Outcome", + "source": "(sampling : FiniteLaw Ω)", + "type_source": "FiniteLaw Ω", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "parameter" + "successes" ], "role": "typed_binder", - "source": "(parameter : ℝ)", - "type_source": "ℝ", + "source": "(successes : Ω → ℕ)", + "type_source": "Ω → ℕ", "visibility": "explicit" - } - ], - "conclusion": "family.mean parameter =\n ∑ outcome, family.law parameter outcome * family.statistic outcome", - "context_binders": [ + }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Outcome" + "sampleCount" ], "role": "typed_binder", - "source": "{Outcome : Type*}", - "type_source": "Type*", - "visibility": "implicit" + "source": "(sampleCount : ℕ)", + "type_source": "ℕ", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype Outcome]", - "type_source": "Fintype Outcome", - "visibility": "instance" + "names": [ + "target" + ], + "role": "typed_binder", + "source": "(target : ℝ)", + "type_source": "ℝ", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Nonempty Outcome]", - "type_source": "Nonempty Outcome", - "visibility": "instance" - } - ], - "declaration_mentions": [], - "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", - "import_context": [ - "FepSketches.finite_information" - ], - "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.ExponentialFamily.ScalarExponentialFamily", - "namespace_variable_context": [ - "{Outcome : Type*} [Fintype Outcome] [Nonempty Outcome]" - ], - "preceding_scope_directives": [ - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty Outcome] in" - } - ], - "qualified_name": "FEP.ExponentialFamily.ScalarExponentialFamily.mean_eq_expectation", - "source_line": 83, - "source_owner": "src/fep_lean/formal/exponential_family.lean", - "statement": "theorem mean_eq_expectation (family : ScalarExponentialFamily Outcome)\n (parameter : ℝ) :\n family.mean parameter =\n ∑ outcome, family.law parameter outcome * family.statistic outcome", - "statement_sha256": "0cee216f93c39ee62122dd10027c7b13fa7002967a86e1363460e012cc768332" - }, - "FEP.ExponentialFamily.ScalarExponentialFamily.mean_hasDerivAt": { - "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [ + "names": [ + "sampleCountPositive" + ], + "role": "typed_binder", + "source": "(sampleCountPositive : 0 < sampleCount)", + "type_source": "0 < sampleCount", + "visibility": "explicit" + }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "family" + "successesAtMost" ], "role": "typed_binder", - "source": "(family : ScalarExponentialFamily Outcome)", - "type_source": "ScalarExponentialFamily Outcome", + "source": "(successesAtMost : ∀ outcome, successes outcome ≤ sampleCount)", + "type_source": "∀ outcome, successes outcome ≤ sampleCount", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "parameter" + "targetBounds" ], "role": "typed_binder", - "source": "(parameter : ℝ)", - "type_source": "ℝ", + "source": "(targetBounds : target ∈ Set.Icc (0 : ℝ) 1)", + "type_source": "target ∈ Set.Icc (0 : ℝ) 1", "visibility": "explicit" } ], - "conclusion": "HasDerivAt family.mean (family.variance parameter) parameter", + "conclusion": "brierExcessRisk sampling\n (fun outcome => laplaceEstimate (successes outcome) sampleCount) target ≤\n 2 * shrinkage sampleCount ^ 2 *\n VariationalDuality.expectation sampling (fun outcome =>\n (empiricalRate (successes outcome) sampleCount - target) ^ 2) +\n 2 * (1 / ((sampleCount : ℝ) + 2)) ^ 2", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Outcome" + "Ω" ], "role": "typed_binder", - "source": "{Outcome : Type*}", + "source": "{Ω : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -45597,8 +47409,510 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Outcome]", - "type_source": "Fintype Outcome", + "source": "[Fintype Ω]", + "type_source": "Fintype Ω", + "visibility": "instance" + } + ], + "declaration_mentions": [ + { + "identifier": "brierExcess_eq_sqError", + "qualified_name": "FEP.EmpiricalRisk.brierExcess_eq_sqError", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + }, + { + "identifier": "laplaceSquaredRisk_le", + "qualified_name": "FEP.EmpiricalRisk.laplaceSquaredRisk_le", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + } + ], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.learning_theory" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.EmpiricalRisk", + "namespace_variable_context": [ + "{Ω : Type*} [Fintype Ω]" + ], + "preceding_scope_directives": [], + "qualified_name": "FEP.EmpiricalRisk.laplaceBrierRisk_le", + "source_line": 242, + "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "statement": "theorem laplaceBrierRisk_le (sampling : FiniteLaw Ω)\n (successes : Ω → ℕ) (sampleCount : ℕ) (target : ℝ)\n (sampleCountPositive : 0 < sampleCount)\n (successesAtMost : ∀ outcome, successes outcome ≤ sampleCount)\n (targetBounds : target ∈ Set.Icc (0 : ℝ) 1) :\n brierExcessRisk sampling\n (fun outcome => laplaceEstimate (successes outcome) sampleCount) target ≤\n 2 * shrinkage sampleCount ^ 2 *\n VariationalDuality.expectation sampling (fun outcome =>\n (empiricalRate (successes outcome) sampleCount - target) ^ 2) +\n 2 * (1 / ((sampleCount : ℝ) + 2)) ^ 2", + "statement_sha256": "ff207eb78a5ad8829d0af29f300f29c24e8510f967af7d5fd1f7d439d157cdc4" + }, + "FEP.EmpiricalRisk.laplaceError_identity": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "successes", + "sampleCount" + ], + "role": "typed_binder", + "source": "(successes sampleCount : ℕ)", + "type_source": "ℕ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "target" + ], + "role": "typed_binder", + "source": "(target : ℝ)", + "type_source": "ℝ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "sampleCountPositive" + ], + "role": "typed_binder", + "source": "(sampleCountPositive : 0 < sampleCount)", + "type_source": "0 < sampleCount", + "visibility": "explicit" + } + ], + "conclusion": "laplaceEstimate successes sampleCount - target =\n shrinkage sampleCount * (empiricalRate successes sampleCount - target) +\n laplaceBias sampleCount target", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "Ω" + ], + "role": "typed_binder", + "source": "{Ω : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Ω]", + "type_source": "Fintype Ω", + "visibility": "instance" + } + ], + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.learning_theory" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.EmpiricalRisk", + "namespace_variable_context": [ + "{Ω : Type*} [Fintype Ω]" + ], + "preceding_scope_directives": [], + "qualified_name": "FEP.EmpiricalRisk.laplaceError_identity", + "source_line": 51, + "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "statement": "theorem laplaceError_identity (successes sampleCount : ℕ) (target : ℝ)\n (sampleCountPositive : 0 < sampleCount) :\n laplaceEstimate successes sampleCount - target =\n shrinkage sampleCount * (empiricalRate successes sampleCount - target) +\n laplaceBias sampleCount target", + "statement_sha256": "350960f2036fb6345771778dbbed4c7c791b7ca5714e28a57c556ba5277b2343" + }, + "FEP.EmpiricalRisk.laplaceSquaredError_le": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "successes", + "sampleCount" + ], + "role": "typed_binder", + "source": "(successes sampleCount : ℕ)", + "type_source": "ℕ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "target" + ], + "role": "typed_binder", + "source": "(target : ℝ)", + "type_source": "ℝ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "sampleCountPositive" + ], + "role": "typed_binder", + "source": "(sampleCountPositive : 0 < sampleCount)", + "type_source": "0 < sampleCount", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "targetBounds" + ], + "role": "typed_binder", + "source": "(targetBounds : target ∈ Set.Icc (0 : ℝ) 1)", + "type_source": "target ∈ Set.Icc (0 : ℝ) 1", + "visibility": "explicit" + } + ], + "conclusion": "(laplaceEstimate successes sampleCount - target) ^ 2 ≤\n 2 * shrinkage sampleCount ^ 2 *\n (empiricalRate successes sampleCount - target) ^ 2 +\n 2 * (1 / ((sampleCount : ℝ) + 2)) ^ 2", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "Ω" + ], + "role": "typed_binder", + "source": "{Ω : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Ω]", + "type_source": "Fintype Ω", + "visibility": "instance" + } + ], + "declaration_mentions": [ + { + "identifier": "laplaceBias_abs_le", + "qualified_name": "FEP.EmpiricalRisk.laplaceBias_abs_le", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + }, + { + "identifier": "laplaceError_identity", + "qualified_name": "FEP.EmpiricalRisk.laplaceError_identity", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + } + ], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.learning_theory" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.EmpiricalRisk", + "namespace_variable_context": [ + "{Ω : Type*} [Fintype Ω]" + ], + "preceding_scope_directives": [], + "qualified_name": "FEP.EmpiricalRisk.laplaceSquaredError_le", + "source_line": 106, + "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "statement": "theorem laplaceSquaredError_le (successes sampleCount : ℕ) (target : ℝ)\n (sampleCountPositive : 0 < sampleCount)\n (targetBounds : target ∈ Set.Icc (0 : ℝ) 1) :\n (laplaceEstimate successes sampleCount - target) ^ 2 ≤\n 2 * shrinkage sampleCount ^ 2 *\n (empiricalRate successes sampleCount - target) ^ 2 +\n 2 * (1 / ((sampleCount : ℝ) + 2)) ^ 2", + "statement_sha256": "c8a9e92e45b4c286d87d6dd80d4b3669e5cb3eda04e1a67f9554c69592f72f7a" + }, + "FEP.EmpiricalRisk.laplaceSquaredRisk_le": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "sampling" + ], + "role": "typed_binder", + "source": "(sampling : FiniteLaw Ω)", + "type_source": "FiniteLaw Ω", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "successes" + ], + "role": "typed_binder", + "source": "(successes : Ω → ℕ)", + "type_source": "Ω → ℕ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "sampleCount" + ], + "role": "typed_binder", + "source": "(sampleCount : ℕ)", + "type_source": "ℕ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "target" + ], + "role": "typed_binder", + "source": "(target : ℝ)", + "type_source": "ℝ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "sampleCountPositive" + ], + "role": "typed_binder", + "source": "(sampleCountPositive : 0 < sampleCount)", + "type_source": "0 < sampleCount", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "successesAtMost" + ], + "role": "typed_binder", + "source": "(successesAtMost : ∀ outcome, successes outcome ≤ sampleCount)", + "type_source": "∀ outcome, successes outcome ≤ sampleCount", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "targetBounds" + ], + "role": "typed_binder", + "source": "(targetBounds : target ∈ Set.Icc (0 : ℝ) 1)", + "type_source": "target ∈ Set.Icc (0 : ℝ) 1", + "visibility": "explicit" + } + ], + "conclusion": "VariationalDuality.expectation sampling (fun outcome =>\n (laplaceEstimate (successes outcome) sampleCount - target) ^ 2) ≤\n 2 * shrinkage sampleCount ^ 2 *\n VariationalDuality.expectation sampling (fun outcome =>\n (empiricalRate (successes outcome) sampleCount - target) ^ 2) +\n 2 * (1 / ((sampleCount : ℝ) + 2)) ^ 2", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "Ω" + ], + "role": "typed_binder", + "source": "{Ω : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Ω]", + "type_source": "Fintype Ω", + "visibility": "instance" + } + ], + "declaration_mentions": [ + { + "identifier": "expectation_add", + "qualified_name": "FEP.EmpiricalRisk.expectation_add", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + }, + { + "identifier": "expectation_const", + "qualified_name": "FEP.EmpiricalRisk.expectation_const", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + }, + { + "identifier": "expectation_const_mul", + "qualified_name": "FEP.EmpiricalRisk.expectation_const_mul", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + }, + { + "identifier": "expectation_mono", + "qualified_name": "FEP.EmpiricalRisk.expectation_mono", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + }, + { + "identifier": "laplaceSquaredError_le", + "qualified_name": "FEP.EmpiricalRisk.laplaceSquaredError_le", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + } + ], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.learning_theory" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.EmpiricalRisk", + "namespace_variable_context": [ + "{Ω : Type*} [Fintype Ω]" + ], + "preceding_scope_directives": [], + "qualified_name": "FEP.EmpiricalRisk.laplaceSquaredRisk_le", + "source_line": 181, + "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "statement": "theorem laplaceSquaredRisk_le (sampling : FiniteLaw Ω)\n (successes : Ω → ℕ) (sampleCount : ℕ) (target : ℝ)\n (sampleCountPositive : 0 < sampleCount)\n (successesAtMost : ∀ outcome, successes outcome ≤ sampleCount)\n (targetBounds : target ∈ Set.Icc (0 : ℝ) 1) :\n VariationalDuality.expectation sampling (fun outcome =>\n (laplaceEstimate (successes outcome) sampleCount - target) ^ 2) ≤\n 2 * shrinkage sampleCount ^ 2 *\n VariationalDuality.expectation sampling (fun outcome =>\n (empiricalRate (successes outcome) sampleCount - target) ^ 2) +\n 2 * (1 / ((sampleCount : ℝ) + 2)) ^ 2", + "statement_sha256": "058c104c9d58a611fbc83f863ce36b41457d6f7f56a1bfc6189624bac32f8fab" + }, + "FEP.EmpiricalRisk.shrinkage_le_one": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "sampleCount" + ], + "role": "typed_binder", + "source": "(sampleCount : ℕ)", + "type_source": "ℕ", + "visibility": "explicit" + } + ], + "conclusion": "shrinkage sampleCount ≤ 1", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "Ω" + ], + "role": "typed_binder", + "source": "{Ω : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Ω]", + "type_source": "Fintype Ω", + "visibility": "instance" + } + ], + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.learning_theory" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.EmpiricalRisk", + "namespace_variable_context": [ + "{Ω : Type*} [Fintype Ω]" + ], + "preceding_scope_directives": [], + "qualified_name": "FEP.EmpiricalRisk.shrinkage_le_one", + "source_line": 44, + "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "statement": "theorem shrinkage_le_one (sampleCount : ℕ) :\n shrinkage sampleCount ≤ 1", + "statement_sha256": "7e70ad651f8bae5b6c07932cc2ff4a41b56cdaeb3ccae460a9a1ffd3b3dbb4ec" + }, + "FEP.EmpiricalRisk.shrinkage_nonneg": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "sampleCount" + ], + "role": "typed_binder", + "source": "(sampleCount : ℕ)", + "type_source": "ℕ", + "visibility": "explicit" + } + ], + "conclusion": "0 ≤ shrinkage sampleCount", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "Ω" + ], + "role": "typed_binder", + "source": "{Ω : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Ω]", + "type_source": "Fintype Ω", + "visibility": "instance" + } + ], + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.learning_theory" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.EmpiricalRisk", + "namespace_variable_context": [ + "{Ω : Type*} [Fintype Ω]" + ], + "preceding_scope_directives": [], + "qualified_name": "FEP.EmpiricalRisk.shrinkage_nonneg", + "source_line": 39, + "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "statement": "theorem shrinkage_nonneg (sampleCount : ℕ) :\n 0 ≤ shrinkage sampleCount", + "statement_sha256": "8f9e79225727e85761036de9ea627c03ab4b9ccca72f5a75e4c04b6e03906edf" + }, + "FEP.ExponentialFamily.ScalarExponentialFamily.constantStatistic_variance_zero": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "base" + ], + "role": "typed_binder", + "source": "(base : Outcome → ℝ)", + "type_source": "Outcome → ℝ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hBase" + ], + "role": "typed_binder", + "source": "(hBase : ∀ outcome, 0 < base outcome)", + "type_source": "∀ outcome, 0 < base outcome", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "constant", + "parameter" + ], + "role": "typed_binder", + "source": "(constant parameter : ℝ)", + "type_source": "ℝ", + "visibility": "explicit" + } + ], + "conclusion": "(constantStatisticFamily base hBase constant).variance parameter = 0", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "Outcome" + ], + "role": "typed_binder", + "source": "{Outcome : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Outcome]", + "type_source": "Fintype Outcome", "visibility": "instance" }, { @@ -45610,7 +47924,14 @@ "visibility": "instance" } ], - "declaration_mentions": [], + "declaration_mentions": [ + { + "identifier": "mean_eq_expectation", + "qualified_name": "FEP.ExponentialFamily.ScalarExponentialFamily.mean_eq_expectation", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + } + ], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ "FepSketches.finite_information" @@ -45642,13 +47963,13 @@ "source": "omit [Nonempty Outcome] in" } ], - "qualified_name": "FEP.ExponentialFamily.ScalarExponentialFamily.mean_hasDerivAt", - "source_line": 245, + "qualified_name": "FEP.ExponentialFamily.ScalarExponentialFamily.constantStatistic_variance_zero", + "source_line": 421, "source_owner": "src/fep_lean/formal/exponential_family.lean", - "statement": "theorem mean_hasDerivAt (family : ScalarExponentialFamily Outcome)\n (parameter : ℝ) :\n HasDerivAt family.mean (family.variance parameter) parameter", - "statement_sha256": "5ee292fe68385aeb74729108ec2831f1e461af5ca69518426e46cceced961557" + "statement": "theorem constantStatistic_variance_zero\n (base : Outcome → ℝ) (hBase : ∀ outcome, 0 < base outcome)\n (constant parameter : ℝ) :\n (constantStatisticFamily base hBase constant).variance parameter = 0", + "statement_sha256": "f640d406160712678350a37070c0111266610c317cf1cfa743d92e18fff09113" }, - "FEP.ExponentialFamily.ScalarExponentialFamily.mean_score_zero": { + "FEP.ExponentialFamily.ScalarExponentialFamily.finiteKL_eq_logPartitionBregman": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { @@ -45664,15 +47985,16 @@ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "parameter" + "left", + "right" ], "role": "typed_binder", - "source": "(parameter : ℝ)", + "source": "(left right : ℝ)", "type_source": "ℝ", "visibility": "explicit" } ], - "conclusion": "∑ outcome,\n family.law parameter outcome * family.score parameter outcome = 0", + "conclusion": "finiteKL (family.law left) (family.law right) =\n family.logPartitionBregman left right", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -45712,6 +48034,16 @@ "{Outcome : Type*} [Fintype Outcome] [Nonempty Outcome]" ], "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty Outcome] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty Outcome] in" + }, { "directive": "omit", "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", @@ -45723,13 +48055,13 @@ "source": "omit [Nonempty Outcome] in" } ], - "qualified_name": "FEP.ExponentialFamily.ScalarExponentialFamily.mean_score_zero", - "source_line": 129, + "qualified_name": "FEP.ExponentialFamily.ScalarExponentialFamily.finiteKL_eq_logPartitionBregman", + "source_line": 367, "source_owner": "src/fep_lean/formal/exponential_family.lean", - "statement": "theorem mean_score_zero (family : ScalarExponentialFamily Outcome)\n (parameter : ℝ) :\n ∑ outcome,\n family.law parameter outcome * family.score parameter outcome = 0", - "statement_sha256": "8b2d63b61c30274edf61c50ab3970bf2d3f3afbbc6bad61c44db7143e47b3d2e" + "statement": "theorem finiteKL_eq_logPartitionBregman\n (family : ScalarExponentialFamily Outcome) (left right : ℝ) :\n finiteKL (family.law left) (family.law right) =\n family.logPartitionBregman left right", + "statement_sha256": "6081e9fad923ad5ccb11b666c7f051e9875cdc9b152b1337534d3446c1fa7471" }, - "FEP.ExponentialFamily.ScalarExponentialFamily.partition_hasDerivAt": { + "FEP.ExponentialFamily.ScalarExponentialFamily.finiteKL_eq_logRatioKL": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { @@ -45745,15 +48077,16 @@ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "parameter" + "left", + "right" ], "role": "typed_binder", - "source": "(parameter : ℝ)", + "source": "(left right : ℝ)", "type_source": "ℝ", "visibility": "explicit" } ], - "conclusion": "HasDerivAt family.partition (family.weightedMoment 1 parameter)\n parameter", + "conclusion": "finiteKL (family.law left) (family.law right) =\n family.logRatioKL left right", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -45782,7 +48115,16 @@ "visibility": "instance" } ], - "declaration_mentions": [], + "declaration_mentions": [ + { + "candidates": [ + "FEP.FiniteInformation.finiteKL_eq_crossEntropy_sub_entropy" + ], + "identifier": "finiteKL_eq_crossEntropy_sub_entropy", + "resolution": "unresolved lexical scope", + "role": "proof_reference" + } + ], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ "FepSketches.finite_information" @@ -45814,13 +48156,13 @@ "source": "omit [Nonempty Outcome] in" } ], - "qualified_name": "FEP.ExponentialFamily.ScalarExponentialFamily.partition_hasDerivAt", - "source_line": 226, + "qualified_name": "FEP.ExponentialFamily.ScalarExponentialFamily.finiteKL_eq_logRatioKL", + "source_line": 352, "source_owner": "src/fep_lean/formal/exponential_family.lean", - "statement": "theorem partition_hasDerivAt (family : ScalarExponentialFamily Outcome)\n (parameter : ℝ) :\n HasDerivAt family.partition (family.weightedMoment 1 parameter)\n parameter", - "statement_sha256": "05ad4f9fdfa1e6d8344a2f301d1dd748d9db91408449453611a99aea5b74f743" + "statement": "theorem finiteKL_eq_logRatioKL\n (family : ScalarExponentialFamily Outcome) (left right : ℝ) :\n finiteKL (family.law left) (family.law right) =\n family.logRatioKL left right", + "statement_sha256": "117f193029d136fdee655bbce4624e5f77c81fbe0a7125b5494781b0dcf38613" }, - "FEP.ExponentialFamily.ScalarExponentialFamily.partition_pos": { + "FEP.ExponentialFamily.ScalarExponentialFamily.fisher_eq_variance": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { @@ -45844,7 +48186,7 @@ "visibility": "explicit" } ], - "conclusion": "0 < family.partition parameter", + "conclusion": "family.fisher parameter = family.variance parameter", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -45884,19 +48226,24 @@ "{Outcome : Type*} [Fintype Outcome] [Nonempty Outcome]" ], "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty Outcome] in" + }, { "directive": "omit", "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", "source": "omit [Nonempty Outcome] in" } ], - "qualified_name": "FEP.ExponentialFamily.ScalarExponentialFamily.partition_pos", - "source_line": 54, + "qualified_name": "FEP.ExponentialFamily.ScalarExponentialFamily.fisher_eq_variance", + "source_line": 151, "source_owner": "src/fep_lean/formal/exponential_family.lean", - "statement": "theorem partition_pos (family : ScalarExponentialFamily Outcome)\n (parameter : ℝ) : 0 < family.partition parameter", - "statement_sha256": "f10ef8bc4173e8f7a7a994a622d01e08a7bf9b3e9cb1181196267423b0949a6d" + "statement": "theorem fisher_eq_variance (family : ScalarExponentialFamily Outcome)\n (parameter : ℝ) :\n family.fisher parameter = family.variance parameter", + "statement_sha256": "5f0beee45d89505e104149eb141d77488481feb87c0d52d42b6b1d989c321654" }, - "FEP.ExponentialFamily.ScalarExponentialFamily.score_eq_statistic_sub_mean": { + "FEP.ExponentialFamily.ScalarExponentialFamily.law_hasDerivAt": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { @@ -45930,7 +48277,7 @@ "visibility": "explicit" } ], - "conclusion": "family.score parameter outcome =\n family.statistic outcome - family.mean parameter", + "conclusion": "HasDerivAt (fun candidate ↦ family.law candidate outcome)\n (family.law parameter outcome * family.score parameter outcome)\n parameter", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -45970,6 +48317,16 @@ "{Outcome : Type*} [Fintype Outcome] [Nonempty Outcome]" ], "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty Outcome] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty Outcome] in" + }, { "directive": "omit", "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", @@ -45981,16 +48338,134 @@ "source": "omit [Nonempty Outcome] in" } ], - "qualified_name": "FEP.ExponentialFamily.ScalarExponentialFamily.score_eq_statistic_sub_mean", - "source_line": 122, + "qualified_name": "FEP.ExponentialFamily.ScalarExponentialFamily.law_hasDerivAt", + "source_line": 262, "source_owner": "src/fep_lean/formal/exponential_family.lean", - "statement": "theorem score_eq_statistic_sub_mean\n (family : ScalarExponentialFamily Outcome)\n (parameter : ℝ) (outcome : Outcome) :\n family.score parameter outcome =\n family.statistic outcome - family.mean parameter", - "statement_sha256": "ff19fc1e7e8faaac0cf0d67147d5e2882db8982300f8a9c71648b777d82f866a" + "statement": "theorem law_hasDerivAt (family : ScalarExponentialFamily Outcome)\n (parameter : ℝ) (outcome : Outcome) :\n HasDerivAt (fun candidate ↦ family.law candidate outcome)\n (family.law parameter outcome * family.score parameter outcome)\n parameter", + "statement_sha256": "e47eb9312eace0a48af8f5a0fecd1854afd721a232e88e412bc8bea618152733" }, - "FEP.ExponentialFamily.ScalarExponentialFamily.threeState_variance_zero": { + "FEP.ExponentialFamily.ScalarExponentialFamily.law_pos": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [], - "conclusion": "threeStateFamily.variance 0 = 2 / 3", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "family" + ], + "role": "typed_binder", + "source": "(family : ScalarExponentialFamily Outcome)", + "type_source": "ScalarExponentialFamily Outcome", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "parameter" + ], + "role": "typed_binder", + "source": "(parameter : ℝ)", + "type_source": "ℝ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "outcome" + ], + "role": "typed_binder", + "source": "(outcome : Outcome)", + "type_source": "Outcome", + "visibility": "explicit" + } + ], + "conclusion": "0 < family.law parameter outcome", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "Outcome" + ], + "role": "typed_binder", + "source": "{Outcome : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Outcome]", + "type_source": "Fintype Outcome", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Nonempty Outcome]", + "type_source": "Nonempty Outcome", + "visibility": "instance" + } + ], + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.finite_information" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.ExponentialFamily.ScalarExponentialFamily", + "namespace_variable_context": [ + "{Outcome : Type*} [Fintype Outcome] [Nonempty Outcome]" + ], + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty Outcome] in" + } + ], + "qualified_name": "FEP.ExponentialFamily.ScalarExponentialFamily.law_pos", + "source_line": 72, + "source_owner": "src/fep_lean/formal/exponential_family.lean", + "statement": "theorem law_pos (family : ScalarExponentialFamily Outcome)\n (parameter : ℝ) (outcome : Outcome) :\n 0 < family.law parameter outcome", + "statement_sha256": "ad000d133af492936126ba9c88be8c5ebdcde5ada5762ff26f3d99d954334844" + }, + "FEP.ExponentialFamily.ScalarExponentialFamily.logDensityRatio_eq": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "family" + ], + "role": "typed_binder", + "source": "(family : ScalarExponentialFamily Outcome)", + "type_source": "ScalarExponentialFamily Outcome", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "left", + "right" + ], + "role": "typed_binder", + "source": "(left right : ℝ)", + "type_source": "ℝ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "outcome" + ], + "role": "typed_binder", + "source": "(outcome : Outcome)", + "type_source": "Outcome", + "visibility": "explicit" + } + ], + "conclusion": "Real.log\n (family.law left outcome / family.law right outcome) =\n (left - right) * family.statistic outcome -\n (family.logPartition left - family.logPartition right)", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -46051,16 +48526,37 @@ "source": "omit [Nonempty Outcome] in" } ], - "qualified_name": "FEP.ExponentialFamily.ScalarExponentialFamily.threeState_variance_zero", - "source_line": 406, + "qualified_name": "FEP.ExponentialFamily.ScalarExponentialFamily.logDensityRatio_eq", + "source_line": 301, "source_owner": "src/fep_lean/formal/exponential_family.lean", - "statement": "theorem threeState_variance_zero : threeStateFamily.variance 0 = 2 / 3", - "statement_sha256": "da20e31971b78ba048982b21e612c3474ff35cbacd59ec366182566a9145c117" + "statement": "theorem logDensityRatio_eq (family : ScalarExponentialFamily Outcome)\n (left right : ℝ) (outcome : Outcome) :\n Real.log\n (family.law left outcome / family.law right outcome) =\n (left - right) * family.statistic outcome -\n (family.logPartition left - family.logPartition right)", + "statement_sha256": "2ecf299bbbaf6078b1ef8946b2177490f5545d053ed0587746741caf1a94aa9d" }, - "FEP.ExponentialFamily.ScalarExponentialFamily.threeState_variance_zero_pos": { + "FEP.ExponentialFamily.ScalarExponentialFamily.logPartition_hasDerivAt": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [], - "conclusion": "0 < threeStateFamily.variance 0", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "family" + ], + "role": "typed_binder", + "source": "(family : ScalarExponentialFamily Outcome)", + "type_source": "ScalarExponentialFamily Outcome", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "parameter" + ], + "role": "typed_binder", + "source": "(parameter : ℝ)", + "type_source": "ℝ", + "visibility": "explicit" + } + ], + "conclusion": "HasDerivAt family.logPartition (family.mean parameter) parameter", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -46089,14 +48585,7 @@ "visibility": "instance" } ], - "declaration_mentions": [ - { - "identifier": "threeState_variance_zero", - "qualified_name": "FEP.ExponentialFamily.ScalarExponentialFamily.threeState_variance_zero", - "resolution": "exact or same-namespace source identifier", - "role": "proof_reference" - } - ], + "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ "FepSketches.finite_information" @@ -46128,13 +48617,13 @@ "source": "omit [Nonempty Outcome] in" } ], - "qualified_name": "FEP.ExponentialFamily.ScalarExponentialFamily.threeState_variance_zero_pos", - "source_line": 410, + "qualified_name": "FEP.ExponentialFamily.ScalarExponentialFamily.logPartition_hasDerivAt", + "source_line": 235, "source_owner": "src/fep_lean/formal/exponential_family.lean", - "statement": "theorem threeState_variance_zero_pos : 0 < threeStateFamily.variance 0", - "statement_sha256": "95dda5d86e5125880d663a04fc18fcd43dacd62bb8be6d1eff827a0da5d53850" + "statement": "theorem logPartition_hasDerivAt\n (family : ScalarExponentialFamily Outcome) (parameter : ℝ) :\n HasDerivAt family.logPartition (family.mean parameter) parameter", + "statement_sha256": "039fa2048638e77176f74b6d74d99498829bf218e9caacff99b0c8be0829cdbc" }, - "FEP.ExponentialFamily.ScalarExponentialFamily.variance_eq_rawMoment": { + "FEP.ExponentialFamily.ScalarExponentialFamily.logRatioKL_eq_logPartitionBregman": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { @@ -46150,15 +48639,16 @@ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "parameter" + "left", + "right" ], "role": "typed_binder", - "source": "(parameter : ℝ)", + "source": "(left right : ℝ)", "type_source": "ℝ", "visibility": "explicit" } ], - "conclusion": "family.variance parameter =\n family.weightedMoment 2 parameter / family.partition parameter -\n family.mean parameter ^ 2", + "conclusion": "family.logRatioKL left right =\n family.logPartitionBregman left right", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -46198,6 +48688,16 @@ "{Outcome : Type*} [Fintype Outcome] [Nonempty Outcome]" ], "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty Outcome] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty Outcome] in" + }, { "directive": "omit", "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", @@ -46209,13 +48709,13 @@ "source": "omit [Nonempty Outcome] in" } ], - "qualified_name": "FEP.ExponentialFamily.ScalarExponentialFamily.variance_eq_rawMoment", - "source_line": 156, + "qualified_name": "FEP.ExponentialFamily.ScalarExponentialFamily.logRatioKL_eq_logPartitionBregman", + "source_line": 324, "source_owner": "src/fep_lean/formal/exponential_family.lean", - "statement": "theorem variance_eq_rawMoment (family : ScalarExponentialFamily Outcome)\n (parameter : ℝ) :\n family.variance parameter =\n family.weightedMoment 2 parameter / family.partition parameter -\n family.mean parameter ^ 2", - "statement_sha256": "be0ed42b5b39686938c79f135be4a3b2b6d28a5de1ed16019aa40a50dbb5bf21" + "statement": "theorem logRatioKL_eq_logPartitionBregman\n (family : ScalarExponentialFamily Outcome) (left right : ℝ) :\n family.logRatioKL left right =\n family.logPartitionBregman left right", + "statement_sha256": "b5783a8f7b374840a1fc6abf08c404189c0fd3752a2cca6b26036c306f2979a7" }, - "FEP.ExponentialFamily.ScalarExponentialFamily.weight_pos": { + "FEP.ExponentialFamily.ScalarExponentialFamily.log_law_eq": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { @@ -46249,7 +48749,7 @@ "visibility": "explicit" } ], - "conclusion": "0 < family.weight parameter outcome", + "conclusion": "Real.log (family.law parameter outcome) =\n Real.log (family.base outcome) +\n parameter * family.statistic outcome -\n family.logPartition parameter", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -46289,19 +48789,34 @@ "{Outcome : Type*} [Fintype Outcome] [Nonempty Outcome]" ], "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty Outcome] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty Outcome] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty Outcome] in" + }, { "directive": "omit", "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", "source": "omit [Nonempty Outcome] in" } ], - "qualified_name": "FEP.ExponentialFamily.ScalarExponentialFamily.weight_pos", - "source_line": 49, + "qualified_name": "FEP.ExponentialFamily.ScalarExponentialFamily.log_law_eq", + "source_line": 286, "source_owner": "src/fep_lean/formal/exponential_family.lean", - "statement": "theorem weight_pos (family : ScalarExponentialFamily Outcome)\n (parameter : ℝ) (outcome : Outcome) :\n 0 < family.weight parameter outcome", - "statement_sha256": "3c673d17c383f6352097f8d57e4ef69f7deaf78798b7efe357a024c35761cac7" + "statement": "theorem log_law_eq (family : ScalarExponentialFamily Outcome)\n (parameter : ℝ) (outcome : Outcome) :\n Real.log (family.law parameter outcome) =\n Real.log (family.base outcome) +\n parameter * family.statistic outcome -\n family.logPartition parameter", + "statement_sha256": "f112825c4a741a3a71ea460d5178879c203e209e1accc0145b4cc582e5c31af1" }, - "FEP.ExponentialFamily.ScalarExponentialFamily.weightedMoment_hasDerivAt": { + "FEP.ExponentialFamily.ScalarExponentialFamily.meanParameter_injectiveOn": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { @@ -46317,25 +48832,26 @@ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "order" + "lower", + "upper" ], "role": "typed_binder", - "source": "(order : ℕ)", - "type_source": "ℕ", - "visibility": "explicit" + "source": "{lower upper : ℝ}", + "type_source": "ℝ", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "parameter" + "hVariance" ], "role": "typed_binder", - "source": "(parameter : ℝ)", - "type_source": "ℝ", + "source": "(hVariance : ∀ parameter ∈ Set.Icc lower upper,\n 0 < family.variance parameter)", + "type_source": "∀ parameter ∈ Set.Icc lower upper,\n 0 < family.variance parameter", "visibility": "explicit" } ], - "conclusion": "HasDerivAt (family.weightedMoment order)\n (family.weightedMoment (order + 1) parameter) parameter", + "conclusion": "Set.InjOn family.mean (Set.Icc lower upper)", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -46385,83 +48901,1106 @@ "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", "source": "omit [Nonempty Outcome] in" }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty Outcome] in" + }, { "directive": "omit", "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", "source": "omit [Nonempty Outcome] in" } ], - "qualified_name": "FEP.ExponentialFamily.ScalarExponentialFamily.weightedMoment_hasDerivAt", - "source_line": 209, + "qualified_name": "FEP.ExponentialFamily.ScalarExponentialFamily.meanParameter_injectiveOn", + "source_line": 390, "source_owner": "src/fep_lean/formal/exponential_family.lean", - "statement": "theorem weightedMoment_hasDerivAt\n (family : ScalarExponentialFamily Outcome)\n (order : ℕ) (parameter : ℝ) :\n HasDerivAt (family.weightedMoment order)\n (family.weightedMoment (order + 1) parameter) parameter", - "statement_sha256": "cd5fd0fa5739940ab519460973a57292032b03b7b30c5c61b6b39a53b1b539c8" + "statement": "theorem meanParameter_injectiveOn (family : ScalarExponentialFamily Outcome)\n {lower upper : ℝ}\n (hVariance : ∀ parameter ∈ Set.Icc lower upper,\n 0 < family.variance parameter) :\n Set.InjOn family.mean (Set.Icc lower upper)", + "statement_sha256": "2c20875d1c8139c7577b851b8b2bd4c79b250dd2895e79bbe7465e0c0378d047" }, - "FEP.Fin4GaussianSemigroup.K_eigenmode_four_external": { + "FEP.ExponentialFamily.ScalarExponentialFamily.meanParameter_strictMono": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [], - "conclusion": "K *ᵥ eigenmodeFourExternal = 4 • eigenmodeFourExternal", - "context_binders": [], - "declaration_mentions": [], - "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", - "import_context": [ - "FepSketches.linear_gaussian_semigroup" + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "family" + ], + "role": "typed_binder", + "source": "(family : ScalarExponentialFamily Outcome)", + "type_source": "ScalarExponentialFamily Outcome", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "lower", + "upper" + ], + "role": "typed_binder", + "source": "{lower upper : ℝ}", + "type_source": "ℝ", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hVariance" + ], + "role": "typed_binder", + "source": "(hVariance : ∀ parameter ∈ Set.Icc lower upper,\n 0 < family.variance parameter)", + "type_source": "∀ parameter ∈ Set.Icc lower upper,\n 0 < family.variance parameter", + "visibility": "explicit" + } ], - "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.Fin4GaussianSemigroup", - "namespace_variable_context": [], - "preceding_scope_directives": [], - "qualified_name": "FEP.Fin4GaussianSemigroup.K_eigenmode_four_external", - "source_line": 179, - "source_owner": "src/fep_lean/formal/fin4_gaussian_semigroup.lean", - "statement": "theorem K_eigenmode_four_external :\n K *ᵥ eigenmodeFourExternal = 4 • eigenmodeFourExternal", - "statement_sha256": "ba427b973cade1f06772407c7a742efe4492255985255d1bd4f6c645d28e01ce" - }, - "FEP.Fin4GaussianSemigroup.K_eigenmode_four_sensory": { - "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [], - "conclusion": "K *ᵥ eigenmodeFourSensory = 4 • eigenmodeFourSensory", - "context_binders": [], - "declaration_mentions": [], - "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", - "import_context": [ - "FepSketches.linear_gaussian_semigroup" + "conclusion": "StrictMonoOn family.mean (Set.Icc lower upper)", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "Outcome" + ], + "role": "typed_binder", + "source": "{Outcome : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Outcome]", + "type_source": "Fintype Outcome", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Nonempty Outcome]", + "type_source": "Nonempty Outcome", + "visibility": "instance" + } ], - "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.Fin4GaussianSemigroup", - "namespace_variable_context": [], - "preceding_scope_directives": [], - "qualified_name": "FEP.Fin4GaussianSemigroup.K_eigenmode_four_sensory", - "source_line": 187, - "source_owner": "src/fep_lean/formal/fin4_gaussian_semigroup.lean", - "statement": "theorem K_eigenmode_four_sensory :\n K *ᵥ eigenmodeFourSensory = 4 • eigenmodeFourSensory", - "statement_sha256": "761955f54384734da1bd0c0fbfd12921a6e114fc188b50785b8253779a37e43a" - }, - "FEP.Fin4GaussianSemigroup.K_eigenmode_six": { - "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [], - "conclusion": "K *ᵥ eigenmodeSix = 6 • eigenmodeSix", - "context_binders": [], "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.linear_gaussian_semigroup" + "FepSketches.finite_information" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.Fin4GaussianSemigroup", - "namespace_variable_context": [], - "preceding_scope_directives": [], - "qualified_name": "FEP.Fin4GaussianSemigroup.K_eigenmode_six", - "source_line": 195, - "source_owner": "src/fep_lean/formal/fin4_gaussian_semigroup.lean", - "statement": "theorem K_eigenmode_six :\n K *ᵥ eigenmodeSix = 6 • eigenmodeSix", - "statement_sha256": "3384deba99aea33d14d2048451d120e50052b22e3661bb2bef925c6108cde5f1" + "namespace": "FEP.ExponentialFamily.ScalarExponentialFamily", + "namespace_variable_context": [ + "{Outcome : Type*} [Fintype Outcome] [Nonempty Outcome]" + ], + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty Outcome] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty Outcome] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty Outcome] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty Outcome] in" + } + ], + "qualified_name": "FEP.ExponentialFamily.ScalarExponentialFamily.meanParameter_strictMono", + "source_line": 376, + "source_owner": "src/fep_lean/formal/exponential_family.lean", + "statement": "theorem meanParameter_strictMono (family : ScalarExponentialFamily Outcome)\n {lower upper : ℝ}\n (hVariance : ∀ parameter ∈ Set.Icc lower upper,\n 0 < family.variance parameter) :\n StrictMonoOn family.mean (Set.Icc lower upper)", + "statement_sha256": "5f77828be29fc5523bae87e18a3feefd9c2c8b069a9f18f684991e2e1315be2b" }, - "FEP.Fin4GaussianSemigroup.K_eigenmode_two": { + "FEP.ExponentialFamily.ScalarExponentialFamily.mean_eq_expectation": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [], - "conclusion": "K *ᵥ eigenmodeTwo = 2 • eigenmodeTwo", - "context_binders": [], + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "family" + ], + "role": "typed_binder", + "source": "(family : ScalarExponentialFamily Outcome)", + "type_source": "ScalarExponentialFamily Outcome", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "parameter" + ], + "role": "typed_binder", + "source": "(parameter : ℝ)", + "type_source": "ℝ", + "visibility": "explicit" + } + ], + "conclusion": "family.mean parameter =\n ∑ outcome, family.law parameter outcome * family.statistic outcome", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "Outcome" + ], + "role": "typed_binder", + "source": "{Outcome : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Outcome]", + "type_source": "Fintype Outcome", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Nonempty Outcome]", + "type_source": "Nonempty Outcome", + "visibility": "instance" + } + ], + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.finite_information" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.ExponentialFamily.ScalarExponentialFamily", + "namespace_variable_context": [ + "{Outcome : Type*} [Fintype Outcome] [Nonempty Outcome]" + ], + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty Outcome] in" + } + ], + "qualified_name": "FEP.ExponentialFamily.ScalarExponentialFamily.mean_eq_expectation", + "source_line": 83, + "source_owner": "src/fep_lean/formal/exponential_family.lean", + "statement": "theorem mean_eq_expectation (family : ScalarExponentialFamily Outcome)\n (parameter : ℝ) :\n family.mean parameter =\n ∑ outcome, family.law parameter outcome * family.statistic outcome", + "statement_sha256": "0cee216f93c39ee62122dd10027c7b13fa7002967a86e1363460e012cc768332" + }, + "FEP.ExponentialFamily.ScalarExponentialFamily.mean_hasDerivAt": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "family" + ], + "role": "typed_binder", + "source": "(family : ScalarExponentialFamily Outcome)", + "type_source": "ScalarExponentialFamily Outcome", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "parameter" + ], + "role": "typed_binder", + "source": "(parameter : ℝ)", + "type_source": "ℝ", + "visibility": "explicit" + } + ], + "conclusion": "HasDerivAt family.mean (family.variance parameter) parameter", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "Outcome" + ], + "role": "typed_binder", + "source": "{Outcome : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Outcome]", + "type_source": "Fintype Outcome", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Nonempty Outcome]", + "type_source": "Nonempty Outcome", + "visibility": "instance" + } + ], + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.finite_information" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.ExponentialFamily.ScalarExponentialFamily", + "namespace_variable_context": [ + "{Outcome : Type*} [Fintype Outcome] [Nonempty Outcome]" + ], + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty Outcome] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty Outcome] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty Outcome] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty Outcome] in" + } + ], + "qualified_name": "FEP.ExponentialFamily.ScalarExponentialFamily.mean_hasDerivAt", + "source_line": 245, + "source_owner": "src/fep_lean/formal/exponential_family.lean", + "statement": "theorem mean_hasDerivAt (family : ScalarExponentialFamily Outcome)\n (parameter : ℝ) :\n HasDerivAt family.mean (family.variance parameter) parameter", + "statement_sha256": "5ee292fe68385aeb74729108ec2831f1e461af5ca69518426e46cceced961557" + }, + "FEP.ExponentialFamily.ScalarExponentialFamily.mean_score_zero": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "family" + ], + "role": "typed_binder", + "source": "(family : ScalarExponentialFamily Outcome)", + "type_source": "ScalarExponentialFamily Outcome", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "parameter" + ], + "role": "typed_binder", + "source": "(parameter : ℝ)", + "type_source": "ℝ", + "visibility": "explicit" + } + ], + "conclusion": "∑ outcome,\n family.law parameter outcome * family.score parameter outcome = 0", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "Outcome" + ], + "role": "typed_binder", + "source": "{Outcome : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Outcome]", + "type_source": "Fintype Outcome", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Nonempty Outcome]", + "type_source": "Nonempty Outcome", + "visibility": "instance" + } + ], + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.finite_information" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.ExponentialFamily.ScalarExponentialFamily", + "namespace_variable_context": [ + "{Outcome : Type*} [Fintype Outcome] [Nonempty Outcome]" + ], + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty Outcome] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty Outcome] in" + } + ], + "qualified_name": "FEP.ExponentialFamily.ScalarExponentialFamily.mean_score_zero", + "source_line": 129, + "source_owner": "src/fep_lean/formal/exponential_family.lean", + "statement": "theorem mean_score_zero (family : ScalarExponentialFamily Outcome)\n (parameter : ℝ) :\n ∑ outcome,\n family.law parameter outcome * family.score parameter outcome = 0", + "statement_sha256": "8b2d63b61c30274edf61c50ab3970bf2d3f3afbbc6bad61c44db7143e47b3d2e" + }, + "FEP.ExponentialFamily.ScalarExponentialFamily.partition_hasDerivAt": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "family" + ], + "role": "typed_binder", + "source": "(family : ScalarExponentialFamily Outcome)", + "type_source": "ScalarExponentialFamily Outcome", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "parameter" + ], + "role": "typed_binder", + "source": "(parameter : ℝ)", + "type_source": "ℝ", + "visibility": "explicit" + } + ], + "conclusion": "HasDerivAt family.partition (family.weightedMoment 1 parameter)\n parameter", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "Outcome" + ], + "role": "typed_binder", + "source": "{Outcome : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Outcome]", + "type_source": "Fintype Outcome", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Nonempty Outcome]", + "type_source": "Nonempty Outcome", + "visibility": "instance" + } + ], + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.finite_information" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.ExponentialFamily.ScalarExponentialFamily", + "namespace_variable_context": [ + "{Outcome : Type*} [Fintype Outcome] [Nonempty Outcome]" + ], + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty Outcome] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty Outcome] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty Outcome] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty Outcome] in" + } + ], + "qualified_name": "FEP.ExponentialFamily.ScalarExponentialFamily.partition_hasDerivAt", + "source_line": 226, + "source_owner": "src/fep_lean/formal/exponential_family.lean", + "statement": "theorem partition_hasDerivAt (family : ScalarExponentialFamily Outcome)\n (parameter : ℝ) :\n HasDerivAt family.partition (family.weightedMoment 1 parameter)\n parameter", + "statement_sha256": "05ad4f9fdfa1e6d8344a2f301d1dd748d9db91408449453611a99aea5b74f743" + }, + "FEP.ExponentialFamily.ScalarExponentialFamily.partition_pos": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "family" + ], + "role": "typed_binder", + "source": "(family : ScalarExponentialFamily Outcome)", + "type_source": "ScalarExponentialFamily Outcome", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "parameter" + ], + "role": "typed_binder", + "source": "(parameter : ℝ)", + "type_source": "ℝ", + "visibility": "explicit" + } + ], + "conclusion": "0 < family.partition parameter", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "Outcome" + ], + "role": "typed_binder", + "source": "{Outcome : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Outcome]", + "type_source": "Fintype Outcome", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Nonempty Outcome]", + "type_source": "Nonempty Outcome", + "visibility": "instance" + } + ], + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.finite_information" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.ExponentialFamily.ScalarExponentialFamily", + "namespace_variable_context": [ + "{Outcome : Type*} [Fintype Outcome] [Nonempty Outcome]" + ], + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty Outcome] in" + } + ], + "qualified_name": "FEP.ExponentialFamily.ScalarExponentialFamily.partition_pos", + "source_line": 54, + "source_owner": "src/fep_lean/formal/exponential_family.lean", + "statement": "theorem partition_pos (family : ScalarExponentialFamily Outcome)\n (parameter : ℝ) : 0 < family.partition parameter", + "statement_sha256": "f10ef8bc4173e8f7a7a994a622d01e08a7bf9b3e9cb1181196267423b0949a6d" + }, + "FEP.ExponentialFamily.ScalarExponentialFamily.score_eq_statistic_sub_mean": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "family" + ], + "role": "typed_binder", + "source": "(family : ScalarExponentialFamily Outcome)", + "type_source": "ScalarExponentialFamily Outcome", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "parameter" + ], + "role": "typed_binder", + "source": "(parameter : ℝ)", + "type_source": "ℝ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "outcome" + ], + "role": "typed_binder", + "source": "(outcome : Outcome)", + "type_source": "Outcome", + "visibility": "explicit" + } + ], + "conclusion": "family.score parameter outcome =\n family.statistic outcome - family.mean parameter", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "Outcome" + ], + "role": "typed_binder", + "source": "{Outcome : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Outcome]", + "type_source": "Fintype Outcome", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Nonempty Outcome]", + "type_source": "Nonempty Outcome", + "visibility": "instance" + } + ], + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.finite_information" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.ExponentialFamily.ScalarExponentialFamily", + "namespace_variable_context": [ + "{Outcome : Type*} [Fintype Outcome] [Nonempty Outcome]" + ], + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty Outcome] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty Outcome] in" + } + ], + "qualified_name": "FEP.ExponentialFamily.ScalarExponentialFamily.score_eq_statistic_sub_mean", + "source_line": 122, + "source_owner": "src/fep_lean/formal/exponential_family.lean", + "statement": "theorem score_eq_statistic_sub_mean\n (family : ScalarExponentialFamily Outcome)\n (parameter : ℝ) (outcome : Outcome) :\n family.score parameter outcome =\n family.statistic outcome - family.mean parameter", + "statement_sha256": "ff19fc1e7e8faaac0cf0d67147d5e2882db8982300f8a9c71648b777d82f866a" + }, + "FEP.ExponentialFamily.ScalarExponentialFamily.threeState_variance_zero": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [], + "conclusion": "threeStateFamily.variance 0 = 2 / 3", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "Outcome" + ], + "role": "typed_binder", + "source": "{Outcome : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Outcome]", + "type_source": "Fintype Outcome", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Nonempty Outcome]", + "type_source": "Nonempty Outcome", + "visibility": "instance" + } + ], + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.finite_information" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.ExponentialFamily.ScalarExponentialFamily", + "namespace_variable_context": [ + "{Outcome : Type*} [Fintype Outcome] [Nonempty Outcome]" + ], + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty Outcome] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty Outcome] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty Outcome] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty Outcome] in" + } + ], + "qualified_name": "FEP.ExponentialFamily.ScalarExponentialFamily.threeState_variance_zero", + "source_line": 406, + "source_owner": "src/fep_lean/formal/exponential_family.lean", + "statement": "theorem threeState_variance_zero : threeStateFamily.variance 0 = 2 / 3", + "statement_sha256": "da20e31971b78ba048982b21e612c3474ff35cbacd59ec366182566a9145c117" + }, + "FEP.ExponentialFamily.ScalarExponentialFamily.threeState_variance_zero_pos": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [], + "conclusion": "0 < threeStateFamily.variance 0", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "Outcome" + ], + "role": "typed_binder", + "source": "{Outcome : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Outcome]", + "type_source": "Fintype Outcome", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Nonempty Outcome]", + "type_source": "Nonempty Outcome", + "visibility": "instance" + } + ], + "declaration_mentions": [ + { + "identifier": "threeState_variance_zero", + "qualified_name": "FEP.ExponentialFamily.ScalarExponentialFamily.threeState_variance_zero", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + } + ], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.finite_information" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.ExponentialFamily.ScalarExponentialFamily", + "namespace_variable_context": [ + "{Outcome : Type*} [Fintype Outcome] [Nonempty Outcome]" + ], + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty Outcome] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty Outcome] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty Outcome] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty Outcome] in" + } + ], + "qualified_name": "FEP.ExponentialFamily.ScalarExponentialFamily.threeState_variance_zero_pos", + "source_line": 410, + "source_owner": "src/fep_lean/formal/exponential_family.lean", + "statement": "theorem threeState_variance_zero_pos : 0 < threeStateFamily.variance 0", + "statement_sha256": "95dda5d86e5125880d663a04fc18fcd43dacd62bb8be6d1eff827a0da5d53850" + }, + "FEP.ExponentialFamily.ScalarExponentialFamily.variance_eq_rawMoment": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "family" + ], + "role": "typed_binder", + "source": "(family : ScalarExponentialFamily Outcome)", + "type_source": "ScalarExponentialFamily Outcome", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "parameter" + ], + "role": "typed_binder", + "source": "(parameter : ℝ)", + "type_source": "ℝ", + "visibility": "explicit" + } + ], + "conclusion": "family.variance parameter =\n family.weightedMoment 2 parameter / family.partition parameter -\n family.mean parameter ^ 2", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "Outcome" + ], + "role": "typed_binder", + "source": "{Outcome : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Outcome]", + "type_source": "Fintype Outcome", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Nonempty Outcome]", + "type_source": "Nonempty Outcome", + "visibility": "instance" + } + ], + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.finite_information" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.ExponentialFamily.ScalarExponentialFamily", + "namespace_variable_context": [ + "{Outcome : Type*} [Fintype Outcome] [Nonempty Outcome]" + ], + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty Outcome] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty Outcome] in" + } + ], + "qualified_name": "FEP.ExponentialFamily.ScalarExponentialFamily.variance_eq_rawMoment", + "source_line": 156, + "source_owner": "src/fep_lean/formal/exponential_family.lean", + "statement": "theorem variance_eq_rawMoment (family : ScalarExponentialFamily Outcome)\n (parameter : ℝ) :\n family.variance parameter =\n family.weightedMoment 2 parameter / family.partition parameter -\n family.mean parameter ^ 2", + "statement_sha256": "be0ed42b5b39686938c79f135be4a3b2b6d28a5de1ed16019aa40a50dbb5bf21" + }, + "FEP.ExponentialFamily.ScalarExponentialFamily.weight_pos": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "family" + ], + "role": "typed_binder", + "source": "(family : ScalarExponentialFamily Outcome)", + "type_source": "ScalarExponentialFamily Outcome", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "parameter" + ], + "role": "typed_binder", + "source": "(parameter : ℝ)", + "type_source": "ℝ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "outcome" + ], + "role": "typed_binder", + "source": "(outcome : Outcome)", + "type_source": "Outcome", + "visibility": "explicit" + } + ], + "conclusion": "0 < family.weight parameter outcome", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "Outcome" + ], + "role": "typed_binder", + "source": "{Outcome : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Outcome]", + "type_source": "Fintype Outcome", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Nonempty Outcome]", + "type_source": "Nonempty Outcome", + "visibility": "instance" + } + ], + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.finite_information" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.ExponentialFamily.ScalarExponentialFamily", + "namespace_variable_context": [ + "{Outcome : Type*} [Fintype Outcome] [Nonempty Outcome]" + ], + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty Outcome] in" + } + ], + "qualified_name": "FEP.ExponentialFamily.ScalarExponentialFamily.weight_pos", + "source_line": 49, + "source_owner": "src/fep_lean/formal/exponential_family.lean", + "statement": "theorem weight_pos (family : ScalarExponentialFamily Outcome)\n (parameter : ℝ) (outcome : Outcome) :\n 0 < family.weight parameter outcome", + "statement_sha256": "3c673d17c383f6352097f8d57e4ef69f7deaf78798b7efe357a024c35761cac7" + }, + "FEP.ExponentialFamily.ScalarExponentialFamily.weightedMoment_hasDerivAt": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "family" + ], + "role": "typed_binder", + "source": "(family : ScalarExponentialFamily Outcome)", + "type_source": "ScalarExponentialFamily Outcome", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "order" + ], + "role": "typed_binder", + "source": "(order : ℕ)", + "type_source": "ℕ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "parameter" + ], + "role": "typed_binder", + "source": "(parameter : ℝ)", + "type_source": "ℝ", + "visibility": "explicit" + } + ], + "conclusion": "HasDerivAt (family.weightedMoment order)\n (family.weightedMoment (order + 1) parameter) parameter", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "Outcome" + ], + "role": "typed_binder", + "source": "{Outcome : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Outcome]", + "type_source": "Fintype Outcome", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Nonempty Outcome]", + "type_source": "Nonempty Outcome", + "visibility": "instance" + } + ], + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.finite_information" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.ExponentialFamily.ScalarExponentialFamily", + "namespace_variable_context": [ + "{Outcome : Type*} [Fintype Outcome] [Nonempty Outcome]" + ], + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty Outcome] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty Outcome] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty Outcome] in" + } + ], + "qualified_name": "FEP.ExponentialFamily.ScalarExponentialFamily.weightedMoment_hasDerivAt", + "source_line": 209, + "source_owner": "src/fep_lean/formal/exponential_family.lean", + "statement": "theorem weightedMoment_hasDerivAt\n (family : ScalarExponentialFamily Outcome)\n (order : ℕ) (parameter : ℝ) :\n HasDerivAt (family.weightedMoment order)\n (family.weightedMoment (order + 1) parameter) parameter", + "statement_sha256": "cd5fd0fa5739940ab519460973a57292032b03b7b30c5c61b6b39a53b1b539c8" + }, + "FEP.Fin4GaussianSemigroup.K_eigenmode_four_external": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [], + "conclusion": "K *ᵥ eigenmodeFourExternal = 4 • eigenmodeFourExternal", + "context_binders": [], + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.linear_gaussian_semigroup" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.Fin4GaussianSemigroup", + "namespace_variable_context": [], + "preceding_scope_directives": [], + "qualified_name": "FEP.Fin4GaussianSemigroup.K_eigenmode_four_external", + "source_line": 179, + "source_owner": "src/fep_lean/formal/fin4_gaussian_semigroup.lean", + "statement": "theorem K_eigenmode_four_external :\n K *ᵥ eigenmodeFourExternal = 4 • eigenmodeFourExternal", + "statement_sha256": "ba427b973cade1f06772407c7a742efe4492255985255d1bd4f6c645d28e01ce" + }, + "FEP.Fin4GaussianSemigroup.K_eigenmode_four_sensory": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [], + "conclusion": "K *ᵥ eigenmodeFourSensory = 4 • eigenmodeFourSensory", + "context_binders": [], + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.linear_gaussian_semigroup" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.Fin4GaussianSemigroup", + "namespace_variable_context": [], + "preceding_scope_directives": [], + "qualified_name": "FEP.Fin4GaussianSemigroup.K_eigenmode_four_sensory", + "source_line": 187, + "source_owner": "src/fep_lean/formal/fin4_gaussian_semigroup.lean", + "statement": "theorem K_eigenmode_four_sensory :\n K *ᵥ eigenmodeFourSensory = 4 • eigenmodeFourSensory", + "statement_sha256": "761955f54384734da1bd0c0fbfd12921a6e114fc188b50785b8253779a37e43a" + }, + "FEP.Fin4GaussianSemigroup.K_eigenmode_six": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [], + "conclusion": "K *ᵥ eigenmodeSix = 6 • eigenmodeSix", + "context_binders": [], + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.linear_gaussian_semigroup" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.Fin4GaussianSemigroup", + "namespace_variable_context": [], + "preceding_scope_directives": [], + "qualified_name": "FEP.Fin4GaussianSemigroup.K_eigenmode_six", + "source_line": 195, + "source_owner": "src/fep_lean/formal/fin4_gaussian_semigroup.lean", + "statement": "theorem K_eigenmode_six :\n K *ᵥ eigenmodeSix = 6 • eigenmodeSix", + "statement_sha256": "3384deba99aea33d14d2048451d120e50052b22e3661bb2bef925c6108cde5f1" + }, + "FEP.Fin4GaussianSemigroup.K_eigenmode_two": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [], + "conclusion": "K *ᵥ eigenmodeTwo = 2 • eigenmodeTwo", + "context_binders": [], "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ @@ -47852,31 +51391,10 @@ "statement": "theorem transition_zero (center : StandardizedState) :\n transition center 0 = Kernel.id", "statement_sha256": "d9e947b68ba44d2be3b232ad21806d5816d484c4d0b59a8424ad597b3b6d8af1" }, - "FEP.FiniteInformation.conditionalEntropy_nonneg": { + "FEP.FiniteInformation.boolBiased_entropy_lt_log_two": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [ - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "prior" - ], - "role": "typed_binder", - "source": "(prior : FiniteLaw α)", - "type_source": "FiniteLaw α", - "visibility": "explicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "kernel" - ], - "role": "typed_binder", - "source": "(kernel : FiniteKernel α β)", - "type_source": "FiniteKernel α β", - "visibility": "explicit" - } - ], - "conclusion": "0 ≤ conditionalEntropy prior kernel", + "binders": [], + "conclusion": "entropy boolBiased < Real.log 2", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -47908,8 +51426,8 @@ ], "declaration_mentions": [ { - "identifier": "entropy_nonneg", - "qualified_name": "FEP.FiniteInformation.entropy_nonneg", + "identifier": "entropy_lt_log_card_of_ne_uniform", + "qualified_name": "FEP.FiniteInformation.entropy_lt_log_card_of_ne_uniform", "resolution": "exact or same-namespace source identifier", "role": "proof_reference" } @@ -47925,13 +51443,13 @@ "{α β : Type*} [Fintype α] [Fintype β]" ], "preceding_scope_directives": [], - "qualified_name": "FEP.FiniteInformation.conditionalEntropy_nonneg", - "source_line": 169, + "qualified_name": "FEP.FiniteInformation.boolBiased_entropy_lt_log_two", + "source_line": 509, "source_owner": "src/fep_lean/formal/finite_information.lean", - "statement": "theorem conditionalEntropy_nonneg\n (prior : FiniteLaw α) (kernel : FiniteKernel α β) :\n 0 ≤ conditionalEntropy prior kernel", - "statement_sha256": "fca76ad5b938028e42b94a2486e3448d59ae871cac2222dd714d23c85d85a049" + "statement": "theorem boolBiased_entropy_lt_log_two :\n entropy boolBiased < Real.log 2", + "statement_sha256": "3d3ed81e7694760d3223c7eb4acad12d5afbcc74c427bbfdb390c7c6a1c2b127" }, - "FEP.FiniteInformation.conditionalKL_eq_crossEntropy_sub_entropy": { + "FEP.FiniteInformation.conditionalEntropy_nonneg": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { @@ -47947,18 +51465,97 @@ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "actual", - "reference" + "kernel" ], "role": "typed_binder", - "source": "(actual reference : FiniteKernel α β)", + "source": "(kernel : FiniteKernel α β)", "type_source": "FiniteKernel α β", "visibility": "explicit" - }, + } + ], + "conclusion": "0 ≤ conditionalEntropy prior kernel", + "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "hreference" + "α", + "β" + ], + "role": "typed_binder", + "source": "{α β : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype α]", + "type_source": "Fintype α", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype β]", + "type_source": "Fintype β", + "visibility": "instance" + } + ], + "declaration_mentions": [ + { + "identifier": "entropy_nonneg", + "qualified_name": "FEP.FiniteInformation.entropy_nonneg", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + } + ], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.finite_probability", + "Mathlib.InformationTheory.KullbackLeibler.KLFun" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.FiniteInformation", + "namespace_variable_context": [ + "{α β : Type*} [Fintype α] [Fintype β]" + ], + "preceding_scope_directives": [], + "qualified_name": "FEP.FiniteInformation.conditionalEntropy_nonneg", + "source_line": 169, + "source_owner": "src/fep_lean/formal/finite_information.lean", + "statement": "theorem conditionalEntropy_nonneg\n (prior : FiniteLaw α) (kernel : FiniteKernel α β) :\n 0 ≤ conditionalEntropy prior kernel", + "statement_sha256": "fca76ad5b938028e42b94a2486e3448d59ae871cac2222dd714d23c85d85a049" + }, + "FEP.FiniteInformation.conditionalKL_eq_crossEntropy_sub_entropy": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "prior" + ], + "role": "typed_binder", + "source": "(prior : FiniteLaw α)", + "type_source": "FiniteLaw α", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "actual", + "reference" + ], + "role": "typed_binder", + "source": "(actual reference : FiniteKernel α β)", + "type_source": "FiniteKernel α β", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hreference" ], "role": "typed_binder", "source": "(hreference : ∀ x y, 0 < reference x y)", @@ -48430,31 +52027,29 @@ "statement": "theorem crossEntropy_product_marginals (joint : FiniteLaw (α × β))\n (hfst : ∀ x, 0 < joint.fstMarginal x)\n (hsnd : ∀ y, 0 < joint.sndMarginal y) :\n crossEntropy joint (joint.fstMarginal.product joint.sndMarginal) =\n entropy joint.fstMarginal + entropy joint.sndMarginal", "statement_sha256": "80c7e4a257d4eb90a7f90d3d1af9e06ddc05af260ecbb32648a41be3a72d6fab" }, - "FEP.FiniteInformation.entropy_joint_eq_add_conditional": { + "FEP.FiniteInformation.crossEntropy_uniform": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "prior" - ], - "role": "typed_binder", - "source": "(prior : FiniteLaw α)", - "type_source": "FiniteLaw α", - "visibility": "explicit" + "names": [], + "role": "instance_requirement", + "source": "[Nonempty α]", + "type_source": "Nonempty α", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "kernel" + "p" ], "role": "typed_binder", - "source": "(kernel : FiniteKernel α β)", - "type_source": "FiniteKernel α β", + "source": "(p : FiniteLaw α)", + "type_source": "FiniteLaw α", "visibility": "explicit" } ], - "conclusion": "entropy (kernel.joint prior) =\n entropy prior + conditionalEntropy prior kernel", + "conclusion": "crossEntropy p FiniteLaw.uniform = Real.log (Fintype.card α)", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -48496,15 +52091,23 @@ "{α β : Type*} [Fintype α] [Fintype β]" ], "preceding_scope_directives": [], - "qualified_name": "FEP.FiniteInformation.entropy_joint_eq_add_conditional", - "source_line": 210, + "qualified_name": "FEP.FiniteInformation.crossEntropy_uniform", + "source_line": 467, "source_owner": "src/fep_lean/formal/finite_information.lean", - "statement": "theorem entropy_joint_eq_add_conditional\n (prior : FiniteLaw α) (kernel : FiniteKernel α β) :\n entropy (kernel.joint prior) =\n entropy prior + conditionalEntropy prior kernel", - "statement_sha256": "39b3e43f25d8f681f24b4b2e8ce1f573cdc4c4adba0bae4536ba5696bd765b8a" + "statement": "theorem crossEntropy_uniform [Nonempty α] (p : FiniteLaw α) :\n crossEntropy p FiniteLaw.uniform = Real.log (Fintype.card α)", + "statement_sha256": "89826f4b0ca900c322e6be3704c8e3ad8136f86e93486c0d714029f211533e3f" }, - "FEP.FiniteInformation.entropy_nonneg": { + "FEP.FiniteInformation.entropy_eq_log_card_iff": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Nonempty α]", + "type_source": "Nonempty α", + "visibility": "instance" + }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ @@ -48516,7 +52119,7 @@ "visibility": "explicit" } ], - "conclusion": "0 ≤ entropy p", + "conclusion": "entropy p = Real.log (Fintype.card α) ↔ p = FiniteLaw.uniform", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -48546,7 +52149,32 @@ "visibility": "instance" } ], - "declaration_mentions": [], + "declaration_mentions": [ + { + "identifier": "crossEntropy_uniform", + "qualified_name": "FEP.FiniteInformation.crossEntropy_uniform", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + }, + { + "identifier": "finiteKL_eq_crossEntropy_sub_entropy", + "qualified_name": "FEP.FiniteInformation.finiteKL_eq_crossEntropy_sub_entropy", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + }, + { + "identifier": "finiteKL_eq_zero_iff", + "qualified_name": "FEP.FiniteInformation.finiteKL_eq_zero_iff", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + }, + { + "identifier": "uniform_mass_pos", + "qualified_name": "FEP.FiniteInformation.uniform_mass_pos", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + } + ], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ "FepSketches.finite_probability", @@ -48558,37 +52186,37 @@ "{α β : Type*} [Fintype α] [Fintype β]" ], "preceding_scope_directives": [], - "qualified_name": "FEP.FiniteInformation.entropy_nonneg", - "source_line": 34, + "qualified_name": "FEP.FiniteInformation.entropy_eq_log_card_iff", + "source_line": 487, "source_owner": "src/fep_lean/formal/finite_information.lean", - "statement": "theorem entropy_nonneg (p : FiniteLaw α) : 0 ≤ entropy p", - "statement_sha256": "eb76c2347a2b3a4bbfa8eb67a54c2f1cd92139215fe077b7c6655d93b1f37b7d" + "statement": "theorem entropy_eq_log_card_iff [Nonempty α] (p : FiniteLaw α) :\n entropy p = Real.log (Fintype.card α) ↔ p = FiniteLaw.uniform", + "statement_sha256": "8495d3da5a4498a24554598639b8af6b2b54bb0ae9c98f9e302ffb54143dc3c4" }, - "FEP.FiniteInformation.entropy_product": { + "FEP.FiniteInformation.entropy_joint_eq_add_conditional": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "p" + "prior" ], "role": "typed_binder", - "source": "(p : FiniteLaw α)", + "source": "(prior : FiniteLaw α)", "type_source": "FiniteLaw α", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "q" + "kernel" ], "role": "typed_binder", - "source": "(q : FiniteLaw β)", - "type_source": "FiniteLaw β", + "source": "(kernel : FiniteKernel α β)", + "type_source": "FiniteKernel α β", "visibility": "explicit" } ], - "conclusion": "entropy (p.product q) = entropy p + entropy q", + "conclusion": "entropy (kernel.joint prior) =\n entropy prior + conditionalEntropy prior kernel", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -48630,89 +52258,35 @@ "{α β : Type*} [Fintype α] [Fintype β]" ], "preceding_scope_directives": [], - "qualified_name": "FEP.FiniteInformation.entropy_product", - "source_line": 305, + "qualified_name": "FEP.FiniteInformation.entropy_joint_eq_add_conditional", + "source_line": 210, "source_owner": "src/fep_lean/formal/finite_information.lean", - "statement": "theorem entropy_product (p : FiniteLaw α) (q : FiniteLaw β) :\n entropy (p.product q) = entropy p + entropy q", - "statement_sha256": "b307234b93b5624b1b8f4e5239b7b3b42771dc4b3bd363393bc39e09cf627ee6" + "statement": "theorem entropy_joint_eq_add_conditional\n (prior : FiniteLaw α) (kernel : FiniteKernel α β) :\n entropy (kernel.joint prior) =\n entropy prior + conditionalEntropy prior kernel", + "statement_sha256": "39b3e43f25d8f681f24b4b2e8ce1f573cdc4c4adba0bae4536ba5696bd765b8a" }, - "FEP.FiniteInformation.finiteKL_disjoint_pointMass_totalized": { + "FEP.FiniteInformation.entropy_le_log_card": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [], - "conclusion": "finiteKL (FiniteLaw.pointMass true) (FiniteLaw.pointMass false) = 1", - "context_binders": [ - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "α", - "β" - ], - "role": "typed_binder", - "source": "{α β : Type*}", - "type_source": "Type*", - "visibility": "implicit" - }, + "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype α]", - "type_source": "Fintype α", + "source": "[Nonempty α]", + "type_source": "Nonempty α", "visibility": "instance" }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype β]", - "type_source": "Fintype β", - "visibility": "instance" - } - ], - "declaration_mentions": [], - "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", - "import_context": [ - "FepSketches.finite_probability", - "Mathlib.InformationTheory.KullbackLeibler.KLFun" - ], - "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.FiniteInformation", - "namespace_variable_context": [ - "{α β : Type*} [Fintype α] [Fintype β]" - ], - "preceding_scope_directives": [], - "qualified_name": "FEP.FiniteInformation.finiteKL_disjoint_pointMass_totalized", - "source_line": 66, - "source_owner": "src/fep_lean/formal/finite_information.lean", - "statement": "theorem finiteKL_disjoint_pointMass_totalized :\n finiteKL (FiniteLaw.pointMass true) (FiniteLaw.pointMass false) = 1", - "statement_sha256": "dfda67abead3160fe4ac8de606584c98755782c609f3b7ca032d4191c16f4c3c" - }, - "FEP.FiniteInformation.finiteKL_eq_crossEntropy_sub_entropy": { - "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "p", - "q" + "p" ], "role": "typed_binder", - "source": "(p q : FiniteLaw α)", + "source": "(p : FiniteLaw α)", "type_source": "FiniteLaw α", "visibility": "explicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "hq" - ], - "role": "typed_binder", - "source": "(hq : ∀ x, 0 < q x)", - "type_source": "∀ x, 0 < q x", - "visibility": "explicit" } ], - "conclusion": "finiteKL p q = crossEntropy p q - entropy p", + "conclusion": "entropy p ≤ Real.log (Fintype.card α)", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -48744,8 +52318,26 @@ ], "declaration_mentions": [ { - "identifier": "weighted_klFun_eq_log_score", - "qualified_name": "FEP.FiniteInformation.weighted_klFun_eq_log_score", + "identifier": "crossEntropy_uniform", + "qualified_name": "FEP.FiniteInformation.crossEntropy_uniform", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + }, + { + "identifier": "finiteKL_eq_crossEntropy_sub_entropy", + "qualified_name": "FEP.FiniteInformation.finiteKL_eq_crossEntropy_sub_entropy", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + }, + { + "identifier": "finiteKL_nonneg", + "qualified_name": "FEP.FiniteInformation.finiteKL_nonneg", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + }, + { + "identifier": "uniform_mass_pos", + "qualified_name": "FEP.FiniteInformation.uniform_mass_pos", "resolution": "exact or same-namespace source identifier", "role": "proof_reference" } @@ -48761,28 +52353,386 @@ "{α β : Type*} [Fintype α] [Fintype β]" ], "preceding_scope_directives": [], - "qualified_name": "FEP.FiniteInformation.finiteKL_eq_crossEntropy_sub_entropy", - "source_line": 143, + "qualified_name": "FEP.FiniteInformation.entropy_le_log_card", + "source_line": 479, "source_owner": "src/fep_lean/formal/finite_information.lean", - "statement": "theorem finiteKL_eq_crossEntropy_sub_entropy (p q : FiniteLaw α)\n (hq : ∀ x, 0 < q x) :\n finiteKL p q = crossEntropy p q - entropy p", - "statement_sha256": "aae480a2333741b0cd1e4c97c78db4f1de4f02096a525e307cb9faf73ba0fab9" + "statement": "theorem entropy_le_log_card [Nonempty α] (p : FiniteLaw α) :\n entropy p ≤ Real.log (Fintype.card α)", + "statement_sha256": "07a88f13ae67e89ea1d525cc3201b9d5d5402dbef07e3050294a084bb1f03c62" }, - "FEP.FiniteInformation.finiteKL_eq_zero_iff": { + "FEP.FiniteInformation.entropy_lt_log_card_of_ne_uniform": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Nonempty α]", + "type_source": "Nonempty α", + "visibility": "instance" + }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "p", - "q" + "p" ], "role": "typed_binder", - "source": "(p q : FiniteLaw α)", + "source": "(p : FiniteLaw α)", "type_source": "FiniteLaw α", "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hp" + ], + "role": "typed_binder", + "source": "(hp : p ≠ FiniteLaw.uniform)", + "type_source": "p ≠ FiniteLaw.uniform", + "visibility": "explicit" } ], - "conclusion": "finiteKL p q = 0 ↔ p = q", + "conclusion": "entropy p < Real.log (Fintype.card α)", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "α", + "β" + ], + "role": "typed_binder", + "source": "{α β : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype α]", + "type_source": "Fintype α", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype β]", + "type_source": "Fintype β", + "visibility": "instance" + } + ], + "declaration_mentions": [ + { + "identifier": "entropy_eq_log_card_iff", + "qualified_name": "FEP.FiniteInformation.entropy_eq_log_card_iff", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + }, + { + "identifier": "entropy_le_log_card", + "qualified_name": "FEP.FiniteInformation.entropy_le_log_card", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + } + ], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.finite_probability", + "Mathlib.InformationTheory.KullbackLeibler.KLFun" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.FiniteInformation", + "namespace_variable_context": [ + "{α β : Type*} [Fintype α] [Fintype β]" + ], + "preceding_scope_directives": [], + "qualified_name": "FEP.FiniteInformation.entropy_lt_log_card_of_ne_uniform", + "source_line": 496, + "source_owner": "src/fep_lean/formal/finite_information.lean", + "statement": "theorem entropy_lt_log_card_of_ne_uniform [Nonempty α] (p : FiniteLaw α)\n (hp : p ≠ FiniteLaw.uniform) :\n entropy p < Real.log (Fintype.card α)", + "statement_sha256": "6c35bbb9bf7a6b50ea1232a0b1689fbebbe5be195eab15a042f61a829b1647ba" + }, + "FEP.FiniteInformation.entropy_nonneg": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "p" + ], + "role": "typed_binder", + "source": "(p : FiniteLaw α)", + "type_source": "FiniteLaw α", + "visibility": "explicit" + } + ], + "conclusion": "0 ≤ entropy p", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "α", + "β" + ], + "role": "typed_binder", + "source": "{α β : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype α]", + "type_source": "Fintype α", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype β]", + "type_source": "Fintype β", + "visibility": "instance" + } + ], + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.finite_probability", + "Mathlib.InformationTheory.KullbackLeibler.KLFun" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.FiniteInformation", + "namespace_variable_context": [ + "{α β : Type*} [Fintype α] [Fintype β]" + ], + "preceding_scope_directives": [], + "qualified_name": "FEP.FiniteInformation.entropy_nonneg", + "source_line": 34, + "source_owner": "src/fep_lean/formal/finite_information.lean", + "statement": "theorem entropy_nonneg (p : FiniteLaw α) : 0 ≤ entropy p", + "statement_sha256": "eb76c2347a2b3a4bbfa8eb67a54c2f1cd92139215fe077b7c6655d93b1f37b7d" + }, + "FEP.FiniteInformation.entropy_product": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "p" + ], + "role": "typed_binder", + "source": "(p : FiniteLaw α)", + "type_source": "FiniteLaw α", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "q" + ], + "role": "typed_binder", + "source": "(q : FiniteLaw β)", + "type_source": "FiniteLaw β", + "visibility": "explicit" + } + ], + "conclusion": "entropy (p.product q) = entropy p + entropy q", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "α", + "β" + ], + "role": "typed_binder", + "source": "{α β : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype α]", + "type_source": "Fintype α", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype β]", + "type_source": "Fintype β", + "visibility": "instance" + } + ], + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.finite_probability", + "Mathlib.InformationTheory.KullbackLeibler.KLFun" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.FiniteInformation", + "namespace_variable_context": [ + "{α β : Type*} [Fintype α] [Fintype β]" + ], + "preceding_scope_directives": [], + "qualified_name": "FEP.FiniteInformation.entropy_product", + "source_line": 305, + "source_owner": "src/fep_lean/formal/finite_information.lean", + "statement": "theorem entropy_product (p : FiniteLaw α) (q : FiniteLaw β) :\n entropy (p.product q) = entropy p + entropy q", + "statement_sha256": "b307234b93b5624b1b8f4e5239b7b3b42771dc4b3bd363393bc39e09cf627ee6" + }, + "FEP.FiniteInformation.finiteKL_disjoint_pointMass_totalized": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [], + "conclusion": "finiteKL (FiniteLaw.pointMass true) (FiniteLaw.pointMass false) = 1", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "α", + "β" + ], + "role": "typed_binder", + "source": "{α β : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype α]", + "type_source": "Fintype α", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype β]", + "type_source": "Fintype β", + "visibility": "instance" + } + ], + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.finite_probability", + "Mathlib.InformationTheory.KullbackLeibler.KLFun" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.FiniteInformation", + "namespace_variable_context": [ + "{α β : Type*} [Fintype α] [Fintype β]" + ], + "preceding_scope_directives": [], + "qualified_name": "FEP.FiniteInformation.finiteKL_disjoint_pointMass_totalized", + "source_line": 66, + "source_owner": "src/fep_lean/formal/finite_information.lean", + "statement": "theorem finiteKL_disjoint_pointMass_totalized :\n finiteKL (FiniteLaw.pointMass true) (FiniteLaw.pointMass false) = 1", + "statement_sha256": "dfda67abead3160fe4ac8de606584c98755782c609f3b7ca032d4191c16f4c3c" + }, + "FEP.FiniteInformation.finiteKL_eq_crossEntropy_sub_entropy": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "p", + "q" + ], + "role": "typed_binder", + "source": "(p q : FiniteLaw α)", + "type_source": "FiniteLaw α", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hq" + ], + "role": "typed_binder", + "source": "(hq : ∀ x, 0 < q x)", + "type_source": "∀ x, 0 < q x", + "visibility": "explicit" + } + ], + "conclusion": "finiteKL p q = crossEntropy p q - entropy p", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "α", + "β" + ], + "role": "typed_binder", + "source": "{α β : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype α]", + "type_source": "Fintype α", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype β]", + "type_source": "Fintype β", + "visibility": "instance" + } + ], + "declaration_mentions": [ + { + "identifier": "weighted_klFun_eq_log_score", + "qualified_name": "FEP.FiniteInformation.weighted_klFun_eq_log_score", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + } + ], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.finite_probability", + "Mathlib.InformationTheory.KullbackLeibler.KLFun" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.FiniteInformation", + "namespace_variable_context": [ + "{α β : Type*} [Fintype α] [Fintype β]" + ], + "preceding_scope_directives": [], + "qualified_name": "FEP.FiniteInformation.finiteKL_eq_crossEntropy_sub_entropy", + "source_line": 143, + "source_owner": "src/fep_lean/formal/finite_information.lean", + "statement": "theorem finiteKL_eq_crossEntropy_sub_entropy (p q : FiniteLaw α)\n (hq : ∀ x, 0 < q x) :\n finiteKL p q = crossEntropy p q - entropy p", + "statement_sha256": "aae480a2333741b0cd1e4c97c78db4f1de4f02096a525e307cb9faf73ba0fab9" + }, + "FEP.FiniteInformation.finiteKL_eq_zero_iff": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "p", + "q" + ], + "role": "typed_binder", + "source": "(p q : FiniteLaw α)", + "type_source": "FiniteLaw α", + "visibility": "explicit" + } + ], + "conclusion": "finiteKL p q = 0 ↔ p = q", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -49811,6 +53761,76 @@ "statement": "theorem mutualInformation_product_eq_zero (p : FiniteLaw α) (q : FiniteLaw β) :\n mutualInformation (p.product q) = 0", "statement_sha256": "570713996a8afee0b08819ae181309caab83ea3e3dcca798e61fa677e1ecba54" }, + "FEP.FiniteInformation.uniform_mass_pos": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Nonempty α]", + "type_source": "Nonempty α", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "x" + ], + "role": "typed_binder", + "source": "(x : α)", + "type_source": "α", + "visibility": "explicit" + } + ], + "conclusion": "0 < (FiniteLaw.uniform : FiniteLaw α) x", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "α", + "β" + ], + "role": "typed_binder", + "source": "{α β : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype α]", + "type_source": "Fintype α", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype β]", + "type_source": "Fintype β", + "visibility": "instance" + } + ], + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.finite_probability", + "Mathlib.InformationTheory.KullbackLeibler.KLFun" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.FiniteInformation", + "namespace_variable_context": [ + "{α β : Type*} [Fintype α] [Fintype β]" + ], + "preceding_scope_directives": [], + "qualified_name": "FEP.FiniteInformation.uniform_mass_pos", + "source_line": 461, + "source_owner": "src/fep_lean/formal/finite_information.lean", + "statement": "theorem uniform_mass_pos [Nonempty α] (x : α) :\n 0 < (FiniteLaw.uniform : FiniteLaw α) x", + "statement_sha256": "8c17c0049626223565d8f2e7bd07c4a7c3949120f8be812915fd73a7e18d6a36" + }, "FEP.FiniteInformation.weighted_klFun_eq_log_score": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ @@ -63979,6 +67999,7 @@ "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ "FepSketches.continuous_time_markov", + "FepSketches.geometric_mechanics", "Mathlib.Tactic" ], "line_coordinate_kind": "formal_resource_file", @@ -63988,7 +68009,7 @@ ], "preceding_scope_directives": [], "qualified_name": "FEP.HelmholtzAoNess.aoDecomposition", - "source_line": 194, + "source_line": 130, "source_owner": "src/fep_lean/formal/helmholtz_ao_ness.lean", "statement": "theorem aoDecomposition {rate : State → State → ℝ} {law : FiniteLaw State}\n (hSupport : ∀ i, 0 < law i) (i j : State) :\n rate i j = symmetricPart rate law i j + circulationPart rate law i j", "statement_sha256": "d3f3554a5e58f286933dd6f4942a249ef845346a568c58e05a8c12a5c540cc6d" @@ -64053,6 +68074,7 @@ "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ "FepSketches.continuous_time_markov", + "FepSketches.geometric_mechanics", "Mathlib.Tactic" ], "line_coordinate_kind": "formal_resource_file", @@ -64062,7 +68084,7 @@ ], "preceding_scope_directives": [], "qualified_name": "FEP.HelmholtzAoNess.circulationNum_skew", - "source_line": 170, + "source_line": 106, "source_owner": "src/fep_lean/formal/helmholtz_ao_ness.lean", "statement": "theorem circulationNum_skew {rate : State → State → ℝ}\n {law : FiniteLaw State} (i j : State) :\n circulationNum rate law i j = -circulationNum rate law j i", "statement_sha256": "05f7fd403c900f636f35656a9e578033dcc02c03b141c721aa2cbf548f0ded71" @@ -64150,6 +68172,7 @@ "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ "FepSketches.continuous_time_markov", + "FepSketches.geometric_mechanics", "Mathlib.Tactic" ], "line_coordinate_kind": "formal_resource_file", @@ -64159,7 +68182,7 @@ ], "preceding_scope_directives": [], "qualified_name": "FEP.HelmholtzAoNess.circulationPart_skew", - "source_line": 204, + "source_line": 140, "source_owner": "src/fep_lean/formal/helmholtz_ao_ness.lean", "statement": "theorem circulationPart_skew {rate : State → State → ℝ} {law : FiniteLaw State}\n (hSupport : ∀ i, 0 < law i) (i j : State) :\n law i * circulationPart rate law i j =\n -(law j * circulationPart rate law j i)", "statement_sha256": "f8b317a23ed5ddcd413e4bf901129f9a67dc5bb9e45dd305bc9bcdd9a7f35add" @@ -64256,6 +68279,7 @@ "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ "FepSketches.continuous_time_markov", + "FepSketches.geometric_mechanics", "Mathlib.Tactic" ], "line_coordinate_kind": "formal_resource_file", @@ -64265,7 +68289,7 @@ ], "preceding_scope_directives": [], "qualified_name": "FEP.HelmholtzAoNess.circulation_divergence_zero", - "source_line": 315, + "source_line": 251, "source_owner": "src/fep_lean/formal/helmholtz_ao_ness.lean", "statement": "theorem circulation_divergence_zero\n (generator : FiniteRateGenerator State) (law : FiniteLaw State)\n (hStat : generator.IsStationary law) (hSupport : ∀ i, 0 < law i)\n (i : State) :\n ∑ j, 2 * law j * circulationPart generator.rate law j i = 0", "statement_sha256": "80f02f6df89b7c448421d9b340ebf113eadddf0405cd7bf819224f49d30ce294" @@ -64340,6 +68364,7 @@ "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ "FepSketches.continuous_time_markov", + "FepSketches.geometric_mechanics", "Mathlib.Tactic" ], "line_coordinate_kind": "formal_resource_file", @@ -64349,7 +68374,7 @@ ], "preceding_scope_directives": [], "qualified_name": "FEP.HelmholtzAoNess.current_eq_twice_circulation", - "source_line": 224, + "source_line": 160, "source_owner": "src/fep_lean/formal/helmholtz_ao_ness.lean", "statement": "theorem current_eq_twice_circulation {rate : State → State → ℝ}\n {law : FiniteLaw State} (hSupport : ∀ i, 0 < law i) (i j : State) :\n circulationNum rate law i j =\n 2 * law i * circulationPart rate law i j", "statement_sha256": "530e0a4d2a162783362429fb6a4a5f40308f0aa320bb447eec3bf24a13763328" @@ -64384,6 +68409,7 @@ "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ "FepSketches.continuous_time_markov", + "FepSketches.geometric_mechanics", "Mathlib.Tactic" ], "line_coordinate_kind": "formal_resource_file", @@ -64391,7 +68417,7 @@ "namespace_variable_context": [], "preceding_scope_directives": [], "qualified_name": "FEP.HelmholtzAoNess.cycle_ao_ness", - "source_line": 380, + "source_line": 316, "source_owner": "src/fep_lean/formal/helmholtz_ao_ness.lean", "statement": "theorem cycle_ao_ness :\n threeCycleGenerator.IsStationary threeCycleStationaryLaw ∧\n (∀ i : Fin 3,\n ∑ j, threeCycleGenerator.probabilityCurrent\n threeCycleStationaryLaw j i = 0) ∧\n circulationPart threeCycleGenerator.rate threeCycleStationaryLaw\n (0 : Fin 3) (1 : Fin 3) ≠ 0", "statement_sha256": "e33399621200f48d2796a1dc36108c95f2d79ff9d1b37ad7122912e9c1bd9e57" @@ -64412,6 +68438,7 @@ "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ "FepSketches.continuous_time_markov", + "FepSketches.geometric_mechanics", "Mathlib.Tactic" ], "line_coordinate_kind": "formal_resource_file", @@ -64419,7 +68446,7 @@ "namespace_variable_context": [], "preceding_scope_directives": [], "qualified_name": "FEP.HelmholtzAoNess.cycle_circulationPart_ne_zero", - "source_line": 372, + "source_line": 308, "source_owner": "src/fep_lean/formal/helmholtz_ao_ness.lean", "statement": "theorem cycle_circulationPart_ne_zero :\n circulationPart threeCycleGenerator.rate threeCycleStationaryLaw\n (0 : Fin 3) (1 : Fin 3) ≠ 0", "statement_sha256": "175b79a962d52f3438e8823a3fff77dcbc6a164997f450afc2f4eff1a6bf4ffa" @@ -64433,6 +68460,7 @@ "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ "FepSketches.continuous_time_markov", + "FepSketches.geometric_mechanics", "Mathlib.Tactic" ], "line_coordinate_kind": "formal_resource_file", @@ -64440,7 +68468,7 @@ "namespace_variable_context": [], "preceding_scope_directives": [], "qualified_name": "FEP.HelmholtzAoNess.cycle_circulationPart_one_zero", - "source_line": 347, + "source_line": 283, "source_owner": "src/fep_lean/formal/helmholtz_ao_ness.lean", "statement": "theorem cycle_circulationPart_one_zero :\n circulationPart threeCycleGenerator.rate threeCycleStationaryLaw\n (1 : Fin 3) (0 : Fin 3) = -1 / 2", "statement_sha256": "baa8118f91372f13ccab981ada421003cb3414630e9948e158019b0477ec5154" @@ -64454,6 +68482,7 @@ "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ "FepSketches.continuous_time_markov", + "FepSketches.geometric_mechanics", "Mathlib.Tactic" ], "line_coordinate_kind": "formal_resource_file", @@ -64461,7 +68490,7 @@ "namespace_variable_context": [], "preceding_scope_directives": [], "qualified_name": "FEP.HelmholtzAoNess.cycle_circulationPart_zero_one", - "source_line": 340, + "source_line": 276, "source_owner": "src/fep_lean/formal/helmholtz_ao_ness.lean", "statement": "theorem cycle_circulationPart_zero_one :\n circulationPart threeCycleGenerator.rate threeCycleStationaryLaw\n (0 : Fin 3) (1 : Fin 3) = 1 / 2", "statement_sha256": "e89e248aead0dfdf690ae70b0e5e983ef63c4765e078cbb1e65cfbc4bebdc9cb" @@ -64501,6 +68530,7 @@ "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ "FepSketches.continuous_time_markov", + "FepSketches.geometric_mechanics", "Mathlib.Tactic" ], "line_coordinate_kind": "formal_resource_file", @@ -64508,7 +68538,7 @@ "namespace_variable_context": [], "preceding_scope_directives": [], "qualified_name": "FEP.HelmholtzAoNess.cycle_current_divergence_zero", - "source_line": 364, + "source_line": 300, "source_owner": "src/fep_lean/formal/helmholtz_ao_ness.lean", "statement": "theorem cycle_current_divergence_zero (i : Fin 3) :\n ∑ j, threeCycleGenerator.probabilityCurrent threeCycleStationaryLaw j i =\n 0", "statement_sha256": "8c3aee1110dd94c24d298597c8afbeb9a1463b099504178b7d5cecb68fcd3356" @@ -64535,6 +68565,7 @@ "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ "FepSketches.continuous_time_markov", + "FepSketches.geometric_mechanics", "Mathlib.Tactic" ], "line_coordinate_kind": "formal_resource_file", @@ -64542,7 +68573,7 @@ "namespace_variable_context": [], "preceding_scope_directives": [], "qualified_name": "FEP.HelmholtzAoNess.cycle_decomposition_zero_one", - "source_line": 354, + "source_line": 290, "source_owner": "src/fep_lean/formal/helmholtz_ao_ness.lean", "statement": "theorem cycle_decomposition_zero_one :\n threeCycleGenerator.rate (0 : Fin 3) (1 : Fin 3) =\n symmetricPart threeCycleGenerator.rate threeCycleStationaryLaw\n (0 : Fin 3) (1 : Fin 3) +\n circulationPart threeCycleGenerator.rate threeCycleStationaryLaw\n (0 : Fin 3) (1 : Fin 3)", "statement_sha256": "03ed8163c0982af24ae8a38643a2ca5bd2c5adafd26976fb8451837702b8d7e4" @@ -64567,6 +68598,7 @@ "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ "FepSketches.continuous_time_markov", + "FepSketches.geometric_mechanics", "Mathlib.Tactic" ], "line_coordinate_kind": "formal_resource_file", @@ -64574,7 +68606,7 @@ "namespace_variable_context": [], "preceding_scope_directives": [], "qualified_name": "FEP.HelmholtzAoNess.cycle_support", - "source_line": 331, + "source_line": 267, "source_owner": "src/fep_lean/formal/helmholtz_ao_ness.lean", "statement": "theorem cycle_support (i : Fin 3) : 0 < threeCycleStationaryLaw i", "statement_sha256": "6fd6041526d915a66d760d586739b5f150b00484c51609cdbf49c38c055da7cb" @@ -64588,6 +68620,7 @@ "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ "FepSketches.continuous_time_markov", + "FepSketches.geometric_mechanics", "Mathlib.Tactic" ], "line_coordinate_kind": "formal_resource_file", @@ -64595,7 +68628,7 @@ "namespace_variable_context": [], "preceding_scope_directives": [], "qualified_name": "FEP.HelmholtzAoNess.cycle_symmetricPart_zero_one", - "source_line": 334, + "source_line": 270, "source_owner": "src/fep_lean/formal/helmholtz_ao_ness.lean", "statement": "theorem cycle_symmetricPart_zero_one :\n symmetricPart threeCycleGenerator.rate threeCycleStationaryLaw\n (0 : Fin 3) (1 : Fin 3) = 1 / 2", "statement_sha256": "8800cfcdd709f3bc4182eb93e58140a140a464dc306b888ce57180251705127f" @@ -64659,6 +68692,7 @@ "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ "FepSketches.continuous_time_markov", + "FepSketches.geometric_mechanics", "Mathlib.Tactic" ], "line_coordinate_kind": "formal_resource_file", @@ -64668,7 +68702,7 @@ ], "preceding_scope_directives": [], "qualified_name": "FEP.HelmholtzAoNess.detailedBalanced_iff_circulation_eq_zero", - "source_line": 256, + "source_line": 192, "source_owner": "src/fep_lean/formal/helmholtz_ao_ness.lean", "statement": "theorem detailedBalanced_iff_circulation_eq_zero {rate : State → State → ℝ}\n {law : FiniteLaw State} (hSupport : ∀ i, 0 < law i) :\n (∀ i j, law i * rate i j = law j * rate j i) ↔\n ∀ i j, circulationPart rate law i j = 0", "statement_sha256": "d7632d4b811e245eaa94711eee635659db2ee5bc21b288a09495886a57ef6af3" @@ -64763,6 +68797,7 @@ "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ "FepSketches.continuous_time_markov", + "FepSketches.geometric_mechanics", "Mathlib.Tactic" ], "line_coordinate_kind": "formal_resource_file", @@ -64772,7 +68807,7 @@ ], "preceding_scope_directives": [], "qualified_name": "FEP.HelmholtzAoNess.forceSplit", - "source_line": 277, + "source_line": 213, "source_owner": "src/fep_lean/formal/helmholtz_ao_ness.lean", "statement": "theorem forceSplit {rate : State → State → ℝ} {law : FiniteLaw State}\n (hSupport : ∀ i, 0 < law i) {i j : State}\n (hij : 0 < rate i j) (hji : 0 < rate j i) :\n Real.log (law i * rate i j / (law j * rate j i)) =\n aoPotential law j - aoPotential law i +\n Real.log (rate i j / rate j i)", "statement_sha256": "df66bf100a9e53bc8217f2c6b6299fad589c3ecb0ccdc596f0311f7d66b3d49b" @@ -64846,6 +68881,7 @@ "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ "FepSketches.continuous_time_markov", + "FepSketches.geometric_mechanics", "Mathlib.Tactic" ], "line_coordinate_kind": "formal_resource_file", @@ -64855,7 +68891,7 @@ ], "preceding_scope_directives": [], "qualified_name": "FEP.HelmholtzAoNess.mass_div_two", - "source_line": 184, + "source_line": 120, "source_owner": "src/fep_lean/formal/helmholtz_ao_ness.lean", "statement": "theorem mass_div_two {law : FiniteLaw State} (hSupport : ∀ i, 0 < law i)\n (X : ℝ) (i : State) : law i * X / (2 * law i) = X / 2", "statement_sha256": "914b4c8c46cf05927cdb82ea4a9e74f9a222d8d01a2fdc428ec3947272ebb9a3" @@ -64937,6 +68973,7 @@ "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ "FepSketches.continuous_time_markov", + "FepSketches.geometric_mechanics", "Mathlib.Tactic" ], "line_coordinate_kind": "formal_resource_file", @@ -64946,168 +68983,11 @@ ], "preceding_scope_directives": [], "qualified_name": "FEP.HelmholtzAoNess.probabilityCurrent_eq_twice_circulation", - "source_line": 245, + "source_line": 181, "source_owner": "src/fep_lean/formal/helmholtz_ao_ness.lean", "statement": "theorem probabilityCurrent_eq_twice_circulation\n (generator : FiniteRateGenerator State) (law : FiniteLaw State)\n (hSupport : ∀ i, 0 < law i) (i j : State) :\n generator.probabilityCurrent law i j =\n 2 * law i * circulationPart generator.rate law i j", "statement_sha256": "286368fa221b3b1bb76a8a3b573accf0e1552fd07db8b756613753a461402315" }, - "FEP.HelmholtzAoNess.skewQuadratic_eq_zero": { - "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [ - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "Q" - ], - "role": "typed_binder", - "source": "(Q : Fin n → Fin n → ℝ)", - "type_source": "Fin n → Fin n → ℝ", - "visibility": "explicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "g" - ], - "role": "typed_binder", - "source": "(g : Fin n → ℝ)", - "type_source": "Fin n → ℝ", - "visibility": "explicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "hQ" - ], - "role": "typed_binder", - "source": "(hQ : SkewSymmetric Q)", - "type_source": "SkewSymmetric Q", - "visibility": "explicit" - } - ], - "conclusion": "dot g (mulVec Q g) = 0", - "context_binders": [ - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "n" - ], - "role": "typed_binder", - "source": "{n : ℕ}", - "type_source": "ℕ", - "visibility": "implicit" - } - ], - "declaration_mentions": [ - { - "identifier": "sum_negPairs", - "qualified_name": "FEP.HelmholtzAoNess.sum_negPairs", - "resolution": "exact or same-namespace source identifier", - "role": "proof_reference" - }, - { - "identifier": "sum_swapPairs", - "qualified_name": "FEP.HelmholtzAoNess.sum_swapPairs", - "resolution": "exact or same-namespace source identifier", - "role": "proof_reference" - } - ], - "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", - "import_context": [ - "FepSketches.continuous_time_markov", - "Mathlib.Tactic" - ], - "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.HelmholtzAoNess", - "namespace_variable_context": [ - "{n : ℕ}" - ], - "preceding_scope_directives": [], - "qualified_name": "FEP.HelmholtzAoNess.skewQuadratic_eq_zero", - "source_line": 97, - "source_owner": "src/fep_lean/formal/helmholtz_ao_ness.lean", - "statement": "theorem skewQuadratic_eq_zero (Q : Fin n → Fin n → ℝ) (g : Fin n → ℝ)\n (hQ : SkewSymmetric Q) : dot g (mulVec Q g) = 0", - "statement_sha256": "453a0551bb848289cd9f2d6023c415f073edf99e42480af2a36bf95cf8da8fa1" - }, - "FEP.HelmholtzAoNess.skewTrace_eq_zero": { - "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [ - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "Q", - "H" - ], - "role": "typed_binder", - "source": "(Q H : Fin n → Fin n → ℝ)", - "type_source": "Fin n → Fin n → ℝ", - "visibility": "explicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "hQ" - ], - "role": "typed_binder", - "source": "(hQ : SkewSymmetric Q)", - "type_source": "SkewSymmetric Q", - "visibility": "explicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "hH" - ], - "role": "typed_binder", - "source": "(hH : SymmetricOf H)", - "type_source": "SymmetricOf H", - "visibility": "explicit" - } - ], - "conclusion": "traceOf (mulOf Q H) = 0", - "context_binders": [ - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "n" - ], - "role": "typed_binder", - "source": "{n : ℕ}", - "type_source": "ℕ", - "visibility": "implicit" - } - ], - "declaration_mentions": [ - { - "identifier": "sum_negPairs", - "qualified_name": "FEP.HelmholtzAoNess.sum_negPairs", - "resolution": "exact or same-namespace source identifier", - "role": "proof_reference" - }, - { - "identifier": "sum_swapPairs", - "qualified_name": "FEP.HelmholtzAoNess.sum_swapPairs", - "resolution": "exact or same-namespace source identifier", - "role": "proof_reference" - } - ], - "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", - "import_context": [ - "FepSketches.continuous_time_markov", - "Mathlib.Tactic" - ], - "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.HelmholtzAoNess", - "namespace_variable_context": [ - "{n : ℕ}" - ], - "preceding_scope_directives": [], - "qualified_name": "FEP.HelmholtzAoNess.skewTrace_eq_zero", - "source_line": 116, - "source_owner": "src/fep_lean/formal/helmholtz_ao_ness.lean", - "statement": "theorem skewTrace_eq_zero (Q H : Fin n → Fin n → ℝ)\n (hQ : SkewSymmetric Q) (hH : SymmetricOf H) : traceOf (mulOf Q H) = 0", - "statement_sha256": "45c5744381c96b70f6b2565437f9df61c3ce4d22b452729ab515a42c8a0222f1" - }, "FEP.HelmholtzAoNess.stationaryCurrent_divergence_zero": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ @@ -65177,6 +69057,7 @@ "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ "FepSketches.continuous_time_markov", + "FepSketches.geometric_mechanics", "Mathlib.Tactic" ], "line_coordinate_kind": "formal_resource_file", @@ -65186,176 +69067,87 @@ ], "preceding_scope_directives": [], "qualified_name": "FEP.HelmholtzAoNess.stationaryCurrent_divergence_zero", - "source_line": 306, + "source_line": 242, "source_owner": "src/fep_lean/formal/helmholtz_ao_ness.lean", "statement": "theorem stationaryCurrent_divergence_zero\n (generator : FiniteRateGenerator State) (law : FiniteLaw State)\n (hStat : generator.IsStationary law) (i : State) :\n ∑ j, generator.probabilityCurrent law j i = 0", "statement_sha256": "579cb223b5616d0a491ad52486f914f1b8a245fd967203b062a501e96fe9cdf5" }, - "FEP.HelmholtzAoNess.sum_negPairs": { + "FEP.HelmholtzAoNess.symmetricNum_add_circulationNum": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "f" + "rate" ], "role": "typed_binder", - "source": "{f : Fin n → Fin n → ℝ}", - "type_source": "Fin n → Fin n → ℝ", + "source": "{rate : State → State → ℝ}", + "type_source": "State → State → ℝ", "visibility": "implicit" - } - ], - "conclusion": "∑ i, ∑ j, -f i j = -∑ i, ∑ j, f i j", - "context_binders": [ + }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "n" + "law" ], "role": "typed_binder", - "source": "{n : ℕ}", - "type_source": "ℕ", + "source": "{law : FiniteLaw State}", + "type_source": "FiniteLaw State", "visibility": "implicit" - } - ], - "declaration_mentions": [], - "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", - "import_context": [ - "FepSketches.continuous_time_markov", - "Mathlib.Tactic" - ], - "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.HelmholtzAoNess", - "namespace_variable_context": [ - "{n : ℕ}" - ], - "preceding_scope_directives": [], - "qualified_name": "FEP.HelmholtzAoNess.sum_negPairs", - "source_line": 91, - "source_owner": "src/fep_lean/formal/helmholtz_ao_ness.lean", - "statement": "theorem sum_negPairs {f : Fin n → Fin n → ℝ} :\n ∑ i, ∑ j, -f i j = -∑ i, ∑ j, f i j", - "statement_sha256": "b56e2b71eac3b36e291b332d76055dc4f7a7081eaedef1dc853bb001d8354439" - }, - "FEP.HelmholtzAoNess.sum_swapPairs": { - "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [ + }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "f" + "i", + "j" ], "role": "typed_binder", - "source": "{f : Fin n → Fin n → ℝ}", - "type_source": "Fin n → Fin n → ℝ", - "visibility": "implicit" + "source": "(i j : State)", + "type_source": "State", + "visibility": "explicit" } ], - "conclusion": "∑ i, ∑ j, f i j = ∑ i, ∑ j, f j i", + "conclusion": "symmetricNum rate law i j + circulationNum rate law i j =\n 2 * law i * rate i j", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "n" + "State" ], "role": "typed_binder", - "source": "{n : ℕ}", - "type_source": "ℕ", + "source": "{State : Type*}", + "type_source": "Type*", "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype State]", + "type_source": "Fintype State", + "visibility": "instance" } ], "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ "FepSketches.continuous_time_markov", + "FepSketches.geometric_mechanics", "Mathlib.Tactic" ], "line_coordinate_kind": "formal_resource_file", "namespace": "FEP.HelmholtzAoNess", "namespace_variable_context": [ - "{n : ℕ}" + "{State : Type*} [Fintype State]" ], "preceding_scope_directives": [], - "qualified_name": "FEP.HelmholtzAoNess.sum_swapPairs", - "source_line": 86, + "qualified_name": "FEP.HelmholtzAoNess.symmetricNum_add_circulationNum", + "source_line": 98, "source_owner": "src/fep_lean/formal/helmholtz_ao_ness.lean", - "statement": "theorem sum_swapPairs {f : Fin n → Fin n → ℝ} :\n ∑ i, ∑ j, f i j = ∑ i, ∑ j, f j i", - "statement_sha256": "5e968d456d832db3e9ad11b9c7cc42efaa677e8e379b46be3b934a3e36feabce" + "statement": "theorem symmetricNum_add_circulationNum {rate : State → State → ℝ}\n {law : FiniteLaw State} (i j : State) :\n symmetricNum rate law i j + circulationNum rate law i j =\n 2 * law i * rate i j", + "statement_sha256": "e6affa613172a7869746da0ee2ca075453572ae6ae6174e59497726617fa6811" }, - "FEP.HelmholtzAoNess.symmetricNum_add_circulationNum": { - "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [ - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "rate" - ], - "role": "typed_binder", - "source": "{rate : State → State → ℝ}", - "type_source": "State → State → ℝ", - "visibility": "implicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "law" - ], - "role": "typed_binder", - "source": "{law : FiniteLaw State}", - "type_source": "FiniteLaw State", - "visibility": "implicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "i", - "j" - ], - "role": "typed_binder", - "source": "(i j : State)", - "type_source": "State", - "visibility": "explicit" - } - ], - "conclusion": "symmetricNum rate law i j + circulationNum rate law i j =\n 2 * law i * rate i j", - "context_binders": [ - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "State" - ], - "role": "typed_binder", - "source": "{State : Type*}", - "type_source": "Type*", - "visibility": "implicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype State]", - "type_source": "Fintype State", - "visibility": "instance" - } - ], - "declaration_mentions": [], - "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", - "import_context": [ - "FepSketches.continuous_time_markov", - "Mathlib.Tactic" - ], - "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.HelmholtzAoNess", - "namespace_variable_context": [ - "{State : Type*} [Fintype State]" - ], - "preceding_scope_directives": [], - "qualified_name": "FEP.HelmholtzAoNess.symmetricNum_add_circulationNum", - "source_line": 162, - "source_owner": "src/fep_lean/formal/helmholtz_ao_ness.lean", - "statement": "theorem symmetricNum_add_circulationNum {rate : State → State → ℝ}\n {law : FiniteLaw State} (i j : State) :\n symmetricNum rate law i j + circulationNum rate law i j =\n 2 * law i * rate i j", - "statement_sha256": "e6affa613172a7869746da0ee2ca075453572ae6ae6174e59497726617fa6811" - }, - "FEP.HelmholtzAoNess.symmetricNum_comm": { + "FEP.HelmholtzAoNess.symmetricNum_comm": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { @@ -65415,6 +69207,7 @@ "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ "FepSketches.continuous_time_markov", + "FepSketches.geometric_mechanics", "Mathlib.Tactic" ], "line_coordinate_kind": "formal_resource_file", @@ -65424,7 +69217,7 @@ ], "preceding_scope_directives": [], "qualified_name": "FEP.HelmholtzAoNess.symmetricNum_comm", - "source_line": 177, + "source_line": 113, "source_owner": "src/fep_lean/formal/helmholtz_ao_ness.lean", "statement": "theorem symmetricNum_comm {rate : State → State → ℝ}\n {law : FiniteLaw State} (i j : State) :\n symmetricNum rate law i j = symmetricNum rate law j i", "statement_sha256": "659a12ad55d04d5ce500eabac1fa12c62b3d07c3d167335f9e53ed23c1a47e02" @@ -65512,6 +69305,7 @@ "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ "FepSketches.continuous_time_markov", + "FepSketches.geometric_mechanics", "Mathlib.Tactic" ], "line_coordinate_kind": "formal_resource_file", @@ -65521,7 +69315,7 @@ ], "preceding_scope_directives": [], "qualified_name": "FEP.HelmholtzAoNess.symmetricPart_current_eq_zero", - "source_line": 235, + "source_line": 171, "source_owner": "src/fep_lean/formal/helmholtz_ao_ness.lean", "statement": "theorem symmetricPart_current_eq_zero {rate : State → State → ℝ}\n {law : FiniteLaw State} (hSupport : ∀ i, 0 < law i) (i j : State) :\n law i * symmetricPart rate law i j -\n law j * symmetricPart rate law j i = 0", "statement_sha256": "a5d20a407ede6c51b23ecd84c5dce96419e6995462d564dae52d2c8f3a2e6e7b" @@ -65609,6 +69403,7 @@ "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ "FepSketches.continuous_time_markov", + "FepSketches.geometric_mechanics", "Mathlib.Tactic" ], "line_coordinate_kind": "formal_resource_file", @@ -65618,7 +69413,7 @@ ], "preceding_scope_directives": [], "qualified_name": "FEP.HelmholtzAoNess.symmetricPart_reversible", - "source_line": 214, + "source_line": 150, "source_owner": "src/fep_lean/formal/helmholtz_ao_ness.lean", "statement": "theorem symmetricPart_reversible {rate : State → State → ℝ}\n {law : FiniteLaw State} (hSupport : ∀ i, 0 < law i) (i j : State) :\n law i * symmetricPart rate law i j =\n law j * symmetricPart rate law j i", "statement_sha256": "34550b1722bec66bb1a4b3c2210a65b6eac47f830334fc87cbd1a80925637254" @@ -69609,7 +73404,1214 @@ "Alphabet" ], "role": "typed_binder", - "source": "{Ω Alphabet : Type*}", + "source": "{Ω Alphabet : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[MeasurableSpace Ω]", + "type_source": "MeasurableSpace Ω", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Alphabet]", + "type_source": "Fintype Alphabet", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DecidableEq Alphabet]", + "type_source": "DecidableEq Alphabet", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "μ" + ], + "role": "typed_binder", + "source": "(μ : Measure Ω)", + "type_source": "Measure Ω", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[IsProbabilityMeasure μ]", + "type_source": "IsProbabilityMeasure μ", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "sampleCount" + ], + "role": "typed_binder", + "source": "{sampleCount : ℕ}", + "type_source": "ℕ", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[NeZero sampleCount]", + "type_source": "NeZero sampleCount", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "sample" + ], + "role": "typed_binder", + "source": "(sample : Ω → Fin sampleCount → Alphabet)", + "type_source": "Ω → Fin sampleCount → Alphabet", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "target" + ], + "role": "typed_binder", + "source": "(target : Alphabet → ℝ)", + "type_source": "Alphabet → ℝ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "deviation", + "perSymbolFailure" + ], + "role": "typed_binder", + "source": "(deviation perSymbolFailure : ℝ)", + "type_source": "ℝ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "perSymbolBound" + ], + "role": "typed_binder", + "source": "(perSymbolBound : ∀ symbol,\n μ.real (frequencyDeviationEvent sample target deviation symbol) ≤\n perSymbolFailure)", + "type_source": "∀ symbol,\n μ.real (frequencyDeviationEvent sample target deviation symbol) ≤\n perSymbolFailure", + "visibility": "explicit" + } + ], + "conclusion": "μ.real (⋃ symbol,\n frequencyDeviationEvent sample target deviation symbol) ≤\n Fintype.card Alphabet * perSymbolFailure", + "context_binders": [], + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.variational_duality", + "Mathlib.Probability.Moments.SubGaussian" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.LearningTheory", + "namespace_variable_context": [], + "preceding_scope_directives": [], + "qualified_name": "FEP.LearningTheory.simultaneous_frequency_bound", + "source_line": 73, + "source_owner": "src/fep_lean/formal/learning_theory.lean", + "statement": "theorem simultaneous_frequency_bound\n {Ω Alphabet : Type*} [MeasurableSpace Ω]\n [Fintype Alphabet] [DecidableEq Alphabet]\n (μ : Measure Ω) [IsProbabilityMeasure μ]\n {sampleCount : ℕ} [NeZero sampleCount]\n (sample : Ω → Fin sampleCount → Alphabet)\n (target : Alphabet → ℝ) (deviation perSymbolFailure : ℝ)\n (perSymbolBound : ∀ symbol,\n μ.real (frequencyDeviationEvent sample target deviation symbol) ≤\n perSymbolFailure) :\n μ.real (⋃ symbol,\n frequencyDeviationEvent sample target deviation symbol) ≤\n Fintype.card Alphabet * perSymbolFailure", + "statement_sha256": "95f019a060aa8db803c4e0937d544fa94a8a990bc1e4cf71f0cbdb24f8472217" + }, + "FEP.LearningTheory.subGaussian_empiricalMean_tail": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "Ω" + ], + "role": "typed_binder", + "source": "{Ω : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[MeasurableSpace Ω]", + "type_source": "MeasurableSpace Ω", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "μ" + ], + "role": "typed_binder", + "source": "(μ : Measure Ω)", + "type_source": "Measure Ω", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "sampleCount" + ], + "role": "typed_binder", + "source": "{sampleCount : ℕ}", + "type_source": "ℕ", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "observables" + ], + "role": "typed_binder", + "source": "(observables : Fin sampleCount → Ω → ℝ)", + "type_source": "Fin sampleCount → Ω → ℝ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "independent" + ], + "role": "typed_binder", + "source": "(independent : iIndepFun observables μ)", + "type_source": "iIndepFun observables μ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "proxyVariance" + ], + "role": "typed_binder", + "source": "(proxyVariance : Fin sampleCount → ℝ≥0)", + "type_source": "Fin sampleCount → ℝ≥0", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "subGaussian" + ], + "role": "typed_binder", + "source": "(subGaussian : ∀ index,\n HasSubgaussianMGF (observables index) (proxyVariance index) μ)", + "type_source": "∀ index,\n HasSubgaussianMGF (observables index) (proxyVariance index) μ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "deviation" + ], + "role": "typed_binder", + "source": "{deviation : ℝ}", + "type_source": "ℝ", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "deviationNonnegative" + ], + "role": "typed_binder", + "source": "(deviationNonnegative : 0 ≤ deviation)", + "type_source": "0 ≤ deviation", + "visibility": "explicit" + } + ], + "conclusion": "μ.real {outcome |\n (sampleCount : ℝ) * deviation ≤\n ∑ index, observables index outcome} ≤\n Real.exp\n (-((sampleCount : ℝ) * deviation) ^ 2 /\n (2 * ∑ index, proxyVariance index))", + "context_binders": [], + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.variational_duality", + "Mathlib.Probability.Moments.SubGaussian" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.LearningTheory", + "namespace_variable_context": [], + "preceding_scope_directives": [], + "qualified_name": "FEP.LearningTheory.subGaussian_empiricalMean_tail", + "source_line": 30, + "source_owner": "src/fep_lean/formal/learning_theory.lean", + "statement": "theorem subGaussian_empiricalMean_tail\n {Ω : Type*} [MeasurableSpace Ω]\n (μ : Measure Ω) {sampleCount : ℕ}\n (observables : Fin sampleCount → Ω → ℝ)\n (independent : iIndepFun observables μ)\n (proxyVariance : Fin sampleCount → ℝ≥0)\n (subGaussian : ∀ index,\n HasSubgaussianMGF (observables index) (proxyVariance index) μ)\n {deviation : ℝ} (deviationNonnegative : 0 ≤ deviation) :\n μ.real {outcome |\n (sampleCount : ℝ) * deviation ≤\n ∑ index, observables index outcome} ≤\n Real.exp\n (-((sampleCount : ℝ) * deviation) ^ 2 /\n (2 * ∑ index, proxyVariance index))", + "statement_sha256": "b854ab16125e0e667c74d0e37b9c942e59dd6230eb048035a164b7a72f5a290d" + }, + "FEP.LearningTheory.twoHypothesis_posterior_witness": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [], + "conclusion": "twoHypothesisPosteriorBad (1 / 2) (1 / 2) (3 / 4) (1 / 4) 2 = 1 / 10", + "context_binders": [], + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.variational_duality", + "Mathlib.Probability.Moments.SubGaussian" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.LearningTheory", + "namespace_variable_context": [], + "preceding_scope_directives": [], + "qualified_name": "FEP.LearningTheory.twoHypothesis_posterior_witness", + "source_line": 305, + "source_owner": "src/fep_lean/formal/learning_theory.lean", + "statement": "theorem twoHypothesis_posterior_witness :\n twoHypothesisPosteriorBad (1 / 2) (1 / 2) (3 / 4) (1 / 4) 2 = 1 / 10", + "statement_sha256": "edb24c0a9f1121dd491166ceeb34efccf20dd01b1b082daf07e294e54ebcddd2" + }, + "FEP.LinearGaussianSemigroup.LinearGaussianParameters.covariance_mul_precision": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "model" + ], + "role": "typed_binder", + "source": "(model : LinearGaussianParameters Axis)", + "type_source": "LinearGaussianParameters Axis", + "visibility": "explicit" + } + ], + "conclusion": "model.covariance * model.precision = 1", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "Axis" + ], + "role": "typed_binder", + "source": "{Axis : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Axis]", + "type_source": "Fintype Axis", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DecidableEq Axis]", + "type_source": "DecidableEq Axis", + "visibility": "instance" + } + ], + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.markov_semigroup", + "FepSketches.scalar_gaussian_semigroup", + "Mathlib.Analysis.Matrix.PosDef", + "Mathlib.Analysis.Normed.Algebra.MatrixExponential", + "Mathlib.Analysis.SpecialFunctions.Exponential", + "Mathlib.MeasureTheory.Measure.LevyConvergence", + "Mathlib.MeasureTheory.Measure.ProbabilityMeasure", + "Mathlib.Order.Filter.AtTopBot.CountablyGenerated", + "Mathlib.Probability.Distributions.Gaussian.Multivariate", + "Mathlib.Probability.Kernel.Composition.Comp", + "Mathlib.Probability.Kernel.Composition.CompProd", + "Mathlib.Probability.Kernel.Composition.MapComap", + "Mathlib.Tactic.NoncommRing", + "Mathlib.Topology.Instances.NNReal.Lemmas" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.LinearGaussianSemigroup.LinearGaussianParameters", + "namespace_variable_context": [ + "{Axis : Type*} [Fintype Axis] [DecidableEq Axis]" + ], + "preceding_scope_directives": [], + "qualified_name": "FEP.LinearGaussianSemigroup.LinearGaussianParameters.covariance_mul_precision", + "source_line": 86, + "source_owner": "src/fep_lean/formal/linear_gaussian_semigroup.lean", + "statement": "theorem covariance_mul_precision (model : LinearGaussianParameters Axis) :\n model.covariance * model.precision = 1", + "statement_sha256": "9aab55a13c793e678b263140c05f0f67976d9f7ae87cbe7e6a8125cc24f5c2d3" + }, + "FEP.LinearGaussianSemigroup.LinearGaussianParameters.covariance_posDef": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "model" + ], + "role": "typed_binder", + "source": "(model : LinearGaussianParameters Axis)", + "type_source": "LinearGaussianParameters Axis", + "visibility": "explicit" + } + ], + "conclusion": "model.covariance.PosDef", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "Axis" + ], + "role": "typed_binder", + "source": "{Axis : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Axis]", + "type_source": "Fintype Axis", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DecidableEq Axis]", + "type_source": "DecidableEq Axis", + "visibility": "instance" + } + ], + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.markov_semigroup", + "FepSketches.scalar_gaussian_semigroup", + "Mathlib.Analysis.Matrix.PosDef", + "Mathlib.Analysis.Normed.Algebra.MatrixExponential", + "Mathlib.Analysis.SpecialFunctions.Exponential", + "Mathlib.MeasureTheory.Measure.LevyConvergence", + "Mathlib.MeasureTheory.Measure.ProbabilityMeasure", + "Mathlib.Order.Filter.AtTopBot.CountablyGenerated", + "Mathlib.Probability.Distributions.Gaussian.Multivariate", + "Mathlib.Probability.Kernel.Composition.Comp", + "Mathlib.Probability.Kernel.Composition.CompProd", + "Mathlib.Probability.Kernel.Composition.MapComap", + "Mathlib.Tactic.NoncommRing", + "Mathlib.Topology.Instances.NNReal.Lemmas" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.LinearGaussianSemigroup.LinearGaussianParameters", + "namespace_variable_context": [ + "{Axis : Type*} [Fintype Axis] [DecidableEq Axis]" + ], + "preceding_scope_directives": [], + "qualified_name": "FEP.LinearGaussianSemigroup.LinearGaussianParameters.covariance_posDef", + "source_line": 94, + "source_owner": "src/fep_lean/formal/linear_gaussian_semigroup.lean", + "statement": "theorem covariance_posDef (model : LinearGaussianParameters Axis) :\n model.covariance.PosDef", + "statement_sha256": "f03d0d8aa66c5801895fe1d1bd23b09f937179b0733b1ecf962043942ec44c5d" + }, + "FEP.LinearGaussianSemigroup.LinearGaussianParameters.evolution_add": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "model" + ], + "role": "typed_binder", + "source": "(model : LinearGaussianParameters Axis)", + "type_source": "LinearGaussianParameters Axis", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "left", + "right" + ], + "role": "typed_binder", + "source": "(left right : ℝ≥0)", + "type_source": "ℝ≥0", + "visibility": "explicit" + } + ], + "conclusion": "model.evolution (left + right) =\n model.evolution right * model.evolution left", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "Axis" + ], + "role": "typed_binder", + "source": "{Axis : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Axis]", + "type_source": "Fintype Axis", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DecidableEq Axis]", + "type_source": "DecidableEq Axis", + "visibility": "instance" + } + ], + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.markov_semigroup", + "FepSketches.scalar_gaussian_semigroup", + "Mathlib.Analysis.Matrix.PosDef", + "Mathlib.Analysis.Normed.Algebra.MatrixExponential", + "Mathlib.Analysis.SpecialFunctions.Exponential", + "Mathlib.MeasureTheory.Measure.LevyConvergence", + "Mathlib.MeasureTheory.Measure.ProbabilityMeasure", + "Mathlib.Order.Filter.AtTopBot.CountablyGenerated", + "Mathlib.Probability.Distributions.Gaussian.Multivariate", + "Mathlib.Probability.Kernel.Composition.Comp", + "Mathlib.Probability.Kernel.Composition.CompProd", + "Mathlib.Probability.Kernel.Composition.MapComap", + "Mathlib.Tactic.NoncommRing", + "Mathlib.Topology.Instances.NNReal.Lemmas" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.LinearGaussianSemigroup.LinearGaussianParameters", + "namespace_variable_context": [ + "{Axis : Type*} [Fintype Axis] [DecidableEq Axis]" + ], + "preceding_scope_directives": [], + "qualified_name": "FEP.LinearGaussianSemigroup.LinearGaussianParameters.evolution_add", + "source_line": 401, + "source_owner": "src/fep_lean/formal/linear_gaussian_semigroup.lean", + "statement": "theorem evolution_add (model : LinearGaussianParameters Axis)\n (left right : ℝ≥0) :\n model.evolution (left + right) =\n model.evolution right * model.evolution left", + "statement_sha256": "baf4b5ba1766c90396eabedb3d6539a80e9ad93cca2c8dc260b0bdbfc1392ade" + }, + "FEP.LinearGaussianSemigroup.LinearGaussianParameters.evolution_transpose": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "model" + ], + "role": "typed_binder", + "source": "(model : LinearGaussianParameters Axis)", + "type_source": "LinearGaussianParameters Axis", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "time" + ], + "role": "typed_binder", + "source": "(time : ℝ≥0)", + "type_source": "ℝ≥0", + "visibility": "explicit" + } + ], + "conclusion": "(model.evolution time)ᵀ = model.evolution time", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "Axis" + ], + "role": "typed_binder", + "source": "{Axis : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Axis]", + "type_source": "Fintype Axis", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DecidableEq Axis]", + "type_source": "DecidableEq Axis", + "visibility": "instance" + } + ], + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.markov_semigroup", + "FepSketches.scalar_gaussian_semigroup", + "Mathlib.Analysis.Matrix.PosDef", + "Mathlib.Analysis.Normed.Algebra.MatrixExponential", + "Mathlib.Analysis.SpecialFunctions.Exponential", + "Mathlib.MeasureTheory.Measure.LevyConvergence", + "Mathlib.MeasureTheory.Measure.ProbabilityMeasure", + "Mathlib.Order.Filter.AtTopBot.CountablyGenerated", + "Mathlib.Probability.Distributions.Gaussian.Multivariate", + "Mathlib.Probability.Kernel.Composition.Comp", + "Mathlib.Probability.Kernel.Composition.CompProd", + "Mathlib.Probability.Kernel.Composition.MapComap", + "Mathlib.Tactic.NoncommRing", + "Mathlib.Topology.Instances.NNReal.Lemmas" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.LinearGaussianSemigroup.LinearGaussianParameters", + "namespace_variable_context": [ + "{Axis : Type*} [Fintype Axis] [DecidableEq Axis]" + ], + "preceding_scope_directives": [], + "qualified_name": "FEP.LinearGaussianSemigroup.LinearGaussianParameters.evolution_transpose", + "source_line": 415, + "source_owner": "src/fep_lean/formal/linear_gaussian_semigroup.lean", + "statement": "theorem evolution_transpose (model : LinearGaussianParameters Axis)\n (time : ℝ≥0) :\n (model.evolution time)ᵀ = model.evolution time", + "statement_sha256": "523e6296ba09c762318d56ac09c707021317b1f779fed5f11179c3a0cd7afc12" + }, + "FEP.LinearGaussianSemigroup.LinearGaussianParameters.evolution_zero": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "model" + ], + "role": "typed_binder", + "source": "(model : LinearGaussianParameters Axis)", + "type_source": "LinearGaussianParameters Axis", + "visibility": "explicit" + } + ], + "conclusion": "model.evolution 0 = 1", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "Axis" + ], + "role": "typed_binder", + "source": "{Axis : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Axis]", + "type_source": "Fintype Axis", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DecidableEq Axis]", + "type_source": "DecidableEq Axis", + "visibility": "instance" + } + ], + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.markov_semigroup", + "FepSketches.scalar_gaussian_semigroup", + "Mathlib.Analysis.Matrix.PosDef", + "Mathlib.Analysis.Normed.Algebra.MatrixExponential", + "Mathlib.Analysis.SpecialFunctions.Exponential", + "Mathlib.MeasureTheory.Measure.LevyConvergence", + "Mathlib.MeasureTheory.Measure.ProbabilityMeasure", + "Mathlib.Order.Filter.AtTopBot.CountablyGenerated", + "Mathlib.Probability.Distributions.Gaussian.Multivariate", + "Mathlib.Probability.Kernel.Composition.Comp", + "Mathlib.Probability.Kernel.Composition.CompProd", + "Mathlib.Probability.Kernel.Composition.MapComap", + "Mathlib.Tactic.NoncommRing", + "Mathlib.Topology.Instances.NNReal.Lemmas" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.LinearGaussianSemigroup.LinearGaussianParameters", + "namespace_variable_context": [ + "{Axis : Type*} [Fintype Axis] [DecidableEq Axis]" + ], + "preceding_scope_directives": [], + "qualified_name": "FEP.LinearGaussianSemigroup.LinearGaussianParameters.evolution_zero", + "source_line": 395, + "source_owner": "src/fep_lean/formal/linear_gaussian_semigroup.lean", + "statement": "theorem evolution_zero (model : LinearGaussianParameters Axis) :\n model.evolution 0 = 1", + "statement_sha256": "e4ddba99ce105184b3629eca2506764032e6fc18d7a39067371646c65777bd94" + }, + "FEP.LinearGaussianSemigroup.LinearGaussianParameters.finOneTransition_eq_scalarOU": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "rate" + ], + "role": "typed_binder", + "source": "(rate : ℝ)", + "type_source": "ℝ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hRate" + ], + "role": "typed_binder", + "source": "(hRate : 0 < rate)", + "type_source": "0 < rate", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "center" + ], + "role": "typed_binder", + "source": "(center : ℝ)", + "type_source": "ℝ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "time" + ], + "role": "typed_binder", + "source": "(time : ℝ≥0)", + "type_source": "ℝ≥0", + "visibility": "explicit" + } + ], + "conclusion": "(finOneParameters rate hRate center).finOneTransition time =\n (finOneScalarParameters rate hRate center).ouTransition time", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "Axis" + ], + "role": "typed_binder", + "source": "{Axis : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Axis]", + "type_source": "Fintype Axis", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DecidableEq Axis]", + "type_source": "DecidableEq Axis", + "visibility": "instance" + } + ], + "declaration_mentions": [ + { + "identifier": "finOne_transitionCovariance", + "qualified_name": "FEP.LinearGaussianSemigroup.LinearGaussianParameters.finOne_transitionCovariance", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + }, + { + "identifier": "finOne_transitionMean", + "qualified_name": "FEP.LinearGaussianSemigroup.LinearGaussianParameters.finOne_transitionMean", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + }, + { + "identifier": "transitionCovariance_posSemidef", + "qualified_name": "FEP.LinearGaussianSemigroup.LinearGaussianParameters.transitionCovariance_posSemidef", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + }, + { + "identifier": "transition_apply", + "qualified_name": "FEP.LinearGaussianSemigroup.LinearGaussianParameters.transition_apply", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + } + ], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.markov_semigroup", + "FepSketches.scalar_gaussian_semigroup", + "Mathlib.Analysis.Matrix.PosDef", + "Mathlib.Analysis.Normed.Algebra.MatrixExponential", + "Mathlib.Analysis.SpecialFunctions.Exponential", + "Mathlib.MeasureTheory.Measure.LevyConvergence", + "Mathlib.MeasureTheory.Measure.ProbabilityMeasure", + "Mathlib.Order.Filter.AtTopBot.CountablyGenerated", + "Mathlib.Probability.Distributions.Gaussian.Multivariate", + "Mathlib.Probability.Kernel.Composition.Comp", + "Mathlib.Probability.Kernel.Composition.CompProd", + "Mathlib.Probability.Kernel.Composition.MapComap", + "Mathlib.Tactic.NoncommRing", + "Mathlib.Topology.Instances.NNReal.Lemmas" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.LinearGaussianSemigroup.LinearGaussianParameters", + "namespace_variable_context": [ + "{Axis : Type*} [Fintype Axis] [DecidableEq Axis]" + ], + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DecidableEq Axis] in" + } + ], + "qualified_name": "FEP.LinearGaussianSemigroup.LinearGaussianParameters.finOneTransition_eq_scalarOU", + "source_line": 1275, + "source_owner": "src/fep_lean/formal/linear_gaussian_semigroup.lean", + "statement": "theorem finOneTransition_eq_scalarOU\n (rate : ℝ) (hRate : 0 < rate) (center : ℝ) (time : ℝ≥0) :\n (finOneParameters rate hRate center).finOneTransition time =\n (finOneScalarParameters rate hRate center).ouTransition time", + "statement_sha256": "a2e6a695067a080629e414f6fa86b3c06e24b8166060aecaf16268c452f285f6" + }, + "FEP.LinearGaussianSemigroup.LinearGaussianParameters.finOne_transitionCovariance": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "rate" + ], + "role": "typed_binder", + "source": "(rate : ℝ)", + "type_source": "ℝ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hRate" + ], + "role": "typed_binder", + "source": "(hRate : 0 < rate)", + "type_source": "0 < rate", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "center" + ], + "role": "typed_binder", + "source": "(center : ℝ)", + "type_source": "ℝ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "time" + ], + "role": "typed_binder", + "source": "(time : ℝ≥0)", + "type_source": "ℝ≥0", + "visibility": "explicit" + } + ], + "conclusion": "(finOneParameters rate hRate center).transitionCovariance time 0 0 =\n (((finOneScalarParameters rate hRate center).transitionVariance time :\n ℝ≥0) : ℝ)", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "Axis" + ], + "role": "typed_binder", + "source": "{Axis : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Axis]", + "type_source": "Fintype Axis", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DecidableEq Axis]", + "type_source": "DecidableEq Axis", + "visibility": "instance" + } + ], + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.markov_semigroup", + "FepSketches.scalar_gaussian_semigroup", + "Mathlib.Analysis.Matrix.PosDef", + "Mathlib.Analysis.Normed.Algebra.MatrixExponential", + "Mathlib.Analysis.SpecialFunctions.Exponential", + "Mathlib.MeasureTheory.Measure.LevyConvergence", + "Mathlib.MeasureTheory.Measure.ProbabilityMeasure", + "Mathlib.Order.Filter.AtTopBot.CountablyGenerated", + "Mathlib.Probability.Distributions.Gaussian.Multivariate", + "Mathlib.Probability.Kernel.Composition.Comp", + "Mathlib.Probability.Kernel.Composition.CompProd", + "Mathlib.Probability.Kernel.Composition.MapComap", + "Mathlib.Tactic.NoncommRing", + "Mathlib.Topology.Instances.NNReal.Lemmas" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.LinearGaussianSemigroup.LinearGaussianParameters", + "namespace_variable_context": [ + "{Axis : Type*} [Fintype Axis] [DecidableEq Axis]" + ], + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DecidableEq Axis] in" + } + ], + "qualified_name": "FEP.LinearGaussianSemigroup.LinearGaussianParameters.finOne_transitionCovariance", + "source_line": 1254, + "source_owner": "src/fep_lean/formal/linear_gaussian_semigroup.lean", + "statement": "theorem finOne_transitionCovariance\n (rate : ℝ) (hRate : 0 < rate) (center : ℝ)\n (time : ℝ≥0) :\n (finOneParameters rate hRate center).transitionCovariance time 0 0 =\n (((finOneScalarParameters rate hRate center).transitionVariance time :\n ℝ≥0) : ℝ)", + "statement_sha256": "797602a4effaf7c99937de744946304375ca893151ddbc6be0fd846e059cbcfb" + }, + "FEP.LinearGaussianSemigroup.LinearGaussianParameters.finOne_transitionMean": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "rate" + ], + "role": "typed_binder", + "source": "(rate : ℝ)", + "type_source": "ℝ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hRate" + ], + "role": "typed_binder", + "source": "(hRate : 0 < rate)", + "type_source": "0 < rate", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "center" + ], + "role": "typed_binder", + "source": "(center : ℝ)", + "type_source": "ℝ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "time" + ], + "role": "typed_binder", + "source": "(time : ℝ≥0)", + "type_source": "ℝ≥0", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "state" + ], + "role": "typed_binder", + "source": "(state : ℝ)", + "type_source": "ℝ", + "visibility": "explicit" + } + ], + "conclusion": "(finOneParameters rate hRate center).transitionMean time\n (finOneState state) 0 =\n (finOneScalarParameters rate hRate center).transitionMean time state", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "Axis" + ], + "role": "typed_binder", + "source": "{Axis : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Axis]", + "type_source": "Fintype Axis", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DecidableEq Axis]", + "type_source": "DecidableEq Axis", + "visibility": "instance" + } + ], + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.markov_semigroup", + "FepSketches.scalar_gaussian_semigroup", + "Mathlib.Analysis.Matrix.PosDef", + "Mathlib.Analysis.Normed.Algebra.MatrixExponential", + "Mathlib.Analysis.SpecialFunctions.Exponential", + "Mathlib.MeasureTheory.Measure.LevyConvergence", + "Mathlib.MeasureTheory.Measure.ProbabilityMeasure", + "Mathlib.Order.Filter.AtTopBot.CountablyGenerated", + "Mathlib.Probability.Distributions.Gaussian.Multivariate", + "Mathlib.Probability.Kernel.Composition.Comp", + "Mathlib.Probability.Kernel.Composition.CompProd", + "Mathlib.Probability.Kernel.Composition.MapComap", + "Mathlib.Tactic.NoncommRing", + "Mathlib.Topology.Instances.NNReal.Lemmas" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.LinearGaussianSemigroup.LinearGaussianParameters", + "namespace_variable_context": [ + "{Axis : Type*} [Fintype Axis] [DecidableEq Axis]" + ], + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DecidableEq Axis] in" + } + ], + "qualified_name": "FEP.LinearGaussianSemigroup.LinearGaussianParameters.finOne_transitionMean", + "source_line": 1237, + "source_owner": "src/fep_lean/formal/linear_gaussian_semigroup.lean", + "statement": "theorem finOne_transitionMean\n (rate : ℝ) (hRate : 0 < rate) (center : ℝ)\n (time : ℝ≥0) (state : ℝ) :\n (finOneParameters rate hRate center).transitionMean time\n (finOneState state) 0 =\n (finOneScalarParameters rate hRate center).transitionMean time state", + "statement_sha256": "218e0e2a76950fb0ca81ac5053f20cbed52e8b26af0e78563690bab8d2b2b714" + }, + "FEP.LinearGaussianSemigroup.LinearGaussianParameters.integral_transition_tendsto_invariant": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "model" + ], + "role": "typed_binder", + "source": "(model : LinearGaussianParameters Axis)", + "type_source": "LinearGaussianParameters Axis", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "state" + ], + "role": "typed_binder", + "source": "(state : State Axis)", + "type_source": "State Axis", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "f" + ], + "role": "typed_binder", + "source": "(f : State Axis →ᵇ ℝ)", + "type_source": "State Axis →ᵇ ℝ", + "visibility": "explicit" + } + ], + "conclusion": "Tendsto\n (fun time : ℝ≥0 =>\n ∫ next, f next ∂\n (model.transitionProbability time state : Measure (State Axis)))\n atTop\n (𝓝 (∫ next, f next ∂\n (model.stationaryProbability : Measure (State Axis))))", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "Axis" + ], + "role": "typed_binder", + "source": "{Axis : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Axis]", + "type_source": "Fintype Axis", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DecidableEq Axis]", + "type_source": "DecidableEq Axis", + "visibility": "instance" + } + ], + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.markov_semigroup", + "FepSketches.scalar_gaussian_semigroup", + "Mathlib.Analysis.Matrix.PosDef", + "Mathlib.Analysis.Normed.Algebra.MatrixExponential", + "Mathlib.Analysis.SpecialFunctions.Exponential", + "Mathlib.MeasureTheory.Measure.LevyConvergence", + "Mathlib.MeasureTheory.Measure.ProbabilityMeasure", + "Mathlib.Order.Filter.AtTopBot.CountablyGenerated", + "Mathlib.Probability.Distributions.Gaussian.Multivariate", + "Mathlib.Probability.Kernel.Composition.Comp", + "Mathlib.Probability.Kernel.Composition.CompProd", + "Mathlib.Probability.Kernel.Composition.MapComap", + "Mathlib.Tactic.NoncommRing", + "Mathlib.Topology.Instances.NNReal.Lemmas" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.LinearGaussianSemigroup.LinearGaussianParameters", + "namespace_variable_context": [ + "{Axis : Type*} [Fintype Axis] [DecidableEq Axis]" + ], + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DecidableEq Axis] in" + } + ], + "qualified_name": "FEP.LinearGaussianSemigroup.LinearGaussianParameters.integral_transition_tendsto_invariant", + "source_line": 1153, + "source_owner": "src/fep_lean/formal/linear_gaussian_semigroup.lean", + "statement": "theorem integral_transition_tendsto_invariant\n (model : LinearGaussianParameters Axis) (state : State Axis)\n (f : State Axis →ᵇ ℝ) :\n Tendsto\n (fun time : ℝ≥0 =>\n ∫ next, f next ∂\n (model.transitionProbability time state : Measure (State Axis)))\n atTop\n (𝓝 (∫ next, f next ∂\n (model.stationaryProbability : Measure (State Axis))))", + "statement_sha256": "fe404a18047ce37eaefe76782635b5134250f2decae632a4af2243baa88c53a9" + }, + "FEP.LinearGaussianSemigroup.LinearGaussianParameters.precision_mul_covariance": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "model" + ], + "role": "typed_binder", + "source": "(model : LinearGaussianParameters Axis)", + "type_source": "LinearGaussianParameters Axis", + "visibility": "explicit" + } + ], + "conclusion": "model.precision * model.covariance = 1", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "Axis" + ], + "role": "typed_binder", + "source": "{Axis : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Axis]", + "type_source": "Fintype Axis", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DecidableEq Axis]", + "type_source": "DecidableEq Axis", + "visibility": "instance" + } + ], + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.markov_semigroup", + "FepSketches.scalar_gaussian_semigroup", + "Mathlib.Analysis.Matrix.PosDef", + "Mathlib.Analysis.Normed.Algebra.MatrixExponential", + "Mathlib.Analysis.SpecialFunctions.Exponential", + "Mathlib.MeasureTheory.Measure.LevyConvergence", + "Mathlib.MeasureTheory.Measure.ProbabilityMeasure", + "Mathlib.Order.Filter.AtTopBot.CountablyGenerated", + "Mathlib.Probability.Distributions.Gaussian.Multivariate", + "Mathlib.Probability.Kernel.Composition.Comp", + "Mathlib.Probability.Kernel.Composition.CompProd", + "Mathlib.Probability.Kernel.Composition.MapComap", + "Mathlib.Tactic.NoncommRing", + "Mathlib.Topology.Instances.NNReal.Lemmas" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.LinearGaussianSemigroup.LinearGaussianParameters", + "namespace_variable_context": [ + "{Axis : Type*} [Fintype Axis] [DecidableEq Axis]" + ], + "preceding_scope_directives": [], + "qualified_name": "FEP.LinearGaussianSemigroup.LinearGaussianParameters.precision_mul_covariance", + "source_line": 79, + "source_owner": "src/fep_lean/formal/linear_gaussian_semigroup.lean", + "statement": "theorem precision_mul_covariance (model : LinearGaussianParameters Axis) :\n model.precision * model.covariance = 1", + "statement_sha256": "ac31d0459fa820d33a00bc2ade437cf905b4dde4d97234e69a873e6c8722fac2" + }, + "FEP.LinearGaussianSemigroup.LinearGaussianParameters.stationaryLaw_invariant": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "model" + ], + "role": "typed_binder", + "source": "(model : LinearGaussianParameters Axis)", + "type_source": "LinearGaussianParameters Axis", + "visibility": "explicit" + } + ], + "conclusion": "FEP.MarkovSemigroup.InvariantLaw\n model.nativeSemigroup model.stationaryLaw", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "Axis" + ], + "role": "typed_binder", + "source": "{Axis : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -69617,132 +74619,176 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[MeasurableSpace Ω]", - "type_source": "MeasurableSpace Ω", - "visibility": "instance" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype Alphabet]", - "type_source": "Fintype Alphabet", + "source": "[Fintype Axis]", + "type_source": "Fintype Axis", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DecidableEq Alphabet]", - "type_source": "DecidableEq Alphabet", + "source": "[DecidableEq Axis]", + "type_source": "DecidableEq Axis", "visibility": "instance" - }, + } + ], + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.markov_semigroup", + "FepSketches.scalar_gaussian_semigroup", + "Mathlib.Analysis.Matrix.PosDef", + "Mathlib.Analysis.Normed.Algebra.MatrixExponential", + "Mathlib.Analysis.SpecialFunctions.Exponential", + "Mathlib.MeasureTheory.Measure.LevyConvergence", + "Mathlib.MeasureTheory.Measure.ProbabilityMeasure", + "Mathlib.Order.Filter.AtTopBot.CountablyGenerated", + "Mathlib.Probability.Distributions.Gaussian.Multivariate", + "Mathlib.Probability.Kernel.Composition.Comp", + "Mathlib.Probability.Kernel.Composition.CompProd", + "Mathlib.Probability.Kernel.Composition.MapComap", + "Mathlib.Tactic.NoncommRing", + "Mathlib.Topology.Instances.NNReal.Lemmas" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.LinearGaussianSemigroup.LinearGaussianParameters", + "namespace_variable_context": [ + "{Axis : Type*} [Fintype Axis] [DecidableEq Axis]" + ], + "preceding_scope_directives": [], + "qualified_name": "FEP.LinearGaussianSemigroup.LinearGaussianParameters.stationaryLaw_invariant", + "source_line": 897, + "source_owner": "src/fep_lean/formal/linear_gaussian_semigroup.lean", + "statement": "theorem stationaryLaw_invariant (model : LinearGaussianParameters Axis) :\n FEP.MarkovSemigroup.InvariantLaw\n model.nativeSemigroup model.stationaryLaw", + "statement_sha256": "3e70f909cfe44f9d4ae15f6f2b0ffe26dd174b46c5ea85a26e7f0c1034a387b3" + }, + "FEP.LinearGaussianSemigroup.LinearGaussianParameters.transitionCovariance_add": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "μ" + "model" ], "role": "typed_binder", - "source": "(μ : Measure Ω)", - "type_source": "Measure Ω", + "source": "(model : LinearGaussianParameters Axis)", + "type_source": "LinearGaussianParameters Axis", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[IsProbabilityMeasure μ]", - "type_source": "IsProbabilityMeasure μ", - "visibility": "instance" - }, + "names": [ + "left", + "right" + ], + "role": "typed_binder", + "source": "(left right : ℝ≥0)", + "type_source": "ℝ≥0", + "visibility": "explicit" + } + ], + "conclusion": "model.transitionCovariance (left + right) =\n model.evolution right * model.transitionCovariance left *\n (model.evolution right)ᵀ +\n model.transitionCovariance right", + "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "sampleCount" + "Axis" ], "role": "typed_binder", - "source": "{sampleCount : ℕ}", - "type_source": "ℕ", + "source": "{Axis : Type*}", + "type_source": "Type*", "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[NeZero sampleCount]", - "type_source": "NeZero sampleCount", + "source": "[Fintype Axis]", + "type_source": "Fintype Axis", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "sample" - ], - "role": "typed_binder", - "source": "(sample : Ω → Fin sampleCount → Alphabet)", - "type_source": "Ω → Fin sampleCount → Alphabet", - "visibility": "explicit" - }, + "names": [], + "role": "instance_requirement", + "source": "[DecidableEq Axis]", + "type_source": "DecidableEq Axis", + "visibility": "instance" + } + ], + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.markov_semigroup", + "FepSketches.scalar_gaussian_semigroup", + "Mathlib.Analysis.Matrix.PosDef", + "Mathlib.Analysis.Normed.Algebra.MatrixExponential", + "Mathlib.Analysis.SpecialFunctions.Exponential", + "Mathlib.MeasureTheory.Measure.LevyConvergence", + "Mathlib.MeasureTheory.Measure.ProbabilityMeasure", + "Mathlib.Order.Filter.AtTopBot.CountablyGenerated", + "Mathlib.Probability.Distributions.Gaussian.Multivariate", + "Mathlib.Probability.Kernel.Composition.Comp", + "Mathlib.Probability.Kernel.Composition.CompProd", + "Mathlib.Probability.Kernel.Composition.MapComap", + "Mathlib.Tactic.NoncommRing", + "Mathlib.Topology.Instances.NNReal.Lemmas" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.LinearGaussianSemigroup.LinearGaussianParameters", + "namespace_variable_context": [ + "{Axis : Type*} [Fintype Axis] [DecidableEq Axis]" + ], + "preceding_scope_directives": [], + "qualified_name": "FEP.LinearGaussianSemigroup.LinearGaussianParameters.transitionCovariance_add", + "source_line": 560, + "source_owner": "src/fep_lean/formal/linear_gaussian_semigroup.lean", + "statement": "theorem transitionCovariance_add\n (model : LinearGaussianParameters Axis) (left right : ℝ≥0) :\n model.transitionCovariance (left + right) =\n model.evolution right * model.transitionCovariance left *\n (model.evolution right)ᵀ +\n model.transitionCovariance right", + "statement_sha256": "4afa9b51f7502bb9b59adfd0a44793e9d95ca604dc2805534c3bcc78f07b885e" + }, + "FEP.LinearGaussianSemigroup.LinearGaussianParameters.transitionCovariance_posDef": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "target" + "model" ], "role": "typed_binder", - "source": "(target : Alphabet → ℝ)", - "type_source": "Alphabet → ℝ", + "source": "(model : LinearGaussianParameters Axis)", + "type_source": "LinearGaussianParameters Axis", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "deviation", - "perSymbolFailure" + "time" ], "role": "typed_binder", - "source": "(deviation perSymbolFailure : ℝ)", - "type_source": "ℝ", + "source": "(time : ℝ≥0)", + "type_source": "ℝ≥0", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "perSymbolBound" + "hTime" ], "role": "typed_binder", - "source": "(perSymbolBound : ∀ symbol,\n μ.real (frequencyDeviationEvent sample target deviation symbol) ≤\n perSymbolFailure)", - "type_source": "∀ symbol,\n μ.real (frequencyDeviationEvent sample target deviation symbol) ≤\n perSymbolFailure", + "source": "(hTime : 0 < time)", + "type_source": "0 < time", "visibility": "explicit" } ], - "conclusion": "μ.real (⋃ symbol,\n frequencyDeviationEvent sample target deviation symbol) ≤\n Fintype.card Alphabet * perSymbolFailure", - "context_binders": [], - "declaration_mentions": [], - "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", - "import_context": [ - "FepSketches.variational_duality", - "Mathlib.Probability.Moments.SubGaussian" - ], - "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.LearningTheory", - "namespace_variable_context": [], - "preceding_scope_directives": [], - "qualified_name": "FEP.LearningTheory.simultaneous_frequency_bound", - "source_line": 73, - "source_owner": "src/fep_lean/formal/learning_theory.lean", - "statement": "theorem simultaneous_frequency_bound\n {Ω Alphabet : Type*} [MeasurableSpace Ω]\n [Fintype Alphabet] [DecidableEq Alphabet]\n (μ : Measure Ω) [IsProbabilityMeasure μ]\n {sampleCount : ℕ} [NeZero sampleCount]\n (sample : Ω → Fin sampleCount → Alphabet)\n (target : Alphabet → ℝ) (deviation perSymbolFailure : ℝ)\n (perSymbolBound : ∀ symbol,\n μ.real (frequencyDeviationEvent sample target deviation symbol) ≤\n perSymbolFailure) :\n μ.real (⋃ symbol,\n frequencyDeviationEvent sample target deviation symbol) ≤\n Fintype.card Alphabet * perSymbolFailure", - "statement_sha256": "95f019a060aa8db803c4e0937d544fa94a8a990bc1e4cf71f0cbdb24f8472217" - }, - "FEP.LearningTheory.subGaussian_empiricalMean_tail": { - "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [ + "conclusion": "(model.transitionCovariance time).PosDef", + "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Ω" + "Axis" ], "role": "typed_binder", - "source": "{Ω : Type*}", + "source": "{Axis : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -69750,131 +74796,133 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[MeasurableSpace Ω]", - "type_source": "MeasurableSpace Ω", + "source": "[Fintype Axis]", + "type_source": "Fintype Axis", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "μ" - ], - "role": "typed_binder", - "source": "(μ : Measure Ω)", - "type_source": "Measure Ω", - "visibility": "explicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "sampleCount" - ], - "role": "typed_binder", - "source": "{sampleCount : ℕ}", - "type_source": "ℕ", - "visibility": "implicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "observables" - ], - "role": "typed_binder", - "source": "(observables : Fin sampleCount → Ω → ℝ)", - "type_source": "Fin sampleCount → Ω → ℝ", - "visibility": "explicit" - }, + "names": [], + "role": "instance_requirement", + "source": "[DecidableEq Axis]", + "type_source": "DecidableEq Axis", + "visibility": "instance" + } + ], + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.markov_semigroup", + "FepSketches.scalar_gaussian_semigroup", + "Mathlib.Analysis.Matrix.PosDef", + "Mathlib.Analysis.Normed.Algebra.MatrixExponential", + "Mathlib.Analysis.SpecialFunctions.Exponential", + "Mathlib.MeasureTheory.Measure.LevyConvergence", + "Mathlib.MeasureTheory.Measure.ProbabilityMeasure", + "Mathlib.Order.Filter.AtTopBot.CountablyGenerated", + "Mathlib.Probability.Distributions.Gaussian.Multivariate", + "Mathlib.Probability.Kernel.Composition.Comp", + "Mathlib.Probability.Kernel.Composition.CompProd", + "Mathlib.Probability.Kernel.Composition.MapComap", + "Mathlib.Tactic.NoncommRing", + "Mathlib.Topology.Instances.NNReal.Lemmas" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.LinearGaussianSemigroup.LinearGaussianParameters", + "namespace_variable_context": [ + "{Axis : Type*} [Fintype Axis] [DecidableEq Axis]" + ], + "preceding_scope_directives": [], + "qualified_name": "FEP.LinearGaussianSemigroup.LinearGaussianParameters.transitionCovariance_posDef", + "source_line": 508, + "source_owner": "src/fep_lean/formal/linear_gaussian_semigroup.lean", + "statement": "theorem transitionCovariance_posDef\n (model : LinearGaussianParameters Axis) (time : ℝ≥0)\n (hTime : 0 < time) :\n (model.transitionCovariance time).PosDef", + "statement_sha256": "aa54abdf4a64bc91e182c158e835f58b64a6398098d0a509c569b1082be564c3" + }, + "FEP.LinearGaussianSemigroup.LinearGaussianParameters.transitionCovariance_posSemidef": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "independent" + "model" ], "role": "typed_binder", - "source": "(independent : iIndepFun observables μ)", - "type_source": "iIndepFun observables μ", + "source": "(model : LinearGaussianParameters Axis)", + "type_source": "LinearGaussianParameters Axis", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "proxyVariance" + "time" ], "role": "typed_binder", - "source": "(proxyVariance : Fin sampleCount → ℝ≥0)", - "type_source": "Fin sampleCount → ℝ≥0", + "source": "(time : ℝ≥0)", + "type_source": "ℝ≥0", "visibility": "explicit" - }, + } + ], + "conclusion": "(model.transitionCovariance time).PosSemidef", + "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "subGaussian" + "Axis" ], "role": "typed_binder", - "source": "(subGaussian : ∀ index,\n HasSubgaussianMGF (observables index) (proxyVariance index) μ)", - "type_source": "∀ index,\n HasSubgaussianMGF (observables index) (proxyVariance index) μ", - "visibility": "explicit" + "source": "{Axis : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "deviation" - ], - "role": "typed_binder", - "source": "{deviation : ℝ}", - "type_source": "ℝ", - "visibility": "implicit" + "names": [], + "role": "instance_requirement", + "source": "[Fintype Axis]", + "type_source": "Fintype Axis", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "deviationNonnegative" - ], - "role": "typed_binder", - "source": "(deviationNonnegative : 0 ≤ deviation)", - "type_source": "0 ≤ deviation", - "visibility": "explicit" + "names": [], + "role": "instance_requirement", + "source": "[DecidableEq Axis]", + "type_source": "DecidableEq Axis", + "visibility": "instance" } ], - "conclusion": "μ.real {outcome |\n (sampleCount : ℝ) * deviation ≤\n ∑ index, observables index outcome} ≤\n Real.exp\n (-((sampleCount : ℝ) * deviation) ^ 2 /\n (2 * ∑ index, proxyVariance index))", - "context_binders": [], "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.variational_duality", - "Mathlib.Probability.Moments.SubGaussian" + "FepSketches.markov_semigroup", + "FepSketches.scalar_gaussian_semigroup", + "Mathlib.Analysis.Matrix.PosDef", + "Mathlib.Analysis.Normed.Algebra.MatrixExponential", + "Mathlib.Analysis.SpecialFunctions.Exponential", + "Mathlib.MeasureTheory.Measure.LevyConvergence", + "Mathlib.MeasureTheory.Measure.ProbabilityMeasure", + "Mathlib.Order.Filter.AtTopBot.CountablyGenerated", + "Mathlib.Probability.Distributions.Gaussian.Multivariate", + "Mathlib.Probability.Kernel.Composition.Comp", + "Mathlib.Probability.Kernel.Composition.CompProd", + "Mathlib.Probability.Kernel.Composition.MapComap", + "Mathlib.Tactic.NoncommRing", + "Mathlib.Topology.Instances.NNReal.Lemmas" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.LearningTheory", - "namespace_variable_context": [], - "preceding_scope_directives": [], - "qualified_name": "FEP.LearningTheory.subGaussian_empiricalMean_tail", - "source_line": 30, - "source_owner": "src/fep_lean/formal/learning_theory.lean", - "statement": "theorem subGaussian_empiricalMean_tail\n {Ω : Type*} [MeasurableSpace Ω]\n (μ : Measure Ω) {sampleCount : ℕ}\n (observables : Fin sampleCount → Ω → ℝ)\n (independent : iIndepFun observables μ)\n (proxyVariance : Fin sampleCount → ℝ≥0)\n (subGaussian : ∀ index,\n HasSubgaussianMGF (observables index) (proxyVariance index) μ)\n {deviation : ℝ} (deviationNonnegative : 0 ≤ deviation) :\n μ.real {outcome |\n (sampleCount : ℝ) * deviation ≤\n ∑ index, observables index outcome} ≤\n Real.exp\n (-((sampleCount : ℝ) * deviation) ^ 2 /\n (2 * ∑ index, proxyVariance index))", - "statement_sha256": "b854ab16125e0e667c74d0e37b9c942e59dd6230eb048035a164b7a72f5a290d" - }, - "FEP.LearningTheory.twoHypothesis_posterior_witness": { - "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [], - "conclusion": "twoHypothesisPosteriorBad (1 / 2) (1 / 2) (3 / 4) (1 / 4) 2 = 1 / 10", - "context_binders": [], - "declaration_mentions": [], - "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", - "import_context": [ - "FepSketches.variational_duality", - "Mathlib.Probability.Moments.SubGaussian" + "namespace": "FEP.LinearGaussianSemigroup.LinearGaussianParameters", + "namespace_variable_context": [ + "{Axis : Type*} [Fintype Axis] [DecidableEq Axis]" ], - "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.LearningTheory", - "namespace_variable_context": [], "preceding_scope_directives": [], - "qualified_name": "FEP.LearningTheory.twoHypothesis_posterior_witness", - "source_line": 305, - "source_owner": "src/fep_lean/formal/learning_theory.lean", - "statement": "theorem twoHypothesis_posterior_witness :\n twoHypothesisPosteriorBad (1 / 2) (1 / 2) (3 / 4) (1 / 4) 2 = 1 / 10", - "statement_sha256": "edb24c0a9f1121dd491166ceeb34efccf20dd01b1b082daf07e294e54ebcddd2" + "qualified_name": "FEP.LinearGaussianSemigroup.LinearGaussianParameters.transitionCovariance_posSemidef", + "source_line": 457, + "source_owner": "src/fep_lean/formal/linear_gaussian_semigroup.lean", + "statement": "theorem transitionCovariance_posSemidef\n (model : LinearGaussianParameters Axis) (time : ℝ≥0) :\n (model.transitionCovariance time).PosSemidef", + "statement_sha256": "b4ecf704927cf579285c2ee93bf55793e3beb0d343318e812102f61411a8d777" }, - "FEP.LinearGaussianSemigroup.LinearGaussianParameters.covariance_mul_precision": { + "FEP.LinearGaussianSemigroup.LinearGaussianParameters.transitionCovariance_zero": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { @@ -69888,7 +74936,7 @@ "visibility": "explicit" } ], - "conclusion": "model.covariance * model.precision = 1", + "conclusion": "model.transitionCovariance 0 = 0", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -69941,13 +74989,13 @@ "{Axis : Type*} [Fintype Axis] [DecidableEq Axis]" ], "preceding_scope_directives": [], - "qualified_name": "FEP.LinearGaussianSemigroup.LinearGaussianParameters.covariance_mul_precision", - "source_line": 86, + "qualified_name": "FEP.LinearGaussianSemigroup.LinearGaussianParameters.transitionCovariance_zero", + "source_line": 452, "source_owner": "src/fep_lean/formal/linear_gaussian_semigroup.lean", - "statement": "theorem covariance_mul_precision (model : LinearGaussianParameters Axis) :\n model.covariance * model.precision = 1", - "statement_sha256": "9aab55a13c793e678b263140c05f0f67976d9f7ae87cbe7e6a8125cc24f5c2d3" + "statement": "theorem transitionCovariance_zero (model : LinearGaussianParameters Axis) :\n model.transitionCovariance 0 = 0", + "statement_sha256": "9e161ff4cf160f0a1cb6cb5f8ee651e382b3eb409e088e8f7119a25f2c5011f6" }, - "FEP.LinearGaussianSemigroup.LinearGaussianParameters.covariance_posDef": { + "FEP.LinearGaussianSemigroup.LinearGaussianParameters.transitionMean_add": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { @@ -69959,9 +75007,30 @@ "source": "(model : LinearGaussianParameters Axis)", "type_source": "LinearGaussianParameters Axis", "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "left", + "right" + ], + "role": "typed_binder", + "source": "(left right : ℝ≥0)", + "type_source": "ℝ≥0", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "state" + ], + "role": "typed_binder", + "source": "(state : State Axis)", + "type_source": "State Axis", + "visibility": "explicit" } ], - "conclusion": "model.covariance.PosDef", + "conclusion": "model.transitionMean (left + right) state =\n model.transitionMean right (model.transitionMean left state)", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -70014,13 +75083,13 @@ "{Axis : Type*} [Fintype Axis] [DecidableEq Axis]" ], "preceding_scope_directives": [], - "qualified_name": "FEP.LinearGaussianSemigroup.LinearGaussianParameters.covariance_posDef", - "source_line": 94, + "qualified_name": "FEP.LinearGaussianSemigroup.LinearGaussianParameters.transitionMean_add", + "source_line": 443, "source_owner": "src/fep_lean/formal/linear_gaussian_semigroup.lean", - "statement": "theorem covariance_posDef (model : LinearGaussianParameters Axis) :\n model.covariance.PosDef", - "statement_sha256": "f03d0d8aa66c5801895fe1d1bd23b09f937179b0733b1ecf962043942ec44c5d" + "statement": "theorem transitionMean_add (model : LinearGaussianParameters Axis)\n (left right : ℝ≥0) (state : State Axis) :\n model.transitionMean (left + right) state =\n model.transitionMean right (model.transitionMean left state)", + "statement_sha256": "f236702aeca249c8c1185d0609bea67a90bc7886ecc5f94814f109028823f9e5" }, - "FEP.LinearGaussianSemigroup.LinearGaussianParameters.evolution_add": { + "FEP.LinearGaussianSemigroup.LinearGaussianParameters.transitionMean_zero": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { @@ -70036,16 +75105,15 @@ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "left", - "right" + "state" ], "role": "typed_binder", - "source": "(left right : ℝ≥0)", - "type_source": "ℝ≥0", + "source": "(state : State Axis)", + "type_source": "State Axis", "visibility": "explicit" } ], - "conclusion": "model.evolution (left + right) =\n model.evolution right * model.evolution left", + "conclusion": "model.transitionMean 0 state = state", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -70098,13 +75166,13 @@ "{Axis : Type*} [Fintype Axis] [DecidableEq Axis]" ], "preceding_scope_directives": [], - "qualified_name": "FEP.LinearGaussianSemigroup.LinearGaussianParameters.evolution_add", - "source_line": 401, + "qualified_name": "FEP.LinearGaussianSemigroup.LinearGaussianParameters.transitionMean_zero", + "source_line": 425, "source_owner": "src/fep_lean/formal/linear_gaussian_semigroup.lean", - "statement": "theorem evolution_add (model : LinearGaussianParameters Axis)\n (left right : ℝ≥0) :\n model.evolution (left + right) =\n model.evolution right * model.evolution left", - "statement_sha256": "baf4b5ba1766c90396eabedb3d6539a80e9ad93cca2c8dc260b0bdbfc1392ade" + "statement": "theorem transitionMean_zero (model : LinearGaussianParameters Axis)\n (state : State Axis) :\n model.transitionMean 0 state = state", + "statement_sha256": "7d33cbe328cb608a8a6b78043f6967debbc1f46a48c040ef2016c7e8a6e6f4ad" }, - "FEP.LinearGaussianSemigroup.LinearGaussianParameters.evolution_transpose": { + "FEP.LinearGaussianSemigroup.LinearGaussianParameters.transitionProbability_tendsto_invariant": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { @@ -70120,15 +75188,15 @@ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "time" + "state" ], "role": "typed_binder", - "source": "(time : ℝ≥0)", - "type_source": "ℝ≥0", + "source": "(state : State Axis)", + "type_source": "State Axis", "visibility": "explicit" } ], - "conclusion": "(model.evolution time)ᵀ = model.evolution time", + "conclusion": "Tendsto\n (fun time : ℝ≥0 => model.transitionProbability time state)\n atTop (𝓝 model.stationaryProbability)", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -70180,14 +75248,20 @@ "namespace_variable_context": [ "{Axis : Type*} [Fintype Axis] [DecidableEq Axis]" ], - "preceding_scope_directives": [], - "qualified_name": "FEP.LinearGaussianSemigroup.LinearGaussianParameters.evolution_transpose", - "source_line": 415, + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DecidableEq Axis] in" + } + ], + "qualified_name": "FEP.LinearGaussianSemigroup.LinearGaussianParameters.transitionProbability_tendsto_invariant", + "source_line": 1123, "source_owner": "src/fep_lean/formal/linear_gaussian_semigroup.lean", - "statement": "theorem evolution_transpose (model : LinearGaussianParameters Axis)\n (time : ℝ≥0) :\n (model.evolution time)ᵀ = model.evolution time", - "statement_sha256": "523e6296ba09c762318d56ac09c707021317b1f779fed5f11179c3a0cd7afc12" + "statement": "theorem transitionProbability_tendsto_invariant\n (model : LinearGaussianParameters Axis) (state : State Axis) :\n Tendsto\n (fun time : ℝ≥0 => model.transitionProbability time state)\n atTop (𝓝 model.stationaryProbability)", + "statement_sha256": "a360c460e730e37ac551af24fbbc899f0127d472f68b5cf2c9d00636931af208" }, - "FEP.LinearGaussianSemigroup.LinearGaussianParameters.evolution_zero": { + "FEP.LinearGaussianSemigroup.LinearGaussianParameters.transition_add": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { @@ -70199,9 +75273,20 @@ "source": "(model : LinearGaussianParameters Axis)", "type_source": "LinearGaussianParameters Axis", "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "left", + "right" + ], + "role": "typed_binder", + "source": "(left right : ℝ≥0)", + "type_source": "ℝ≥0", + "visibility": "explicit" } ], - "conclusion": "model.evolution 0 = 1", + "conclusion": "model.transition (left + right) =\n model.transition right ∘ₖ model.transition left", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -70254,57 +75339,47 @@ "{Axis : Type*} [Fintype Axis] [DecidableEq Axis]" ], "preceding_scope_directives": [], - "qualified_name": "FEP.LinearGaussianSemigroup.LinearGaussianParameters.evolution_zero", - "source_line": 395, + "qualified_name": "FEP.LinearGaussianSemigroup.LinearGaussianParameters.transition_add", + "source_line": 854, "source_owner": "src/fep_lean/formal/linear_gaussian_semigroup.lean", - "statement": "theorem evolution_zero (model : LinearGaussianParameters Axis) :\n model.evolution 0 = 1", - "statement_sha256": "e4ddba99ce105184b3629eca2506764032e6fc18d7a39067371646c65777bd94" + "statement": "theorem transition_add (model : LinearGaussianParameters Axis)\n (left right : ℝ≥0) :\n model.transition (left + right) =\n model.transition right ∘ₖ model.transition left", + "statement_sha256": "86058a245cb6a4f535b3ee0e57e4f926e10a5bf96ac1e0bb4283185c14dbf85e" }, - "FEP.LinearGaussianSemigroup.LinearGaussianParameters.finOneTransition_eq_scalarOU": { + "FEP.LinearGaussianSemigroup.LinearGaussianParameters.transition_apply": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "rate" - ], - "role": "typed_binder", - "source": "(rate : ℝ)", - "type_source": "ℝ", - "visibility": "explicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "hRate" + "model" ], "role": "typed_binder", - "source": "(hRate : 0 < rate)", - "type_source": "0 < rate", + "source": "(model : LinearGaussianParameters Axis)", + "type_source": "LinearGaussianParameters Axis", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "center" + "time" ], "role": "typed_binder", - "source": "(center : ℝ)", - "type_source": "ℝ", + "source": "(time : ℝ≥0)", + "type_source": "ℝ≥0", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "time" + "state" ], "role": "typed_binder", - "source": "(time : ℝ≥0)", - "type_source": "ℝ≥0", + "source": "(state : State Axis)", + "type_source": "State Axis", "visibility": "explicit" } ], - "conclusion": "(finOneParameters rate hRate center).finOneTransition time =\n (finOneScalarParameters rate hRate center).ouTransition time", + "conclusion": "model.transition time state =\n multivariateGaussian (model.transitionMean time state)\n (model.transitionCovariance time)", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -70333,32 +75408,7 @@ "visibility": "instance" } ], - "declaration_mentions": [ - { - "identifier": "finOne_transitionCovariance", - "qualified_name": "FEP.LinearGaussianSemigroup.LinearGaussianParameters.finOne_transitionCovariance", - "resolution": "exact or same-namespace source identifier", - "role": "proof_reference" - }, - { - "identifier": "finOne_transitionMean", - "qualified_name": "FEP.LinearGaussianSemigroup.LinearGaussianParameters.finOne_transitionMean", - "resolution": "exact or same-namespace source identifier", - "role": "proof_reference" - }, - { - "identifier": "transitionCovariance_posSemidef", - "qualified_name": "FEP.LinearGaussianSemigroup.LinearGaussianParameters.transitionCovariance_posSemidef", - "resolution": "exact or same-namespace source identifier", - "role": "proof_reference" - }, - { - "identifier": "transition_apply", - "qualified_name": "FEP.LinearGaussianSemigroup.LinearGaussianParameters.transition_apply", - "resolution": "exact or same-namespace source identifier", - "role": "proof_reference" - } - ], + "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ "FepSketches.markov_semigroup", @@ -70381,64 +75431,68 @@ "namespace_variable_context": [ "{Axis : Type*} [Fintype Axis] [DecidableEq Axis]" ], - "preceding_scope_directives": [ - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DecidableEq Axis] in" - } - ], - "qualified_name": "FEP.LinearGaussianSemigroup.LinearGaussianParameters.finOneTransition_eq_scalarOU", - "source_line": 1275, + "preceding_scope_directives": [], + "qualified_name": "FEP.LinearGaussianSemigroup.LinearGaussianParameters.transition_apply", + "source_line": 608, "source_owner": "src/fep_lean/formal/linear_gaussian_semigroup.lean", - "statement": "theorem finOneTransition_eq_scalarOU\n (rate : ℝ) (hRate : 0 < rate) (center : ℝ) (time : ℝ≥0) :\n (finOneParameters rate hRate center).finOneTransition time =\n (finOneScalarParameters rate hRate center).ouTransition time", - "statement_sha256": "a2e6a695067a080629e414f6fa86b3c06e24b8166060aecaf16268c452f285f6" + "statement": "theorem transition_apply (model : LinearGaussianParameters Axis)\n (time : ℝ≥0) (state : State Axis) :\n model.transition time state =\n multivariateGaussian (model.transitionMean time state)\n (model.transitionCovariance time)", + "statement_sha256": "e05a4ab148b8ab0013c8aedb4db0a271ad4f9b1de84e13c3041dd3550af5b385" }, - "FEP.LinearGaussianSemigroup.LinearGaussianParameters.finOne_transitionCovariance": { + "FEP.LinearGaussianSemigroup.LinearGaussianParameters.transition_comp_multivariateGaussian": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "rate" + "model" ], "role": "typed_binder", - "source": "(rate : ℝ)", - "type_source": "ℝ", + "source": "(model : LinearGaussianParameters Axis)", + "type_source": "LinearGaussianParameters Axis", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "hRate" + "time" ], "role": "typed_binder", - "source": "(hRate : 0 < rate)", - "type_source": "0 < rate", + "source": "(time : ℝ≥0)", + "type_source": "ℝ≥0", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "center" + "sourceMean" ], "role": "typed_binder", - "source": "(center : ℝ)", - "type_source": "ℝ", + "source": "(sourceMean : State Axis)", + "type_source": "State Axis", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "time" + "sourceCovariance" ], "role": "typed_binder", - "source": "(time : ℝ≥0)", - "type_source": "ℝ≥0", + "source": "(sourceCovariance : Matrix Axis Axis ℝ)", + "type_source": "Matrix Axis Axis ℝ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hSourceCovariance" + ], + "role": "typed_binder", + "source": "(hSourceCovariance : sourceCovariance.PosSemidef)", + "type_source": "sourceCovariance.PosSemidef", "visibility": "explicit" } ], - "conclusion": "(finOneParameters rate hRate center).transitionCovariance time 0 0 =\n (((finOneScalarParameters rate hRate center).transitionVariance time :\n ℝ≥0) : ℝ)", + "conclusion": "model.transition time ∘ₘ\n multivariateGaussian sourceMean sourceCovariance =\n multivariateGaussian\n (model.transitionMean time sourceMean)\n (model.evolution time * sourceCovariance *\n (model.evolution time)ᵀ +\n model.transitionCovariance time)", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -70490,74 +75544,59 @@ "namespace_variable_context": [ "{Axis : Type*} [Fintype Axis] [DecidableEq Axis]" ], - "preceding_scope_directives": [ - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DecidableEq Axis] in" - } - ], - "qualified_name": "FEP.LinearGaussianSemigroup.LinearGaussianParameters.finOne_transitionCovariance", - "source_line": 1254, + "preceding_scope_directives": [], + "qualified_name": "FEP.LinearGaussianSemigroup.LinearGaussianParameters.transition_comp_multivariateGaussian", + "source_line": 810, "source_owner": "src/fep_lean/formal/linear_gaussian_semigroup.lean", - "statement": "theorem finOne_transitionCovariance\n (rate : ℝ) (hRate : 0 < rate) (center : ℝ)\n (time : ℝ≥0) :\n (finOneParameters rate hRate center).transitionCovariance time 0 0 =\n (((finOneScalarParameters rate hRate center).transitionVariance time :\n ℝ≥0) : ℝ)", - "statement_sha256": "797602a4effaf7c99937de744946304375ca893151ddbc6be0fd846e059cbcfb" + "statement": "theorem transition_comp_multivariateGaussian\n (model : LinearGaussianParameters Axis) (time : ℝ≥0)\n (sourceMean : State Axis)\n (sourceCovariance : Matrix Axis Axis ℝ)\n (hSourceCovariance : sourceCovariance.PosSemidef) :\n model.transition time ∘ₘ\n multivariateGaussian sourceMean sourceCovariance =\n multivariateGaussian\n (model.transitionMean time sourceMean)\n (model.evolution time * sourceCovariance *\n (model.evolution time)ᵀ +\n model.transitionCovariance time)", + "statement_sha256": "111487c2fe415320d5c644cee29f1975b0eed4fe2a584f99ad369f39f25123b4" }, - "FEP.LinearGaussianSemigroup.LinearGaussianParameters.finOne_transitionMean": { + "FEP.LinearGaussianSemigroup.LinearGaussianParameters.transition_covariance": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "rate" - ], - "role": "typed_binder", - "source": "(rate : ℝ)", - "type_source": "ℝ", - "visibility": "explicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "hRate" + "model" ], "role": "typed_binder", - "source": "(hRate : 0 < rate)", - "type_source": "0 < rate", + "source": "(model : LinearGaussianParameters Axis)", + "type_source": "LinearGaussianParameters Axis", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "center" + "time" ], "role": "typed_binder", - "source": "(center : ℝ)", - "type_source": "ℝ", + "source": "(time : ℝ≥0)", + "type_source": "ℝ≥0", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "time" + "state" ], "role": "typed_binder", - "source": "(time : ℝ≥0)", - "type_source": "ℝ≥0", + "source": "(state : State Axis)", + "type_source": "State Axis", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "state" + "left", + "right" ], "role": "typed_binder", - "source": "(state : ℝ)", - "type_source": "ℝ", + "source": "(left right : Axis)", + "type_source": "Axis", "visibility": "explicit" } ], - "conclusion": "(finOneParameters rate hRate center).transitionMean time\n (finOneState state) 0 =\n (finOneScalarParameters rate hRate center).transitionMean time state", + "conclusion": "cov[fun next => next left, fun next => next right;\n model.transition time state] =\n model.transitionCovariance time left right", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -70609,20 +75648,14 @@ "namespace_variable_context": [ "{Axis : Type*} [Fintype Axis] [DecidableEq Axis]" ], - "preceding_scope_directives": [ - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DecidableEq Axis] in" - } - ], - "qualified_name": "FEP.LinearGaussianSemigroup.LinearGaussianParameters.finOne_transitionMean", - "source_line": 1237, + "preceding_scope_directives": [], + "qualified_name": "FEP.LinearGaussianSemigroup.LinearGaussianParameters.transition_covariance", + "source_line": 918, "source_owner": "src/fep_lean/formal/linear_gaussian_semigroup.lean", - "statement": "theorem finOne_transitionMean\n (rate : ℝ) (hRate : 0 < rate) (center : ℝ)\n (time : ℝ≥0) (state : ℝ) :\n (finOneParameters rate hRate center).transitionMean time\n (finOneState state) 0 =\n (finOneScalarParameters rate hRate center).transitionMean time state", - "statement_sha256": "218e0e2a76950fb0ca81ac5053f20cbed52e8b26af0e78563690bab8d2b2b714" + "statement": "theorem transition_covariance (model : LinearGaussianParameters Axis)\n (time : ℝ≥0) (state : State Axis) (left right : Axis) :\n cov[fun next => next left, fun next => next right;\n model.transition time state] =\n model.transitionCovariance time left right", + "statement_sha256": "f16b69b145e2382bf5f1a77df5875eaf5d7afff180f6cfce47f8e3538e57658e" }, - "FEP.LinearGaussianSemigroup.LinearGaussianParameters.integral_transition_tendsto_invariant": { + "FEP.LinearGaussianSemigroup.LinearGaussianParameters.transition_mean": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { @@ -70638,25 +75671,25 @@ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "state" + "time" ], "role": "typed_binder", - "source": "(state : State Axis)", - "type_source": "State Axis", + "source": "(time : ℝ≥0)", + "type_source": "ℝ≥0", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "f" + "state" ], "role": "typed_binder", - "source": "(f : State Axis →ᵇ ℝ)", - "type_source": "State Axis →ᵇ ℝ", + "source": "(state : State Axis)", + "type_source": "State Axis", "visibility": "explicit" } ], - "conclusion": "Tendsto\n (fun time : ℝ≥0 =>\n ∫ next, f next ∂\n (model.transitionProbability time state : Measure (State Axis)))\n atTop\n (𝓝 (∫ next, f next ∂\n (model.stationaryProbability : Measure (State Axis))))", + "conclusion": "(∫ next, next ∂model.transition time state) =\n model.transitionMean time state", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -70708,20 +75741,14 @@ "namespace_variable_context": [ "{Axis : Type*} [Fintype Axis] [DecidableEq Axis]" ], - "preceding_scope_directives": [ - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DecidableEq Axis] in" - } - ], - "qualified_name": "FEP.LinearGaussianSemigroup.LinearGaussianParameters.integral_transition_tendsto_invariant", - "source_line": 1153, + "preceding_scope_directives": [], + "qualified_name": "FEP.LinearGaussianSemigroup.LinearGaussianParameters.transition_mean", + "source_line": 909, "source_owner": "src/fep_lean/formal/linear_gaussian_semigroup.lean", - "statement": "theorem integral_transition_tendsto_invariant\n (model : LinearGaussianParameters Axis) (state : State Axis)\n (f : State Axis →ᵇ ℝ) :\n Tendsto\n (fun time : ℝ≥0 =>\n ∫ next, f next ∂\n (model.transitionProbability time state : Measure (State Axis)))\n atTop\n (𝓝 (∫ next, f next ∂\n (model.stationaryProbability : Measure (State Axis))))", - "statement_sha256": "fe404a18047ce37eaefe76782635b5134250f2decae632a4af2243baa88c53a9" + "statement": "theorem transition_mean (model : LinearGaussianParameters Axis)\n (time : ℝ≥0) (state : State Axis) :\n (∫ next, next ∂model.transition time state) =\n model.transitionMean time state", + "statement_sha256": "e7e7cfcb39500eb221aff8d10a33c22e461bf747dd465c63124efec1e4a7cdf6" }, - "FEP.LinearGaussianSemigroup.LinearGaussianParameters.precision_mul_covariance": { + "FEP.LinearGaussianSemigroup.LinearGaussianParameters.transition_univ": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { @@ -70733,9 +75760,29 @@ "source": "(model : LinearGaussianParameters Axis)", "type_source": "LinearGaussianParameters Axis", "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "time" + ], + "role": "typed_binder", + "source": "(time : ℝ≥0)", + "type_source": "ℝ≥0", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "state" + ], + "role": "typed_binder", + "source": "(state : State Axis)", + "type_source": "State Axis", + "visibility": "explicit" } ], - "conclusion": "model.precision * model.covariance = 1", + "conclusion": "model.transition time state Set.univ = 1", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -70788,13 +75835,13 @@ "{Axis : Type*} [Fintype Axis] [DecidableEq Axis]" ], "preceding_scope_directives": [], - "qualified_name": "FEP.LinearGaussianSemigroup.LinearGaussianParameters.precision_mul_covariance", - "source_line": 79, + "qualified_name": "FEP.LinearGaussianSemigroup.LinearGaussianParameters.transition_univ", + "source_line": 630, "source_owner": "src/fep_lean/formal/linear_gaussian_semigroup.lean", - "statement": "theorem precision_mul_covariance (model : LinearGaussianParameters Axis) :\n model.precision * model.covariance = 1", - "statement_sha256": "ac31d0459fa820d33a00bc2ade437cf905b4dde4d97234e69a873e6c8722fac2" + "statement": "theorem transition_univ (model : LinearGaussianParameters Axis)\n (time : ℝ≥0) (state : State Axis) :\n model.transition time state Set.univ = 1", + "statement_sha256": "fbc80c30beab40b9cc63a2bb67e768ddcf0540a614364332039674ae127ed7b0" }, - "FEP.LinearGaussianSemigroup.LinearGaussianParameters.stationaryLaw_invariant": { + "FEP.LinearGaussianSemigroup.LinearGaussianParameters.transition_zero": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { @@ -70808,7 +75855,7 @@ "visibility": "explicit" } ], - "conclusion": "FEP.MarkovSemigroup.InvariantLaw\n model.nativeSemigroup model.stationaryLaw", + "conclusion": "model.transition 0 = Kernel.id", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -70861,13 +75908,306 @@ "{Axis : Type*} [Fintype Axis] [DecidableEq Axis]" ], "preceding_scope_directives": [], - "qualified_name": "FEP.LinearGaussianSemigroup.LinearGaussianParameters.stationaryLaw_invariant", - "source_line": 897, + "qualified_name": "FEP.LinearGaussianSemigroup.LinearGaussianParameters.transition_zero", + "source_line": 637, "source_owner": "src/fep_lean/formal/linear_gaussian_semigroup.lean", - "statement": "theorem stationaryLaw_invariant (model : LinearGaussianParameters Axis) :\n FEP.MarkovSemigroup.InvariantLaw\n model.nativeSemigroup model.stationaryLaw", - "statement_sha256": "3e70f909cfe44f9d4ae15f6f2b0ffe26dd174b46c5ea85a26e7f0c1034a387b3" + "statement": "theorem transition_zero (model : LinearGaussianParameters Axis) :\n model.transition 0 = Kernel.id", + "statement_sha256": "c68ce184d77cac35b0d329f8f759874999be9e299309c1827abbe0b7dacd559b" }, - "FEP.LinearGaussianSemigroup.LinearGaussianParameters.transitionCovariance_add": { + "FEP.MarkovBlanket.boolDynamics_nontrivial": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [], + "conclusion": "let current : DynamicState Bool Bool Bool Bool", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "Internal", + "Sensory", + "Active", + "External" + ], + "role": "typed_binder", + "source": "{Internal Sensory Active External : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Internal]", + "type_source": "Fintype Internal", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Sensory]", + "type_source": "Fintype Sensory", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Active]", + "type_source": "Fintype Active", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype External]", + "type_source": "Fintype External", + "visibility": "instance" + } + ], + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.finite_information" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.MarkovBlanket", + "namespace_variable_context": [ + "{Internal Sensory Active External : Type*}\n [Fintype Internal] [Fintype Sensory] [Fintype Active] [Fintype External]" + ], + "preceding_scope_directives": [], + "qualified_name": "FEP.MarkovBlanket.boolDynamics_nontrivial", + "source_line": 254, + "source_owner": "src/fep_lean/formal/markov_blanket.lean", + "statement": "theorem boolDynamics_nontrivial :\n let current : DynamicState Bool Bool Bool Bool", + "statement_sha256": "dbc61ec8c7e6df6fd932d8302fb2d1f37fb18c97895174a9d896db72a4c869c9" + }, + "FEP.MarkovBlanket.conditionalJoint_fstMarginal": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "model" + ], + "role": "typed_binder", + "source": "(model : StaticModel Internal Sensory Active External)", + "type_source": "StaticModel Internal Sensory Active External", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "blanket" + ], + "role": "typed_binder", + "source": "(blanket : Blanket Sensory Active)", + "type_source": "Blanket Sensory Active", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "internal" + ], + "role": "typed_binder", + "source": "(internal : Internal)", + "type_source": "Internal", + "visibility": "explicit" + } + ], + "conclusion": "(conditionalJoint model blanket).fstMarginal internal =\n model.internalGiven blanket internal", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "Internal", + "Sensory", + "Active", + "External" + ], + "role": "typed_binder", + "source": "{Internal Sensory Active External : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Internal]", + "type_source": "Fintype Internal", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Sensory]", + "type_source": "Fintype Sensory", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Active]", + "type_source": "Fintype Active", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype External]", + "type_source": "Fintype External", + "visibility": "instance" + } + ], + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.finite_information" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.MarkovBlanket", + "namespace_variable_context": [ + "{Internal Sensory Active External : Type*}\n [Fintype Internal] [Fintype Sensory] [Fintype Active] [Fintype External]" + ], + "preceding_scope_directives": [], + "qualified_name": "FEP.MarkovBlanket.conditionalJoint_fstMarginal", + "source_line": 93, + "source_owner": "src/fep_lean/formal/markov_blanket.lean", + "statement": "theorem conditionalJoint_fstMarginal\n (model : StaticModel Internal Sensory Active External)\n (blanket : Blanket Sensory Active) (internal : Internal) :\n (conditionalJoint model blanket).fstMarginal internal =\n model.internalGiven blanket internal", + "statement_sha256": "c1888944490d1f099605a0a9a901570dc953de2d4be5ca36db4c3be2c5571eb7" + }, + "FEP.MarkovBlanket.conditional_internal_external_factorization": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "model" + ], + "role": "typed_binder", + "source": "(model : StaticModel Internal Sensory Active External)", + "type_source": "StaticModel Internal Sensory Active External", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "blanket" + ], + "role": "typed_binder", + "source": "(blanket : Blanket Sensory Active)", + "type_source": "Blanket Sensory Active", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hblanket" + ], + "role": "typed_binder", + "source": "(hblanket : 0 < model.blanketLaw blanket)", + "type_source": "0 < model.blanketLaw blanket", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "internal" + ], + "role": "typed_binder", + "source": "(internal : Internal)", + "type_source": "Internal", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "external" + ], + "role": "typed_binder", + "source": "(external : External)", + "type_source": "External", + "visibility": "explicit" + } + ], + "conclusion": "staticJoint model ((blanket, internal), external) /\n model.blanketLaw blanket =\n conditionalJoint model blanket (internal, external)", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "Internal", + "Sensory", + "Active", + "External" + ], + "role": "typed_binder", + "source": "{Internal Sensory Active External : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Internal]", + "type_source": "Fintype Internal", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Sensory]", + "type_source": "Fintype Sensory", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Active]", + "type_source": "Fintype Active", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype External]", + "type_source": "Fintype External", + "visibility": "instance" + } + ], + "declaration_mentions": [ + { + "identifier": "staticJoint_factorization", + "qualified_name": "FEP.MarkovBlanket.staticJoint_factorization", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + } + ], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.finite_information" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.MarkovBlanket", + "namespace_variable_context": [ + "{Internal Sensory Active External : Type*}\n [Fintype Internal] [Fintype Sensory] [Fintype Active] [Fintype External]" + ], + "preceding_scope_directives": [], + "qualified_name": "FEP.MarkovBlanket.conditional_internal_external_factorization", + "source_line": 75, + "source_owner": "src/fep_lean/formal/markov_blanket.lean", + "statement": "theorem conditional_internal_external_factorization\n (model : StaticModel Internal Sensory Active External)\n (blanket : Blanket Sensory Active) (hblanket : 0 < model.blanketLaw blanket)\n (internal : Internal) (external : External) :\n staticJoint model ((blanket, internal), external) /\n model.blanketLaw blanket =\n conditionalJoint model blanket (internal, external)", + "statement_sha256": "371f2d90d0cc7b5c8f9121f6cd64e0d90a5c9c434ac6215ce7a38f29aaeb1e16" + }, + "FEP.MarkovBlanket.conditional_mutualInformation_zero": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { @@ -70876,31 +76216,33 @@ "model" ], "role": "typed_binder", - "source": "(model : LinearGaussianParameters Axis)", - "type_source": "LinearGaussianParameters Axis", + "source": "(model : StaticModel Internal Sensory Active External)", + "type_source": "StaticModel Internal Sensory Active External", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "left", - "right" + "blanket" ], "role": "typed_binder", - "source": "(left right : ℝ≥0)", - "type_source": "ℝ≥0", + "source": "(blanket : Blanket Sensory Active)", + "type_source": "Blanket Sensory Active", "visibility": "explicit" } ], - "conclusion": "model.transitionCovariance (left + right) =\n model.evolution right * model.transitionCovariance left *\n (model.evolution right)ᵀ +\n model.transitionCovariance right", + "conclusion": "mutualInformation (conditionalJoint model blanket) = 0", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Axis" + "Internal", + "Sensory", + "Active", + "External" ], "role": "typed_binder", - "source": "{Axis : Type*}", + "source": "{Internal Sensory Active External : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -70908,50 +76250,62 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Axis]", - "type_source": "Fintype Axis", + "source": "[Fintype Internal]", + "type_source": "Fintype Internal", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DecidableEq Axis]", - "type_source": "DecidableEq Axis", + "source": "[Fintype Sensory]", + "type_source": "Fintype Sensory", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Active]", + "type_source": "Fintype Active", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype External]", + "type_source": "Fintype External", "visibility": "instance" } ], - "declaration_mentions": [], + "declaration_mentions": [ + { + "candidates": [ + "FEP.FiniteInformation.mutualInformation_product_eq_zero" + ], + "identifier": "mutualInformation_product_eq_zero", + "resolution": "unresolved lexical scope", + "role": "proof_reference" + } + ], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.markov_semigroup", - "FepSketches.scalar_gaussian_semigroup", - "Mathlib.Analysis.Matrix.PosDef", - "Mathlib.Analysis.Normed.Algebra.MatrixExponential", - "Mathlib.Analysis.SpecialFunctions.Exponential", - "Mathlib.MeasureTheory.Measure.LevyConvergence", - "Mathlib.MeasureTheory.Measure.ProbabilityMeasure", - "Mathlib.Order.Filter.AtTopBot.CountablyGenerated", - "Mathlib.Probability.Distributions.Gaussian.Multivariate", - "Mathlib.Probability.Kernel.Composition.Comp", - "Mathlib.Probability.Kernel.Composition.CompProd", - "Mathlib.Probability.Kernel.Composition.MapComap", - "Mathlib.Tactic.NoncommRing", - "Mathlib.Topology.Instances.NNReal.Lemmas" + "FepSketches.finite_information" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.LinearGaussianSemigroup.LinearGaussianParameters", + "namespace": "FEP.MarkovBlanket", "namespace_variable_context": [ - "{Axis : Type*} [Fintype Axis] [DecidableEq Axis]" + "{Internal Sensory Active External : Type*}\n [Fintype Internal] [Fintype Sensory] [Fintype Active] [Fintype External]" ], "preceding_scope_directives": [], - "qualified_name": "FEP.LinearGaussianSemigroup.LinearGaussianParameters.transitionCovariance_add", - "source_line": 560, - "source_owner": "src/fep_lean/formal/linear_gaussian_semigroup.lean", - "statement": "theorem transitionCovariance_add\n (model : LinearGaussianParameters Axis) (left right : ℝ≥0) :\n model.transitionCovariance (left + right) =\n model.evolution right * model.transitionCovariance left *\n (model.evolution right)ᵀ +\n model.transitionCovariance right", - "statement_sha256": "4afa9b51f7502bb9b59adfd0a44793e9d95ca604dc2805534c3bcc78f07b885e" + "qualified_name": "FEP.MarkovBlanket.conditional_mutualInformation_zero", + "source_line": 66, + "source_owner": "src/fep_lean/formal/markov_blanket.lean", + "statement": "theorem conditional_mutualInformation_zero\n (model : StaticModel Internal Sensory Active External)\n (blanket : Blanket Sensory Active) :\n mutualInformation (conditionalJoint model blanket) = 0", + "statement_sha256": "3cbf614c63d29a067afcb34e92df5eabaf9082c1fe8506670c648d316e8e5796" }, - "FEP.LinearGaussianSemigroup.LinearGaussianParameters.transitionCovariance_posDef": { + "FEP.MarkovBlanket.staticJoint_factorization": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { @@ -70960,40 +76314,53 @@ "model" ], "role": "typed_binder", - "source": "(model : LinearGaussianParameters Axis)", - "type_source": "LinearGaussianParameters Axis", + "source": "(model : StaticModel Internal Sensory Active External)", + "type_source": "StaticModel Internal Sensory Active External", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "time" + "blanket" ], "role": "typed_binder", - "source": "(time : ℝ≥0)", - "type_source": "ℝ≥0", + "source": "(blanket : Blanket Sensory Active)", + "type_source": "Blanket Sensory Active", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "hTime" + "internal" ], "role": "typed_binder", - "source": "(hTime : 0 < time)", - "type_source": "0 < time", + "source": "(internal : Internal)", + "type_source": "Internal", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "external" + ], + "role": "typed_binder", + "source": "(external : External)", + "type_source": "External", "visibility": "explicit" } ], - "conclusion": "(model.transitionCovariance time).PosDef", + "conclusion": "staticJoint model ((blanket, internal), external) =\n (model.blanketLaw blanket * model.internalGiven blanket internal) *\n model.externalGiven blanket external", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Axis" + "Internal", + "Sensory", + "Active", + "External" ], "role": "typed_binder", - "source": "{Axis : Type*}", + "source": "{Internal Sensory Active External : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -71001,82 +76368,89 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Axis]", - "type_source": "Fintype Axis", + "source": "[Fintype Internal]", + "type_source": "Fintype Internal", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DecidableEq Axis]", - "type_source": "DecidableEq Axis", + "source": "[Fintype Sensory]", + "type_source": "Fintype Sensory", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Active]", + "type_source": "Fintype Active", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype External]", + "type_source": "Fintype External", "visibility": "instance" } ], "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.markov_semigroup", - "FepSketches.scalar_gaussian_semigroup", - "Mathlib.Analysis.Matrix.PosDef", - "Mathlib.Analysis.Normed.Algebra.MatrixExponential", - "Mathlib.Analysis.SpecialFunctions.Exponential", - "Mathlib.MeasureTheory.Measure.LevyConvergence", - "Mathlib.MeasureTheory.Measure.ProbabilityMeasure", - "Mathlib.Order.Filter.AtTopBot.CountablyGenerated", - "Mathlib.Probability.Distributions.Gaussian.Multivariate", - "Mathlib.Probability.Kernel.Composition.Comp", - "Mathlib.Probability.Kernel.Composition.CompProd", - "Mathlib.Probability.Kernel.Composition.MapComap", - "Mathlib.Tactic.NoncommRing", - "Mathlib.Topology.Instances.NNReal.Lemmas" + "FepSketches.finite_information" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.LinearGaussianSemigroup.LinearGaussianParameters", + "namespace": "FEP.MarkovBlanket", "namespace_variable_context": [ - "{Axis : Type*} [Fintype Axis] [DecidableEq Axis]" + "{Internal Sensory Active External : Type*}\n [Fintype Internal] [Fintype Sensory] [Fintype Active] [Fintype External]" ], "preceding_scope_directives": [], - "qualified_name": "FEP.LinearGaussianSemigroup.LinearGaussianParameters.transitionCovariance_posDef", - "source_line": 508, - "source_owner": "src/fep_lean/formal/linear_gaussian_semigroup.lean", - "statement": "theorem transitionCovariance_posDef\n (model : LinearGaussianParameters Axis) (time : ℝ≥0)\n (hTime : 0 < time) :\n (model.transitionCovariance time).PosDef", - "statement_sha256": "aa54abdf4a64bc91e182c158e835f58b64a6398098d0a509c569b1082be564c3" + "qualified_name": "FEP.MarkovBlanket.staticJoint_factorization", + "source_line": 49, + "source_owner": "src/fep_lean/formal/markov_blanket.lean", + "statement": "theorem staticJoint_factorization\n (model : StaticModel Internal Sensory Active External)\n (blanket : Blanket Sensory Active) (internal : Internal)\n (external : External) :\n staticJoint model ((blanket, internal), external) =\n (model.blanketLaw blanket * model.internalGiven blanket internal) *\n model.externalGiven blanket external", + "statement_sha256": "549bac9b820e79c7ca8fc3d9f1a08d7bbc0ae55a9580f196b6b184a07df9d17d" }, - "FEP.LinearGaussianSemigroup.LinearGaussianParameters.transitionCovariance_posSemidef": { + "FEP.MarkovBlanket.transition_eq_staticJoint_nextStaticModel": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "model" + "dynamics" ], "role": "typed_binder", - "source": "(model : LinearGaussianParameters Axis)", - "type_source": "LinearGaussianParameters Axis", + "source": "(dynamics : Dynamics Internal Sensory Active External)", + "type_source": "Dynamics Internal Sensory Active External", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "time" + "current", + "next" ], "role": "typed_binder", - "source": "(time : ℝ≥0)", - "type_source": "ℝ≥0", + "source": "(current next : DynamicState Internal Sensory Active External)", + "type_source": "DynamicState Internal Sensory Active External", "visibility": "explicit" } ], - "conclusion": "(model.transitionCovariance time).PosSemidef", + "conclusion": "transition dynamics current next =\n staticJoint (nextStaticModel dynamics current)\n (staticCoordinates next)", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Axis" + "Internal", + "Sensory", + "Active", + "External" ], "role": "typed_binder", - "source": "{Axis : Type*}", + "source": "{Internal Sensory Active External : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -71084,72 +76458,89 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Axis]", - "type_source": "Fintype Axis", + "source": "[Fintype Internal]", + "type_source": "Fintype Internal", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DecidableEq Axis]", - "type_source": "DecidableEq Axis", + "source": "[Fintype Sensory]", + "type_source": "Fintype Sensory", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Active]", + "type_source": "Fintype Active", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype External]", + "type_source": "Fintype External", "visibility": "instance" } ], "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.markov_semigroup", - "FepSketches.scalar_gaussian_semigroup", - "Mathlib.Analysis.Matrix.PosDef", - "Mathlib.Analysis.Normed.Algebra.MatrixExponential", - "Mathlib.Analysis.SpecialFunctions.Exponential", - "Mathlib.MeasureTheory.Measure.LevyConvergence", - "Mathlib.MeasureTheory.Measure.ProbabilityMeasure", - "Mathlib.Order.Filter.AtTopBot.CountablyGenerated", - "Mathlib.Probability.Distributions.Gaussian.Multivariate", - "Mathlib.Probability.Kernel.Composition.Comp", - "Mathlib.Probability.Kernel.Composition.CompProd", - "Mathlib.Probability.Kernel.Composition.MapComap", - "Mathlib.Tactic.NoncommRing", - "Mathlib.Topology.Instances.NNReal.Lemmas" + "FepSketches.finite_information" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.LinearGaussianSemigroup.LinearGaussianParameters", + "namespace": "FEP.MarkovBlanket", "namespace_variable_context": [ - "{Axis : Type*} [Fintype Axis] [DecidableEq Axis]" + "{Internal Sensory Active External : Type*}\n [Fintype Internal] [Fintype Sensory] [Fintype Active] [Fintype External]" ], "preceding_scope_directives": [], - "qualified_name": "FEP.LinearGaussianSemigroup.LinearGaussianParameters.transitionCovariance_posSemidef", - "source_line": 457, - "source_owner": "src/fep_lean/formal/linear_gaussian_semigroup.lean", - "statement": "theorem transitionCovariance_posSemidef\n (model : LinearGaussianParameters Axis) (time : ℝ≥0) :\n (model.transitionCovariance time).PosSemidef", - "statement_sha256": "b4ecf704927cf579285c2ee93bf55793e3beb0d343318e812102f61411a8d777" + "qualified_name": "FEP.MarkovBlanket.transition_eq_staticJoint_nextStaticModel", + "source_line": 189, + "source_owner": "src/fep_lean/formal/markov_blanket.lean", + "statement": "theorem transition_eq_staticJoint_nextStaticModel\n (dynamics : Dynamics Internal Sensory Active External)\n (current next : DynamicState Internal Sensory Active External) :\n transition dynamics current next =\n staticJoint (nextStaticModel dynamics current)\n (staticCoordinates next)", + "statement_sha256": "416486a3cce3fab40e6cca88cb75abb9b706cd33b662c36fe428867eac8a8c06" }, - "FEP.LinearGaussianSemigroup.LinearGaussianParameters.transitionCovariance_zero": { + "FEP.MarkovBlanket.transition_factorization": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "model" + "dynamics" ], "role": "typed_binder", - "source": "(model : LinearGaussianParameters Axis)", - "type_source": "LinearGaussianParameters Axis", + "source": "(dynamics : Dynamics Internal Sensory Active External)", + "type_source": "Dynamics Internal Sensory Active External", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "current", + "next" + ], + "role": "typed_binder", + "source": "(current next : DynamicState Internal Sensory Active External)", + "type_source": "DynamicState Internal Sensory Active External", "visibility": "explicit" } ], - "conclusion": "model.transitionCovariance 0 = 0", + "conclusion": "transition dynamics current next =\n dynamics.internalFlow (current.1, current.2.1) next.1 *\n (dynamics.sensoryFlow (current.2.2.2, current.2.2.1) next.2.1 *\n (dynamics.activeFlow (current.1, current.2.1) next.2.2.1 *\n dynamics.externalFlow\n (current.2.2.2, current.2.2.1) next.2.2.2))", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Axis" + "Internal", + "Sensory", + "Active", + "External" ], "role": "typed_binder", - "source": "{Axis : Type*}", + "source": "{Internal Sensory Active External : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -71157,93 +76548,99 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Axis]", - "type_source": "Fintype Axis", + "source": "[Fintype Internal]", + "type_source": "Fintype Internal", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DecidableEq Axis]", - "type_source": "DecidableEq Axis", + "source": "[Fintype Sensory]", + "type_source": "Fintype Sensory", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Active]", + "type_source": "Fintype Active", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype External]", + "type_source": "Fintype External", "visibility": "instance" } ], "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.markov_semigroup", - "FepSketches.scalar_gaussian_semigroup", - "Mathlib.Analysis.Matrix.PosDef", - "Mathlib.Analysis.Normed.Algebra.MatrixExponential", - "Mathlib.Analysis.SpecialFunctions.Exponential", - "Mathlib.MeasureTheory.Measure.LevyConvergence", - "Mathlib.MeasureTheory.Measure.ProbabilityMeasure", - "Mathlib.Order.Filter.AtTopBot.CountablyGenerated", - "Mathlib.Probability.Distributions.Gaussian.Multivariate", - "Mathlib.Probability.Kernel.Composition.Comp", - "Mathlib.Probability.Kernel.Composition.CompProd", - "Mathlib.Probability.Kernel.Composition.MapComap", - "Mathlib.Tactic.NoncommRing", - "Mathlib.Topology.Instances.NNReal.Lemmas" + "FepSketches.finite_information" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.LinearGaussianSemigroup.LinearGaussianParameters", + "namespace": "FEP.MarkovBlanket", "namespace_variable_context": [ - "{Axis : Type*} [Fintype Axis] [DecidableEq Axis]" + "{Internal Sensory Active External : Type*}\n [Fintype Internal] [Fintype Sensory] [Fintype Active] [Fintype External]" ], "preceding_scope_directives": [], - "qualified_name": "FEP.LinearGaussianSemigroup.LinearGaussianParameters.transitionCovariance_zero", - "source_line": 452, - "source_owner": "src/fep_lean/formal/linear_gaussian_semigroup.lean", - "statement": "theorem transitionCovariance_zero (model : LinearGaussianParameters Axis) :\n model.transitionCovariance 0 = 0", - "statement_sha256": "9e161ff4cf160f0a1cb6cb5f8ee651e382b3eb409e088e8f7119a25f2c5011f6" + "qualified_name": "FEP.MarkovBlanket.transition_factorization", + "source_line": 174, + "source_owner": "src/fep_lean/formal/markov_blanket.lean", + "statement": "theorem transition_factorization\n (dynamics : Dynamics Internal Sensory Active External)\n (current next : DynamicState Internal Sensory Active External) :\n transition dynamics current next =\n dynamics.internalFlow (current.1, current.2.1) next.1 *\n (dynamics.sensoryFlow (current.2.2.2, current.2.2.1) next.2.1 *\n (dynamics.activeFlow (current.1, current.2.1) next.2.2.1 *\n dynamics.externalFlow\n (current.2.2.2, current.2.2.1) next.2.2.2))", + "statement_sha256": "e96acf19240e98fe3483940433f1e66f7d0f8ffe80973b5b9c3112969545b1bc" }, - "FEP.LinearGaussianSemigroup.LinearGaussianParameters.transitionMean_add": { + "FEP.MarkovBlanket.transition_row_conditional_factorization": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "model" + "dynamics" ], "role": "typed_binder", - "source": "(model : LinearGaussianParameters Axis)", - "type_source": "LinearGaussianParameters Axis", + "source": "(dynamics : Dynamics Internal Sensory Active External)", + "type_source": "Dynamics Internal Sensory Active External", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "left", - "right" + "current", + "next" ], "role": "typed_binder", - "source": "(left right : ℝ≥0)", - "type_source": "ℝ≥0", + "source": "(current next : DynamicState Internal Sensory Active External)", + "type_source": "DynamicState Internal Sensory Active External", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "state" + "hblanket" ], "role": "typed_binder", - "source": "(state : State Axis)", - "type_source": "State Axis", + "source": "(hblanket :\n 0 < (nextStaticModel dynamics current).blanketLaw\n (next.2.1, next.2.2.1))", + "type_source": "0 < (nextStaticModel dynamics current).blanketLaw\n (next.2.1, next.2.2.1)", "visibility": "explicit" } ], - "conclusion": "model.transitionMean (left + right) state =\n model.transitionMean right (model.transitionMean left state)", + "conclusion": "transition dynamics current next /\n (nextStaticModel dynamics current).blanketLaw\n (next.2.1, next.2.2.1) =\n conditionalJoint (nextStaticModel dynamics current)\n (next.2.1, next.2.2.1) (next.1, next.2.2.2)", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Axis" + "Internal", + "Sensory", + "Active", + "External" ], "role": "typed_binder", - "source": "{Axis : Type*}", + "source": "{Internal Sensory Active External : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -71251,82 +76648,111 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Axis]", - "type_source": "Fintype Axis", + "source": "[Fintype Internal]", + "type_source": "Fintype Internal", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DecidableEq Axis]", - "type_source": "DecidableEq Axis", + "source": "[Fintype Sensory]", + "type_source": "Fintype Sensory", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Active]", + "type_source": "Fintype Active", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype External]", + "type_source": "Fintype External", "visibility": "instance" } ], - "declaration_mentions": [], + "declaration_mentions": [ + { + "identifier": "conditional_internal_external_factorization", + "qualified_name": "FEP.MarkovBlanket.conditional_internal_external_factorization", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + }, + { + "identifier": "transition_eq_staticJoint_nextStaticModel", + "qualified_name": "FEP.MarkovBlanket.transition_eq_staticJoint_nextStaticModel", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + } + ], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.markov_semigroup", - "FepSketches.scalar_gaussian_semigroup", - "Mathlib.Analysis.Matrix.PosDef", - "Mathlib.Analysis.Normed.Algebra.MatrixExponential", - "Mathlib.Analysis.SpecialFunctions.Exponential", - "Mathlib.MeasureTheory.Measure.LevyConvergence", - "Mathlib.MeasureTheory.Measure.ProbabilityMeasure", - "Mathlib.Order.Filter.AtTopBot.CountablyGenerated", - "Mathlib.Probability.Distributions.Gaussian.Multivariate", - "Mathlib.Probability.Kernel.Composition.Comp", - "Mathlib.Probability.Kernel.Composition.CompProd", - "Mathlib.Probability.Kernel.Composition.MapComap", - "Mathlib.Tactic.NoncommRing", - "Mathlib.Topology.Instances.NNReal.Lemmas" + "FepSketches.finite_information" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.LinearGaussianSemigroup.LinearGaussianParameters", + "namespace": "FEP.MarkovBlanket", "namespace_variable_context": [ - "{Axis : Type*} [Fintype Axis] [DecidableEq Axis]" + "{Internal Sensory Active External : Type*}\n [Fintype Internal] [Fintype Sensory] [Fintype Active] [Fintype External]" ], "preceding_scope_directives": [], - "qualified_name": "FEP.LinearGaussianSemigroup.LinearGaussianParameters.transitionMean_add", - "source_line": 443, - "source_owner": "src/fep_lean/formal/linear_gaussian_semigroup.lean", - "statement": "theorem transitionMean_add (model : LinearGaussianParameters Axis)\n (left right : ℝ≥0) (state : State Axis) :\n model.transitionMean (left + right) state =\n model.transitionMean right (model.transitionMean left state)", - "statement_sha256": "f236702aeca249c8c1185d0609bea67a90bc7886ecc5f94814f109028823f9e5" + "qualified_name": "FEP.MarkovBlanket.transition_row_conditional_factorization", + "source_line": 216, + "source_owner": "src/fep_lean/formal/markov_blanket.lean", + "statement": "theorem transition_row_conditional_factorization\n (dynamics : Dynamics Internal Sensory Active External)\n (current next : DynamicState Internal Sensory Active External)\n (hblanket :\n 0 < (nextStaticModel dynamics current).blanketLaw\n (next.2.1, next.2.2.1)) :\n transition dynamics current next /\n (nextStaticModel dynamics current).blanketLaw\n (next.2.1, next.2.2.1) =\n conditionalJoint (nextStaticModel dynamics current)\n (next.2.1, next.2.2.1) (next.1, next.2.2.2)", + "statement_sha256": "8afc292c6df134ae2a40092366b55e2ee066df9eb8ebf3c74d7b216f64eef474" }, - "FEP.LinearGaussianSemigroup.LinearGaussianParameters.transitionMean_zero": { + "FEP.MarkovBlanket.transition_row_conditional_mutualInformation_zero": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "model" + "dynamics" ], "role": "typed_binder", - "source": "(model : LinearGaussianParameters Axis)", - "type_source": "LinearGaussianParameters Axis", + "source": "(dynamics : Dynamics Internal Sensory Active External)", + "type_source": "Dynamics Internal Sensory Active External", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "state" + "current" ], "role": "typed_binder", - "source": "(state : State Axis)", - "type_source": "State Axis", + "source": "(current : DynamicState Internal Sensory Active External)", + "type_source": "DynamicState Internal Sensory Active External", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "blanket" + ], + "role": "typed_binder", + "source": "(blanket : Blanket Sensory Active)", + "type_source": "Blanket Sensory Active", "visibility": "explicit" } ], - "conclusion": "model.transitionMean 0 state = state", + "conclusion": "mutualInformation\n (conditionalJoint (nextStaticModel dynamics current) blanket) = 0", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Axis" + "Internal", + "Sensory", + "Active", + "External" ], "role": "typed_binder", - "source": "{Axis : Type*}", + "source": "{Internal Sensory Active External : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -71334,82 +76760,154 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Axis]", - "type_source": "Fintype Axis", + "source": "[Fintype Internal]", + "type_source": "Fintype Internal", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DecidableEq Axis]", - "type_source": "DecidableEq Axis", + "source": "[Fintype Sensory]", + "type_source": "Fintype Sensory", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Active]", + "type_source": "Fintype Active", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype External]", + "type_source": "Fintype External", "visibility": "instance" } ], - "declaration_mentions": [], + "declaration_mentions": [ + { + "identifier": "conditional_mutualInformation_zero", + "qualified_name": "FEP.MarkovBlanket.conditional_mutualInformation_zero", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + } + ], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.markov_semigroup", - "FepSketches.scalar_gaussian_semigroup", - "Mathlib.Analysis.Matrix.PosDef", - "Mathlib.Analysis.Normed.Algebra.MatrixExponential", - "Mathlib.Analysis.SpecialFunctions.Exponential", - "Mathlib.MeasureTheory.Measure.LevyConvergence", - "Mathlib.MeasureTheory.Measure.ProbabilityMeasure", - "Mathlib.Order.Filter.AtTopBot.CountablyGenerated", - "Mathlib.Probability.Distributions.Gaussian.Multivariate", - "Mathlib.Probability.Kernel.Composition.Comp", - "Mathlib.Probability.Kernel.Composition.CompProd", - "Mathlib.Probability.Kernel.Composition.MapComap", - "Mathlib.Tactic.NoncommRing", - "Mathlib.Topology.Instances.NNReal.Lemmas" + "FepSketches.finite_information" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.LinearGaussianSemigroup.LinearGaussianParameters", + "namespace": "FEP.MarkovBlanket", "namespace_variable_context": [ - "{Axis : Type*} [Fintype Axis] [DecidableEq Axis]" + "{Internal Sensory Active External : Type*}\n [Fintype Internal] [Fintype Sensory] [Fintype Active] [Fintype External]" ], "preceding_scope_directives": [], - "qualified_name": "FEP.LinearGaussianSemigroup.LinearGaussianParameters.transitionMean_zero", - "source_line": 425, - "source_owner": "src/fep_lean/formal/linear_gaussian_semigroup.lean", - "statement": "theorem transitionMean_zero (model : LinearGaussianParameters Axis)\n (state : State Axis) :\n model.transitionMean 0 state = state", - "statement_sha256": "7d33cbe328cb608a8a6b78043f6967debbc1f46a48c040ef2016c7e8a6e6f4ad" + "qualified_name": "FEP.MarkovBlanket.transition_row_conditional_mutualInformation_zero", + "source_line": 235, + "source_owner": "src/fep_lean/formal/markov_blanket.lean", + "statement": "theorem transition_row_conditional_mutualInformation_zero\n (dynamics : Dynamics Internal Sensory Active External)\n (current : DynamicState Internal Sensory Active External)\n (blanket : Blanket Sensory Active) :\n mutualInformation\n (conditionalJoint (nextStaticModel dynamics current) blanket) = 0", + "statement_sha256": "062598717fdef8c65dabd8be07468078b5bdd097f07cbc9711f7c609283f4030" }, - "FEP.LinearGaussianSemigroup.LinearGaussianParameters.transitionProbability_tendsto_invariant": { + "FEP.MarkovSemigroup.NativeActionIndexedKernelSemigroup.boolBlanketNativeActionIndexedSemigroup_false_kernel": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [ + "binders": [], + "conclusion": "sampledKernel boolBlanketNativeActionIndexedSemigroup false =\n (Kernel.id : Kernel FEP.ContinuousTimeMarkov.BoolBlanketState\n FEP.ContinuousTimeMarkov.BoolBlanketState)", + "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "model" + "State", + "Action" ], "role": "typed_binder", - "source": "(model : LinearGaussianParameters Axis)", - "type_source": "LinearGaussianParameters Axis", - "visibility": "explicit" + "source": "{State Action : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[MeasurableSpace State]", + "type_source": "MeasurableSpace State", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "state" + "kernel" ], "role": "typed_binder", - "source": "(state : State Axis)", - "type_source": "State Axis", - "visibility": "explicit" + "source": "{kernel : Action → ℝ≥0 → Kernel State State}", + "type_source": "Action → ℝ≥0 → Kernel State State", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[∀ action time, IsMarkovKernel (kernel action time)]", + "type_source": "∀ action time, IsMarkovKernel (kernel action time)", + "visibility": "instance" } ], - "conclusion": "Tendsto\n (fun time : ℝ≥0 => model.transitionProbability time state)\n atTop (𝓝 model.stationaryProbability)", + "declaration_mentions": [ + { + "identifier": "FEP.ContinuousTimeMarkov.boolBlanketActionIndexedSemigroup_false_kernel", + "qualified_name": "FEP.ContinuousTimeMarkov.boolBlanketActionIndexedSemigroup_false_kernel", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + }, + { + "identifier": "FEP.NativeBlanket.embeddedKernel_identity", + "qualified_name": "FEP.NativeBlanket.embeddedKernel_identity", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + }, + { + "identifier": "liftActionIndexedSemigroup_sampledKernel", + "qualified_name": "FEP.MarkovSemigroup.NativeActionIndexedKernelSemigroup.liftActionIndexedSemigroup_sampledKernel", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + } + ], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.continuous_time_markov", + "FepSketches.native_blanket", + "Mathlib.InformationTheory.KullbackLeibler.DataProcessing", + "Mathlib.Probability.Kernel.Invariance" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.MarkovSemigroup.NativeActionIndexedKernelSemigroup", + "namespace_variable_context": [ + "{State Action : Type*} [MeasurableSpace State]\n {kernel : Action → ℝ≥0 → Kernel State State}\n [∀ action time, IsMarkovKernel (kernel action time)]" + ], + "preceding_scope_directives": [], + "qualified_name": "FEP.MarkovSemigroup.NativeActionIndexedKernelSemigroup.boolBlanketNativeActionIndexedSemigroup_false_kernel", + "source_line": 238, + "source_owner": "src/fep_lean/formal/markov_semigroup.lean", + "statement": "theorem boolBlanketNativeActionIndexedSemigroup_false_kernel :\n sampledKernel boolBlanketNativeActionIndexedSemigroup false =\n (Kernel.id : Kernel FEP.ContinuousTimeMarkov.BoolBlanketState\n FEP.ContinuousTimeMarkov.BoolBlanketState)", + "statement_sha256": "bd1aa99a8e302027e5627880d88fe4e265d55ba30ff1e239ef798e7d38df611a" + }, + "FEP.MarkovSemigroup.NativeActionIndexedKernelSemigroup.boolBlanketNativeActionIndexedSemigroup_kernels_ne": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [], + "conclusion": "sampledKernel boolBlanketNativeActionIndexedSemigroup false ≠\n sampledKernel boolBlanketNativeActionIndexedSemigroup true", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Axis" + "State", + "Action" ], "role": "typed_binder", - "source": "{Axis : Type*}", + "source": "{State Action : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -71417,89 +76915,226 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Axis]", - "type_source": "Fintype Axis", + "source": "[MeasurableSpace State]", + "type_source": "MeasurableSpace State", "visibility": "instance" }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "kernel" + ], + "role": "typed_binder", + "source": "{kernel : Action → ℝ≥0 → Kernel State State}", + "type_source": "Action → ℝ≥0 → Kernel State State", + "visibility": "implicit" + }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DecidableEq Axis]", - "type_source": "DecidableEq Axis", + "source": "[∀ action time, IsMarkovKernel (kernel action time)]", + "type_source": "∀ action time, IsMarkovKernel (kernel action time)", "visibility": "instance" } ], - "declaration_mentions": [], + "declaration_mentions": [ + { + "identifier": "FEP.ContinuousTimeMarkov.blanketRefreshSemigroup_transition_pos", + "qualified_name": "FEP.ContinuousTimeMarkov.blanketRefreshSemigroup_transition_pos", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + }, + { + "identifier": "FEP.NativeBlanket.embeddedKernel_apply_singleton", + "qualified_name": "FEP.NativeBlanket.embeddedKernel_apply_singleton", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + }, + { + "identifier": "boolBlanketNativeActionIndexedSemigroup_false_kernel", + "qualified_name": "FEP.MarkovSemigroup.NativeActionIndexedKernelSemigroup.boolBlanketNativeActionIndexedSemigroup_false_kernel", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + }, + { + "identifier": "boolBlanketNativeActionIndexedSemigroup_true_kernel", + "qualified_name": "FEP.MarkovSemigroup.NativeActionIndexedKernelSemigroup.boolBlanketNativeActionIndexedSemigroup_true_kernel", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + } + ], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.markov_semigroup", - "FepSketches.scalar_gaussian_semigroup", - "Mathlib.Analysis.Matrix.PosDef", - "Mathlib.Analysis.Normed.Algebra.MatrixExponential", - "Mathlib.Analysis.SpecialFunctions.Exponential", - "Mathlib.MeasureTheory.Measure.LevyConvergence", - "Mathlib.MeasureTheory.Measure.ProbabilityMeasure", - "Mathlib.Order.Filter.AtTopBot.CountablyGenerated", - "Mathlib.Probability.Distributions.Gaussian.Multivariate", - "Mathlib.Probability.Kernel.Composition.Comp", - "Mathlib.Probability.Kernel.Composition.CompProd", - "Mathlib.Probability.Kernel.Composition.MapComap", - "Mathlib.Tactic.NoncommRing", - "Mathlib.Topology.Instances.NNReal.Lemmas" + "FepSketches.continuous_time_markov", + "FepSketches.native_blanket", + "Mathlib.InformationTheory.KullbackLeibler.DataProcessing", + "Mathlib.Probability.Kernel.Invariance" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.LinearGaussianSemigroup.LinearGaussianParameters", + "namespace": "FEP.MarkovSemigroup.NativeActionIndexedKernelSemigroup", "namespace_variable_context": [ - "{Axis : Type*} [Fintype Axis] [DecidableEq Axis]" + "{State Action : Type*} [MeasurableSpace State]\n {kernel : Action → ℝ≥0 → Kernel State State}\n [∀ action time, IsMarkovKernel (kernel action time)]" ], - "preceding_scope_directives": [ + "preceding_scope_directives": [], + "qualified_name": "FEP.MarkovSemigroup.NativeActionIndexedKernelSemigroup.boolBlanketNativeActionIndexedSemigroup_kernels_ne", + "source_line": 275, + "source_owner": "src/fep_lean/formal/markov_semigroup.lean", + "statement": "theorem boolBlanketNativeActionIndexedSemigroup_kernels_ne :\n sampledKernel boolBlanketNativeActionIndexedSemigroup false ≠\n sampledKernel boolBlanketNativeActionIndexedSemigroup true", + "statement_sha256": "931a5da60bcdff5edb69667f013943659624a97de40e4b23b37afbba489f08f8" + }, + "FEP.MarkovSemigroup.NativeActionIndexedKernelSemigroup.boolBlanketNativeActionIndexedSemigroup_true_kernel": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [], + "conclusion": "sampledKernel boolBlanketNativeActionIndexedSemigroup true =\n FEP.NativeBlanket.embeddedKernel\n FEP.ContinuousTimeMarkov.boolBlanketRefreshKernel", + "context_binders": [ { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DecidableEq Axis] in" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "State", + "Action" + ], + "role": "typed_binder", + "source": "{State Action : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[MeasurableSpace State]", + "type_source": "MeasurableSpace State", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "kernel" + ], + "role": "typed_binder", + "source": "{kernel : Action → ℝ≥0 → Kernel State State}", + "type_source": "Action → ℝ≥0 → Kernel State State", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[∀ action time, IsMarkovKernel (kernel action time)]", + "type_source": "∀ action time, IsMarkovKernel (kernel action time)", + "visibility": "instance" } ], - "qualified_name": "FEP.LinearGaussianSemigroup.LinearGaussianParameters.transitionProbability_tendsto_invariant", - "source_line": 1123, - "source_owner": "src/fep_lean/formal/linear_gaussian_semigroup.lean", - "statement": "theorem transitionProbability_tendsto_invariant\n (model : LinearGaussianParameters Axis) (state : State Axis) :\n Tendsto\n (fun time : ℝ≥0 => model.transitionProbability time state)\n atTop (𝓝 model.stationaryProbability)", - "statement_sha256": "a360c460e730e37ac551af24fbbc899f0127d472f68b5cf2c9d00636931af208" + "declaration_mentions": [ + { + "identifier": "FEP.ContinuousTimeMarkov.boolBlanketActionIndexedSemigroup_true_kernel", + "qualified_name": "FEP.ContinuousTimeMarkov.boolBlanketActionIndexedSemigroup_true_kernel", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + }, + { + "identifier": "liftActionIndexedSemigroup_sampledKernel", + "qualified_name": "FEP.MarkovSemigroup.NativeActionIndexedKernelSemigroup.liftActionIndexedSemigroup_sampledKernel", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + } + ], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.continuous_time_markov", + "FepSketches.native_blanket", + "Mathlib.InformationTheory.KullbackLeibler.DataProcessing", + "Mathlib.Probability.Kernel.Invariance" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.MarkovSemigroup.NativeActionIndexedKernelSemigroup", + "namespace_variable_context": [ + "{State Action : Type*} [MeasurableSpace State]\n {kernel : Action → ℝ≥0 → Kernel State State}\n [∀ action time, IsMarkovKernel (kernel action time)]" + ], + "preceding_scope_directives": [], + "qualified_name": "FEP.MarkovSemigroup.NativeActionIndexedKernelSemigroup.boolBlanketNativeActionIndexedSemigroup_true_kernel", + "source_line": 258, + "source_owner": "src/fep_lean/formal/markov_semigroup.lean", + "statement": "theorem boolBlanketNativeActionIndexedSemigroup_true_kernel :\n sampledKernel boolBlanketNativeActionIndexedSemigroup true =\n FEP.NativeBlanket.embeddedKernel\n FEP.ContinuousTimeMarkov.boolBlanketRefreshKernel", + "statement_sha256": "4557c2b23f7b628f701de8075b9ad65ae895e534361027934956bdda9c5c0fbf" }, - "FEP.LinearGaussianSemigroup.LinearGaussianParameters.transition_add": { + "FEP.MarkovSemigroup.NativeActionIndexedKernelSemigroup.liftActionIndexedSemigroup_kernel": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype State]", + "type_source": "Fintype State", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DecidableEq State]", + "type_source": "DecidableEq State", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DiscreteMeasurableSpace State]", + "type_source": "DiscreteMeasurableSpace State", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Action]", + "type_source": "Fintype Action", + "visibility": "instance" + }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "model" + "indexed" ], "role": "typed_binder", - "source": "(model : LinearGaussianParameters Axis)", - "type_source": "LinearGaussianParameters Axis", + "source": "(indexed : FEP.ContinuousTimeMarkov.ActionIndexedSemigroup State Action)", + "type_source": "FEP.ContinuousTimeMarkov.ActionIndexedSemigroup State Action", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "left", - "right" + "action" ], "role": "typed_binder", - "source": "(left right : ℝ≥0)", + "source": "(action : Action)", + "type_source": "Action", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "time" + ], + "role": "typed_binder", + "source": "(time : ℝ≥0)", "type_source": "ℝ≥0", "visibility": "explicit" } ], - "conclusion": "model.transition (left + right) =\n model.transition right ∘ₖ model.transition left", + "conclusion": "embeddedActionKernelFamily indexed action time =\n FEP.NativeBlanket.embeddedKernel\n ((indexed.semigroup action).kernel time.1 time.2)", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Axis" + "State", + "Action" ], "role": "typed_binder", - "source": "{Axis : Type*}", + "source": "{State Action : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -71507,92 +77142,115 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Axis]", - "type_source": "Fintype Axis", + "source": "[MeasurableSpace State]", + "type_source": "MeasurableSpace State", "visibility": "instance" }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "kernel" + ], + "role": "typed_binder", + "source": "{kernel : Action → ℝ≥0 → Kernel State State}", + "type_source": "Action → ℝ≥0 → Kernel State State", + "visibility": "implicit" + }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DecidableEq Axis]", - "type_source": "DecidableEq Axis", + "source": "[∀ action time, IsMarkovKernel (kernel action time)]", + "type_source": "∀ action time, IsMarkovKernel (kernel action time)", "visibility": "instance" } ], "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.markov_semigroup", - "FepSketches.scalar_gaussian_semigroup", - "Mathlib.Analysis.Matrix.PosDef", - "Mathlib.Analysis.Normed.Algebra.MatrixExponential", - "Mathlib.Analysis.SpecialFunctions.Exponential", - "Mathlib.MeasureTheory.Measure.LevyConvergence", - "Mathlib.MeasureTheory.Measure.ProbabilityMeasure", - "Mathlib.Order.Filter.AtTopBot.CountablyGenerated", - "Mathlib.Probability.Distributions.Gaussian.Multivariate", - "Mathlib.Probability.Kernel.Composition.Comp", - "Mathlib.Probability.Kernel.Composition.CompProd", - "Mathlib.Probability.Kernel.Composition.MapComap", - "Mathlib.Tactic.NoncommRing", - "Mathlib.Topology.Instances.NNReal.Lemmas" + "FepSketches.continuous_time_markov", + "FepSketches.native_blanket", + "Mathlib.InformationTheory.KullbackLeibler.DataProcessing", + "Mathlib.Probability.Kernel.Invariance" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.LinearGaussianSemigroup.LinearGaussianParameters", + "namespace": "FEP.MarkovSemigroup.NativeActionIndexedKernelSemigroup", "namespace_variable_context": [ - "{Axis : Type*} [Fintype Axis] [DecidableEq Axis]" + "{State Action : Type*} [MeasurableSpace State]\n {kernel : Action → ℝ≥0 → Kernel State State}\n [∀ action time, IsMarkovKernel (kernel action time)]" ], "preceding_scope_directives": [], - "qualified_name": "FEP.LinearGaussianSemigroup.LinearGaussianParameters.transition_add", - "source_line": 854, - "source_owner": "src/fep_lean/formal/linear_gaussian_semigroup.lean", - "statement": "theorem transition_add (model : LinearGaussianParameters Axis)\n (left right : ℝ≥0) :\n model.transition (left + right) =\n model.transition right ∘ₖ model.transition left", - "statement_sha256": "86058a245cb6a4f535b3ee0e57e4f926e10a5bf96ac1e0bb4283185c14dbf85e" + "qualified_name": "FEP.MarkovSemigroup.NativeActionIndexedKernelSemigroup.liftActionIndexedSemigroup_kernel", + "source_line": 196, + "source_owner": "src/fep_lean/formal/markov_semigroup.lean", + "statement": "theorem liftActionIndexedSemigroup_kernel\n [Fintype State] [DecidableEq State] [DiscreteMeasurableSpace State]\n [Fintype Action]\n (indexed : FEP.ContinuousTimeMarkov.ActionIndexedSemigroup State Action)\n (action : Action) (time : ℝ≥0) :\n embeddedActionKernelFamily indexed action time =\n FEP.NativeBlanket.embeddedKernel\n ((indexed.semigroup action).kernel time.1 time.2)", + "statement_sha256": "0a55e558726bfb846eda75d11c6d8bc81472a0dce9b61435a9cd8bb5c4a2015d" }, - "FEP.LinearGaussianSemigroup.LinearGaussianParameters.transition_apply": { + "FEP.MarkovSemigroup.NativeActionIndexedKernelSemigroup.liftActionIndexedSemigroup_sampleTime": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "model" - ], - "role": "typed_binder", - "source": "(model : LinearGaussianParameters Axis)", - "type_source": "LinearGaussianParameters Axis", - "visibility": "explicit" + "names": [], + "role": "instance_requirement", + "source": "[Fintype State]", + "type_source": "Fintype State", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DecidableEq State]", + "type_source": "DecidableEq State", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DiscreteMeasurableSpace State]", + "type_source": "DiscreteMeasurableSpace State", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Action]", + "type_source": "Fintype Action", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "time" + "indexed" ], "role": "typed_binder", - "source": "(time : ℝ≥0)", - "type_source": "ℝ≥0", + "source": "(indexed : FEP.ContinuousTimeMarkov.ActionIndexedSemigroup State Action)", + "type_source": "FEP.ContinuousTimeMarkov.ActionIndexedSemigroup State Action", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "state" + "action" ], "role": "typed_binder", - "source": "(state : State Axis)", - "type_source": "State Axis", + "source": "(action : Action)", + "type_source": "Action", "visibility": "explicit" } ], - "conclusion": "model.transition time state =\n multivariateGaussian (model.transitionMean time state)\n (model.transitionCovariance time)", + "conclusion": "(((liftActionIndexedSemigroup indexed).sampleTime action : ℝ)) =\n indexed.sampleTime action", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Axis" + "State", + "Action" ], "role": "typed_binder", - "source": "{Axis : Type*}", + "source": "{State Action : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -71600,112 +77258,115 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Axis]", - "type_source": "Fintype Axis", + "source": "[MeasurableSpace State]", + "type_source": "MeasurableSpace State", "visibility": "instance" }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "kernel" + ], + "role": "typed_binder", + "source": "{kernel : Action → ℝ≥0 → Kernel State State}", + "type_source": "Action → ℝ≥0 → Kernel State State", + "visibility": "implicit" + }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DecidableEq Axis]", - "type_source": "DecidableEq Axis", + "source": "[∀ action time, IsMarkovKernel (kernel action time)]", + "type_source": "∀ action time, IsMarkovKernel (kernel action time)", "visibility": "instance" } ], "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.markov_semigroup", - "FepSketches.scalar_gaussian_semigroup", - "Mathlib.Analysis.Matrix.PosDef", - "Mathlib.Analysis.Normed.Algebra.MatrixExponential", - "Mathlib.Analysis.SpecialFunctions.Exponential", - "Mathlib.MeasureTheory.Measure.LevyConvergence", - "Mathlib.MeasureTheory.Measure.ProbabilityMeasure", - "Mathlib.Order.Filter.AtTopBot.CountablyGenerated", - "Mathlib.Probability.Distributions.Gaussian.Multivariate", - "Mathlib.Probability.Kernel.Composition.Comp", - "Mathlib.Probability.Kernel.Composition.CompProd", - "Mathlib.Probability.Kernel.Composition.MapComap", - "Mathlib.Tactic.NoncommRing", - "Mathlib.Topology.Instances.NNReal.Lemmas" + "FepSketches.continuous_time_markov", + "FepSketches.native_blanket", + "Mathlib.InformationTheory.KullbackLeibler.DataProcessing", + "Mathlib.Probability.Kernel.Invariance" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.LinearGaussianSemigroup.LinearGaussianParameters", + "namespace": "FEP.MarkovSemigroup.NativeActionIndexedKernelSemigroup", "namespace_variable_context": [ - "{Axis : Type*} [Fintype Axis] [DecidableEq Axis]" + "{State Action : Type*} [MeasurableSpace State]\n {kernel : Action → ℝ≥0 → Kernel State State}\n [∀ action time, IsMarkovKernel (kernel action time)]" ], "preceding_scope_directives": [], - "qualified_name": "FEP.LinearGaussianSemigroup.LinearGaussianParameters.transition_apply", - "source_line": 608, - "source_owner": "src/fep_lean/formal/linear_gaussian_semigroup.lean", - "statement": "theorem transition_apply (model : LinearGaussianParameters Axis)\n (time : ℝ≥0) (state : State Axis) :\n model.transition time state =\n multivariateGaussian (model.transitionMean time state)\n (model.transitionCovariance time)", - "statement_sha256": "e05a4ab148b8ab0013c8aedb4db0a271ad4f9b1de84e13c3041dd3550af5b385" + "qualified_name": "FEP.MarkovSemigroup.NativeActionIndexedKernelSemigroup.liftActionIndexedSemigroup_sampleTime", + "source_line": 208, + "source_owner": "src/fep_lean/formal/markov_semigroup.lean", + "statement": "theorem liftActionIndexedSemigroup_sampleTime\n [Fintype State] [DecidableEq State] [DiscreteMeasurableSpace State]\n [Fintype Action]\n (indexed : FEP.ContinuousTimeMarkov.ActionIndexedSemigroup State Action)\n (action : Action) :\n (((liftActionIndexedSemigroup indexed).sampleTime action : ℝ)) =\n indexed.sampleTime action", + "statement_sha256": "4b0e3072ca64de53115eb4f8e99e3c4c41e3d1ed68f0f52cca0cdb630847819f" }, - "FEP.LinearGaussianSemigroup.LinearGaussianParameters.transition_comp_multivariateGaussian": { + "FEP.MarkovSemigroup.NativeActionIndexedKernelSemigroup.liftActionIndexedSemigroup_sampledKernel": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "model" - ], - "role": "typed_binder", - "source": "(model : LinearGaussianParameters Axis)", - "type_source": "LinearGaussianParameters Axis", - "visibility": "explicit" + "names": [], + "role": "instance_requirement", + "source": "[Fintype State]", + "type_source": "Fintype State", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "time" - ], - "role": "typed_binder", - "source": "(time : ℝ≥0)", - "type_source": "ℝ≥0", - "visibility": "explicit" + "names": [], + "role": "instance_requirement", + "source": "[DecidableEq State]", + "type_source": "DecidableEq State", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "sourceMean" - ], - "role": "typed_binder", - "source": "(sourceMean : State Axis)", - "type_source": "State Axis", - "visibility": "explicit" + "names": [], + "role": "instance_requirement", + "source": "[DiscreteMeasurableSpace State]", + "type_source": "DiscreteMeasurableSpace State", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Action]", + "type_source": "Fintype Action", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "sourceCovariance" + "indexed" ], "role": "typed_binder", - "source": "(sourceCovariance : Matrix Axis Axis ℝ)", - "type_source": "Matrix Axis Axis ℝ", + "source": "(indexed : FEP.ContinuousTimeMarkov.ActionIndexedSemigroup State Action)", + "type_source": "FEP.ContinuousTimeMarkov.ActionIndexedSemigroup State Action", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "hSourceCovariance" + "action" ], "role": "typed_binder", - "source": "(hSourceCovariance : sourceCovariance.PosSemidef)", - "type_source": "sourceCovariance.PosSemidef", + "source": "(action : Action)", + "type_source": "Action", "visibility": "explicit" } ], - "conclusion": "model.transition time ∘ₘ\n multivariateGaussian sourceMean sourceCovariance =\n multivariateGaussian\n (model.transitionMean time sourceMean)\n (model.evolution time * sourceCovariance *\n (model.evolution time)ᵀ +\n model.transitionCovariance time)", + "conclusion": "sampledKernel (liftActionIndexedSemigroup indexed) action =\n FEP.NativeBlanket.embeddedKernel (indexed.sampledKernel action)", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Axis" + "State", + "Action" ], "role": "typed_binder", - "source": "{Axis : Type*}", + "source": "{State Action : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -71713,103 +77374,106 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Axis]", - "type_source": "Fintype Axis", + "source": "[MeasurableSpace State]", + "type_source": "MeasurableSpace State", "visibility": "instance" }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "kernel" + ], + "role": "typed_binder", + "source": "{kernel : Action → ℝ≥0 → Kernel State State}", + "type_source": "Action → ℝ≥0 → Kernel State State", + "visibility": "implicit" + }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DecidableEq Axis]", - "type_source": "DecidableEq Axis", + "source": "[∀ action time, IsMarkovKernel (kernel action time)]", + "type_source": "∀ action time, IsMarkovKernel (kernel action time)", "visibility": "instance" } ], "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.markov_semigroup", - "FepSketches.scalar_gaussian_semigroup", - "Mathlib.Analysis.Matrix.PosDef", - "Mathlib.Analysis.Normed.Algebra.MatrixExponential", - "Mathlib.Analysis.SpecialFunctions.Exponential", - "Mathlib.MeasureTheory.Measure.LevyConvergence", - "Mathlib.MeasureTheory.Measure.ProbabilityMeasure", - "Mathlib.Order.Filter.AtTopBot.CountablyGenerated", - "Mathlib.Probability.Distributions.Gaussian.Multivariate", - "Mathlib.Probability.Kernel.Composition.Comp", - "Mathlib.Probability.Kernel.Composition.CompProd", - "Mathlib.Probability.Kernel.Composition.MapComap", - "Mathlib.Tactic.NoncommRing", - "Mathlib.Topology.Instances.NNReal.Lemmas" + "FepSketches.continuous_time_markov", + "FepSketches.native_blanket", + "Mathlib.InformationTheory.KullbackLeibler.DataProcessing", + "Mathlib.Probability.Kernel.Invariance" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.LinearGaussianSemigroup.LinearGaussianParameters", + "namespace": "FEP.MarkovSemigroup.NativeActionIndexedKernelSemigroup", "namespace_variable_context": [ - "{Axis : Type*} [Fintype Axis] [DecidableEq Axis]" + "{State Action : Type*} [MeasurableSpace State]\n {kernel : Action → ℝ≥0 → Kernel State State}\n [∀ action time, IsMarkovKernel (kernel action time)]" ], "preceding_scope_directives": [], - "qualified_name": "FEP.LinearGaussianSemigroup.LinearGaussianParameters.transition_comp_multivariateGaussian", - "source_line": 810, - "source_owner": "src/fep_lean/formal/linear_gaussian_semigroup.lean", - "statement": "theorem transition_comp_multivariateGaussian\n (model : LinearGaussianParameters Axis) (time : ℝ≥0)\n (sourceMean : State Axis)\n (sourceCovariance : Matrix Axis Axis ℝ)\n (hSourceCovariance : sourceCovariance.PosSemidef) :\n model.transition time ∘ₘ\n multivariateGaussian sourceMean sourceCovariance =\n multivariateGaussian\n (model.transitionMean time sourceMean)\n (model.evolution time * sourceCovariance *\n (model.evolution time)ᵀ +\n model.transitionCovariance time)", - "statement_sha256": "111487c2fe415320d5c644cee29f1975b0eed4fe2a584f99ad369f39f25123b4" + "qualified_name": "FEP.MarkovSemigroup.NativeActionIndexedKernelSemigroup.liftActionIndexedSemigroup_sampledKernel", + "source_line": 218, + "source_owner": "src/fep_lean/formal/markov_semigroup.lean", + "statement": "theorem liftActionIndexedSemigroup_sampledKernel\n [Fintype State] [DecidableEq State] [DiscreteMeasurableSpace State]\n [Fintype Action]\n (indexed : FEP.ContinuousTimeMarkov.ActionIndexedSemigroup State Action)\n (action : Action) :\n sampledKernel (liftActionIndexedSemigroup indexed) action =\n FEP.NativeBlanket.embeddedKernel (indexed.sampledKernel action)", + "statement_sha256": "03f786654e2e246450e3e1f04dc0cb288493cd306cf414d801cd2fbe05b9ef8a" }, - "FEP.LinearGaussianSemigroup.LinearGaussianParameters.transition_covariance": { + "FEP.MarkovSemigroup.NativeKernelSemigroup.liftFiniteMarkovSemigroup_kernel": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "model" - ], - "role": "typed_binder", - "source": "(model : LinearGaussianParameters Axis)", - "type_source": "LinearGaussianParameters Axis", - "visibility": "explicit" + "names": [], + "role": "instance_requirement", + "source": "[Fintype State]", + "type_source": "Fintype State", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "time" - ], - "role": "typed_binder", - "source": "(time : ℝ≥0)", - "type_source": "ℝ≥0", - "visibility": "explicit" + "names": [], + "role": "instance_requirement", + "source": "[DecidableEq State]", + "type_source": "DecidableEq State", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DiscreteMeasurableSpace State]", + "type_source": "DiscreteMeasurableSpace State", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "state" + "semigroup" ], "role": "typed_binder", - "source": "(state : State Axis)", - "type_source": "State Axis", + "source": "(semigroup : FEP.ContinuousTimeMarkov.FiniteMarkovSemigroup State)", + "type_source": "FEP.ContinuousTimeMarkov.FiniteMarkovSemigroup State", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "left", - "right" + "time" ], "role": "typed_binder", - "source": "(left right : Axis)", - "type_source": "Axis", + "source": "(time : ℝ≥0)", + "type_source": "ℝ≥0", "visibility": "explicit" } ], - "conclusion": "cov[fun next => next left, fun next => next right;\n model.transition time state] =\n model.transitionCovariance time left right", + "conclusion": "embeddedFiniteKernelFamily semigroup time =\n FEP.NativeBlanket.embeddedKernel\n (semigroup.kernel time.1 time.2)", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Axis" + "State" ], "role": "typed_binder", - "source": "{Axis : Type*}", + "source": "{State : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -71817,92 +77481,110 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Axis]", - "type_source": "Fintype Axis", + "source": "[MeasurableSpace State]", + "type_source": "MeasurableSpace State", "visibility": "instance" }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "kernel" + ], + "role": "typed_binder", + "source": "{kernel : ℝ≥0 → Kernel State State}", + "type_source": "ℝ≥0 → Kernel State State", + "visibility": "implicit" + }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DecidableEq Axis]", - "type_source": "DecidableEq Axis", + "source": "[∀ time, IsMarkovKernel (kernel time)]", + "type_source": "∀ time, IsMarkovKernel (kernel time)", "visibility": "instance" } ], "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.markov_semigroup", - "FepSketches.scalar_gaussian_semigroup", - "Mathlib.Analysis.Matrix.PosDef", - "Mathlib.Analysis.Normed.Algebra.MatrixExponential", - "Mathlib.Analysis.SpecialFunctions.Exponential", - "Mathlib.MeasureTheory.Measure.LevyConvergence", - "Mathlib.MeasureTheory.Measure.ProbabilityMeasure", - "Mathlib.Order.Filter.AtTopBot.CountablyGenerated", - "Mathlib.Probability.Distributions.Gaussian.Multivariate", - "Mathlib.Probability.Kernel.Composition.Comp", - "Mathlib.Probability.Kernel.Composition.CompProd", - "Mathlib.Probability.Kernel.Composition.MapComap", - "Mathlib.Tactic.NoncommRing", - "Mathlib.Topology.Instances.NNReal.Lemmas" + "FepSketches.continuous_time_markov", + "FepSketches.native_blanket", + "Mathlib.InformationTheory.KullbackLeibler.DataProcessing", + "Mathlib.Probability.Kernel.Invariance" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.LinearGaussianSemigroup.LinearGaussianParameters", + "namespace": "FEP.MarkovSemigroup.NativeKernelSemigroup", "namespace_variable_context": [ - "{Axis : Type*} [Fintype Axis] [DecidableEq Axis]" + "{State : Type*} [MeasurableSpace State]\n {kernel : ℝ≥0 → Kernel State State}\n [∀ time, IsMarkovKernel (kernel time)]" ], "preceding_scope_directives": [], - "qualified_name": "FEP.LinearGaussianSemigroup.LinearGaussianParameters.transition_covariance", - "source_line": 918, - "source_owner": "src/fep_lean/formal/linear_gaussian_semigroup.lean", - "statement": "theorem transition_covariance (model : LinearGaussianParameters Axis)\n (time : ℝ≥0) (state : State Axis) (left right : Axis) :\n cov[fun next => next left, fun next => next right;\n model.transition time state] =\n model.transitionCovariance time left right", - "statement_sha256": "f16b69b145e2382bf5f1a77df5875eaf5d7afff180f6cfce47f8e3538e57658e" + "qualified_name": "FEP.MarkovSemigroup.NativeKernelSemigroup.liftFiniteMarkovSemigroup_kernel", + "source_line": 132, + "source_owner": "src/fep_lean/formal/markov_semigroup.lean", + "statement": "theorem liftFiniteMarkovSemigroup_kernel\n [Fintype State] [DecidableEq State] [DiscreteMeasurableSpace State]\n (semigroup : FEP.ContinuousTimeMarkov.FiniteMarkovSemigroup State)\n (time : ℝ≥0) :\n embeddedFiniteKernelFamily semigroup time =\n FEP.NativeBlanket.embeddedKernel\n (semigroup.kernel time.1 time.2)", + "statement_sha256": "899aedd9d8fe02b7c247b982b0b1c3834bb41706667848f2f6e384ad0f1f5c46" }, - "FEP.LinearGaussianSemigroup.LinearGaussianParameters.transition_mean": { + "FEP.MarkovSemigroup.NativeKernelSemigroup.nativeKL_nonincrease": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "model" + "semigroup" ], "role": "typed_binder", - "source": "(model : LinearGaussianParameters Axis)", - "type_source": "LinearGaussianParameters Axis", + "source": "(semigroup : NativeKernelSemigroup kernel)", + "type_source": "NativeKernelSemigroup kernel", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "time" + "earlier", + "increment" ], "role": "typed_binder", - "source": "(time : ℝ≥0)", + "source": "(earlier increment : ℝ≥0)", "type_source": "ℝ≥0", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "state" + "actual", + "reference" ], "role": "typed_binder", - "source": "(state : State Axis)", - "type_source": "State Axis", + "source": "(actual reference : Measure State)", + "type_source": "Measure State", "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[IsFiniteMeasure actual]", + "type_source": "IsFiniteMeasure actual", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[IsFiniteMeasure reference]", + "type_source": "IsFiniteMeasure reference", + "visibility": "instance" } ], - "conclusion": "(∫ next, next ∂model.transition time state) =\n model.transitionMean time state", + "conclusion": "InformationTheory.klDiv (kernel (earlier + increment) ∘ₘ actual)\n (kernel (earlier + increment) ∘ₘ reference) ≤\n InformationTheory.klDiv (kernel earlier ∘ₘ actual)\n (kernel earlier ∘ₘ reference)", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Axis" + "State" ], "role": "typed_binder", - "source": "{Axis : Type*}", + "source": "{State : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -71910,165 +77592,120 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Axis]", - "type_source": "Fintype Axis", + "source": "[MeasurableSpace State]", + "type_source": "MeasurableSpace State", "visibility": "instance" }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "kernel" + ], + "role": "typed_binder", + "source": "{kernel : ℝ≥0 → Kernel State State}", + "type_source": "ℝ≥0 → Kernel State State", + "visibility": "implicit" + }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DecidableEq Axis]", - "type_source": "DecidableEq Axis", + "source": "[∀ time, IsMarkovKernel (kernel time)]", + "type_source": "∀ time, IsMarkovKernel (kernel time)", "visibility": "instance" } ], "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.markov_semigroup", - "FepSketches.scalar_gaussian_semigroup", - "Mathlib.Analysis.Matrix.PosDef", - "Mathlib.Analysis.Normed.Algebra.MatrixExponential", - "Mathlib.Analysis.SpecialFunctions.Exponential", - "Mathlib.MeasureTheory.Measure.LevyConvergence", - "Mathlib.MeasureTheory.Measure.ProbabilityMeasure", - "Mathlib.Order.Filter.AtTopBot.CountablyGenerated", - "Mathlib.Probability.Distributions.Gaussian.Multivariate", - "Mathlib.Probability.Kernel.Composition.Comp", - "Mathlib.Probability.Kernel.Composition.CompProd", - "Mathlib.Probability.Kernel.Composition.MapComap", - "Mathlib.Tactic.NoncommRing", - "Mathlib.Topology.Instances.NNReal.Lemmas" + "FepSketches.continuous_time_markov", + "FepSketches.native_blanket", + "Mathlib.InformationTheory.KullbackLeibler.DataProcessing", + "Mathlib.Probability.Kernel.Invariance" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.LinearGaussianSemigroup.LinearGaussianParameters", + "namespace": "FEP.MarkovSemigroup.NativeKernelSemigroup", "namespace_variable_context": [ - "{Axis : Type*} [Fintype Axis] [DecidableEq Axis]" + "{State : Type*} [MeasurableSpace State]\n {kernel : ℝ≥0 → Kernel State State}\n [∀ time, IsMarkovKernel (kernel time)]" ], "preceding_scope_directives": [], - "qualified_name": "FEP.LinearGaussianSemigroup.LinearGaussianParameters.transition_mean", - "source_line": 909, - "source_owner": "src/fep_lean/formal/linear_gaussian_semigroup.lean", - "statement": "theorem transition_mean (model : LinearGaussianParameters Axis)\n (time : ℝ≥0) (state : State Axis) :\n (∫ next, next ∂model.transition time state) =\n model.transitionMean time state", - "statement_sha256": "e7e7cfcb39500eb221aff8d10a33c22e461bf747dd465c63124efec1e4a7cdf6" + "qualified_name": "FEP.MarkovSemigroup.NativeKernelSemigroup.nativeKL_nonincrease", + "source_line": 93, + "source_owner": "src/fep_lean/formal/markov_semigroup.lean", + "statement": "theorem nativeKL_nonincrease\n (semigroup : NativeKernelSemigroup kernel)\n (earlier increment : ℝ≥0)\n (actual reference : Measure State)\n [IsFiniteMeasure actual] [IsFiniteMeasure reference] :\n InformationTheory.klDiv (kernel (earlier + increment) ∘ₘ actual)\n (kernel (earlier + increment) ∘ₘ reference) ≤\n InformationTheory.klDiv (kernel earlier ∘ₘ actual)\n (kernel earlier ∘ₘ reference)", + "statement_sha256": "d3d466ac9078304e917ca65efbb381109cddf9b778322254a5ac2c28f0e1fc43" }, - "FEP.LinearGaussianSemigroup.LinearGaussianParameters.transition_univ": { + "FEP.MarkovSemigroup.NativeKernelSemigroup.nativeKL_to_invariant_nonincrease": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "model" + "semigroup" ], "role": "typed_binder", - "source": "(model : LinearGaussianParameters Axis)", - "type_source": "LinearGaussianParameters Axis", + "source": "(semigroup : NativeKernelSemigroup kernel)", + "type_source": "NativeKernelSemigroup kernel", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "time" + "earlier", + "increment" ], "role": "typed_binder", - "source": "(time : ℝ≥0)", + "source": "(earlier increment : ℝ≥0)", "type_source": "ℝ≥0", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "state" + "actual", + "invariant" ], "role": "typed_binder", - "source": "(state : State Axis)", - "type_source": "State Axis", + "source": "(actual invariant : Measure State)", + "type_source": "Measure State", "visibility": "explicit" - } - ], - "conclusion": "model.transition time state Set.univ = 1", - "context_binders": [ - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "Axis" - ], - "role": "typed_binder", - "source": "{Axis : Type*}", - "type_source": "Type*", - "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Axis]", - "type_source": "Fintype Axis", + "source": "[IsFiniteMeasure actual]", + "type_source": "IsFiniteMeasure actual", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DecidableEq Axis]", - "type_source": "DecidableEq Axis", + "source": "[IsFiniteMeasure invariant]", + "type_source": "IsFiniteMeasure invariant", "visibility": "instance" - } - ], - "declaration_mentions": [], - "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", - "import_context": [ - "FepSketches.markov_semigroup", - "FepSketches.scalar_gaussian_semigroup", - "Mathlib.Analysis.Matrix.PosDef", - "Mathlib.Analysis.Normed.Algebra.MatrixExponential", - "Mathlib.Analysis.SpecialFunctions.Exponential", - "Mathlib.MeasureTheory.Measure.LevyConvergence", - "Mathlib.MeasureTheory.Measure.ProbabilityMeasure", - "Mathlib.Order.Filter.AtTopBot.CountablyGenerated", - "Mathlib.Probability.Distributions.Gaussian.Multivariate", - "Mathlib.Probability.Kernel.Composition.Comp", - "Mathlib.Probability.Kernel.Composition.CompProd", - "Mathlib.Probability.Kernel.Composition.MapComap", - "Mathlib.Tactic.NoncommRing", - "Mathlib.Topology.Instances.NNReal.Lemmas" - ], - "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.LinearGaussianSemigroup.LinearGaussianParameters", - "namespace_variable_context": [ - "{Axis : Type*} [Fintype Axis] [DecidableEq Axis]" - ], - "preceding_scope_directives": [], - "qualified_name": "FEP.LinearGaussianSemigroup.LinearGaussianParameters.transition_univ", - "source_line": 630, - "source_owner": "src/fep_lean/formal/linear_gaussian_semigroup.lean", - "statement": "theorem transition_univ (model : LinearGaussianParameters Axis)\n (time : ℝ≥0) (state : State Axis) :\n model.transition time state Set.univ = 1", - "statement_sha256": "fbc80c30beab40b9cc63a2bb67e768ddcf0540a614364332039674ae127ed7b0" - }, - "FEP.LinearGaussianSemigroup.LinearGaussianParameters.transition_zero": { - "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [ + }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "model" + "hInvariant" ], "role": "typed_binder", - "source": "(model : LinearGaussianParameters Axis)", - "type_source": "LinearGaussianParameters Axis", + "source": "(hInvariant : InvariantLaw semigroup invariant)", + "type_source": "InvariantLaw semigroup invariant", "visibility": "explicit" } ], - "conclusion": "model.transition 0 = Kernel.id", + "conclusion": "InformationTheory.klDiv\n (kernel (earlier + increment) ∘ₘ actual) invariant ≤\n InformationTheory.klDiv (kernel earlier ∘ₘ actual) invariant", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Axis" + "State" ], "role": "typed_binder", - "source": "{Axis : Type*}", + "source": "{State : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -72076,163 +77713,99 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Axis]", - "type_source": "Fintype Axis", + "source": "[MeasurableSpace State]", + "type_source": "MeasurableSpace State", "visibility": "instance" }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[DecidableEq Axis]", - "type_source": "DecidableEq Axis", - "visibility": "instance" - } - ], - "declaration_mentions": [], - "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", - "import_context": [ - "FepSketches.markov_semigroup", - "FepSketches.scalar_gaussian_semigroup", - "Mathlib.Analysis.Matrix.PosDef", - "Mathlib.Analysis.Normed.Algebra.MatrixExponential", - "Mathlib.Analysis.SpecialFunctions.Exponential", - "Mathlib.MeasureTheory.Measure.LevyConvergence", - "Mathlib.MeasureTheory.Measure.ProbabilityMeasure", - "Mathlib.Order.Filter.AtTopBot.CountablyGenerated", - "Mathlib.Probability.Distributions.Gaussian.Multivariate", - "Mathlib.Probability.Kernel.Composition.Comp", - "Mathlib.Probability.Kernel.Composition.CompProd", - "Mathlib.Probability.Kernel.Composition.MapComap", - "Mathlib.Tactic.NoncommRing", - "Mathlib.Topology.Instances.NNReal.Lemmas" - ], - "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.LinearGaussianSemigroup.LinearGaussianParameters", - "namespace_variable_context": [ - "{Axis : Type*} [Fintype Axis] [DecidableEq Axis]" - ], - "preceding_scope_directives": [], - "qualified_name": "FEP.LinearGaussianSemigroup.LinearGaussianParameters.transition_zero", - "source_line": 637, - "source_owner": "src/fep_lean/formal/linear_gaussian_semigroup.lean", - "statement": "theorem transition_zero (model : LinearGaussianParameters Axis) :\n model.transition 0 = Kernel.id", - "statement_sha256": "c68ce184d77cac35b0d329f8f759874999be9e299309c1827abbe0b7dacd559b" - }, - "FEP.MarkovBlanket.boolDynamics_nontrivial": { - "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [], - "conclusion": "let current : DynamicState Bool Bool Bool Bool", - "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Internal", - "Sensory", - "Active", - "External" + "kernel" ], "role": "typed_binder", - "source": "{Internal Sensory Active External : Type*}", - "type_source": "Type*", + "source": "{kernel : ℝ≥0 → Kernel State State}", + "type_source": "ℝ≥0 → Kernel State State", "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Internal]", - "type_source": "Fintype Internal", - "visibility": "instance" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype Sensory]", - "type_source": "Fintype Sensory", - "visibility": "instance" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype Active]", - "type_source": "Fintype Active", + "source": "[∀ time, IsMarkovKernel (kernel time)]", + "type_source": "∀ time, IsMarkovKernel (kernel time)", "visibility": "instance" - }, + } + ], + "declaration_mentions": [ { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype External]", - "type_source": "Fintype External", - "visibility": "instance" + "identifier": "nativeKL_nonincrease", + "qualified_name": "FEP.MarkovSemigroup.NativeKernelSemigroup.nativeKL_nonincrease", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" } ], - "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.finite_information" + "FepSketches.continuous_time_markov", + "FepSketches.native_blanket", + "Mathlib.InformationTheory.KullbackLeibler.DataProcessing", + "Mathlib.Probability.Kernel.Invariance" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.MarkovBlanket", + "namespace": "FEP.MarkovSemigroup.NativeKernelSemigroup", "namespace_variable_context": [ - "{Internal Sensory Active External : Type*}\n [Fintype Internal] [Fintype Sensory] [Fintype Active] [Fintype External]" + "{State : Type*} [MeasurableSpace State]\n {kernel : ℝ≥0 → Kernel State State}\n [∀ time, IsMarkovKernel (kernel time)]" ], "preceding_scope_directives": [], - "qualified_name": "FEP.MarkovBlanket.boolDynamics_nontrivial", - "source_line": 254, - "source_owner": "src/fep_lean/formal/markov_blanket.lean", - "statement": "theorem boolDynamics_nontrivial :\n let current : DynamicState Bool Bool Bool Bool", - "statement_sha256": "dbc61ec8c7e6df6fd932d8302fb2d1f37fb18c97895174a9d896db72a4c869c9" + "qualified_name": "FEP.MarkovSemigroup.NativeKernelSemigroup.nativeKL_to_invariant_nonincrease", + "source_line": 109, + "source_owner": "src/fep_lean/formal/markov_semigroup.lean", + "statement": "theorem nativeKL_to_invariant_nonincrease\n (semigroup : NativeKernelSemigroup kernel)\n (earlier increment : ℝ≥0)\n (actual invariant : Measure State)\n [IsFiniteMeasure actual] [IsFiniteMeasure invariant]\n (hInvariant : InvariantLaw semigroup invariant) :\n InformationTheory.klDiv\n (kernel (earlier + increment) ∘ₘ actual) invariant ≤\n InformationTheory.klDiv (kernel earlier ∘ₘ actual) invariant", + "statement_sha256": "1f5def394414d28ff1a0803d4f43a7bebf0fb4f146dfe25ef40fdea137b1acee" }, - "FEP.MarkovBlanket.conditionalJoint_fstMarginal": { + "FEP.MarkovSemigroup.NativeKernelSemigroup.reversibleLaw_invariantLaw": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "model" + "semigroup" ], "role": "typed_binder", - "source": "(model : StaticModel Internal Sensory Active External)", - "type_source": "StaticModel Internal Sensory Active External", + "source": "(semigroup : NativeKernelSemigroup kernel)", + "type_source": "NativeKernelSemigroup kernel", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "blanket" + "law" ], "role": "typed_binder", - "source": "(blanket : Blanket Sensory Active)", - "type_source": "Blanket Sensory Active", + "source": "(law : Measure State)", + "type_source": "Measure State", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "internal" + "hReversible" ], "role": "typed_binder", - "source": "(internal : Internal)", - "type_source": "Internal", + "source": "(hReversible : ReversibleLaw semigroup law)", + "type_source": "ReversibleLaw semigroup law", "visibility": "explicit" } ], - "conclusion": "(conditionalJoint model blanket).fstMarginal internal =\n model.internalGiven blanket internal", + "conclusion": "InvariantLaw semigroup law", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Internal", - "Sensory", - "Active", - "External" + "State" ], "role": "typed_binder", - "source": "{Internal Sensory Active External : Type*}", + "source": "{State : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -72240,967 +77813,841 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Internal]", - "type_source": "Fintype Internal", - "visibility": "instance" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype Sensory]", - "type_source": "Fintype Sensory", + "source": "[MeasurableSpace State]", + "type_source": "MeasurableSpace State", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype Active]", - "type_source": "Fintype Active", - "visibility": "instance" + "names": [ + "kernel" + ], + "role": "typed_binder", + "source": "{kernel : ℝ≥0 → Kernel State State}", + "type_source": "ℝ≥0 → Kernel State State", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype External]", - "type_source": "Fintype External", + "source": "[∀ time, IsMarkovKernel (kernel time)]", + "type_source": "∀ time, IsMarkovKernel (kernel time)", "visibility": "instance" } ], "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.finite_information" + "FepSketches.continuous_time_markov", + "FepSketches.native_blanket", + "Mathlib.InformationTheory.KullbackLeibler.DataProcessing", + "Mathlib.Probability.Kernel.Invariance" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.MarkovBlanket", + "namespace": "FEP.MarkovSemigroup.NativeKernelSemigroup", "namespace_variable_context": [ - "{Internal Sensory Active External : Type*}\n [Fintype Internal] [Fintype Sensory] [Fintype Active] [Fintype External]" + "{State : Type*} [MeasurableSpace State]\n {kernel : ℝ≥0 → Kernel State State}\n [∀ time, IsMarkovKernel (kernel time)]" ], "preceding_scope_directives": [], - "qualified_name": "FEP.MarkovBlanket.conditionalJoint_fstMarginal", - "source_line": 93, - "source_owner": "src/fep_lean/formal/markov_blanket.lean", - "statement": "theorem conditionalJoint_fstMarginal\n (model : StaticModel Internal Sensory Active External)\n (blanket : Blanket Sensory Active) (internal : Internal) :\n (conditionalJoint model blanket).fstMarginal internal =\n model.internalGiven blanket internal", - "statement_sha256": "c1888944490d1f099605a0a9a901570dc953de2d4be5ca36db4c3be2c5571eb7" + "qualified_name": "FEP.MarkovSemigroup.NativeKernelSemigroup.reversibleLaw_invariantLaw", + "source_line": 84, + "source_owner": "src/fep_lean/formal/markov_semigroup.lean", + "statement": "theorem reversibleLaw_invariantLaw\n (semigroup : NativeKernelSemigroup kernel) (law : Measure State)\n (hReversible : ReversibleLaw semigroup law) :\n InvariantLaw semigroup law", + "statement_sha256": "f40a51a4ac22b2001eceb9ef59bb402ec725f900c90f89aea6df277950dc9663" }, - "FEP.MarkovBlanket.conditional_internal_external_factorization": { + "FEP.MeasureBayes.conditionalExpectation_tower": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "model" + "joint" ], "role": "typed_binder", - "source": "(model : StaticModel Internal Sensory Active External)", - "type_source": "StaticModel Internal Sensory Active External", + "source": "(joint : Measure (Observation × Conditioned))", + "type_source": "Measure (Observation × Conditioned)", "visibility": "explicit" }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[IsFiniteMeasure joint]", + "type_source": "IsFiniteMeasure joint", + "visibility": "instance" + }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "blanket" + "f" ], "role": "typed_binder", - "source": "(blanket : Blanket Sensory Active)", - "type_source": "Blanket Sensory Active", - "visibility": "explicit" + "source": "{f : Observation × Conditioned → ℝ}", + "type_source": "Observation × Conditioned → ℝ", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "hblanket" + "hf" ], "role": "typed_binder", - "source": "(hblanket : 0 < model.blanketLaw blanket)", - "type_source": "0 < model.blanketLaw blanket", + "source": "(hf : Integrable f joint)", + "type_source": "Integrable f joint", "visibility": "explicit" + } + ], + "conclusion": "(∫ observation,\n ∫ conditioned, f (observation, conditioned) ∂joint.condKernel observation\n ∂joint.fst) = ∫ pair, f pair ∂joint", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "Ω", + "Observation", + "Intermediate" + ], + "role": "typed_binder", + "source": "{Ω Observation Intermediate : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "internal" + "mΩ" ], "role": "typed_binder", - "source": "(internal : Internal)", - "type_source": "Internal", - "visibility": "explicit" + "source": "{mΩ : MeasurableSpace Ω}", + "type_source": "MeasurableSpace Ω", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "external" + "mObservation" ], "role": "typed_binder", - "source": "(external : External)", - "type_source": "External", - "visibility": "explicit" - } - ], - "conclusion": "staticJoint model ((blanket, internal), external) /\n model.blanketLaw blanket =\n conditionalJoint model blanket (internal, external)", - "context_binders": [ + "source": "{mObservation : MeasurableSpace Observation}", + "type_source": "MeasurableSpace Observation", + "visibility": "implicit" + }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Internal", - "Sensory", - "Active", - "External" + "mIntermediate" ], "role": "typed_binder", - "source": "{Internal Sensory Active External : Type*}", - "type_source": "Type*", + "source": "{mIntermediate : MeasurableSpace Intermediate}", + "type_source": "MeasurableSpace Intermediate", "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Internal]", - "type_source": "Fintype Internal", + "source": "[StandardBorelSpace Ω]", + "type_source": "StandardBorelSpace Ω", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Sensory]", - "type_source": "Fintype Sensory", + "source": "[Nonempty Ω]", + "type_source": "Nonempty Ω", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype Active]", - "type_source": "Fintype Active", - "visibility": "instance" + "names": [ + "prior" + ], + "role": "typed_binder", + "source": "{prior : Measure Ω}", + "type_source": "Measure Ω", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype External]", - "type_source": "Fintype External", + "source": "[IsFiniteMeasure prior]", + "type_source": "IsFiniteMeasure prior", "visibility": "instance" - } - ], - "declaration_mentions": [ - { - "identifier": "staticJoint_factorization", - "qualified_name": "FEP.MarkovBlanket.staticJoint_factorization", - "resolution": "exact or same-namespace source identifier", - "role": "proof_reference" - } - ], - "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", - "import_context": [ - "FepSketches.finite_information" - ], - "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.MarkovBlanket", - "namespace_variable_context": [ - "{Internal Sensory Active External : Type*}\n [Fintype Internal] [Fintype Sensory] [Fintype Active] [Fintype External]" - ], - "preceding_scope_directives": [], - "qualified_name": "FEP.MarkovBlanket.conditional_internal_external_factorization", - "source_line": 75, - "source_owner": "src/fep_lean/formal/markov_blanket.lean", - "statement": "theorem conditional_internal_external_factorization\n (model : StaticModel Internal Sensory Active External)\n (blanket : Blanket Sensory Active) (hblanket : 0 < model.blanketLaw blanket)\n (internal : Internal) (external : External) :\n staticJoint model ((blanket, internal), external) /\n model.blanketLaw blanket =\n conditionalJoint model blanket (internal, external)", - "statement_sha256": "371f2d90d0cc7b5c8f9121f6cd64e0d90a5c9c434ac6215ce7a38f29aaeb1e16" - }, - "FEP.MarkovBlanket.conditional_mutualInformation_zero": { - "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [ + }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "model" + "likelihood" ], "role": "typed_binder", - "source": "(model : StaticModel Internal Sensory Active External)", - "type_source": "StaticModel Internal Sensory Active External", - "visibility": "explicit" + "source": "{likelihood : Kernel Ω Observation}", + "type_source": "Kernel Ω Observation", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "blanket" - ], - "role": "typed_binder", - "source": "(blanket : Blanket Sensory Active)", - "type_source": "Blanket Sensory Active", - "visibility": "explicit" - } - ], - "conclusion": "mutualInformation (conditionalJoint model blanket) = 0", - "context_binders": [ + "names": [], + "role": "instance_requirement", + "source": "[IsFiniteKernel likelihood]", + "type_source": "IsFiniteKernel likelihood", + "visibility": "instance" + }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Internal", - "Sensory", - "Active", - "External" + "Conditioned" ], "role": "typed_binder", - "source": "{Internal Sensory Active External : Type*}", + "source": "{Conditioned : Type*}", "type_source": "Type*", "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype Internal]", - "type_source": "Fintype Internal", - "visibility": "instance" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype Sensory]", - "type_source": "Fintype Sensory", - "visibility": "instance" + "names": [ + "mConditioned" + ], + "role": "typed_binder", + "source": "{mConditioned : MeasurableSpace Conditioned}", + "type_source": "MeasurableSpace Conditioned", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Active]", - "type_source": "Fintype Active", + "source": "[StandardBorelSpace Conditioned]", + "type_source": "StandardBorelSpace Conditioned", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype External]", - "type_source": "Fintype External", + "source": "[Nonempty Conditioned]", + "type_source": "Nonempty Conditioned", "visibility": "instance" } ], - "declaration_mentions": [ - { - "candidates": [ - "FEP.FiniteInformation.mutualInformation_product_eq_zero" - ], - "identifier": "mutualInformation_product_eq_zero", - "resolution": "unresolved lexical scope", - "role": "proof_reference" - } - ], + "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.finite_information" + "FepSketches.finite_probability", + "Mathlib.Probability.Kernel.Disintegration.Integral", + "Mathlib.Probability.Kernel.Posterior" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.MarkovBlanket", + "namespace": "FEP.MeasureBayes", "namespace_variable_context": [ - "{Internal Sensory Active External : Type*}\n [Fintype Internal] [Fintype Sensory] [Fintype Active] [Fintype External]" + "{Ω Observation Intermediate : Type*}\n {mΩ : MeasurableSpace Ω} {mObservation : MeasurableSpace Observation}\n {mIntermediate : MeasurableSpace Intermediate}", + "[StandardBorelSpace Ω] [Nonempty Ω]\n {prior : Measure Ω} [IsFiniteMeasure prior]\n {likelihood : Kernel Ω Observation} [IsFiniteKernel likelihood]", + "{Conditioned : Type*} {mConditioned : MeasurableSpace Conditioned}\n [StandardBorelSpace Conditioned] [Nonempty Conditioned]" ], "preceding_scope_directives": [], - "qualified_name": "FEP.MarkovBlanket.conditional_mutualInformation_zero", - "source_line": 66, - "source_owner": "src/fep_lean/formal/markov_blanket.lean", - "statement": "theorem conditional_mutualInformation_zero\n (model : StaticModel Internal Sensory Active External)\n (blanket : Blanket Sensory Active) :\n mutualInformation (conditionalJoint model blanket) = 0", - "statement_sha256": "3cbf614c63d29a067afcb34e92df5eabaf9082c1fe8506670c648d316e8e5796" + "qualified_name": "FEP.MeasureBayes.conditionalExpectation_tower", + "source_line": 103, + "source_owner": "src/fep_lean/formal/measure_bayes.lean", + "statement": "theorem conditionalExpectation_tower\n (joint : Measure (Observation × Conditioned)) [IsFiniteMeasure joint]\n {f : Observation × Conditioned → ℝ} (hf : Integrable f joint) :\n (∫ observation,\n ∫ conditioned, f (observation, conditioned) ∂joint.condKernel observation\n ∂joint.fst) = ∫ pair, f pair ∂joint", + "statement_sha256": "a707ced0efea83b7eed8fe10d665d1146a46acc6782c3dec9778d2aad5743ffc" }, - "FEP.MarkovBlanket.staticJoint_factorization": { + "FEP.MeasureBayes.conditionalKernel_reconstruction": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "model" + "joint" ], "role": "typed_binder", - "source": "(model : StaticModel Internal Sensory Active External)", - "type_source": "StaticModel Internal Sensory Active External", + "source": "(joint : Measure (Observation × Conditioned))", + "type_source": "Measure (Observation × Conditioned)", "visibility": "explicit" }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[IsFiniteMeasure joint]", + "type_source": "IsFiniteMeasure joint", + "visibility": "instance" + } + ], + "conclusion": "joint.fst ⊗ₘ joint.condKernel = joint", + "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "blanket" + "Ω", + "Observation", + "Intermediate" ], "role": "typed_binder", - "source": "(blanket : Blanket Sensory Active)", - "type_source": "Blanket Sensory Active", - "visibility": "explicit" + "source": "{Ω Observation Intermediate : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "internal" + "mΩ" ], "role": "typed_binder", - "source": "(internal : Internal)", - "type_source": "Internal", - "visibility": "explicit" + "source": "{mΩ : MeasurableSpace Ω}", + "type_source": "MeasurableSpace Ω", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "external" + "mObservation" ], "role": "typed_binder", - "source": "(external : External)", - "type_source": "External", - "visibility": "explicit" - } - ], - "conclusion": "staticJoint model ((blanket, internal), external) =\n (model.blanketLaw blanket * model.internalGiven blanket internal) *\n model.externalGiven blanket external", - "context_binders": [ + "source": "{mObservation : MeasurableSpace Observation}", + "type_source": "MeasurableSpace Observation", + "visibility": "implicit" + }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Internal", - "Sensory", - "Active", - "External" + "mIntermediate" ], "role": "typed_binder", - "source": "{Internal Sensory Active External : Type*}", - "type_source": "Type*", + "source": "{mIntermediate : MeasurableSpace Intermediate}", + "type_source": "MeasurableSpace Intermediate", "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Internal]", - "type_source": "Fintype Internal", + "source": "[StandardBorelSpace Ω]", + "type_source": "StandardBorelSpace Ω", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Sensory]", - "type_source": "Fintype Sensory", + "source": "[Nonempty Ω]", + "type_source": "Nonempty Ω", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype Active]", - "type_source": "Fintype Active", - "visibility": "instance" + "names": [ + "prior" + ], + "role": "typed_binder", + "source": "{prior : Measure Ω}", + "type_source": "Measure Ω", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype External]", - "type_source": "Fintype External", + "source": "[IsFiniteMeasure prior]", + "type_source": "IsFiniteMeasure prior", "visibility": "instance" - } - ], - "declaration_mentions": [], - "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", - "import_context": [ - "FepSketches.finite_information" - ], - "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.MarkovBlanket", - "namespace_variable_context": [ - "{Internal Sensory Active External : Type*}\n [Fintype Internal] [Fintype Sensory] [Fintype Active] [Fintype External]" - ], - "preceding_scope_directives": [], - "qualified_name": "FEP.MarkovBlanket.staticJoint_factorization", - "source_line": 49, - "source_owner": "src/fep_lean/formal/markov_blanket.lean", - "statement": "theorem staticJoint_factorization\n (model : StaticModel Internal Sensory Active External)\n (blanket : Blanket Sensory Active) (internal : Internal)\n (external : External) :\n staticJoint model ((blanket, internal), external) =\n (model.blanketLaw blanket * model.internalGiven blanket internal) *\n model.externalGiven blanket external", - "statement_sha256": "549bac9b820e79c7ca8fc3d9f1a08d7bbc0ae55a9580f196b6b184a07df9d17d" - }, - "FEP.MarkovBlanket.transition_eq_staticJoint_nextStaticModel": { - "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [ + }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "dynamics" + "likelihood" ], "role": "typed_binder", - "source": "(dynamics : Dynamics Internal Sensory Active External)", - "type_source": "Dynamics Internal Sensory Active External", - "visibility": "explicit" + "source": "{likelihood : Kernel Ω Observation}", + "type_source": "Kernel Ω Observation", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "current", - "next" - ], - "role": "typed_binder", - "source": "(current next : DynamicState Internal Sensory Active External)", - "type_source": "DynamicState Internal Sensory Active External", - "visibility": "explicit" - } - ], - "conclusion": "transition dynamics current next =\n staticJoint (nextStaticModel dynamics current)\n (staticCoordinates next)", - "context_binders": [ + "names": [], + "role": "instance_requirement", + "source": "[IsFiniteKernel likelihood]", + "type_source": "IsFiniteKernel likelihood", + "visibility": "instance" + }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Internal", - "Sensory", - "Active", - "External" + "Conditioned" ], "role": "typed_binder", - "source": "{Internal Sensory Active External : Type*}", + "source": "{Conditioned : Type*}", "type_source": "Type*", "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype Internal]", - "type_source": "Fintype Internal", - "visibility": "instance" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype Sensory]", - "type_source": "Fintype Sensory", - "visibility": "instance" + "names": [ + "mConditioned" + ], + "role": "typed_binder", + "source": "{mConditioned : MeasurableSpace Conditioned}", + "type_source": "MeasurableSpace Conditioned", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Active]", - "type_source": "Fintype Active", + "source": "[StandardBorelSpace Conditioned]", + "type_source": "StandardBorelSpace Conditioned", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype External]", - "type_source": "Fintype External", + "source": "[Nonempty Conditioned]", + "type_source": "Nonempty Conditioned", "visibility": "instance" } ], "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.finite_information" + "FepSketches.finite_probability", + "Mathlib.Probability.Kernel.Disintegration.Integral", + "Mathlib.Probability.Kernel.Posterior" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.MarkovBlanket", + "namespace": "FEP.MeasureBayes", "namespace_variable_context": [ - "{Internal Sensory Active External : Type*}\n [Fintype Internal] [Fintype Sensory] [Fintype Active] [Fintype External]" + "{Ω Observation Intermediate : Type*}\n {mΩ : MeasurableSpace Ω} {mObservation : MeasurableSpace Observation}\n {mIntermediate : MeasurableSpace Intermediate}", + "[StandardBorelSpace Ω] [Nonempty Ω]\n {prior : Measure Ω} [IsFiniteMeasure prior]\n {likelihood : Kernel Ω Observation} [IsFiniteKernel likelihood]", + "{Conditioned : Type*} {mConditioned : MeasurableSpace Conditioned}\n [StandardBorelSpace Conditioned] [Nonempty Conditioned]" ], "preceding_scope_directives": [], - "qualified_name": "FEP.MarkovBlanket.transition_eq_staticJoint_nextStaticModel", - "source_line": 189, - "source_owner": "src/fep_lean/formal/markov_blanket.lean", - "statement": "theorem transition_eq_staticJoint_nextStaticModel\n (dynamics : Dynamics Internal Sensory Active External)\n (current next : DynamicState Internal Sensory Active External) :\n transition dynamics current next =\n staticJoint (nextStaticModel dynamics current)\n (staticCoordinates next)", - "statement_sha256": "416486a3cce3fab40e6cca88cb75abb9b706cd33b662c36fe428867eac8a8c06" + "qualified_name": "FEP.MeasureBayes.conditionalKernel_reconstruction", + "source_line": 96, + "source_owner": "src/fep_lean/formal/measure_bayes.lean", + "statement": "theorem conditionalKernel_reconstruction\n (joint : Measure (Observation × Conditioned)) [IsFiniteMeasure joint] :\n joint.fst ⊗ₘ joint.condKernel = joint", + "statement_sha256": "912e9622c0a14c5e5dd6e736ef895dd316ad066925522d9c65b423f62863aca0" }, - "FEP.MarkovBlanket.transition_factorization": { + "FEP.MeasureBayes.finite_posterior_normalized": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "dynamics" + "finitePrior" ], "role": "typed_binder", - "source": "(dynamics : Dynamics Internal Sensory Active External)", - "type_source": "Dynamics Internal Sensory Active External", + "source": "(finitePrior : FiniteLaw Parameter)", + "type_source": "FiniteLaw Parameter", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "current", - "next" + "finiteLikelihood" ], "role": "typed_binder", - "source": "(current next : DynamicState Internal Sensory Active External)", - "type_source": "DynamicState Internal Sensory Active External", + "source": "(finiteLikelihood : FiniteKernel Parameter Evidence)", + "type_source": "FiniteKernel Parameter Evidence", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "evidence" + ], + "role": "typed_binder", + "source": "(evidence : Evidence)", + "type_source": "Evidence", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hEvidence" + ], + "role": "typed_binder", + "source": "(hEvidence : 0 < finiteLikelihood.predictive finitePrior evidence)", + "type_source": "0 < finiteLikelihood.predictive finitePrior evidence", "visibility": "explicit" } ], - "conclusion": "transition dynamics current next =\n dynamics.internalFlow (current.1, current.2.1) next.1 *\n (dynamics.sensoryFlow (current.2.2.2, current.2.2.1) next.2.1 *\n (dynamics.activeFlow (current.1, current.2.1) next.2.2.1 *\n dynamics.externalFlow\n (current.2.2.2, current.2.2.1) next.2.2.2))", + "conclusion": "∑ parameter, finiteLikelihood.posterior finitePrior evidence hEvidence parameter = 1", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Internal", - "Sensory", - "Active", - "External" + "Ω", + "Observation", + "Intermediate" + ], + "role": "typed_binder", + "source": "{Ω Observation Intermediate : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "mΩ" + ], + "role": "typed_binder", + "source": "{mΩ : MeasurableSpace Ω}", + "type_source": "MeasurableSpace Ω", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "mObservation" + ], + "role": "typed_binder", + "source": "{mObservation : MeasurableSpace Observation}", + "type_source": "MeasurableSpace Observation", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "mIntermediate" ], "role": "typed_binder", - "source": "{Internal Sensory Active External : Type*}", - "type_source": "Type*", + "source": "{mIntermediate : MeasurableSpace Intermediate}", + "type_source": "MeasurableSpace Intermediate", "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Internal]", - "type_source": "Fintype Internal", + "source": "[StandardBorelSpace Ω]", + "type_source": "StandardBorelSpace Ω", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Sensory]", - "type_source": "Fintype Sensory", + "source": "[Nonempty Ω]", + "type_source": "Nonempty Ω", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype Active]", - "type_source": "Fintype Active", - "visibility": "instance" + "names": [ + "prior" + ], + "role": "typed_binder", + "source": "{prior : Measure Ω}", + "type_source": "Measure Ω", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype External]", - "type_source": "Fintype External", + "source": "[IsFiniteMeasure prior]", + "type_source": "IsFiniteMeasure prior", "visibility": "instance" - } - ], - "declaration_mentions": [], - "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", - "import_context": [ - "FepSketches.finite_information" - ], - "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.MarkovBlanket", - "namespace_variable_context": [ - "{Internal Sensory Active External : Type*}\n [Fintype Internal] [Fintype Sensory] [Fintype Active] [Fintype External]" - ], - "preceding_scope_directives": [], - "qualified_name": "FEP.MarkovBlanket.transition_factorization", - "source_line": 174, - "source_owner": "src/fep_lean/formal/markov_blanket.lean", - "statement": "theorem transition_factorization\n (dynamics : Dynamics Internal Sensory Active External)\n (current next : DynamicState Internal Sensory Active External) :\n transition dynamics current next =\n dynamics.internalFlow (current.1, current.2.1) next.1 *\n (dynamics.sensoryFlow (current.2.2.2, current.2.2.1) next.2.1 *\n (dynamics.activeFlow (current.1, current.2.1) next.2.2.1 *\n dynamics.externalFlow\n (current.2.2.2, current.2.2.1) next.2.2.2))", - "statement_sha256": "e96acf19240e98fe3483940433f1e66f7d0f8ffe80973b5b9c3112969545b1bc" - }, - "FEP.MarkovBlanket.transition_row_conditional_factorization": { - "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [ + }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "dynamics" + "likelihood" ], "role": "typed_binder", - "source": "(dynamics : Dynamics Internal Sensory Active External)", - "type_source": "Dynamics Internal Sensory Active External", - "visibility": "explicit" + "source": "{likelihood : Kernel Ω Observation}", + "type_source": "Kernel Ω Observation", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "current", - "next" - ], - "role": "typed_binder", - "source": "(current next : DynamicState Internal Sensory Active External)", - "type_source": "DynamicState Internal Sensory Active External", - "visibility": "explicit" + "names": [], + "role": "instance_requirement", + "source": "[IsFiniteKernel likelihood]", + "type_source": "IsFiniteKernel likelihood", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "hblanket" + "Conditioned" ], "role": "typed_binder", - "source": "(hblanket :\n 0 < (nextStaticModel dynamics current).blanketLaw\n (next.2.1, next.2.2.1))", - "type_source": "0 < (nextStaticModel dynamics current).blanketLaw\n (next.2.1, next.2.2.1)", - "visibility": "explicit" - } - ], - "conclusion": "transition dynamics current next /\n (nextStaticModel dynamics current).blanketLaw\n (next.2.1, next.2.2.1) =\n conditionalJoint (nextStaticModel dynamics current)\n (next.2.1, next.2.2.1) (next.1, next.2.2.2)", - "context_binders": [ + "source": "{Conditioned : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Internal", - "Sensory", - "Active", - "External" + "mConditioned" ], "role": "typed_binder", - "source": "{Internal Sensory Active External : Type*}", - "type_source": "Type*", + "source": "{mConditioned : MeasurableSpace Conditioned}", + "type_source": "MeasurableSpace Conditioned", "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Internal]", - "type_source": "Fintype Internal", + "source": "[StandardBorelSpace Conditioned]", + "type_source": "StandardBorelSpace Conditioned", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Sensory]", - "type_source": "Fintype Sensory", + "source": "[Nonempty Conditioned]", + "type_source": "Nonempty Conditioned", "visibility": "instance" }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "Parameter", + "Evidence" + ], + "role": "typed_binder", + "source": "{Parameter Evidence : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Active]", - "type_source": "Fintype Active", + "source": "[Fintype Parameter]", + "type_source": "Fintype Parameter", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype External]", - "type_source": "Fintype External", + "source": "[Fintype Evidence]", + "type_source": "Fintype Evidence", "visibility": "instance" } ], - "declaration_mentions": [ - { - "identifier": "conditional_internal_external_factorization", - "qualified_name": "FEP.MarkovBlanket.conditional_internal_external_factorization", - "resolution": "exact or same-namespace source identifier", - "role": "proof_reference" - }, - { - "identifier": "transition_eq_staticJoint_nextStaticModel", - "qualified_name": "FEP.MarkovBlanket.transition_eq_staticJoint_nextStaticModel", - "resolution": "exact or same-namespace source identifier", - "role": "proof_reference" - } - ], + "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.finite_information" + "FepSketches.finite_probability", + "Mathlib.Probability.Kernel.Disintegration.Integral", + "Mathlib.Probability.Kernel.Posterior" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.MarkovBlanket", + "namespace": "FEP.MeasureBayes", "namespace_variable_context": [ - "{Internal Sensory Active External : Type*}\n [Fintype Internal] [Fintype Sensory] [Fintype Active] [Fintype External]" + "{Ω Observation Intermediate : Type*}\n {mΩ : MeasurableSpace Ω} {mObservation : MeasurableSpace Observation}\n {mIntermediate : MeasurableSpace Intermediate}", + "[StandardBorelSpace Ω] [Nonempty Ω]\n {prior : Measure Ω} [IsFiniteMeasure prior]\n {likelihood : Kernel Ω Observation} [IsFiniteKernel likelihood]", + "{Conditioned : Type*} {mConditioned : MeasurableSpace Conditioned}\n [StandardBorelSpace Conditioned] [Nonempty Conditioned]", + "{Parameter Evidence : Type*}\n [Fintype Parameter] [Fintype Evidence]" ], "preceding_scope_directives": [], - "qualified_name": "FEP.MarkovBlanket.transition_row_conditional_factorization", - "source_line": 216, - "source_owner": "src/fep_lean/formal/markov_blanket.lean", - "statement": "theorem transition_row_conditional_factorization\n (dynamics : Dynamics Internal Sensory Active External)\n (current next : DynamicState Internal Sensory Active External)\n (hblanket :\n 0 < (nextStaticModel dynamics current).blanketLaw\n (next.2.1, next.2.2.1)) :\n transition dynamics current next /\n (nextStaticModel dynamics current).blanketLaw\n (next.2.1, next.2.2.1) =\n conditionalJoint (nextStaticModel dynamics current)\n (next.2.1, next.2.2.1) (next.1, next.2.2.2)", - "statement_sha256": "8afc292c6df134ae2a40092366b55e2ee066df9eb8ebf3c74d7b216f64eef474" + "qualified_name": "FEP.MeasureBayes.finite_posterior_normalized", + "source_line": 131, + "source_owner": "src/fep_lean/formal/measure_bayes.lean", + "statement": "theorem finite_posterior_normalized\n (finitePrior : FiniteLaw Parameter)\n (finiteLikelihood : FiniteKernel Parameter Evidence)\n (evidence : Evidence)\n (hEvidence : 0 < finiteLikelihood.predictive finitePrior evidence) :\n ∑ parameter, finiteLikelihood.posterior finitePrior evidence hEvidence parameter = 1", + "statement_sha256": "eaff30d4606227a5b180f82b9a1668ea7ca6350d85e4bd4300fd1856465cb525" }, - "FEP.MarkovBlanket.transition_row_conditional_mutualInformation_zero": { + "FEP.MeasureBayes.finite_posterior_reconstruction": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "dynamics" + "finitePrior" ], "role": "typed_binder", - "source": "(dynamics : Dynamics Internal Sensory Active External)", - "type_source": "Dynamics Internal Sensory Active External", + "source": "(finitePrior : FiniteLaw Parameter)", + "type_source": "FiniteLaw Parameter", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "current" + "finiteLikelihood" ], "role": "typed_binder", - "source": "(current : DynamicState Internal Sensory Active External)", - "type_source": "DynamicState Internal Sensory Active External", + "source": "(finiteLikelihood : FiniteKernel Parameter Evidence)", + "type_source": "FiniteKernel Parameter Evidence", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "blanket" + "evidence" ], "role": "typed_binder", - "source": "(blanket : Blanket Sensory Active)", - "type_source": "Blanket Sensory Active", + "source": "(evidence : Evidence)", + "type_source": "Evidence", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hEvidence" + ], + "role": "typed_binder", + "source": "(hEvidence : 0 < finiteLikelihood.predictive finitePrior evidence)", + "type_source": "0 < finiteLikelihood.predictive finitePrior evidence", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "parameter" + ], + "role": "typed_binder", + "source": "(parameter : Parameter)", + "type_source": "Parameter", "visibility": "explicit" } ], - "conclusion": "mutualInformation\n (conditionalJoint (nextStaticModel dynamics current) blanket) = 0", + "conclusion": "finiteLikelihood.posterior finitePrior evidence hEvidence parameter *\n finiteLikelihood.predictive finitePrior evidence =\n finitePrior parameter * finiteLikelihood parameter evidence", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Internal", - "Sensory", - "Active", - "External" + "Ω", + "Observation", + "Intermediate" ], "role": "typed_binder", - "source": "{Internal Sensory Active External : Type*}", + "source": "{Ω Observation Intermediate : Type*}", "type_source": "Type*", "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype Internal]", - "type_source": "Fintype Internal", - "visibility": "instance" + "names": [ + "mΩ" + ], + "role": "typed_binder", + "source": "{mΩ : MeasurableSpace Ω}", + "type_source": "MeasurableSpace Ω", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype Sensory]", - "type_source": "Fintype Sensory", - "visibility": "instance" + "names": [ + "mObservation" + ], + "role": "typed_binder", + "source": "{mObservation : MeasurableSpace Observation}", + "type_source": "MeasurableSpace Observation", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "mIntermediate" + ], + "role": "typed_binder", + "source": "{mIntermediate : MeasurableSpace Intermediate}", + "type_source": "MeasurableSpace Intermediate", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Active]", - "type_source": "Fintype Active", + "source": "[StandardBorelSpace Ω]", + "type_source": "StandardBorelSpace Ω", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype External]", - "type_source": "Fintype External", + "source": "[Nonempty Ω]", + "type_source": "Nonempty Ω", "visibility": "instance" - } - ], - "declaration_mentions": [ - { - "identifier": "conditional_mutualInformation_zero", - "qualified_name": "FEP.MarkovBlanket.conditional_mutualInformation_zero", - "resolution": "exact or same-namespace source identifier", - "role": "proof_reference" - } - ], - "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", - "import_context": [ - "FepSketches.finite_information" - ], - "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.MarkovBlanket", - "namespace_variable_context": [ - "{Internal Sensory Active External : Type*}\n [Fintype Internal] [Fintype Sensory] [Fintype Active] [Fintype External]" - ], - "preceding_scope_directives": [], - "qualified_name": "FEP.MarkovBlanket.transition_row_conditional_mutualInformation_zero", - "source_line": 235, - "source_owner": "src/fep_lean/formal/markov_blanket.lean", - "statement": "theorem transition_row_conditional_mutualInformation_zero\n (dynamics : Dynamics Internal Sensory Active External)\n (current : DynamicState Internal Sensory Active External)\n (blanket : Blanket Sensory Active) :\n mutualInformation\n (conditionalJoint (nextStaticModel dynamics current) blanket) = 0", - "statement_sha256": "062598717fdef8c65dabd8be07468078b5bdd097f07cbc9711f7c609283f4030" - }, - "FEP.MarkovSemigroup.NativeActionIndexedKernelSemigroup.boolBlanketNativeActionIndexedSemigroup_false_kernel": { - "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [], - "conclusion": "sampledKernel boolBlanketNativeActionIndexedSemigroup false =\n (Kernel.id : Kernel FEP.ContinuousTimeMarkov.BoolBlanketState\n FEP.ContinuousTimeMarkov.BoolBlanketState)", - "context_binders": [ + }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "State", - "Action" + "prior" ], "role": "typed_binder", - "source": "{State Action : Type*}", - "type_source": "Type*", + "source": "{prior : Measure Ω}", + "type_source": "Measure Ω", "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[MeasurableSpace State]", - "type_source": "MeasurableSpace State", + "source": "[IsFiniteMeasure prior]", + "type_source": "IsFiniteMeasure prior", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "kernel" + "likelihood" ], "role": "typed_binder", - "source": "{kernel : Action → ℝ≥0 → Kernel State State}", - "type_source": "Action → ℝ≥0 → Kernel State State", + "source": "{likelihood : Kernel Ω Observation}", + "type_source": "Kernel Ω Observation", "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[∀ action time, IsMarkovKernel (kernel action time)]", - "type_source": "∀ action time, IsMarkovKernel (kernel action time)", + "source": "[IsFiniteKernel likelihood]", + "type_source": "IsFiniteKernel likelihood", "visibility": "instance" - } - ], - "declaration_mentions": [ - { - "identifier": "FEP.ContinuousTimeMarkov.boolBlanketActionIndexedSemigroup_false_kernel", - "qualified_name": "FEP.ContinuousTimeMarkov.boolBlanketActionIndexedSemigroup_false_kernel", - "resolution": "exact or same-namespace source identifier", - "role": "proof_reference" - }, - { - "identifier": "FEP.NativeBlanket.embeddedKernel_identity", - "qualified_name": "FEP.NativeBlanket.embeddedKernel_identity", - "resolution": "exact or same-namespace source identifier", - "role": "proof_reference" }, - { - "identifier": "liftActionIndexedSemigroup_sampledKernel", - "qualified_name": "FEP.MarkovSemigroup.NativeActionIndexedKernelSemigroup.liftActionIndexedSemigroup_sampledKernel", - "resolution": "exact or same-namespace source identifier", - "role": "proof_reference" - } - ], - "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", - "import_context": [ - "FepSketches.continuous_time_markov", - "FepSketches.native_blanket", - "Mathlib.InformationTheory.KullbackLeibler.DataProcessing", - "Mathlib.Probability.Kernel.Invariance" - ], - "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.MarkovSemigroup.NativeActionIndexedKernelSemigroup", - "namespace_variable_context": [ - "{State Action : Type*} [MeasurableSpace State]\n {kernel : Action → ℝ≥0 → Kernel State State}\n [∀ action time, IsMarkovKernel (kernel action time)]" - ], - "preceding_scope_directives": [], - "qualified_name": "FEP.MarkovSemigroup.NativeActionIndexedKernelSemigroup.boolBlanketNativeActionIndexedSemigroup_false_kernel", - "source_line": 238, - "source_owner": "src/fep_lean/formal/markov_semigroup.lean", - "statement": "theorem boolBlanketNativeActionIndexedSemigroup_false_kernel :\n sampledKernel boolBlanketNativeActionIndexedSemigroup false =\n (Kernel.id : Kernel FEP.ContinuousTimeMarkov.BoolBlanketState\n FEP.ContinuousTimeMarkov.BoolBlanketState)", - "statement_sha256": "bd1aa99a8e302027e5627880d88fe4e265d55ba30ff1e239ef798e7d38df611a" - }, - "FEP.MarkovSemigroup.NativeActionIndexedKernelSemigroup.boolBlanketNativeActionIndexedSemigroup_kernels_ne": { - "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [], - "conclusion": "sampledKernel boolBlanketNativeActionIndexedSemigroup false ≠\n sampledKernel boolBlanketNativeActionIndexedSemigroup true", - "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "State", - "Action" + "Conditioned" ], "role": "typed_binder", - "source": "{State Action : Type*}", + "source": "{Conditioned : Type*}", "type_source": "Type*", "visibility": "implicit" }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[MeasurableSpace State]", - "type_source": "MeasurableSpace State", - "visibility": "instance" - }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "kernel" + "mConditioned" ], "role": "typed_binder", - "source": "{kernel : Action → ℝ≥0 → Kernel State State}", - "type_source": "Action → ℝ≥0 → Kernel State State", + "source": "{mConditioned : MeasurableSpace Conditioned}", + "type_source": "MeasurableSpace Conditioned", "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[∀ action time, IsMarkovKernel (kernel action time)]", - "type_source": "∀ action time, IsMarkovKernel (kernel action time)", + "source": "[StandardBorelSpace Conditioned]", + "type_source": "StandardBorelSpace Conditioned", "visibility": "instance" - } - ], - "declaration_mentions": [ - { - "identifier": "FEP.ContinuousTimeMarkov.blanketRefreshSemigroup_transition_pos", - "qualified_name": "FEP.ContinuousTimeMarkov.blanketRefreshSemigroup_transition_pos", - "resolution": "exact or same-namespace source identifier", - "role": "proof_reference" - }, - { - "identifier": "FEP.NativeBlanket.embeddedKernel_apply_singleton", - "qualified_name": "FEP.NativeBlanket.embeddedKernel_apply_singleton", - "resolution": "exact or same-namespace source identifier", - "role": "proof_reference" }, { - "identifier": "boolBlanketNativeActionIndexedSemigroup_false_kernel", - "qualified_name": "FEP.MarkovSemigroup.NativeActionIndexedKernelSemigroup.boolBlanketNativeActionIndexedSemigroup_false_kernel", - "resolution": "exact or same-namespace source identifier", - "role": "proof_reference" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Nonempty Conditioned]", + "type_source": "Nonempty Conditioned", + "visibility": "instance" }, - { - "identifier": "boolBlanketNativeActionIndexedSemigroup_true_kernel", - "qualified_name": "FEP.MarkovSemigroup.NativeActionIndexedKernelSemigroup.boolBlanketNativeActionIndexedSemigroup_true_kernel", - "resolution": "exact or same-namespace source identifier", - "role": "proof_reference" - } - ], - "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", - "import_context": [ - "FepSketches.continuous_time_markov", - "FepSketches.native_blanket", - "Mathlib.InformationTheory.KullbackLeibler.DataProcessing", - "Mathlib.Probability.Kernel.Invariance" - ], - "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.MarkovSemigroup.NativeActionIndexedKernelSemigroup", - "namespace_variable_context": [ - "{State Action : Type*} [MeasurableSpace State]\n {kernel : Action → ℝ≥0 → Kernel State State}\n [∀ action time, IsMarkovKernel (kernel action time)]" - ], - "preceding_scope_directives": [], - "qualified_name": "FEP.MarkovSemigroup.NativeActionIndexedKernelSemigroup.boolBlanketNativeActionIndexedSemigroup_kernels_ne", - "source_line": 275, - "source_owner": "src/fep_lean/formal/markov_semigroup.lean", - "statement": "theorem boolBlanketNativeActionIndexedSemigroup_kernels_ne :\n sampledKernel boolBlanketNativeActionIndexedSemigroup false ≠\n sampledKernel boolBlanketNativeActionIndexedSemigroup true", - "statement_sha256": "931a5da60bcdff5edb69667f013943659624a97de40e4b23b37afbba489f08f8" - }, - "FEP.MarkovSemigroup.NativeActionIndexedKernelSemigroup.boolBlanketNativeActionIndexedSemigroup_true_kernel": { - "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [], - "conclusion": "sampledKernel boolBlanketNativeActionIndexedSemigroup true =\n FEP.NativeBlanket.embeddedKernel\n FEP.ContinuousTimeMarkov.boolBlanketRefreshKernel", - "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "State", - "Action" + "Parameter", + "Evidence" ], "role": "typed_binder", - "source": "{State Action : Type*}", + "source": "{Parameter Evidence : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -73208,902 +78655,894 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[MeasurableSpace State]", - "type_source": "MeasurableSpace State", + "source": "[Fintype Parameter]", + "type_source": "Fintype Parameter", "visibility": "instance" }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "kernel" - ], - "role": "typed_binder", - "source": "{kernel : Action → ℝ≥0 → Kernel State State}", - "type_source": "Action → ℝ≥0 → Kernel State State", - "visibility": "implicit" - }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[∀ action time, IsMarkovKernel (kernel action time)]", - "type_source": "∀ action time, IsMarkovKernel (kernel action time)", + "source": "[Fintype Evidence]", + "type_source": "Fintype Evidence", "visibility": "instance" } ], - "declaration_mentions": [ - { - "identifier": "FEP.ContinuousTimeMarkov.boolBlanketActionIndexedSemigroup_true_kernel", - "qualified_name": "FEP.ContinuousTimeMarkov.boolBlanketActionIndexedSemigroup_true_kernel", - "resolution": "exact or same-namespace source identifier", - "role": "proof_reference" - }, - { - "identifier": "liftActionIndexedSemigroup_sampledKernel", - "qualified_name": "FEP.MarkovSemigroup.NativeActionIndexedKernelSemigroup.liftActionIndexedSemigroup_sampledKernel", - "resolution": "exact or same-namespace source identifier", - "role": "proof_reference" - } - ], + "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.continuous_time_markov", - "FepSketches.native_blanket", - "Mathlib.InformationTheory.KullbackLeibler.DataProcessing", - "Mathlib.Probability.Kernel.Invariance" + "FepSketches.finite_probability", + "Mathlib.Probability.Kernel.Disintegration.Integral", + "Mathlib.Probability.Kernel.Posterior" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.MarkovSemigroup.NativeActionIndexedKernelSemigroup", + "namespace": "FEP.MeasureBayes", "namespace_variable_context": [ - "{State Action : Type*} [MeasurableSpace State]\n {kernel : Action → ℝ≥0 → Kernel State State}\n [∀ action time, IsMarkovKernel (kernel action time)]" + "{Ω Observation Intermediate : Type*}\n {mΩ : MeasurableSpace Ω} {mObservation : MeasurableSpace Observation}\n {mIntermediate : MeasurableSpace Intermediate}", + "[StandardBorelSpace Ω] [Nonempty Ω]\n {prior : Measure Ω} [IsFiniteMeasure prior]\n {likelihood : Kernel Ω Observation} [IsFiniteKernel likelihood]", + "{Conditioned : Type*} {mConditioned : MeasurableSpace Conditioned}\n [StandardBorelSpace Conditioned] [Nonempty Conditioned]", + "{Parameter Evidence : Type*}\n [Fintype Parameter] [Fintype Evidence]" ], "preceding_scope_directives": [], - "qualified_name": "FEP.MarkovSemigroup.NativeActionIndexedKernelSemigroup.boolBlanketNativeActionIndexedSemigroup_true_kernel", - "source_line": 258, - "source_owner": "src/fep_lean/formal/markov_semigroup.lean", - "statement": "theorem boolBlanketNativeActionIndexedSemigroup_true_kernel :\n sampledKernel boolBlanketNativeActionIndexedSemigroup true =\n FEP.NativeBlanket.embeddedKernel\n FEP.ContinuousTimeMarkov.boolBlanketRefreshKernel", - "statement_sha256": "4557c2b23f7b628f701de8075b9ad65ae895e534361027934956bdda9c5c0fbf" + "qualified_name": "FEP.MeasureBayes.finite_posterior_reconstruction", + "source_line": 118, + "source_owner": "src/fep_lean/formal/measure_bayes.lean", + "statement": "theorem finite_posterior_reconstruction\n (finitePrior : FiniteLaw Parameter)\n (finiteLikelihood : FiniteKernel Parameter Evidence)\n (evidence : Evidence)\n (hEvidence : 0 < finiteLikelihood.predictive finitePrior evidence)\n (parameter : Parameter) :\n finiteLikelihood.posterior finitePrior evidence hEvidence parameter *\n finiteLikelihood.predictive finitePrior evidence =\n finitePrior parameter * finiteLikelihood parameter evidence", + "statement_sha256": "5dd3b5b5318b65bb50c56d679346798da45d8d74263d4b1804962ba42224686b" }, - "FEP.MarkovSemigroup.NativeActionIndexedKernelSemigroup.liftActionIndexedSemigroup_kernel": { + "FEP.MeasureBayes.finite_zero_evidence_boundary": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype State]", - "type_source": "Fintype State", - "visibility": "instance" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[DecidableEq State]", - "type_source": "DecidableEq State", - "visibility": "instance" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace State]", - "type_source": "DiscreteMeasurableSpace State", - "visibility": "instance" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype Action]", - "type_source": "Fintype Action", - "visibility": "instance" + "names": [ + "finitePrior" + ], + "role": "typed_binder", + "source": "(finitePrior : FiniteLaw Parameter)", + "type_source": "FiniteLaw Parameter", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "indexed" + "finiteLikelihood" ], "role": "typed_binder", - "source": "(indexed : FEP.ContinuousTimeMarkov.ActionIndexedSemigroup State Action)", - "type_source": "FEP.ContinuousTimeMarkov.ActionIndexedSemigroup State Action", + "source": "(finiteLikelihood : FiniteKernel Parameter Evidence)", + "type_source": "FiniteKernel Parameter Evidence", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "action" + "evidence" ], "role": "typed_binder", - "source": "(action : Action)", - "type_source": "Action", + "source": "(evidence : Evidence)", + "type_source": "Evidence", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "time" + "hzero" ], "role": "typed_binder", - "source": "(time : ℝ≥0)", - "type_source": "ℝ≥0", + "source": "(hzero : finiteLikelihood.predictive finitePrior evidence = 0)", + "type_source": "finiteLikelihood.predictive finitePrior evidence = 0", "visibility": "explicit" } ], - "conclusion": "embeddedActionKernelFamily indexed action time =\n FEP.NativeBlanket.embeddedKernel\n ((indexed.semigroup action).kernel time.1 time.2)", + "conclusion": "¬0 < finiteLikelihood.predictive finitePrior evidence", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "State", - "Action" + "Ω", + "Observation", + "Intermediate" ], "role": "typed_binder", - "source": "{State Action : Type*}", + "source": "{Ω Observation Intermediate : Type*}", "type_source": "Type*", "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[MeasurableSpace State]", - "type_source": "MeasurableSpace State", - "visibility": "instance" + "names": [ + "mΩ" + ], + "role": "typed_binder", + "source": "{mΩ : MeasurableSpace Ω}", + "type_source": "MeasurableSpace Ω", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "kernel" + "mObservation" ], "role": "typed_binder", - "source": "{kernel : Action → ℝ≥0 → Kernel State State}", - "type_source": "Action → ℝ≥0 → Kernel State State", + "source": "{mObservation : MeasurableSpace Observation}", + "type_source": "MeasurableSpace Observation", "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[∀ action time, IsMarkovKernel (kernel action time)]", - "type_source": "∀ action time, IsMarkovKernel (kernel action time)", - "visibility": "instance" - } - ], - "declaration_mentions": [], - "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", - "import_context": [ - "FepSketches.continuous_time_markov", - "FepSketches.native_blanket", - "Mathlib.InformationTheory.KullbackLeibler.DataProcessing", - "Mathlib.Probability.Kernel.Invariance" - ], - "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.MarkovSemigroup.NativeActionIndexedKernelSemigroup", - "namespace_variable_context": [ - "{State Action : Type*} [MeasurableSpace State]\n {kernel : Action → ℝ≥0 → Kernel State State}\n [∀ action time, IsMarkovKernel (kernel action time)]" - ], - "preceding_scope_directives": [], - "qualified_name": "FEP.MarkovSemigroup.NativeActionIndexedKernelSemigroup.liftActionIndexedSemigroup_kernel", - "source_line": 196, - "source_owner": "src/fep_lean/formal/markov_semigroup.lean", - "statement": "theorem liftActionIndexedSemigroup_kernel\n [Fintype State] [DecidableEq State] [DiscreteMeasurableSpace State]\n [Fintype Action]\n (indexed : FEP.ContinuousTimeMarkov.ActionIndexedSemigroup State Action)\n (action : Action) (time : ℝ≥0) :\n embeddedActionKernelFamily indexed action time =\n FEP.NativeBlanket.embeddedKernel\n ((indexed.semigroup action).kernel time.1 time.2)", - "statement_sha256": "0a55e558726bfb846eda75d11c6d8bc81472a0dce9b61435a9cd8bb5c4a2015d" - }, - "FEP.MarkovSemigroup.NativeActionIndexedKernelSemigroup.liftActionIndexedSemigroup_sampleTime": { - "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [ + "names": [ + "mIntermediate" + ], + "role": "typed_binder", + "source": "{mIntermediate : MeasurableSpace Intermediate}", + "type_source": "MeasurableSpace Intermediate", + "visibility": "implicit" + }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype State]", - "type_source": "Fintype State", + "source": "[StandardBorelSpace Ω]", + "type_source": "StandardBorelSpace Ω", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DecidableEq State]", - "type_source": "DecidableEq State", + "source": "[Nonempty Ω]", + "type_source": "Nonempty Ω", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace State]", - "type_source": "DiscreteMeasurableSpace State", - "visibility": "instance" + "names": [ + "prior" + ], + "role": "typed_binder", + "source": "{prior : Measure Ω}", + "type_source": "Measure Ω", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Action]", - "type_source": "Fintype Action", + "source": "[IsFiniteMeasure prior]", + "type_source": "IsFiniteMeasure prior", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "indexed" + "likelihood" ], "role": "typed_binder", - "source": "(indexed : FEP.ContinuousTimeMarkov.ActionIndexedSemigroup State Action)", - "type_source": "FEP.ContinuousTimeMarkov.ActionIndexedSemigroup State Action", - "visibility": "explicit" + "source": "{likelihood : Kernel Ω Observation}", + "type_source": "Kernel Ω Observation", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[IsFiniteKernel likelihood]", + "type_source": "IsFiniteKernel likelihood", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "action" + "Conditioned" ], "role": "typed_binder", - "source": "(action : Action)", - "type_source": "Action", - "visibility": "explicit" - } - ], - "conclusion": "(((liftActionIndexedSemigroup indexed).sampleTime action : ℝ)) =\n indexed.sampleTime action", - "context_binders": [ + "source": "{Conditioned : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "State", - "Action" + "mConditioned" ], "role": "typed_binder", - "source": "{State Action : Type*}", - "type_source": "Type*", + "source": "{mConditioned : MeasurableSpace Conditioned}", + "type_source": "MeasurableSpace Conditioned", "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[MeasurableSpace State]", - "type_source": "MeasurableSpace State", + "source": "[StandardBorelSpace Conditioned]", + "type_source": "StandardBorelSpace Conditioned", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Nonempty Conditioned]", + "type_source": "Nonempty Conditioned", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "kernel" + "Parameter", + "Evidence" ], "role": "typed_binder", - "source": "{kernel : Action → ℝ≥0 → Kernel State State}", - "type_source": "Action → ℝ≥0 → Kernel State State", + "source": "{Parameter Evidence : Type*}", + "type_source": "Type*", "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[∀ action time, IsMarkovKernel (kernel action time)]", - "type_source": "∀ action time, IsMarkovKernel (kernel action time)", + "source": "[Fintype Parameter]", + "type_source": "Fintype Parameter", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Evidence]", + "type_source": "Fintype Evidence", "visibility": "instance" } ], "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.continuous_time_markov", - "FepSketches.native_blanket", - "Mathlib.InformationTheory.KullbackLeibler.DataProcessing", - "Mathlib.Probability.Kernel.Invariance" + "FepSketches.finite_probability", + "Mathlib.Probability.Kernel.Disintegration.Integral", + "Mathlib.Probability.Kernel.Posterior" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.MarkovSemigroup.NativeActionIndexedKernelSemigroup", + "namespace": "FEP.MeasureBayes", "namespace_variable_context": [ - "{State Action : Type*} [MeasurableSpace State]\n {kernel : Action → ℝ≥0 → Kernel State State}\n [∀ action time, IsMarkovKernel (kernel action time)]" + "{Ω Observation Intermediate : Type*}\n {mΩ : MeasurableSpace Ω} {mObservation : MeasurableSpace Observation}\n {mIntermediate : MeasurableSpace Intermediate}", + "[StandardBorelSpace Ω] [Nonempty Ω]\n {prior : Measure Ω} [IsFiniteMeasure prior]\n {likelihood : Kernel Ω Observation} [IsFiniteKernel likelihood]", + "{Conditioned : Type*} {mConditioned : MeasurableSpace Conditioned}\n [StandardBorelSpace Conditioned] [Nonempty Conditioned]", + "{Parameter Evidence : Type*}\n [Fintype Parameter] [Fintype Evidence]" ], "preceding_scope_directives": [], - "qualified_name": "FEP.MarkovSemigroup.NativeActionIndexedKernelSemigroup.liftActionIndexedSemigroup_sampleTime", - "source_line": 208, - "source_owner": "src/fep_lean/formal/markov_semigroup.lean", - "statement": "theorem liftActionIndexedSemigroup_sampleTime\n [Fintype State] [DecidableEq State] [DiscreteMeasurableSpace State]\n [Fintype Action]\n (indexed : FEP.ContinuousTimeMarkov.ActionIndexedSemigroup State Action)\n (action : Action) :\n (((liftActionIndexedSemigroup indexed).sampleTime action : ℝ)) =\n indexed.sampleTime action", - "statement_sha256": "4b0e3072ca64de53115eb4f8e99e3c4c41e3d1ed68f0f52cca0cdb630847819f" + "qualified_name": "FEP.MeasureBayes.finite_zero_evidence_boundary", + "source_line": 141, + "source_owner": "src/fep_lean/formal/measure_bayes.lean", + "statement": "theorem finite_zero_evidence_boundary\n (finitePrior : FiniteLaw Parameter)\n (finiteLikelihood : FiniteKernel Parameter Evidence)\n (evidence : Evidence)\n (hzero : finiteLikelihood.predictive finitePrior evidence = 0) :\n ¬0 < finiteLikelihood.predictive finitePrior evidence", + "statement_sha256": "799904848d9fe3f368b05fe21bbca05cb3aa102ba4bac7e91db23f8bd42b2ba1" }, - "FEP.MarkovSemigroup.NativeActionIndexedKernelSemigroup.liftActionIndexedSemigroup_sampledKernel": { + "FEP.MeasureBayes.likelihoodRatio_reconstruction": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype State]", - "type_source": "Fintype State", - "visibility": "instance" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[DecidableEq State]", - "type_source": "DecidableEq State", - "visibility": "instance" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace State]", - "type_source": "DiscreteMeasurableSpace State", - "visibility": "instance" + "names": [ + "target", + "reference" + ], + "role": "typed_binder", + "source": "(target reference : Measure Ω)", + "type_source": "Measure Ω", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Action]", - "type_source": "Fintype Action", + "source": "[target.HaveLebesgueDecomposition reference]", + "type_source": "target.HaveLebesgueDecomposition reference", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "indexed" - ], - "role": "typed_binder", - "source": "(indexed : FEP.ContinuousTimeMarkov.ActionIndexedSemigroup State Action)", - "type_source": "FEP.ContinuousTimeMarkov.ActionIndexedSemigroup State Action", - "visibility": "explicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "action" + "h_ac" ], "role": "typed_binder", - "source": "(action : Action)", - "type_source": "Action", + "source": "(h_ac : target ≪ reference)", + "type_source": "target ≪ reference", "visibility": "explicit" } ], - "conclusion": "sampledKernel (liftActionIndexedSemigroup indexed) action =\n FEP.NativeBlanket.embeddedKernel (indexed.sampledKernel action)", + "conclusion": "reference.withDensity (target.rnDeriv reference) = target", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "State", - "Action" + "Ω", + "Observation", + "Intermediate" ], "role": "typed_binder", - "source": "{State Action : Type*}", + "source": "{Ω Observation Intermediate : Type*}", "type_source": "Type*", "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[MeasurableSpace State]", - "type_source": "MeasurableSpace State", - "visibility": "instance" + "names": [ + "mΩ" + ], + "role": "typed_binder", + "source": "{mΩ : MeasurableSpace Ω}", + "type_source": "MeasurableSpace Ω", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "kernel" + "mObservation" ], "role": "typed_binder", - "source": "{kernel : Action → ℝ≥0 → Kernel State State}", - "type_source": "Action → ℝ≥0 → Kernel State State", + "source": "{mObservation : MeasurableSpace Observation}", + "type_source": "MeasurableSpace Observation", "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[∀ action time, IsMarkovKernel (kernel action time)]", - "type_source": "∀ action time, IsMarkovKernel (kernel action time)", - "visibility": "instance" + "names": [ + "mIntermediate" + ], + "role": "typed_binder", + "source": "{mIntermediate : MeasurableSpace Intermediate}", + "type_source": "MeasurableSpace Intermediate", + "visibility": "implicit" } ], "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.continuous_time_markov", - "FepSketches.native_blanket", - "Mathlib.InformationTheory.KullbackLeibler.DataProcessing", - "Mathlib.Probability.Kernel.Invariance" + "FepSketches.finite_probability", + "Mathlib.Probability.Kernel.Disintegration.Integral", + "Mathlib.Probability.Kernel.Posterior" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.MarkovSemigroup.NativeActionIndexedKernelSemigroup", + "namespace": "FEP.MeasureBayes", "namespace_variable_context": [ - "{State Action : Type*} [MeasurableSpace State]\n {kernel : Action → ℝ≥0 → Kernel State State}\n [∀ action time, IsMarkovKernel (kernel action time)]" + "{Ω Observation Intermediate : Type*}\n {mΩ : MeasurableSpace Ω} {mObservation : MeasurableSpace Observation}\n {mIntermediate : MeasurableSpace Intermediate}" ], "preceding_scope_directives": [], - "qualified_name": "FEP.MarkovSemigroup.NativeActionIndexedKernelSemigroup.liftActionIndexedSemigroup_sampledKernel", - "source_line": 218, - "source_owner": "src/fep_lean/formal/markov_semigroup.lean", - "statement": "theorem liftActionIndexedSemigroup_sampledKernel\n [Fintype State] [DecidableEq State] [DiscreteMeasurableSpace State]\n [Fintype Action]\n (indexed : FEP.ContinuousTimeMarkov.ActionIndexedSemigroup State Action)\n (action : Action) :\n sampledKernel (liftActionIndexedSemigroup indexed) action =\n FEP.NativeBlanket.embeddedKernel (indexed.sampledKernel action)", - "statement_sha256": "03f786654e2e246450e3e1f04dc0cb288493cd306cf414d801cd2fbe05b9ef8a" + "qualified_name": "FEP.MeasureBayes.likelihoodRatio_reconstruction", + "source_line": 28, + "source_owner": "src/fep_lean/formal/measure_bayes.lean", + "statement": "theorem likelihoodRatio_reconstruction (target reference : Measure Ω)\n [target.HaveLebesgueDecomposition reference]\n (h_ac : target ≪ reference) :\n reference.withDensity (target.rnDeriv reference) = target", + "statement_sha256": "0e9ed7be9d3ae4cb0e60a240bf56a184cacc0da349b25e445a27f5b450127a09" }, - "FEP.MarkovSemigroup.NativeKernelSemigroup.liftFiniteMarkovSemigroup_kernel": { + "FEP.MeasureBayes.likelihoodRatio_reconstruction_iff": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype State]", - "type_source": "Fintype State", - "visibility": "instance" + "names": [ + "target", + "reference" + ], + "role": "typed_binder", + "source": "(target reference : Measure Ω)", + "type_source": "Measure Ω", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DecidableEq State]", - "type_source": "DecidableEq State", + "source": "[target.HaveLebesgueDecomposition reference]", + "type_source": "target.HaveLebesgueDecomposition reference", "visibility": "instance" - }, + } + ], + "conclusion": "target ≪ reference ↔\n reference.withDensity (target.rnDeriv reference) = target", + "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace State]", - "type_source": "DiscreteMeasurableSpace State", - "visibility": "instance" + "names": [ + "Ω", + "Observation", + "Intermediate" + ], + "role": "typed_binder", + "source": "{Ω Observation Intermediate : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "semigroup" + "mΩ" ], "role": "typed_binder", - "source": "(semigroup : FEP.ContinuousTimeMarkov.FiniteMarkovSemigroup State)", - "type_source": "FEP.ContinuousTimeMarkov.FiniteMarkovSemigroup State", - "visibility": "explicit" + "source": "{mΩ : MeasurableSpace Ω}", + "type_source": "MeasurableSpace Ω", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "time" + "mObservation" ], "role": "typed_binder", - "source": "(time : ℝ≥0)", - "type_source": "ℝ≥0", - "visibility": "explicit" - } - ], - "conclusion": "embeddedFiniteKernelFamily semigroup time =\n FEP.NativeBlanket.embeddedKernel\n (semigroup.kernel time.1 time.2)", - "context_binders": [ + "source": "{mObservation : MeasurableSpace Observation}", + "type_source": "MeasurableSpace Observation", + "visibility": "implicit" + }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "State" + "mIntermediate" ], "role": "typed_binder", - "source": "{State : Type*}", - "type_source": "Type*", + "source": "{mIntermediate : MeasurableSpace Intermediate}", + "type_source": "MeasurableSpace Intermediate", "visibility": "implicit" + } + ], + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.finite_probability", + "Mathlib.Probability.Kernel.Disintegration.Integral", + "Mathlib.Probability.Kernel.Posterior" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.MeasureBayes", + "namespace_variable_context": [ + "{Ω Observation Intermediate : Type*}\n {mΩ : MeasurableSpace Ω} {mObservation : MeasurableSpace Observation}\n {mIntermediate : MeasurableSpace Intermediate}" + ], + "preceding_scope_directives": [], + "qualified_name": "FEP.MeasureBayes.likelihoodRatio_reconstruction_iff", + "source_line": 36, + "source_owner": "src/fep_lean/formal/measure_bayes.lean", + "statement": "theorem likelihoodRatio_reconstruction_iff (target reference : Measure Ω)\n [target.HaveLebesgueDecomposition reference] :\n target ≪ reference ↔\n reference.withDensity (target.rnDeriv reference) = target", + "statement_sha256": "9a26129a8a9115f14e550167b4002924eaf2121055d3a0426febc8a0030b4ffd" + }, + "FEP.MeasureBayes.posterior_composite": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[StandardBorelSpace Observation]", + "type_source": "StandardBorelSpace Observation", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[MeasurableSpace State]", - "type_source": "MeasurableSpace State", + "source": "[Nonempty Observation]", + "type_source": "Nonempty Observation", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "kernel" + "later" ], "role": "typed_binder", - "source": "{kernel : ℝ≥0 → Kernel State State}", - "type_source": "ℝ≥0 → Kernel State State", - "visibility": "implicit" + "source": "(later : Kernel Observation Intermediate)", + "type_source": "Kernel Observation Intermediate", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[∀ time, IsMarkovKernel (kernel time)]", - "type_source": "∀ time, IsMarkovKernel (kernel time)", + "source": "[IsFiniteKernel later]", + "type_source": "IsFiniteKernel later", "visibility": "instance" } ], - "declaration_mentions": [], - "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", - "import_context": [ - "FepSketches.continuous_time_markov", - "FepSketches.native_blanket", - "Mathlib.InformationTheory.KullbackLeibler.DataProcessing", - "Mathlib.Probability.Kernel.Invariance" - ], - "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.MarkovSemigroup.NativeKernelSemigroup", - "namespace_variable_context": [ - "{State : Type*} [MeasurableSpace State]\n {kernel : ℝ≥0 → Kernel State State}\n [∀ time, IsMarkovKernel (kernel time)]" - ], - "preceding_scope_directives": [], - "qualified_name": "FEP.MarkovSemigroup.NativeKernelSemigroup.liftFiniteMarkovSemigroup_kernel", - "source_line": 132, - "source_owner": "src/fep_lean/formal/markov_semigroup.lean", - "statement": "theorem liftFiniteMarkovSemigroup_kernel\n [Fintype State] [DecidableEq State] [DiscreteMeasurableSpace State]\n (semigroup : FEP.ContinuousTimeMarkov.FiniteMarkovSemigroup State)\n (time : ℝ≥0) :\n embeddedFiniteKernelFamily semigroup time =\n FEP.NativeBlanket.embeddedKernel\n (semigroup.kernel time.1 time.2)", - "statement_sha256": "899aedd9d8fe02b7c247b982b0b1c3834bb41706667848f2f6e384ad0f1f5c46" - }, - "FEP.MarkovSemigroup.NativeKernelSemigroup.nativeKL_nonincrease": { - "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [ + "conclusion": "(later ∘ₖ likelihood)†prior =ᵐ[later ∘ₘ likelihood ∘ₘ prior]\n likelihood†prior ∘ₖ later†(likelihood ∘ₘ prior)", + "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "semigroup" + "Ω", + "Observation", + "Intermediate" ], "role": "typed_binder", - "source": "(semigroup : NativeKernelSemigroup kernel)", - "type_source": "NativeKernelSemigroup kernel", - "visibility": "explicit" + "source": "{Ω Observation Intermediate : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "earlier", - "increment" + "mΩ" ], "role": "typed_binder", - "source": "(earlier increment : ℝ≥0)", - "type_source": "ℝ≥0", - "visibility": "explicit" + "source": "{mΩ : MeasurableSpace Ω}", + "type_source": "MeasurableSpace Ω", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "actual", - "reference" + "mObservation" ], "role": "typed_binder", - "source": "(actual reference : Measure State)", - "type_source": "Measure State", - "visibility": "explicit" + "source": "{mObservation : MeasurableSpace Observation}", + "type_source": "MeasurableSpace Observation", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "mIntermediate" + ], + "role": "typed_binder", + "source": "{mIntermediate : MeasurableSpace Intermediate}", + "type_source": "MeasurableSpace Intermediate", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[IsFiniteMeasure actual]", - "type_source": "IsFiniteMeasure actual", + "source": "[StandardBorelSpace Ω]", + "type_source": "StandardBorelSpace Ω", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[IsFiniteMeasure reference]", - "type_source": "IsFiniteMeasure reference", + "source": "[Nonempty Ω]", + "type_source": "Nonempty Ω", "visibility": "instance" - } - ], - "conclusion": "InformationTheory.klDiv (kernel (earlier + increment) ∘ₘ actual)\n (kernel (earlier + increment) ∘ₘ reference) ≤\n InformationTheory.klDiv (kernel earlier ∘ₘ actual)\n (kernel earlier ∘ₘ reference)", - "context_binders": [ + }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "State" + "prior" ], "role": "typed_binder", - "source": "{State : Type*}", - "type_source": "Type*", + "source": "{prior : Measure Ω}", + "type_source": "Measure Ω", "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[MeasurableSpace State]", - "type_source": "MeasurableSpace State", + "source": "[IsFiniteMeasure prior]", + "type_source": "IsFiniteMeasure prior", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "kernel" + "likelihood" ], "role": "typed_binder", - "source": "{kernel : ℝ≥0 → Kernel State State}", - "type_source": "ℝ≥0 → Kernel State State", + "source": "{likelihood : Kernel Ω Observation}", + "type_source": "Kernel Ω Observation", "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[∀ time, IsMarkovKernel (kernel time)]", - "type_source": "∀ time, IsMarkovKernel (kernel time)", + "source": "[IsFiniteKernel likelihood]", + "type_source": "IsFiniteKernel likelihood", "visibility": "instance" } ], "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.continuous_time_markov", - "FepSketches.native_blanket", - "Mathlib.InformationTheory.KullbackLeibler.DataProcessing", - "Mathlib.Probability.Kernel.Invariance" + "FepSketches.finite_probability", + "Mathlib.Probability.Kernel.Disintegration.Integral", + "Mathlib.Probability.Kernel.Posterior" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.MarkovSemigroup.NativeKernelSemigroup", + "namespace": "FEP.MeasureBayes", "namespace_variable_context": [ - "{State : Type*} [MeasurableSpace State]\n {kernel : ℝ≥0 → Kernel State State}\n [∀ time, IsMarkovKernel (kernel time)]" + "{Ω Observation Intermediate : Type*}\n {mΩ : MeasurableSpace Ω} {mObservation : MeasurableSpace Observation}\n {mIntermediate : MeasurableSpace Intermediate}", + "[StandardBorelSpace Ω] [Nonempty Ω]\n {prior : Measure Ω} [IsFiniteMeasure prior]\n {likelihood : Kernel Ω Observation} [IsFiniteKernel likelihood]" ], "preceding_scope_directives": [], - "qualified_name": "FEP.MarkovSemigroup.NativeKernelSemigroup.nativeKL_nonincrease", - "source_line": 93, - "source_owner": "src/fep_lean/formal/markov_semigroup.lean", - "statement": "theorem nativeKL_nonincrease\n (semigroup : NativeKernelSemigroup kernel)\n (earlier increment : ℝ≥0)\n (actual reference : Measure State)\n [IsFiniteMeasure actual] [IsFiniteMeasure reference] :\n InformationTheory.klDiv (kernel (earlier + increment) ∘ₘ actual)\n (kernel (earlier + increment) ∘ₘ reference) ≤\n InformationTheory.klDiv (kernel earlier ∘ₘ actual)\n (kernel earlier ∘ₘ reference)", - "statement_sha256": "d3d466ac9078304e917ca65efbb381109cddf9b778322254a5ac2c28f0e1fc43" + "qualified_name": "FEP.MeasureBayes.posterior_composite", + "source_line": 82, + "source_owner": "src/fep_lean/formal/measure_bayes.lean", + "statement": "theorem posterior_composite\n [StandardBorelSpace Observation] [Nonempty Observation]\n (later : Kernel Observation Intermediate) [IsFiniteKernel later] :\n (later ∘ₖ likelihood)†prior =ᵐ[later ∘ₘ likelihood ∘ₘ prior]\n likelihood†prior ∘ₖ later†(likelihood ∘ₘ prior)", + "statement_sha256": "9ec1ea83ee5f540a0d6e0a299cb43df6ddc8d5404c5fbd4a38aa62dba5c3d69b" }, - "FEP.MarkovSemigroup.NativeKernelSemigroup.nativeKL_to_invariant_nonincrease": { + "FEP.MeasureBayes.posterior_density_as_likelihood_tilt": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[MeasurableSpace.CountableOrCountablyGenerated Ω Observation]", + "type_source": "MeasurableSpace.CountableOrCountablyGenerated Ω Observation", + "visibility": "instance" + }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "semigroup" + "h_ac" ], "role": "typed_binder", - "source": "(semigroup : NativeKernelSemigroup kernel)", - "type_source": "NativeKernelSemigroup kernel", + "source": "(h_ac : ∀ᵐ parameter ∂prior,\n likelihood parameter ≪ likelihood ∘ₘ prior)", + "type_source": "∀ᵐ parameter ∂prior,\n likelihood parameter ≪ likelihood ∘ₘ prior", "visibility": "explicit" + } + ], + "conclusion": "∀ᵐ observation ∂likelihood ∘ₘ prior,\n (likelihood†prior) observation =\n prior.withDensity (fun parameter =>\n likelihood.rnDeriv\n (Kernel.const Ω (likelihood ∘ₘ prior)) parameter observation)", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "Ω", + "Observation", + "Intermediate" + ], + "role": "typed_binder", + "source": "{Ω Observation Intermediate : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "earlier", - "increment" + "mΩ" ], "role": "typed_binder", - "source": "(earlier increment : ℝ≥0)", - "type_source": "ℝ≥0", - "visibility": "explicit" + "source": "{mΩ : MeasurableSpace Ω}", + "type_source": "MeasurableSpace Ω", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "actual", - "invariant" + "mObservation" ], "role": "typed_binder", - "source": "(actual invariant : Measure State)", - "type_source": "Measure State", - "visibility": "explicit" + "source": "{mObservation : MeasurableSpace Observation}", + "type_source": "MeasurableSpace Observation", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "mIntermediate" + ], + "role": "typed_binder", + "source": "{mIntermediate : MeasurableSpace Intermediate}", + "type_source": "MeasurableSpace Intermediate", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[IsFiniteMeasure actual]", - "type_source": "IsFiniteMeasure actual", + "source": "[StandardBorelSpace Ω]", + "type_source": "StandardBorelSpace Ω", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[IsFiniteMeasure invariant]", - "type_source": "IsFiniteMeasure invariant", + "source": "[Nonempty Ω]", + "type_source": "Nonempty Ω", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "hInvariant" - ], - "role": "typed_binder", - "source": "(hInvariant : InvariantLaw semigroup invariant)", - "type_source": "InvariantLaw semigroup invariant", - "visibility": "explicit" - } - ], - "conclusion": "InformationTheory.klDiv\n (kernel (earlier + increment) ∘ₘ actual) invariant ≤\n InformationTheory.klDiv (kernel earlier ∘ₘ actual) invariant", - "context_binders": [ - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "State" + "prior" ], "role": "typed_binder", - "source": "{State : Type*}", - "type_source": "Type*", + "source": "{prior : Measure Ω}", + "type_source": "Measure Ω", "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[MeasurableSpace State]", - "type_source": "MeasurableSpace State", + "source": "[IsFiniteMeasure prior]", + "type_source": "IsFiniteMeasure prior", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "kernel" + "likelihood" ], "role": "typed_binder", - "source": "{kernel : ℝ≥0 → Kernel State State}", - "type_source": "ℝ≥0 → Kernel State State", + "source": "{likelihood : Kernel Ω Observation}", + "type_source": "Kernel Ω Observation", "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[∀ time, IsMarkovKernel (kernel time)]", - "type_source": "∀ time, IsMarkovKernel (kernel time)", + "source": "[IsFiniteKernel likelihood]", + "type_source": "IsFiniteKernel likelihood", "visibility": "instance" } ], - "declaration_mentions": [ - { - "identifier": "nativeKL_nonincrease", - "qualified_name": "FEP.MarkovSemigroup.NativeKernelSemigroup.nativeKL_nonincrease", - "resolution": "exact or same-namespace source identifier", - "role": "proof_reference" - } - ], + "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.continuous_time_markov", - "FepSketches.native_blanket", - "Mathlib.InformationTheory.KullbackLeibler.DataProcessing", - "Mathlib.Probability.Kernel.Invariance" + "FepSketches.finite_probability", + "Mathlib.Probability.Kernel.Disintegration.Integral", + "Mathlib.Probability.Kernel.Posterior" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.MarkovSemigroup.NativeKernelSemigroup", + "namespace": "FEP.MeasureBayes", "namespace_variable_context": [ - "{State : Type*} [MeasurableSpace State]\n {kernel : ℝ≥0 → Kernel State State}\n [∀ time, IsMarkovKernel (kernel time)]" + "{Ω Observation Intermediate : Type*}\n {mΩ : MeasurableSpace Ω} {mObservation : MeasurableSpace Observation}\n {mIntermediate : MeasurableSpace Intermediate}", + "[StandardBorelSpace Ω] [Nonempty Ω]\n {prior : Measure Ω} [IsFiniteMeasure prior]\n {likelihood : Kernel Ω Observation} [IsFiniteKernel likelihood]" ], "preceding_scope_directives": [], - "qualified_name": "FEP.MarkovSemigroup.NativeKernelSemigroup.nativeKL_to_invariant_nonincrease", - "source_line": 109, - "source_owner": "src/fep_lean/formal/markov_semigroup.lean", - "statement": "theorem nativeKL_to_invariant_nonincrease\n (semigroup : NativeKernelSemigroup kernel)\n (earlier increment : ℝ≥0)\n (actual invariant : Measure State)\n [IsFiniteMeasure actual] [IsFiniteMeasure invariant]\n (hInvariant : InvariantLaw semigroup invariant) :\n InformationTheory.klDiv\n (kernel (earlier + increment) ∘ₘ actual) invariant ≤\n InformationTheory.klDiv (kernel earlier ∘ₘ actual) invariant", - "statement_sha256": "1f5def394414d28ff1a0803d4f43a7bebf0fb4f146dfe25ef40fdea137b1acee" + "qualified_name": "FEP.MeasureBayes.posterior_density_as_likelihood_tilt", + "source_line": 50, + "source_owner": "src/fep_lean/formal/measure_bayes.lean", + "statement": "theorem posterior_density_as_likelihood_tilt\n [MeasurableSpace.CountableOrCountablyGenerated Ω Observation]\n (h_ac : ∀ᵐ parameter ∂prior,\n likelihood parameter ≪ likelihood ∘ₘ prior) :\n ∀ᵐ observation ∂likelihood ∘ₘ prior,\n (likelihood†prior) observation =\n prior.withDensity (fun parameter =>\n likelihood.rnDeriv\n (Kernel.const Ω (likelihood ∘ₘ prior)) parameter observation)", + "statement_sha256": "c757cd57f838f191966f59864567e4a8ac99800390c88a29f052f57b7bf15576" }, - "FEP.MarkovSemigroup.NativeKernelSemigroup.reversibleLaw_invariantLaw": { + "FEP.MeasureBayes.posterior_involution": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[StandardBorelSpace Observation]", + "type_source": "StandardBorelSpace Observation", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Nonempty Observation]", + "type_source": "Nonempty Observation", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[IsMarkovKernel likelihood]", + "type_source": "IsMarkovKernel likelihood", + "visibility": "instance" + } + ], + "conclusion": "(likelihood†prior)†(likelihood ∘ₘ prior) =ᵐ[prior] likelihood", + "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "semigroup" + "Ω", + "Observation", + "Intermediate" ], "role": "typed_binder", - "source": "(semigroup : NativeKernelSemigroup kernel)", - "type_source": "NativeKernelSemigroup kernel", - "visibility": "explicit" + "source": "{Ω Observation Intermediate : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "law" + "mΩ" ], "role": "typed_binder", - "source": "(law : Measure State)", - "type_source": "Measure State", - "visibility": "explicit" + "source": "{mΩ : MeasurableSpace Ω}", + "type_source": "MeasurableSpace Ω", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "hReversible" + "mObservation" ], "role": "typed_binder", - "source": "(hReversible : ReversibleLaw semigroup law)", - "type_source": "ReversibleLaw semigroup law", - "visibility": "explicit" - } - ], - "conclusion": "InvariantLaw semigroup law", - "context_binders": [ + "source": "{mObservation : MeasurableSpace Observation}", + "type_source": "MeasurableSpace Observation", + "visibility": "implicit" + }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "State" + "mIntermediate" ], "role": "typed_binder", - "source": "{State : Type*}", - "type_source": "Type*", + "source": "{mIntermediate : MeasurableSpace Intermediate}", + "type_source": "MeasurableSpace Intermediate", "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[MeasurableSpace State]", - "type_source": "MeasurableSpace State", + "source": "[StandardBorelSpace Ω]", + "type_source": "StandardBorelSpace Ω", "visibility": "instance" }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "kernel" - ], - "role": "typed_binder", - "source": "{kernel : ℝ≥0 → Kernel State State}", - "type_source": "ℝ≥0 → Kernel State State", - "visibility": "implicit" - }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[∀ time, IsMarkovKernel (kernel time)]", - "type_source": "∀ time, IsMarkovKernel (kernel time)", + "source": "[Nonempty Ω]", + "type_source": "Nonempty Ω", "visibility": "instance" - } - ], - "declaration_mentions": [], - "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", - "import_context": [ - "FepSketches.continuous_time_markov", - "FepSketches.native_blanket", - "Mathlib.InformationTheory.KullbackLeibler.DataProcessing", - "Mathlib.Probability.Kernel.Invariance" - ], - "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.MarkovSemigroup.NativeKernelSemigroup", - "namespace_variable_context": [ - "{State : Type*} [MeasurableSpace State]\n {kernel : ℝ≥0 → Kernel State State}\n [∀ time, IsMarkovKernel (kernel time)]" - ], - "preceding_scope_directives": [], - "qualified_name": "FEP.MarkovSemigroup.NativeKernelSemigroup.reversibleLaw_invariantLaw", - "source_line": 84, - "source_owner": "src/fep_lean/formal/markov_semigroup.lean", - "statement": "theorem reversibleLaw_invariantLaw\n (semigroup : NativeKernelSemigroup kernel) (law : Measure State)\n (hReversible : ReversibleLaw semigroup law) :\n InvariantLaw semigroup law", - "statement_sha256": "f40a51a4ac22b2001eceb9ef59bb402ec725f900c90f89aea6df277950dc9663" - }, - "FEP.MeasureBayes.conditionalExpectation_tower": { - "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [ + }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "joint" + "prior" ], "role": "typed_binder", - "source": "(joint : Measure (Observation × Conditioned))", - "type_source": "Measure (Observation × Conditioned)", - "visibility": "explicit" + "source": "{prior : Measure Ω}", + "type_source": "Measure Ω", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[IsFiniteMeasure joint]", - "type_source": "IsFiniteMeasure joint", + "source": "[IsFiniteMeasure prior]", + "type_source": "IsFiniteMeasure prior", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "f" + "likelihood" ], "role": "typed_binder", - "source": "{f : Observation × Conditioned → ℝ}", - "type_source": "Observation × Conditioned → ℝ", + "source": "{likelihood : Kernel Ω Observation}", + "type_source": "Kernel Ω Observation", "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "hf" - ], - "role": "typed_binder", - "source": "(hf : Integrable f joint)", - "type_source": "Integrable f joint", - "visibility": "explicit" + "names": [], + "role": "instance_requirement", + "source": "[IsFiniteKernel likelihood]", + "type_source": "IsFiniteKernel likelihood", + "visibility": "instance" } ], - "conclusion": "(∫ observation,\n ∫ conditioned, f (observation, conditioned) ∂joint.condKernel observation\n ∂joint.fst) = ∫ pair, f pair ∂joint", + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.finite_probability", + "Mathlib.Probability.Kernel.Disintegration.Integral", + "Mathlib.Probability.Kernel.Posterior" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.MeasureBayes", + "namespace_variable_context": [ + "{Ω Observation Intermediate : Type*}\n {mΩ : MeasurableSpace Ω} {mObservation : MeasurableSpace Observation}\n {mIntermediate : MeasurableSpace Intermediate}", + "[StandardBorelSpace Ω] [Nonempty Ω]\n {prior : Measure Ω} [IsFiniteMeasure prior]\n {likelihood : Kernel Ω Observation} [IsFiniteKernel likelihood]" + ], + "preceding_scope_directives": [], + "qualified_name": "FEP.MeasureBayes.posterior_involution", + "source_line": 74, + "source_owner": "src/fep_lean/formal/measure_bayes.lean", + "statement": "theorem posterior_involution\n [StandardBorelSpace Observation] [Nonempty Observation]\n [IsMarkovKernel likelihood] :\n (likelihood†prior)†(likelihood ∘ₘ prior) =ᵐ[prior] likelihood", + "statement_sha256": "c57de54a2011125a7d0364b0ac34fc3d807463ad2326349cb229a50c407ca5c3" + }, + "FEP.MeasureBayes.posterior_joint_reconstruction": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [], + "conclusion": "(likelihood ∘ₘ prior) ⊗ₘ likelihood†prior =\n (prior ⊗ₘ likelihood).map Prod.swap", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -74198,42 +79637,6 @@ "source": "[IsFiniteKernel likelihood]", "type_source": "IsFiniteKernel likelihood", "visibility": "instance" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "Conditioned" - ], - "role": "typed_binder", - "source": "{Conditioned : Type*}", - "type_source": "Type*", - "visibility": "implicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "mConditioned" - ], - "role": "typed_binder", - "source": "{mConditioned : MeasurableSpace Conditioned}", - "type_source": "MeasurableSpace Conditioned", - "visibility": "implicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[StandardBorelSpace Conditioned]", - "type_source": "StandardBorelSpace Conditioned", - "visibility": "instance" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Nonempty Conditioned]", - "type_source": "Nonempty Conditioned", - "visibility": "instance" } ], "declaration_mentions": [], @@ -74247,39 +79650,28 @@ "namespace": "FEP.MeasureBayes", "namespace_variable_context": [ "{Ω Observation Intermediate : Type*}\n {mΩ : MeasurableSpace Ω} {mObservation : MeasurableSpace Observation}\n {mIntermediate : MeasurableSpace Intermediate}", - "[StandardBorelSpace Ω] [Nonempty Ω]\n {prior : Measure Ω} [IsFiniteMeasure prior]\n {likelihood : Kernel Ω Observation} [IsFiniteKernel likelihood]", - "{Conditioned : Type*} {mConditioned : MeasurableSpace Conditioned}\n [StandardBorelSpace Conditioned] [Nonempty Conditioned]" + "[StandardBorelSpace Ω] [Nonempty Ω]\n {prior : Measure Ω} [IsFiniteMeasure prior]\n {likelihood : Kernel Ω Observation} [IsFiniteKernel likelihood]" ], "preceding_scope_directives": [], - "qualified_name": "FEP.MeasureBayes.conditionalExpectation_tower", - "source_line": 103, + "qualified_name": "FEP.MeasureBayes.posterior_joint_reconstruction", + "source_line": 62, "source_owner": "src/fep_lean/formal/measure_bayes.lean", - "statement": "theorem conditionalExpectation_tower\n (joint : Measure (Observation × Conditioned)) [IsFiniteMeasure joint]\n {f : Observation × Conditioned → ℝ} (hf : Integrable f joint) :\n (∫ observation,\n ∫ conditioned, f (observation, conditioned) ∂joint.condKernel observation\n ∂joint.fst) = ∫ pair, f pair ∂joint", - "statement_sha256": "a707ced0efea83b7eed8fe10d665d1146a46acc6782c3dec9778d2aad5743ffc" + "statement": "theorem posterior_joint_reconstruction :\n (likelihood ∘ₘ prior) ⊗ₘ likelihood†prior =\n (prior ⊗ₘ likelihood).map Prod.swap", + "statement_sha256": "092d4dc9512fe694ab87aed7e5c096a32cdf3e6589bf246b4d18b268d171b725" }, - "FEP.MeasureBayes.conditionalKernel_reconstruction": { + "FEP.MeasureBayes.posterior_reconstructs_prior": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "joint" - ], - "role": "typed_binder", - "source": "(joint : Measure (Observation × Conditioned))", - "type_source": "Measure (Observation × Conditioned)", - "visibility": "explicit" - }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[IsFiniteMeasure joint]", - "type_source": "IsFiniteMeasure joint", + "source": "[IsMarkovKernel likelihood]", + "type_source": "IsMarkovKernel likelihood", "visibility": "instance" } ], - "conclusion": "joint.fst ⊗ₘ joint.condKernel = joint", + "conclusion": "likelihood†prior ∘ₘ likelihood ∘ₘ prior = prior", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -74374,1629 +79766,2164 @@ "source": "[IsFiniteKernel likelihood]", "type_source": "IsFiniteKernel likelihood", "visibility": "instance" - }, + } + ], + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.finite_probability", + "Mathlib.Probability.Kernel.Disintegration.Integral", + "Mathlib.Probability.Kernel.Posterior" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.MeasureBayes", + "namespace_variable_context": [ + "{Ω Observation Intermediate : Type*}\n {mΩ : MeasurableSpace Ω} {mObservation : MeasurableSpace Observation}\n {mIntermediate : MeasurableSpace Intermediate}", + "[StandardBorelSpace Ω] [Nonempty Ω]\n {prior : Measure Ω} [IsFiniteMeasure prior]\n {likelihood : Kernel Ω Observation} [IsFiniteKernel likelihood]" + ], + "preceding_scope_directives": [], + "qualified_name": "FEP.MeasureBayes.posterior_reconstructs_prior", + "source_line": 68, + "source_owner": "src/fep_lean/formal/measure_bayes.lean", + "statement": "theorem posterior_reconstructs_prior [IsMarkovKernel likelihood] :\n likelihood†prior ∘ₘ likelihood ∘ₘ prior = prior", + "statement_sha256": "ebeff6ea880ffcddf73263dd3f8d12226415ee3d8bfa1cfb4b683b8c96c7ce20" + }, + "FEP.NativeBlanket.blanketCoordinate_measurable": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [], + "conclusion": "Measurable\n (blanketCoordinate :\n StaticState Internal Sensory Active External → Blanket Sensory Active)", + "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Conditioned" + "Internal", + "Sensory", + "Active", + "External" ], "role": "typed_binder", - "source": "{Conditioned : Type*}", + "source": "{Internal Sensory Active External : Type*}", "type_source": "Type*", "visibility": "implicit" }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Internal]", + "type_source": "Fintype Internal", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Sensory]", + "type_source": "Fintype Sensory", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Active]", + "type_source": "Fintype Active", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype External]", + "type_source": "Fintype External", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[MeasurableSpace Internal]", + "type_source": "MeasurableSpace Internal", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[MeasurableSpace Sensory]", + "type_source": "MeasurableSpace Sensory", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[MeasurableSpace Active]", + "type_source": "MeasurableSpace Active", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[MeasurableSpace External]", + "type_source": "MeasurableSpace External", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DiscreteMeasurableSpace Internal]", + "type_source": "DiscreteMeasurableSpace Internal", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DiscreteMeasurableSpace Sensory]", + "type_source": "DiscreteMeasurableSpace Sensory", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DiscreteMeasurableSpace Active]", + "type_source": "DiscreteMeasurableSpace Active", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DiscreteMeasurableSpace External]", + "type_source": "DiscreteMeasurableSpace External", + "visibility": "instance" + } + ], + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.markov_blanket", + "Mathlib.MeasureTheory.Integral.Bochner.SumMeasure", + "Mathlib.Probability.Independence.Conditional", + "Mathlib.Probability.Kernel.Composition.Comp" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.NativeBlanket", + "namespace_variable_context": [ + "{Internal Sensory Active External : Type*}\n [Fintype Internal] [Fintype Sensory] [Fintype Active] [Fintype External]\n [MeasurableSpace Internal] [MeasurableSpace Sensory]\n [MeasurableSpace Active] [MeasurableSpace External]\n [DiscreteMeasurableSpace Internal] [DiscreteMeasurableSpace Sensory]\n [DiscreteMeasurableSpace Active] [DiscreteMeasurableSpace External]" + ], + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DiscreteMeasurableSpace β] in" + } + ], + "qualified_name": "FEP.NativeBlanket.blanketCoordinate_measurable", + "source_line": 238, + "source_owner": "src/fep_lean/formal/native_blanket.lean", + "statement": "theorem blanketCoordinate_measurable :\n Measurable\n (blanketCoordinate :\n StaticState Internal Sensory Active External → Blanket Sensory Active)", + "statement_sha256": "7a2477c26a3e5ed32a6f4241ffcfe179b2ec3e188216a64c51cd78e8c2b34af5" + }, + "FEP.NativeBlanket.blanketTripleCoordinate_measurable": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [], + "conclusion": "Measurable\n (blanketTripleCoordinate :\n StaticState Internal Sensory Active External →\n Blanket Sensory Active × (Internal × External))", + "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "mConditioned" + "Internal", + "Sensory", + "Active", + "External" ], "role": "typed_binder", - "source": "{mConditioned : MeasurableSpace Conditioned}", - "type_source": "MeasurableSpace Conditioned", + "source": "{Internal Sensory Active External : Type*}", + "type_source": "Type*", "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[StandardBorelSpace Conditioned]", - "type_source": "StandardBorelSpace Conditioned", + "source": "[Fintype Internal]", + "type_source": "Fintype Internal", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Nonempty Conditioned]", - "type_source": "Nonempty Conditioned", + "source": "[Fintype Sensory]", + "type_source": "Fintype Sensory", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Active]", + "type_source": "Fintype Active", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype External]", + "type_source": "Fintype External", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[MeasurableSpace Internal]", + "type_source": "MeasurableSpace Internal", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[MeasurableSpace Sensory]", + "type_source": "MeasurableSpace Sensory", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[MeasurableSpace Active]", + "type_source": "MeasurableSpace Active", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[MeasurableSpace External]", + "type_source": "MeasurableSpace External", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DiscreteMeasurableSpace Internal]", + "type_source": "DiscreteMeasurableSpace Internal", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DiscreteMeasurableSpace Sensory]", + "type_source": "DiscreteMeasurableSpace Sensory", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DiscreteMeasurableSpace Active]", + "type_source": "DiscreteMeasurableSpace Active", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DiscreteMeasurableSpace External]", + "type_source": "DiscreteMeasurableSpace External", "visibility": "instance" } ], "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.finite_probability", - "Mathlib.Probability.Kernel.Disintegration.Integral", - "Mathlib.Probability.Kernel.Posterior" + "FepSketches.markov_blanket", + "Mathlib.MeasureTheory.Integral.Bochner.SumMeasure", + "Mathlib.Probability.Independence.Conditional", + "Mathlib.Probability.Kernel.Composition.Comp" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.MeasureBayes", + "namespace": "FEP.NativeBlanket", "namespace_variable_context": [ - "{Ω Observation Intermediate : Type*}\n {mΩ : MeasurableSpace Ω} {mObservation : MeasurableSpace Observation}\n {mIntermediate : MeasurableSpace Intermediate}", - "[StandardBorelSpace Ω] [Nonempty Ω]\n {prior : Measure Ω} [IsFiniteMeasure prior]\n {likelihood : Kernel Ω Observation} [IsFiniteKernel likelihood]", - "{Conditioned : Type*} {mConditioned : MeasurableSpace Conditioned}\n [StandardBorelSpace Conditioned] [Nonempty Conditioned]" + "{Internal Sensory Active External : Type*}\n [Fintype Internal] [Fintype Sensory] [Fintype Active] [Fintype External]\n [MeasurableSpace Internal] [MeasurableSpace Sensory]\n [MeasurableSpace Active] [MeasurableSpace External]\n [DiscreteMeasurableSpace Internal] [DiscreteMeasurableSpace Sensory]\n [DiscreteMeasurableSpace Active] [DiscreteMeasurableSpace External]" ], - "preceding_scope_directives": [], - "qualified_name": "FEP.MeasureBayes.conditionalKernel_reconstruction", - "source_line": 96, - "source_owner": "src/fep_lean/formal/measure_bayes.lean", - "statement": "theorem conditionalKernel_reconstruction\n (joint : Measure (Observation × Conditioned)) [IsFiniteMeasure joint] :\n joint.fst ⊗ₘ joint.condKernel = joint", - "statement_sha256": "912e9622c0a14c5e5dd6e736ef895dd316ad066925522d9c65b423f62863aca0" + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DiscreteMeasurableSpace β] in" + } + ], + "qualified_name": "FEP.NativeBlanket.blanketTripleCoordinate_measurable", + "source_line": 256, + "source_owner": "src/fep_lean/formal/native_blanket.lean", + "statement": "theorem blanketTripleCoordinate_measurable :\n Measurable\n (blanketTripleCoordinate :\n StaticState Internal Sensory Active External →\n Blanket Sensory Active × (Internal × External))", + "statement_sha256": "2ccdcddf40f7b531ad33c6c54dcd3ccd1f82aa6a26c16a67bbf738a582a93b70" }, - "FEP.MeasureBayes.finite_posterior_normalized": { + "FEP.NativeBlanket.condIndepFun_measurableImages": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Nonempty Internal]", + "type_source": "Nonempty Internal", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Nonempty External]", + "type_source": "Nonempty External", + "visibility": "instance" + }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "finitePrior" + "InternalImage", + "ExternalImage" ], "role": "typed_binder", - "source": "(finitePrior : FiniteLaw Parameter)", - "type_source": "FiniteLaw Parameter", + "source": "{InternalImage ExternalImage : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[MeasurableSpace InternalImage]", + "type_source": "MeasurableSpace InternalImage", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[MeasurableSpace ExternalImage]", + "type_source": "MeasurableSpace ExternalImage", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "model" + ], + "role": "typed_binder", + "source": "(model : StaticModel Internal Sensory Active External)", + "type_source": "StaticModel Internal Sensory Active External", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "finiteLikelihood" + "internalImage" ], "role": "typed_binder", - "source": "(finiteLikelihood : FiniteKernel Parameter Evidence)", - "type_source": "FiniteKernel Parameter Evidence", + "source": "(internalImage : Internal → InternalImage)", + "type_source": "Internal → InternalImage", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "evidence" + "externalImage" ], "role": "typed_binder", - "source": "(evidence : Evidence)", - "type_source": "Evidence", + "source": "(externalImage : External → ExternalImage)", + "type_source": "External → ExternalImage", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "hEvidence" + "internalMeasurable" ], "role": "typed_binder", - "source": "(hEvidence : 0 < finiteLikelihood.predictive finitePrior evidence)", - "type_source": "0 < finiteLikelihood.predictive finitePrior evidence", + "source": "(internalMeasurable : Measurable internalImage)", + "type_source": "Measurable internalImage", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "externalMeasurable" + ], + "role": "typed_binder", + "source": "(externalMeasurable : Measurable externalImage)", + "type_source": "Measurable externalImage", "visibility": "explicit" } ], - "conclusion": "∑ parameter, finiteLikelihood.posterior finitePrior evidence hEvidence parameter = 1", + "conclusion": "CondIndepFun\n (MeasurableSpace.comap blanketCoordinate inferInstance)\n blanketCoordinate_measurable.comap_le\n (internalImage ∘ internalCoordinate)\n (externalImage ∘ externalCoordinate)\n (embeddedLaw (staticJoint model))", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Ω", - "Observation", - "Intermediate" + "Internal", + "Sensory", + "Active", + "External" ], "role": "typed_binder", - "source": "{Ω Observation Intermediate : Type*}", + "source": "{Internal Sensory Active External : Type*}", "type_source": "Type*", "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "mΩ" + "names": [], + "role": "instance_requirement", + "source": "[Fintype Internal]", + "type_source": "Fintype Internal", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Sensory]", + "type_source": "Fintype Sensory", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Active]", + "type_source": "Fintype Active", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype External]", + "type_source": "Fintype External", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[MeasurableSpace Internal]", + "type_source": "MeasurableSpace Internal", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[MeasurableSpace Sensory]", + "type_source": "MeasurableSpace Sensory", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[MeasurableSpace Active]", + "type_source": "MeasurableSpace Active", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[MeasurableSpace External]", + "type_source": "MeasurableSpace External", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DiscreteMeasurableSpace Internal]", + "type_source": "DiscreteMeasurableSpace Internal", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DiscreteMeasurableSpace Sensory]", + "type_source": "DiscreteMeasurableSpace Sensory", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DiscreteMeasurableSpace Active]", + "type_source": "DiscreteMeasurableSpace Active", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DiscreteMeasurableSpace External]", + "type_source": "DiscreteMeasurableSpace External", + "visibility": "instance" + } + ], + "declaration_mentions": [ + { + "identifier": "staticJoint_condIndepFun", + "qualified_name": "FEP.NativeBlanket.staticJoint_condIndepFun", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + } + ], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.markov_blanket", + "Mathlib.MeasureTheory.Integral.Bochner.SumMeasure", + "Mathlib.Probability.Independence.Conditional", + "Mathlib.Probability.Kernel.Composition.Comp" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.NativeBlanket", + "namespace_variable_context": [ + "{Internal Sensory Active External : Type*}\n [Fintype Internal] [Fintype Sensory] [Fintype Active] [Fintype External]\n [MeasurableSpace Internal] [MeasurableSpace Sensory]\n [MeasurableSpace Active] [MeasurableSpace External]\n [DiscreteMeasurableSpace Internal] [DiscreteMeasurableSpace Sensory]\n [DiscreteMeasurableSpace Active] [DiscreteMeasurableSpace External]" + ], + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DiscreteMeasurableSpace β] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [MeasurableSpace Internal] [MeasurableSpace Sensory]" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [MeasurableSpace Internal] [MeasurableSpace Sensory]" + } + ], + "qualified_name": "FEP.NativeBlanket.condIndepFun_measurableImages", + "source_line": 570, + "source_owner": "src/fep_lean/formal/native_blanket.lean", + "statement": "theorem condIndepFun_measurableImages\n [Nonempty Internal] [Nonempty External]\n {InternalImage ExternalImage : Type*}\n [MeasurableSpace InternalImage] [MeasurableSpace ExternalImage]\n (model : StaticModel Internal Sensory Active External)\n (internalImage : Internal → InternalImage)\n (externalImage : External → ExternalImage)\n (internalMeasurable : Measurable internalImage)\n (externalMeasurable : Measurable externalImage) :\n CondIndepFun\n (MeasurableSpace.comap blanketCoordinate inferInstance)\n blanketCoordinate_measurable.comap_le\n (internalImage ∘ internalCoordinate)\n (externalImage ∘ externalCoordinate)\n (embeddedLaw (staticJoint model))", + "statement_sha256": "239541dd9a013320a5e05c94e7599fe9eae7775966e5626db7430260673d5690" + }, + "FEP.NativeBlanket.correlatedBlanket_nonvacuous": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [], + "conclusion": "letI : MeasurableSpace Bool", + "context_binders": [], + "declaration_mentions": [ + { + "identifier": "staticJoint_condIndepFun", + "qualified_name": "FEP.NativeBlanket.staticJoint_condIndepFun", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + }, + { + "candidates": [ + "FEP.MarkovBlanket.staticJoint_factorization" ], - "role": "typed_binder", - "source": "{mΩ : MeasurableSpace Ω}", - "type_source": "MeasurableSpace Ω", - "visibility": "implicit" + "identifier": "staticJoint_factorization", + "resolution": "unresolved lexical scope", + "role": "proof_reference" + } + ], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.markov_blanket", + "Mathlib.MeasureTheory.Integral.Bochner.SumMeasure", + "Mathlib.Probability.Independence.Conditional", + "Mathlib.Probability.Kernel.Composition.Comp" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.NativeBlanket", + "namespace_variable_context": [], + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DiscreteMeasurableSpace β] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [MeasurableSpace Internal] [MeasurableSpace Sensory]" }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [MeasurableSpace Internal] [MeasurableSpace Sensory]" + } + ], + "qualified_name": "FEP.NativeBlanket.correlatedBlanket_nonvacuous", + "source_line": 621, + "source_owner": "src/fep_lean/formal/native_blanket.lean", + "statement": "theorem correlatedBlanket_nonvacuous :\n letI : MeasurableSpace Bool", + "statement_sha256": "88b0ea9cd73d2a63c4d364a9096872aeea54d8cd307b726ad51634d4ef92c3f2" + }, + "FEP.NativeBlanket.embeddedConditionalPairKernel_eq_prod": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "mObservation" + "model" ], "role": "typed_binder", - "source": "{mObservation : MeasurableSpace Observation}", - "type_source": "MeasurableSpace Observation", - "visibility": "implicit" - }, + "source": "(model : StaticModel Internal Sensory Active External)", + "type_source": "StaticModel Internal Sensory Active External", + "visibility": "explicit" + } + ], + "conclusion": "embeddedKernel (conditionalPairKernel model) =\n embeddedKernel model.internalGiven ×ₖ embeddedKernel model.externalGiven", + "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "mIntermediate" + "Internal", + "Sensory", + "Active", + "External" ], "role": "typed_binder", - "source": "{mIntermediate : MeasurableSpace Intermediate}", - "type_source": "MeasurableSpace Intermediate", + "source": "{Internal Sensory Active External : Type*}", + "type_source": "Type*", "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[StandardBorelSpace Ω]", - "type_source": "StandardBorelSpace Ω", - "visibility": "instance" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Nonempty Ω]", - "type_source": "Nonempty Ω", + "source": "[Fintype Internal]", + "type_source": "Fintype Internal", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "prior" - ], - "role": "typed_binder", - "source": "{prior : Measure Ω}", - "type_source": "Measure Ω", - "visibility": "implicit" + "names": [], + "role": "instance_requirement", + "source": "[Fintype Sensory]", + "type_source": "Fintype Sensory", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[IsFiniteMeasure prior]", - "type_source": "IsFiniteMeasure prior", + "source": "[Fintype Active]", + "type_source": "Fintype Active", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "likelihood" - ], - "role": "typed_binder", - "source": "{likelihood : Kernel Ω Observation}", - "type_source": "Kernel Ω Observation", - "visibility": "implicit" + "names": [], + "role": "instance_requirement", + "source": "[Fintype External]", + "type_source": "Fintype External", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[IsFiniteKernel likelihood]", - "type_source": "IsFiniteKernel likelihood", + "source": "[MeasurableSpace Internal]", + "type_source": "MeasurableSpace Internal", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "Conditioned" - ], - "role": "typed_binder", - "source": "{Conditioned : Type*}", - "type_source": "Type*", - "visibility": "implicit" + "names": [], + "role": "instance_requirement", + "source": "[MeasurableSpace Sensory]", + "type_source": "MeasurableSpace Sensory", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "mConditioned" - ], - "role": "typed_binder", - "source": "{mConditioned : MeasurableSpace Conditioned}", - "type_source": "MeasurableSpace Conditioned", - "visibility": "implicit" + "names": [], + "role": "instance_requirement", + "source": "[MeasurableSpace Active]", + "type_source": "MeasurableSpace Active", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[StandardBorelSpace Conditioned]", - "type_source": "StandardBorelSpace Conditioned", + "source": "[MeasurableSpace External]", + "type_source": "MeasurableSpace External", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Nonempty Conditioned]", - "type_source": "Nonempty Conditioned", + "source": "[DiscreteMeasurableSpace Internal]", + "type_source": "DiscreteMeasurableSpace Internal", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "Parameter", - "Evidence" - ], - "role": "typed_binder", - "source": "{Parameter Evidence : Type*}", - "type_source": "Type*", - "visibility": "implicit" + "names": [], + "role": "instance_requirement", + "source": "[DiscreteMeasurableSpace Sensory]", + "type_source": "DiscreteMeasurableSpace Sensory", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Parameter]", - "type_source": "Fintype Parameter", + "source": "[DiscreteMeasurableSpace Active]", + "type_source": "DiscreteMeasurableSpace Active", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Evidence]", - "type_source": "Fintype Evidence", + "source": "[DiscreteMeasurableSpace External]", + "type_source": "DiscreteMeasurableSpace External", "visibility": "instance" } ], - "declaration_mentions": [], + "declaration_mentions": [ + { + "identifier": "embeddedKernel_apply_singleton", + "qualified_name": "FEP.NativeBlanket.embeddedKernel_apply_singleton", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + } + ], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.finite_probability", - "Mathlib.Probability.Kernel.Disintegration.Integral", - "Mathlib.Probability.Kernel.Posterior" + "FepSketches.markov_blanket", + "Mathlib.MeasureTheory.Integral.Bochner.SumMeasure", + "Mathlib.Probability.Independence.Conditional", + "Mathlib.Probability.Kernel.Composition.Comp" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.MeasureBayes", + "namespace": "FEP.NativeBlanket", "namespace_variable_context": [ - "{Ω Observation Intermediate : Type*}\n {mΩ : MeasurableSpace Ω} {mObservation : MeasurableSpace Observation}\n {mIntermediate : MeasurableSpace Intermediate}", - "[StandardBorelSpace Ω] [Nonempty Ω]\n {prior : Measure Ω} [IsFiniteMeasure prior]\n {likelihood : Kernel Ω Observation} [IsFiniteKernel likelihood]", - "{Conditioned : Type*} {mConditioned : MeasurableSpace Conditioned}\n [StandardBorelSpace Conditioned] [Nonempty Conditioned]", - "{Parameter Evidence : Type*}\n [Fintype Parameter] [Fintype Evidence]" + "{Internal Sensory Active External : Type*}\n [Fintype Internal] [Fintype Sensory] [Fintype Active] [Fintype External]\n [MeasurableSpace Internal] [MeasurableSpace Sensory]\n [MeasurableSpace Active] [MeasurableSpace External]\n [DiscreteMeasurableSpace Internal] [DiscreteMeasurableSpace Sensory]\n [DiscreteMeasurableSpace Active] [DiscreteMeasurableSpace External]" ], - "preceding_scope_directives": [], - "qualified_name": "FEP.MeasureBayes.finite_posterior_normalized", - "source_line": 131, - "source_owner": "src/fep_lean/formal/measure_bayes.lean", - "statement": "theorem finite_posterior_normalized\n (finitePrior : FiniteLaw Parameter)\n (finiteLikelihood : FiniteKernel Parameter Evidence)\n (evidence : Evidence)\n (hEvidence : 0 < finiteLikelihood.predictive finitePrior evidence) :\n ∑ parameter, finiteLikelihood.posterior finitePrior evidence hEvidence parameter = 1", - "statement_sha256": "eaff30d4606227a5b180f82b9a1668ea7ca6350d85e4bd4300fd1856465cb525" + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DiscreteMeasurableSpace β] in" + } + ], + "qualified_name": "FEP.NativeBlanket.embeddedConditionalPairKernel_eq_prod", + "source_line": 279, + "source_owner": "src/fep_lean/formal/native_blanket.lean", + "statement": "theorem embeddedConditionalPairKernel_eq_prod\n (model : StaticModel Internal Sensory Active External) :\n embeddedKernel (conditionalPairKernel model) =\n embeddedKernel model.internalGiven ×ₖ embeddedKernel model.externalGiven", + "statement_sha256": "a0355133a2c67f1084449a380409b797a9e595ed007d767b9b90dc4c9faac41c" }, - "FEP.MeasureBayes.finite_posterior_reconstruction": { + "FEP.NativeBlanket.embeddedKernel_apply": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "finitePrior" - ], - "role": "typed_binder", - "source": "(finitePrior : FiniteLaw Parameter)", - "type_source": "FiniteLaw Parameter", - "visibility": "explicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "finiteLikelihood" - ], - "role": "typed_binder", - "source": "(finiteLikelihood : FiniteKernel Parameter Evidence)", - "type_source": "FiniteKernel Parameter Evidence", - "visibility": "explicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "evidence" - ], - "role": "typed_binder", - "source": "(evidence : Evidence)", - "type_source": "Evidence", - "visibility": "explicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "hEvidence" + "kernel" ], "role": "typed_binder", - "source": "(hEvidence : 0 < finiteLikelihood.predictive finitePrior evidence)", - "type_source": "0 < finiteLikelihood.predictive finitePrior evidence", + "source": "(kernel : FiniteKernel α β)", + "type_source": "FiniteKernel α β", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "parameter" + "state" ], "role": "typed_binder", - "source": "(parameter : Parameter)", - "type_source": "Parameter", + "source": "(state : α)", + "type_source": "α", "visibility": "explicit" } ], - "conclusion": "finiteLikelihood.posterior finitePrior evidence hEvidence parameter *\n finiteLikelihood.predictive finitePrior evidence =\n finitePrior parameter * finiteLikelihood parameter evidence", + "conclusion": "embeddedKernel kernel state = embeddedLaw (kernel.row state)", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Ω", - "Observation", - "Intermediate" + "α", + "β" ], "role": "typed_binder", - "source": "{Ω Observation Intermediate : Type*}", + "source": "{α β : Type*}", "type_source": "Type*", "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "mΩ" - ], - "role": "typed_binder", - "source": "{mΩ : MeasurableSpace Ω}", - "type_source": "MeasurableSpace Ω", - "visibility": "implicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "mObservation" - ], - "role": "typed_binder", - "source": "{mObservation : MeasurableSpace Observation}", - "type_source": "MeasurableSpace Observation", - "visibility": "implicit" + "names": [], + "role": "instance_requirement", + "source": "[Fintype α]", + "type_source": "Fintype α", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "mIntermediate" - ], - "role": "typed_binder", - "source": "{mIntermediate : MeasurableSpace Intermediate}", - "type_source": "MeasurableSpace Intermediate", - "visibility": "implicit" + "names": [], + "role": "instance_requirement", + "source": "[Fintype β]", + "type_source": "Fintype β", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[StandardBorelSpace Ω]", - "type_source": "StandardBorelSpace Ω", + "source": "[MeasurableSpace α]", + "type_source": "MeasurableSpace α", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Nonempty Ω]", - "type_source": "Nonempty Ω", + "source": "[MeasurableSpace β]", + "type_source": "MeasurableSpace β", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "prior" - ], - "role": "typed_binder", - "source": "{prior : Measure Ω}", - "type_source": "Measure Ω", - "visibility": "implicit" + "names": [], + "role": "instance_requirement", + "source": "[DiscreteMeasurableSpace α]", + "type_source": "DiscreteMeasurableSpace α", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[IsFiniteMeasure prior]", - "type_source": "IsFiniteMeasure prior", + "source": "[DiscreteMeasurableSpace β]", + "type_source": "DiscreteMeasurableSpace β", "visibility": "instance" - }, + } + ], + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.markov_blanket", + "Mathlib.MeasureTheory.Integral.Bochner.SumMeasure", + "Mathlib.Probability.Independence.Conditional", + "Mathlib.Probability.Kernel.Composition.Comp" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.NativeBlanket", + "namespace_variable_context": [ + "{α β : Type*} [Fintype α] [Fintype β]\n [MeasurableSpace α] [MeasurableSpace β]\n [DiscreteMeasurableSpace α] [DiscreteMeasurableSpace β]" + ], + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DiscreteMeasurableSpace β] in" + } + ], + "qualified_name": "FEP.NativeBlanket.embeddedKernel_apply", + "source_line": 113, + "source_owner": "src/fep_lean/formal/native_blanket.lean", + "statement": "theorem embeddedKernel_apply (kernel : FiniteKernel α β) (state : α) :\n embeddedKernel kernel state = embeddedLaw (kernel.row state)", + "statement_sha256": "e23bc2940c661635638d172e8d8764c3f61a229b50d56bb5648759a6fdaf6540" + }, + "FEP.NativeBlanket.embeddedKernel_apply_singleton": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "likelihood" + "kernel" ], "role": "typed_binder", - "source": "{likelihood : Kernel Ω Observation}", - "type_source": "Kernel Ω Observation", - "visibility": "implicit" + "source": "(kernel : FiniteKernel α β)", + "type_source": "FiniteKernel α β", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[IsFiniteKernel likelihood]", - "type_source": "IsFiniteKernel likelihood", - "visibility": "instance" + "names": [ + "state" + ], + "role": "typed_binder", + "source": "(state : α)", + "type_source": "α", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Conditioned" + "target" ], "role": "typed_binder", - "source": "{Conditioned : Type*}", - "type_source": "Type*", - "visibility": "implicit" - }, + "source": "(target : β)", + "type_source": "β", + "visibility": "explicit" + } + ], + "conclusion": "embeddedKernel kernel state {target} = ENNReal.ofReal (kernel state target)", + "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "mConditioned" + "α", + "β" ], "role": "typed_binder", - "source": "{mConditioned : MeasurableSpace Conditioned}", - "type_source": "MeasurableSpace Conditioned", + "source": "{α β : Type*}", + "type_source": "Type*", "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[StandardBorelSpace Conditioned]", - "type_source": "StandardBorelSpace Conditioned", + "source": "[Fintype α]", + "type_source": "Fintype α", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Nonempty Conditioned]", - "type_source": "Nonempty Conditioned", + "source": "[Fintype β]", + "type_source": "Fintype β", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "Parameter", - "Evidence" - ], - "role": "typed_binder", - "source": "{Parameter Evidence : Type*}", - "type_source": "Type*", - "visibility": "implicit" + "names": [], + "role": "instance_requirement", + "source": "[MeasurableSpace α]", + "type_source": "MeasurableSpace α", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Parameter]", - "type_source": "Fintype Parameter", + "source": "[MeasurableSpace β]", + "type_source": "MeasurableSpace β", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Evidence]", - "type_source": "Fintype Evidence", + "source": "[DiscreteMeasurableSpace α]", + "type_source": "DiscreteMeasurableSpace α", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DiscreteMeasurableSpace β]", + "type_source": "DiscreteMeasurableSpace β", "visibility": "instance" } ], - "declaration_mentions": [], + "declaration_mentions": [ + { + "identifier": "embeddedKernel_apply", + "qualified_name": "FEP.NativeBlanket.embeddedKernel_apply", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + }, + { + "identifier": "embeddedLaw_apply_singleton", + "qualified_name": "FEP.NativeBlanket.embeddedLaw_apply_singleton", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + } + ], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.finite_probability", - "Mathlib.Probability.Kernel.Disintegration.Integral", - "Mathlib.Probability.Kernel.Posterior" + "FepSketches.markov_blanket", + "Mathlib.MeasureTheory.Integral.Bochner.SumMeasure", + "Mathlib.Probability.Independence.Conditional", + "Mathlib.Probability.Kernel.Composition.Comp" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.MeasureBayes", + "namespace": "FEP.NativeBlanket", "namespace_variable_context": [ - "{Ω Observation Intermediate : Type*}\n {mΩ : MeasurableSpace Ω} {mObservation : MeasurableSpace Observation}\n {mIntermediate : MeasurableSpace Intermediate}", - "[StandardBorelSpace Ω] [Nonempty Ω]\n {prior : Measure Ω} [IsFiniteMeasure prior]\n {likelihood : Kernel Ω Observation} [IsFiniteKernel likelihood]", - "{Conditioned : Type*} {mConditioned : MeasurableSpace Conditioned}\n [StandardBorelSpace Conditioned] [Nonempty Conditioned]", - "{Parameter Evidence : Type*}\n [Fintype Parameter] [Fintype Evidence]" + "{α β : Type*} [Fintype α] [Fintype β]\n [MeasurableSpace α] [MeasurableSpace β]\n [DiscreteMeasurableSpace α] [DiscreteMeasurableSpace β]" ], - "preceding_scope_directives": [], - "qualified_name": "FEP.MeasureBayes.finite_posterior_reconstruction", - "source_line": 118, - "source_owner": "src/fep_lean/formal/measure_bayes.lean", - "statement": "theorem finite_posterior_reconstruction\n (finitePrior : FiniteLaw Parameter)\n (finiteLikelihood : FiniteKernel Parameter Evidence)\n (evidence : Evidence)\n (hEvidence : 0 < finiteLikelihood.predictive finitePrior evidence)\n (parameter : Parameter) :\n finiteLikelihood.posterior finitePrior evidence hEvidence parameter *\n finiteLikelihood.predictive finitePrior evidence =\n finitePrior parameter * finiteLikelihood parameter evidence", - "statement_sha256": "5dd3b5b5318b65bb50c56d679346798da45d8d74263d4b1804962ba42224686b" + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DiscreteMeasurableSpace β] in" + } + ], + "qualified_name": "FEP.NativeBlanket.embeddedKernel_apply_singleton", + "source_line": 117, + "source_owner": "src/fep_lean/formal/native_blanket.lean", + "statement": "theorem embeddedKernel_apply_singleton\n (kernel : FiniteKernel α β) (state : α) (target : β) :\n embeddedKernel kernel state {target} = ENNReal.ofReal (kernel state target)", + "statement_sha256": "848b46bb22fe343daf67c9e02e5d86fa4d5e336832d3e43513ed85ef54e6bb27" }, - "FEP.MeasureBayes.finite_zero_evidence_boundary": { + "FEP.NativeBlanket.embeddedKernel_comp": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "finitePrior" + "γ" ], "role": "typed_binder", - "source": "(finitePrior : FiniteLaw Parameter)", - "type_source": "FiniteLaw Parameter", - "visibility": "explicit" + "source": "{γ : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "finiteLikelihood" - ], - "role": "typed_binder", - "source": "(finiteLikelihood : FiniteKernel Parameter Evidence)", - "type_source": "FiniteKernel Parameter Evidence", - "visibility": "explicit" + "names": [], + "role": "instance_requirement", + "source": "[Fintype γ]", + "type_source": "Fintype γ", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[MeasurableSpace γ]", + "type_source": "MeasurableSpace γ", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DiscreteMeasurableSpace γ]", + "type_source": "DiscreteMeasurableSpace γ", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "evidence" + "later" ], "role": "typed_binder", - "source": "(evidence : Evidence)", - "type_source": "Evidence", + "source": "(later : FiniteKernel β γ)", + "type_source": "FiniteKernel β γ", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "hzero" + "earlier" ], "role": "typed_binder", - "source": "(hzero : finiteLikelihood.predictive finitePrior evidence = 0)", - "type_source": "finiteLikelihood.predictive finitePrior evidence = 0", + "source": "(earlier : FiniteKernel α β)", + "type_source": "FiniteKernel α β", "visibility": "explicit" } ], - "conclusion": "¬0 < finiteLikelihood.predictive finitePrior evidence", + "conclusion": "embeddedKernel (FiniteKernel.comp later earlier) =\n embeddedKernel later ∘ₖ embeddedKernel earlier", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Ω", - "Observation", - "Intermediate" + "α", + "β" ], "role": "typed_binder", - "source": "{Ω Observation Intermediate : Type*}", + "source": "{α β : Type*}", "type_source": "Type*", "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "mΩ" - ], - "role": "typed_binder", - "source": "{mΩ : MeasurableSpace Ω}", - "type_source": "MeasurableSpace Ω", - "visibility": "implicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "mObservation" - ], - "role": "typed_binder", - "source": "{mObservation : MeasurableSpace Observation}", - "type_source": "MeasurableSpace Observation", - "visibility": "implicit" + "names": [], + "role": "instance_requirement", + "source": "[Fintype α]", + "type_source": "Fintype α", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "mIntermediate" - ], - "role": "typed_binder", - "source": "{mIntermediate : MeasurableSpace Intermediate}", - "type_source": "MeasurableSpace Intermediate", - "visibility": "implicit" + "names": [], + "role": "instance_requirement", + "source": "[Fintype β]", + "type_source": "Fintype β", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[StandardBorelSpace Ω]", - "type_source": "StandardBorelSpace Ω", + "source": "[MeasurableSpace α]", + "type_source": "MeasurableSpace α", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Nonempty Ω]", - "type_source": "Nonempty Ω", + "source": "[MeasurableSpace β]", + "type_source": "MeasurableSpace β", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "prior" - ], - "role": "typed_binder", - "source": "{prior : Measure Ω}", - "type_source": "Measure Ω", - "visibility": "implicit" + "names": [], + "role": "instance_requirement", + "source": "[DiscreteMeasurableSpace α]", + "type_source": "DiscreteMeasurableSpace α", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[IsFiniteMeasure prior]", - "type_source": "IsFiniteMeasure prior", + "source": "[DiscreteMeasurableSpace β]", + "type_source": "DiscreteMeasurableSpace β", "visibility": "instance" - }, + } + ], + "declaration_mentions": [ { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "likelihood" - ], - "role": "typed_binder", - "source": "{likelihood : Kernel Ω Observation}", - "type_source": "Kernel Ω Observation", - "visibility": "implicit" + "identifier": "embeddedKernel_apply", + "qualified_name": "FEP.NativeBlanket.embeddedKernel_apply", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" }, + { + "identifier": "embeddedPredictive_eq_comp", + "qualified_name": "FEP.NativeBlanket.embeddedPredictive_eq_comp", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + } + ], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.markov_blanket", + "Mathlib.MeasureTheory.Integral.Bochner.SumMeasure", + "Mathlib.Probability.Independence.Conditional", + "Mathlib.Probability.Kernel.Composition.Comp" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.NativeBlanket", + "namespace_variable_context": [ + "{α β : Type*} [Fintype α] [Fintype β]\n [MeasurableSpace α] [MeasurableSpace β]\n [DiscreteMeasurableSpace α] [DiscreteMeasurableSpace β]" + ], + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DiscreteMeasurableSpace β] in" + } + ], + "qualified_name": "FEP.NativeBlanket.embeddedKernel_comp", + "source_line": 184, + "source_owner": "src/fep_lean/formal/native_blanket.lean", + "statement": "theorem embeddedKernel_comp {γ : Type*} [Fintype γ]\n [MeasurableSpace γ] [DiscreteMeasurableSpace γ]\n (later : FiniteKernel β γ) (earlier : FiniteKernel α β) :\n embeddedKernel (FiniteKernel.comp later earlier) =\n embeddedKernel later ∘ₖ embeddedKernel earlier", + "statement_sha256": "529d5b1f6a8a0bb59d97c13986f5735c238e256203f2424d62dda6413ea9605e" + }, + "FEP.NativeBlanket.embeddedKernel_identity": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[IsFiniteKernel likelihood]", - "type_source": "IsFiniteKernel likelihood", + "source": "[DecidableEq α]", + "type_source": "DecidableEq α", "visibility": "instance" - }, + } + ], + "conclusion": "embeddedKernel (FiniteKernel.identity : FiniteKernel α α) = Kernel.id", + "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Conditioned" + "α", + "β" ], "role": "typed_binder", - "source": "{Conditioned : Type*}", + "source": "{α β : Type*}", "type_source": "Type*", "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "mConditioned" - ], - "role": "typed_binder", - "source": "{mConditioned : MeasurableSpace Conditioned}", - "type_source": "MeasurableSpace Conditioned", - "visibility": "implicit" + "names": [], + "role": "instance_requirement", + "source": "[Fintype α]", + "type_source": "Fintype α", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[StandardBorelSpace Conditioned]", - "type_source": "StandardBorelSpace Conditioned", + "source": "[Fintype β]", + "type_source": "Fintype β", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Nonempty Conditioned]", - "type_source": "Nonempty Conditioned", + "source": "[MeasurableSpace α]", + "type_source": "MeasurableSpace α", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "Parameter", - "Evidence" - ], - "role": "typed_binder", - "source": "{Parameter Evidence : Type*}", - "type_source": "Type*", - "visibility": "implicit" + "names": [], + "role": "instance_requirement", + "source": "[MeasurableSpace β]", + "type_source": "MeasurableSpace β", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Parameter]", - "type_source": "Fintype Parameter", + "source": "[DiscreteMeasurableSpace α]", + "type_source": "DiscreteMeasurableSpace α", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Evidence]", - "type_source": "Fintype Evidence", + "source": "[DiscreteMeasurableSpace β]", + "type_source": "DiscreteMeasurableSpace β", "visibility": "instance" } ], - "declaration_mentions": [], + "declaration_mentions": [ + { + "identifier": "embeddedKernel_apply_singleton", + "qualified_name": "FEP.NativeBlanket.embeddedKernel_apply_singleton", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + } + ], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.finite_probability", - "Mathlib.Probability.Kernel.Disintegration.Integral", - "Mathlib.Probability.Kernel.Posterior" + "FepSketches.markov_blanket", + "Mathlib.MeasureTheory.Integral.Bochner.SumMeasure", + "Mathlib.Probability.Independence.Conditional", + "Mathlib.Probability.Kernel.Composition.Comp" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.MeasureBayes", + "namespace": "FEP.NativeBlanket", "namespace_variable_context": [ - "{Ω Observation Intermediate : Type*}\n {mΩ : MeasurableSpace Ω} {mObservation : MeasurableSpace Observation}\n {mIntermediate : MeasurableSpace Intermediate}", - "[StandardBorelSpace Ω] [Nonempty Ω]\n {prior : Measure Ω} [IsFiniteMeasure prior]\n {likelihood : Kernel Ω Observation} [IsFiniteKernel likelihood]", - "{Conditioned : Type*} {mConditioned : MeasurableSpace Conditioned}\n [StandardBorelSpace Conditioned] [Nonempty Conditioned]", - "{Parameter Evidence : Type*}\n [Fintype Parameter] [Fintype Evidence]" + "{α β : Type*} [Fintype α] [Fintype β]\n [MeasurableSpace α] [MeasurableSpace β]\n [DiscreteMeasurableSpace α] [DiscreteMeasurableSpace β]" ], - "preceding_scope_directives": [], - "qualified_name": "FEP.MeasureBayes.finite_zero_evidence_boundary", - "source_line": 141, - "source_owner": "src/fep_lean/formal/measure_bayes.lean", - "statement": "theorem finite_zero_evidence_boundary\n (finitePrior : FiniteLaw Parameter)\n (finiteLikelihood : FiniteKernel Parameter Evidence)\n (evidence : Evidence)\n (hzero : finiteLikelihood.predictive finitePrior evidence = 0) :\n ¬0 < finiteLikelihood.predictive finitePrior evidence", - "statement_sha256": "799904848d9fe3f368b05fe21bbca05cb3aa102ba4bac7e91db23f8bd42b2ba1" + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DiscreteMeasurableSpace β] in" + } + ], + "qualified_name": "FEP.NativeBlanket.embeddedKernel_identity", + "source_line": 130, + "source_owner": "src/fep_lean/formal/native_blanket.lean", + "statement": "theorem embeddedKernel_identity [DecidableEq α] :\n embeddedKernel (FiniteKernel.identity : FiniteKernel α α) = Kernel.id", + "statement_sha256": "fd5ac223e982b9bcfd5ee38d33ee4344e3747eaed8bb590e9ee11790168e6914" }, - "FEP.MeasureBayes.likelihoodRatio_reconstruction": { + "FEP.NativeBlanket.embeddedLaw_apply_singleton": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "target", - "reference" + "law" ], "role": "typed_binder", - "source": "(target reference : Measure Ω)", - "type_source": "Measure Ω", + "source": "(law : FiniteLaw α)", + "type_source": "FiniteLaw α", "visibility": "explicit" }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[target.HaveLebesgueDecomposition reference]", - "type_source": "target.HaveLebesgueDecomposition reference", - "visibility": "instance" - }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "h_ac" + "state" ], "role": "typed_binder", - "source": "(h_ac : target ≪ reference)", - "type_source": "target ≪ reference", + "source": "(state : α)", + "type_source": "α", "visibility": "explicit" } ], - "conclusion": "reference.withDensity (target.rnDeriv reference) = target", + "conclusion": "embeddedLaw law {state} = ENNReal.ofReal (law state)", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Ω", - "Observation", - "Intermediate" + "α", + "β" ], "role": "typed_binder", - "source": "{Ω Observation Intermediate : Type*}", + "source": "{α β : Type*}", "type_source": "Type*", "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "mΩ" - ], - "role": "typed_binder", - "source": "{mΩ : MeasurableSpace Ω}", - "type_source": "MeasurableSpace Ω", - "visibility": "implicit" + "names": [], + "role": "instance_requirement", + "source": "[Fintype α]", + "type_source": "Fintype α", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "mObservation" - ], - "role": "typed_binder", - "source": "{mObservation : MeasurableSpace Observation}", - "type_source": "MeasurableSpace Observation", - "visibility": "implicit" + "names": [], + "role": "instance_requirement", + "source": "[Fintype β]", + "type_source": "Fintype β", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "mIntermediate" - ], - "role": "typed_binder", - "source": "{mIntermediate : MeasurableSpace Intermediate}", - "type_source": "MeasurableSpace Intermediate", - "visibility": "implicit" + "names": [], + "role": "instance_requirement", + "source": "[MeasurableSpace α]", + "type_source": "MeasurableSpace α", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[MeasurableSpace β]", + "type_source": "MeasurableSpace β", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DiscreteMeasurableSpace α]", + "type_source": "DiscreteMeasurableSpace α", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DiscreteMeasurableSpace β]", + "type_source": "DiscreteMeasurableSpace β", + "visibility": "instance" } ], "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.finite_probability", - "Mathlib.Probability.Kernel.Disintegration.Integral", - "Mathlib.Probability.Kernel.Posterior" + "FepSketches.markov_blanket", + "Mathlib.MeasureTheory.Integral.Bochner.SumMeasure", + "Mathlib.Probability.Independence.Conditional", + "Mathlib.Probability.Kernel.Composition.Comp" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.MeasureBayes", + "namespace": "FEP.NativeBlanket", "namespace_variable_context": [ - "{Ω Observation Intermediate : Type*}\n {mΩ : MeasurableSpace Ω} {mObservation : MeasurableSpace Observation}\n {mIntermediate : MeasurableSpace Intermediate}" + "{α β : Type*} [Fintype α] [Fintype β]\n [MeasurableSpace α] [MeasurableSpace β]\n [DiscreteMeasurableSpace α] [DiscreteMeasurableSpace β]" ], "preceding_scope_directives": [], - "qualified_name": "FEP.MeasureBayes.likelihoodRatio_reconstruction", - "source_line": 28, - "source_owner": "src/fep_lean/formal/measure_bayes.lean", - "statement": "theorem likelihoodRatio_reconstruction (target reference : Measure Ω)\n [target.HaveLebesgueDecomposition reference]\n (h_ac : target ≪ reference) :\n reference.withDensity (target.rnDeriv reference) = target", - "statement_sha256": "0e9ed7be9d3ae4cb0e60a240bf56a184cacc0da349b25e445a27f5b450127a09" + "qualified_name": "FEP.NativeBlanket.embeddedLaw_apply_singleton", + "source_line": 39, + "source_owner": "src/fep_lean/formal/native_blanket.lean", + "statement": "theorem embeddedLaw_apply_singleton (law : FiniteLaw α) (state : α) :\n embeddedLaw law {state} = ENNReal.ofReal (law state)", + "statement_sha256": "66e9981fa09b7d0d545d9ac3758823d79b37eafb5ae377ff8abd9a74aea43662" }, - "FEP.MeasureBayes.likelihoodRatio_reconstruction_iff": { + "FEP.NativeBlanket.embeddedLaw_apply_univ": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "target", - "reference" + "law" ], "role": "typed_binder", - "source": "(target reference : Measure Ω)", - "type_source": "Measure Ω", + "source": "(law : FiniteLaw α)", + "type_source": "FiniteLaw α", "visibility": "explicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[target.HaveLebesgueDecomposition reference]", - "type_source": "target.HaveLebesgueDecomposition reference", - "visibility": "instance" } ], - "conclusion": "target ≪ reference ↔\n reference.withDensity (target.rnDeriv reference) = target", + "conclusion": "embeddedLaw law Set.univ = 1", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Ω", - "Observation", - "Intermediate" + "α", + "β" ], "role": "typed_binder", - "source": "{Ω Observation Intermediate : Type*}", + "source": "{α β : Type*}", "type_source": "Type*", "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "mΩ" - ], - "role": "typed_binder", - "source": "{mΩ : MeasurableSpace Ω}", - "type_source": "MeasurableSpace Ω", - "visibility": "implicit" + "names": [], + "role": "instance_requirement", + "source": "[Fintype α]", + "type_source": "Fintype α", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "mObservation" - ], - "role": "typed_binder", - "source": "{mObservation : MeasurableSpace Observation}", - "type_source": "MeasurableSpace Observation", - "visibility": "implicit" + "names": [], + "role": "instance_requirement", + "source": "[Fintype β]", + "type_source": "Fintype β", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "mIntermediate" - ], - "role": "typed_binder", - "source": "{mIntermediate : MeasurableSpace Intermediate}", - "type_source": "MeasurableSpace Intermediate", - "visibility": "implicit" + "names": [], + "role": "instance_requirement", + "source": "[MeasurableSpace α]", + "type_source": "MeasurableSpace α", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[MeasurableSpace β]", + "type_source": "MeasurableSpace β", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DiscreteMeasurableSpace α]", + "type_source": "DiscreteMeasurableSpace α", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DiscreteMeasurableSpace β]", + "type_source": "DiscreteMeasurableSpace β", + "visibility": "instance" } ], "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.finite_probability", - "Mathlib.Probability.Kernel.Disintegration.Integral", - "Mathlib.Probability.Kernel.Posterior" + "FepSketches.markov_blanket", + "Mathlib.MeasureTheory.Integral.Bochner.SumMeasure", + "Mathlib.Probability.Independence.Conditional", + "Mathlib.Probability.Kernel.Composition.Comp" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.MeasureBayes", + "namespace": "FEP.NativeBlanket", "namespace_variable_context": [ - "{Ω Observation Intermediate : Type*}\n {mΩ : MeasurableSpace Ω} {mObservation : MeasurableSpace Observation}\n {mIntermediate : MeasurableSpace Intermediate}" + "{α β : Type*} [Fintype α] [Fintype β]\n [MeasurableSpace α] [MeasurableSpace β]\n [DiscreteMeasurableSpace α] [DiscreteMeasurableSpace β]" ], "preceding_scope_directives": [], - "qualified_name": "FEP.MeasureBayes.likelihoodRatio_reconstruction_iff", - "source_line": 36, - "source_owner": "src/fep_lean/formal/measure_bayes.lean", - "statement": "theorem likelihoodRatio_reconstruction_iff (target reference : Measure Ω)\n [target.HaveLebesgueDecomposition reference] :\n target ≪ reference ↔\n reference.withDensity (target.rnDeriv reference) = target", - "statement_sha256": "9a26129a8a9115f14e550167b4002924eaf2121055d3a0426febc8a0030b4ffd" + "qualified_name": "FEP.NativeBlanket.embeddedLaw_apply_univ", + "source_line": 47, + "source_owner": "src/fep_lean/formal/native_blanket.lean", + "statement": "theorem embeddedLaw_apply_univ (law : FiniteLaw α) :\n embeddedLaw law Set.univ = 1", + "statement_sha256": "248e44206c481c6b1fd87c5c1cf015641f6192fc7073180ef1477322661c1d55" }, - "FEP.MeasureBayes.posterior_composite": { + "FEP.NativeBlanket.embeddedLaw_injective": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [ + "binders": [], + "conclusion": "Function.Injective (embeddedLaw : FiniteLaw α → Measure α)", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "α", + "β" + ], + "role": "typed_binder", + "source": "{α β : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[StandardBorelSpace Observation]", - "type_source": "StandardBorelSpace Observation", + "source": "[Fintype α]", + "type_source": "Fintype α", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Nonempty Observation]", - "type_source": "Nonempty Observation", + "source": "[Fintype β]", + "type_source": "Fintype β", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "later" - ], - "role": "typed_binder", - "source": "(later : Kernel Observation Intermediate)", - "type_source": "Kernel Observation Intermediate", - "visibility": "explicit" + "names": [], + "role": "instance_requirement", + "source": "[MeasurableSpace α]", + "type_source": "MeasurableSpace α", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[IsFiniteKernel later]", - "type_source": "IsFiniteKernel later", + "source": "[MeasurableSpace β]", + "type_source": "MeasurableSpace β", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DiscreteMeasurableSpace α]", + "type_source": "DiscreteMeasurableSpace α", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DiscreteMeasurableSpace β]", + "type_source": "DiscreteMeasurableSpace β", "visibility": "instance" } ], - "conclusion": "(later ∘ₖ likelihood)†prior =ᵐ[later ∘ₘ likelihood ∘ₘ prior]\n likelihood†prior ∘ₖ later†(likelihood ∘ₘ prior)", - "context_binders": [ + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.markov_blanket", + "Mathlib.MeasureTheory.Integral.Bochner.SumMeasure", + "Mathlib.Probability.Independence.Conditional", + "Mathlib.Probability.Kernel.Composition.Comp" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.NativeBlanket", + "namespace_variable_context": [ + "{α β : Type*} [Fintype α] [Fintype β]\n [MeasurableSpace α] [MeasurableSpace β]\n [DiscreteMeasurableSpace α] [DiscreteMeasurableSpace β]" + ], + "preceding_scope_directives": [], + "qualified_name": "FEP.NativeBlanket.embeddedLaw_injective", + "source_line": 68, + "source_owner": "src/fep_lean/formal/native_blanket.lean", + "statement": "theorem embeddedLaw_injective :\n Function.Injective (embeddedLaw : FiniteLaw α → Measure α)", + "statement_sha256": "fda99e3ad733943d914c049175e153113063755809c00dd27dfb34c81dbed41c" + }, + "FEP.NativeBlanket.embeddedLaw_integral_eq_sum": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Ω", - "Observation", - "Intermediate" + "law" ], "role": "typed_binder", - "source": "{Ω Observation Intermediate : Type*}", - "type_source": "Type*", - "visibility": "implicit" + "source": "(law : FiniteLaw α)", + "type_source": "FiniteLaw α", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "mΩ" + "observable" ], "role": "typed_binder", - "source": "{mΩ : MeasurableSpace Ω}", - "type_source": "MeasurableSpace Ω", - "visibility": "implicit" - }, + "source": "(observable : α → ℝ)", + "type_source": "α → ℝ", + "visibility": "explicit" + } + ], + "conclusion": "∫ state, observable state ∂embeddedLaw law =\n ∑ state, law state * observable state", + "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "mObservation" + "α", + "β" ], "role": "typed_binder", - "source": "{mObservation : MeasurableSpace Observation}", - "type_source": "MeasurableSpace Observation", + "source": "{α β : Type*}", + "type_source": "Type*", "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "mIntermediate" - ], - "role": "typed_binder", - "source": "{mIntermediate : MeasurableSpace Intermediate}", - "type_source": "MeasurableSpace Intermediate", - "visibility": "implicit" + "names": [], + "role": "instance_requirement", + "source": "[Fintype α]", + "type_source": "Fintype α", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[StandardBorelSpace Ω]", - "type_source": "StandardBorelSpace Ω", + "source": "[Fintype β]", + "type_source": "Fintype β", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Nonempty Ω]", - "type_source": "Nonempty Ω", + "source": "[MeasurableSpace α]", + "type_source": "MeasurableSpace α", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "prior" - ], - "role": "typed_binder", - "source": "{prior : Measure Ω}", - "type_source": "Measure Ω", - "visibility": "implicit" + "names": [], + "role": "instance_requirement", + "source": "[MeasurableSpace β]", + "type_source": "MeasurableSpace β", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[IsFiniteMeasure prior]", - "type_source": "IsFiniteMeasure prior", + "source": "[DiscreteMeasurableSpace α]", + "type_source": "DiscreteMeasurableSpace α", "visibility": "instance" }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "likelihood" - ], - "role": "typed_binder", - "source": "{likelihood : Kernel Ω Observation}", - "type_source": "Kernel Ω Observation", - "visibility": "implicit" - }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[IsFiniteKernel likelihood]", - "type_source": "IsFiniteKernel likelihood", + "source": "[DiscreteMeasurableSpace β]", + "type_source": "DiscreteMeasurableSpace β", "visibility": "instance" } ], - "declaration_mentions": [], + "declaration_mentions": [ + { + "identifier": "embeddedLaw_real_singleton", + "qualified_name": "FEP.NativeBlanket.embeddedLaw_real_singleton", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + } + ], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.finite_probability", - "Mathlib.Probability.Kernel.Disintegration.Integral", - "Mathlib.Probability.Kernel.Posterior" + "FepSketches.markov_blanket", + "Mathlib.MeasureTheory.Integral.Bochner.SumMeasure", + "Mathlib.Probability.Independence.Conditional", + "Mathlib.Probability.Kernel.Composition.Comp" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.MeasureBayes", + "namespace": "FEP.NativeBlanket", "namespace_variable_context": [ - "{Ω Observation Intermediate : Type*}\n {mΩ : MeasurableSpace Ω} {mObservation : MeasurableSpace Observation}\n {mIntermediate : MeasurableSpace Intermediate}", - "[StandardBorelSpace Ω] [Nonempty Ω]\n {prior : Measure Ω} [IsFiniteMeasure prior]\n {likelihood : Kernel Ω Observation} [IsFiniteKernel likelihood]" + "{α β : Type*} [Fintype α] [Fintype β]\n [MeasurableSpace α] [MeasurableSpace β]\n [DiscreteMeasurableSpace α] [DiscreteMeasurableSpace β]" ], "preceding_scope_directives": [], - "qualified_name": "FEP.MeasureBayes.posterior_composite", - "source_line": 82, - "source_owner": "src/fep_lean/formal/measure_bayes.lean", - "statement": "theorem posterior_composite\n [StandardBorelSpace Observation] [Nonempty Observation]\n (later : Kernel Observation Intermediate) [IsFiniteKernel later] :\n (later ∘ₖ likelihood)†prior =ᵐ[later ∘ₘ likelihood ∘ₘ prior]\n likelihood†prior ∘ₖ later†(likelihood ∘ₘ prior)", - "statement_sha256": "9ec1ea83ee5f540a0d6e0a299cb43df6ddc8d5404c5fbd4a38aa62dba5c3d69b" + "qualified_name": "FEP.NativeBlanket.embeddedLaw_integral_eq_sum", + "source_line": 78, + "source_owner": "src/fep_lean/formal/native_blanket.lean", + "statement": "theorem embeddedLaw_integral_eq_sum (law : FiniteLaw α) (observable : α → ℝ) :\n ∫ state, observable state ∂embeddedLaw law =\n ∑ state, law state * observable state", + "statement_sha256": "c41ad4195022b56efcd83f080097063714f72266bf63b1c549b0d01638b1fd4c" }, - "FEP.MeasureBayes.posterior_density_as_likelihood_tilt": { + "FEP.NativeBlanket.embeddedLaw_joint_eq_compProd": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[MeasurableSpace.CountableOrCountablyGenerated Ω Observation]", - "type_source": "MeasurableSpace.CountableOrCountablyGenerated Ω Observation", - "visibility": "instance" + "names": [ + "prior" + ], + "role": "typed_binder", + "source": "(prior : FiniteLaw α)", + "type_source": "FiniteLaw α", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "h_ac" + "kernel" ], "role": "typed_binder", - "source": "(h_ac : ∀ᵐ parameter ∂prior,\n likelihood parameter ≪ likelihood ∘ₘ prior)", - "type_source": "∀ᵐ parameter ∂prior,\n likelihood parameter ≪ likelihood ∘ₘ prior", + "source": "(kernel : FiniteKernel α β)", + "type_source": "FiniteKernel α β", "visibility": "explicit" } ], - "conclusion": "∀ᵐ observation ∂likelihood ∘ₘ prior,\n (likelihood†prior) observation =\n prior.withDensity (fun parameter =>\n likelihood.rnDeriv\n (Kernel.const Ω (likelihood ∘ₘ prior)) parameter observation)", + "conclusion": "embeddedLaw (kernel.joint prior) =\n embeddedLaw prior ⊗ₘ embeddedKernel kernel", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Ω", - "Observation", - "Intermediate" + "α", + "β" ], "role": "typed_binder", - "source": "{Ω Observation Intermediate : Type*}", + "source": "{α β : Type*}", "type_source": "Type*", "visibility": "implicit" }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "mΩ" - ], - "role": "typed_binder", - "source": "{mΩ : MeasurableSpace Ω}", - "type_source": "MeasurableSpace Ω", - "visibility": "implicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "mObservation" - ], - "role": "typed_binder", - "source": "{mObservation : MeasurableSpace Observation}", - "type_source": "MeasurableSpace Observation", - "visibility": "implicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "mIntermediate" - ], - "role": "typed_binder", - "source": "{mIntermediate : MeasurableSpace Intermediate}", - "type_source": "MeasurableSpace Intermediate", - "visibility": "implicit" - }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[StandardBorelSpace Ω]", - "type_source": "StandardBorelSpace Ω", + "source": "[Fintype α]", + "type_source": "Fintype α", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Nonempty Ω]", - "type_source": "Nonempty Ω", + "source": "[Fintype β]", + "type_source": "Fintype β", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "prior" - ], - "role": "typed_binder", - "source": "{prior : Measure Ω}", - "type_source": "Measure Ω", - "visibility": "implicit" + "names": [], + "role": "instance_requirement", + "source": "[MeasurableSpace α]", + "type_source": "MeasurableSpace α", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[IsFiniteMeasure prior]", - "type_source": "IsFiniteMeasure prior", + "source": "[MeasurableSpace β]", + "type_source": "MeasurableSpace β", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "likelihood" - ], - "role": "typed_binder", - "source": "{likelihood : Kernel Ω Observation}", - "type_source": "Kernel Ω Observation", - "visibility": "implicit" + "names": [], + "role": "instance_requirement", + "source": "[DiscreteMeasurableSpace α]", + "type_source": "DiscreteMeasurableSpace α", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[IsFiniteKernel likelihood]", - "type_source": "IsFiniteKernel likelihood", + "source": "[DiscreteMeasurableSpace β]", + "type_source": "DiscreteMeasurableSpace β", "visibility": "instance" } ], - "declaration_mentions": [], + "declaration_mentions": [ + { + "identifier": "embeddedLaw_apply_singleton", + "qualified_name": "FEP.NativeBlanket.embeddedLaw_apply_singleton", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + } + ], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.finite_probability", - "Mathlib.Probability.Kernel.Disintegration.Integral", - "Mathlib.Probability.Kernel.Posterior" + "FepSketches.markov_blanket", + "Mathlib.MeasureTheory.Integral.Bochner.SumMeasure", + "Mathlib.Probability.Independence.Conditional", + "Mathlib.Probability.Kernel.Composition.Comp" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.MeasureBayes", + "namespace": "FEP.NativeBlanket", "namespace_variable_context": [ - "{Ω Observation Intermediate : Type*}\n {mΩ : MeasurableSpace Ω} {mObservation : MeasurableSpace Observation}\n {mIntermediate : MeasurableSpace Intermediate}", - "[StandardBorelSpace Ω] [Nonempty Ω]\n {prior : Measure Ω} [IsFiniteMeasure prior]\n {likelihood : Kernel Ω Observation} [IsFiniteKernel likelihood]" + "{α β : Type*} [Fintype α] [Fintype β]\n [MeasurableSpace α] [MeasurableSpace β]\n [DiscreteMeasurableSpace α] [DiscreteMeasurableSpace β]" ], - "preceding_scope_directives": [], - "qualified_name": "FEP.MeasureBayes.posterior_density_as_likelihood_tilt", - "source_line": 50, - "source_owner": "src/fep_lean/formal/measure_bayes.lean", - "statement": "theorem posterior_density_as_likelihood_tilt\n [MeasurableSpace.CountableOrCountablyGenerated Ω Observation]\n (h_ac : ∀ᵐ parameter ∂prior,\n likelihood parameter ≪ likelihood ∘ₘ prior) :\n ∀ᵐ observation ∂likelihood ∘ₘ prior,\n (likelihood†prior) observation =\n prior.withDensity (fun parameter =>\n likelihood.rnDeriv\n (Kernel.const Ω (likelihood ∘ₘ prior)) parameter observation)", - "statement_sha256": "c757cd57f838f191966f59864567e4a8ac99800390c88a29f052f57b7bf15576" + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DiscreteMeasurableSpace β] in" + } + ], + "qualified_name": "FEP.NativeBlanket.embeddedLaw_joint_eq_compProd", + "source_line": 147, + "source_owner": "src/fep_lean/formal/native_blanket.lean", + "statement": "theorem embeddedLaw_joint_eq_compProd\n (prior : FiniteLaw α) (kernel : FiniteKernel α β) :\n embeddedLaw (kernel.joint prior) =\n embeddedLaw prior ⊗ₘ embeddedKernel kernel", + "statement_sha256": "ef50e5e28fc6ab36373055ef30da1d6cbbe4bf8a7a68fb7a81dfbe30088ecd5b" }, - "FEP.MeasureBayes.posterior_involution": { + "FEP.NativeBlanket.embeddedLaw_map": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[StandardBorelSpace Observation]", - "type_source": "StandardBorelSpace Observation", - "visibility": "instance" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Nonempty Observation]", - "type_source": "Nonempty Observation", - "visibility": "instance" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[IsMarkovKernel likelihood]", - "type_source": "IsMarkovKernel likelihood", + "source": "[DecidableEq β]", + "type_source": "DecidableEq β", "visibility": "instance" - } - ], - "conclusion": "(likelihood†prior)†(likelihood ∘ₘ prior) =ᵐ[prior] likelihood", - "context_binders": [ - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "Ω", - "Observation", - "Intermediate" - ], - "role": "typed_binder", - "source": "{Ω Observation Intermediate : Type*}", - "type_source": "Type*", - "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "mΩ" + "law" ], "role": "typed_binder", - "source": "{mΩ : MeasurableSpace Ω}", - "type_source": "MeasurableSpace Ω", - "visibility": "implicit" + "source": "(law : FiniteLaw α)", + "type_source": "FiniteLaw α", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "mObservation" + "mapState" ], "role": "typed_binder", - "source": "{mObservation : MeasurableSpace Observation}", - "type_source": "MeasurableSpace Observation", - "visibility": "implicit" - }, + "source": "(mapState : α → β)", + "type_source": "α → β", + "visibility": "explicit" + } + ], + "conclusion": "(embeddedLaw law).map mapState = embeddedLaw (law.map mapState)", + "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "mIntermediate" + "α", + "β" ], "role": "typed_binder", - "source": "{mIntermediate : MeasurableSpace Intermediate}", - "type_source": "MeasurableSpace Intermediate", + "source": "{α β : Type*}", + "type_source": "Type*", "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[StandardBorelSpace Ω]", - "type_source": "StandardBorelSpace Ω", + "source": "[Fintype α]", + "type_source": "Fintype α", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Nonempty Ω]", - "type_source": "Nonempty Ω", + "source": "[Fintype β]", + "type_source": "Fintype β", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "prior" - ], - "role": "typed_binder", - "source": "{prior : Measure Ω}", - "type_source": "Measure Ω", - "visibility": "implicit" + "names": [], + "role": "instance_requirement", + "source": "[MeasurableSpace α]", + "type_source": "MeasurableSpace α", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[IsFiniteMeasure prior]", - "type_source": "IsFiniteMeasure prior", + "source": "[MeasurableSpace β]", + "type_source": "MeasurableSpace β", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "likelihood" - ], - "role": "typed_binder", - "source": "{likelihood : Kernel Ω Observation}", - "type_source": "Kernel Ω Observation", - "visibility": "implicit" + "names": [], + "role": "instance_requirement", + "source": "[DiscreteMeasurableSpace α]", + "type_source": "DiscreteMeasurableSpace α", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[IsFiniteKernel likelihood]", - "type_source": "IsFiniteKernel likelihood", + "source": "[DiscreteMeasurableSpace β]", + "type_source": "DiscreteMeasurableSpace β", "visibility": "instance" } ], - "declaration_mentions": [], + "declaration_mentions": [ + { + "identifier": "embeddedLaw_apply_singleton", + "qualified_name": "FEP.NativeBlanket.embeddedLaw_apply_singleton", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + } + ], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.finite_probability", - "Mathlib.Probability.Kernel.Disintegration.Integral", - "Mathlib.Probability.Kernel.Posterior" + "FepSketches.markov_blanket", + "Mathlib.MeasureTheory.Integral.Bochner.SumMeasure", + "Mathlib.Probability.Independence.Conditional", + "Mathlib.Probability.Kernel.Composition.Comp" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.MeasureBayes", + "namespace": "FEP.NativeBlanket", "namespace_variable_context": [ - "{Ω Observation Intermediate : Type*}\n {mΩ : MeasurableSpace Ω} {mObservation : MeasurableSpace Observation}\n {mIntermediate : MeasurableSpace Intermediate}", - "[StandardBorelSpace Ω] [Nonempty Ω]\n {prior : Measure Ω} [IsFiniteMeasure prior]\n {likelihood : Kernel Ω Observation} [IsFiniteKernel likelihood]" + "{α β : Type*} [Fintype α] [Fintype β]\n [MeasurableSpace α] [MeasurableSpace β]\n [DiscreteMeasurableSpace α] [DiscreteMeasurableSpace β]" ], "preceding_scope_directives": [], - "qualified_name": "FEP.MeasureBayes.posterior_involution", - "source_line": 74, - "source_owner": "src/fep_lean/formal/measure_bayes.lean", - "statement": "theorem posterior_involution\n [StandardBorelSpace Observation] [Nonempty Observation]\n [IsMarkovKernel likelihood] :\n (likelihood†prior)†(likelihood ∘ₘ prior) =ᵐ[prior] likelihood", - "statement_sha256": "c57de54a2011125a7d0364b0ac34fc3d807463ad2326349cb229a50c407ca5c3" + "qualified_name": "FEP.NativeBlanket.embeddedLaw_map", + "source_line": 87, + "source_owner": "src/fep_lean/formal/native_blanket.lean", + "statement": "theorem embeddedLaw_map [DecidableEq β]\n (law : FiniteLaw α) (mapState : α → β) :\n (embeddedLaw law).map mapState = embeddedLaw (law.map mapState)", + "statement_sha256": "b573853d500701cf57d7e51ac0d49b49bb352a3671b604bc7cb884d64194c186" }, - "FEP.MeasureBayes.posterior_joint_reconstruction": { + "FEP.NativeBlanket.embeddedLaw_real_singleton": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [], - "conclusion": "(likelihood ∘ₘ prior) ⊗ₘ likelihood†prior =\n (prior ⊗ₘ likelihood).map Prod.swap", - "context_binders": [ - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "Ω", - "Observation", - "Intermediate" - ], - "role": "typed_binder", - "source": "{Ω Observation Intermediate : Type*}", - "type_source": "Type*", - "visibility": "implicit" - }, + "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "mΩ" + "law" ], "role": "typed_binder", - "source": "{mΩ : MeasurableSpace Ω}", - "type_source": "MeasurableSpace Ω", - "visibility": "implicit" + "source": "(law : FiniteLaw α)", + "type_source": "FiniteLaw α", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "mObservation" + "state" ], "role": "typed_binder", - "source": "{mObservation : MeasurableSpace Observation}", - "type_source": "MeasurableSpace Observation", - "visibility": "implicit" - }, + "source": "(state : α)", + "type_source": "α", + "visibility": "explicit" + } + ], + "conclusion": "(embeddedLaw law).real {state} = law state", + "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "mIntermediate" + "α", + "β" ], "role": "typed_binder", - "source": "{mIntermediate : MeasurableSpace Intermediate}", - "type_source": "MeasurableSpace Intermediate", + "source": "{α β : Type*}", + "type_source": "Type*", "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[StandardBorelSpace Ω]", - "type_source": "StandardBorelSpace Ω", + "source": "[Fintype α]", + "type_source": "Fintype α", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Nonempty Ω]", - "type_source": "Nonempty Ω", + "source": "[Fintype β]", + "type_source": "Fintype β", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "prior" - ], - "role": "typed_binder", - "source": "{prior : Measure Ω}", - "type_source": "Measure Ω", - "visibility": "implicit" + "names": [], + "role": "instance_requirement", + "source": "[MeasurableSpace α]", + "type_source": "MeasurableSpace α", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[IsFiniteMeasure prior]", - "type_source": "IsFiniteMeasure prior", + "source": "[MeasurableSpace β]", + "type_source": "MeasurableSpace β", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "likelihood" - ], - "role": "typed_binder", - "source": "{likelihood : Kernel Ω Observation}", - "type_source": "Kernel Ω Observation", - "visibility": "implicit" + "names": [], + "role": "instance_requirement", + "source": "[DiscreteMeasurableSpace α]", + "type_source": "DiscreteMeasurableSpace α", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[IsFiniteKernel likelihood]", - "type_source": "IsFiniteKernel likelihood", + "source": "[DiscreteMeasurableSpace β]", + "type_source": "DiscreteMeasurableSpace β", "visibility": "instance" } ], - "declaration_mentions": [], + "declaration_mentions": [ + { + "identifier": "embeddedLaw_apply_singleton", + "qualified_name": "FEP.NativeBlanket.embeddedLaw_apply_singleton", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + } + ], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.finite_probability", - "Mathlib.Probability.Kernel.Disintegration.Integral", - "Mathlib.Probability.Kernel.Posterior" + "FepSketches.markov_blanket", + "Mathlib.MeasureTheory.Integral.Bochner.SumMeasure", + "Mathlib.Probability.Independence.Conditional", + "Mathlib.Probability.Kernel.Composition.Comp" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.MeasureBayes", + "namespace": "FEP.NativeBlanket", "namespace_variable_context": [ - "{Ω Observation Intermediate : Type*}\n {mΩ : MeasurableSpace Ω} {mObservation : MeasurableSpace Observation}\n {mIntermediate : MeasurableSpace Intermediate}", - "[StandardBorelSpace Ω] [Nonempty Ω]\n {prior : Measure Ω} [IsFiniteMeasure prior]\n {likelihood : Kernel Ω Observation} [IsFiniteKernel likelihood]" + "{α β : Type*} [Fintype α] [Fintype β]\n [MeasurableSpace α] [MeasurableSpace β]\n [DiscreteMeasurableSpace α] [DiscreteMeasurableSpace β]" ], "preceding_scope_directives": [], - "qualified_name": "FEP.MeasureBayes.posterior_joint_reconstruction", + "qualified_name": "FEP.NativeBlanket.embeddedLaw_real_singleton", "source_line": 62, - "source_owner": "src/fep_lean/formal/measure_bayes.lean", - "statement": "theorem posterior_joint_reconstruction :\n (likelihood ∘ₘ prior) ⊗ₘ likelihood†prior =\n (prior ⊗ₘ likelihood).map Prod.swap", - "statement_sha256": "092d4dc9512fe694ab87aed7e5c096a32cdf3e6589bf246b4d18b268d171b725" + "source_owner": "src/fep_lean/formal/native_blanket.lean", + "statement": "theorem embeddedLaw_real_singleton (law : FiniteLaw α) (state : α) :\n (embeddedLaw law).real {state} = law state", + "statement_sha256": "a0a1b352dac09b3e4d0b2c5ea8be2d3e83ae71ef72837e7a37dfc1695e90c568" }, - "FEP.MeasureBayes.posterior_reconstructs_prior": { + "FEP.NativeBlanket.embeddedPredictive_eq_comp": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[IsMarkovKernel likelihood]", - "type_source": "IsMarkovKernel likelihood", - "visibility": "instance" - } - ], - "conclusion": "likelihood†prior ∘ₘ likelihood ∘ₘ prior = prior", - "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Ω", - "Observation", - "Intermediate" - ], - "role": "typed_binder", - "source": "{Ω Observation Intermediate : Type*}", - "type_source": "Type*", - "visibility": "implicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "mΩ" + "prior" ], "role": "typed_binder", - "source": "{mΩ : MeasurableSpace Ω}", - "type_source": "MeasurableSpace Ω", - "visibility": "implicit" + "source": "(prior : FiniteLaw α)", + "type_source": "FiniteLaw α", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "mObservation" + "kernel" ], "role": "typed_binder", - "source": "{mObservation : MeasurableSpace Observation}", - "type_source": "MeasurableSpace Observation", - "visibility": "implicit" - }, + "source": "(kernel : FiniteKernel α β)", + "type_source": "FiniteKernel α β", + "visibility": "explicit" + } + ], + "conclusion": "embeddedLaw (kernel.predictive prior) =\n embeddedKernel kernel ∘ₘ embeddedLaw prior", + "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "mIntermediate" + "α", + "β" ], "role": "typed_binder", - "source": "{mIntermediate : MeasurableSpace Intermediate}", - "type_source": "MeasurableSpace Intermediate", + "source": "{α β : Type*}", + "type_source": "Type*", "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[StandardBorelSpace Ω]", - "type_source": "StandardBorelSpace Ω", + "source": "[Fintype α]", + "type_source": "Fintype α", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Nonempty Ω]", - "type_source": "Nonempty Ω", + "source": "[Fintype β]", + "type_source": "Fintype β", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "prior" - ], - "role": "typed_binder", - "source": "{prior : Measure Ω}", - "type_source": "Measure Ω", - "visibility": "implicit" + "names": [], + "role": "instance_requirement", + "source": "[MeasurableSpace α]", + "type_source": "MeasurableSpace α", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[IsFiniteMeasure prior]", - "type_source": "IsFiniteMeasure prior", + "source": "[MeasurableSpace β]", + "type_source": "MeasurableSpace β", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "likelihood" - ], - "role": "typed_binder", - "source": "{likelihood : Kernel Ω Observation}", - "type_source": "Kernel Ω Observation", - "visibility": "implicit" + "names": [], + "role": "instance_requirement", + "source": "[DiscreteMeasurableSpace α]", + "type_source": "DiscreteMeasurableSpace α", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[IsFiniteKernel likelihood]", - "type_source": "IsFiniteKernel likelihood", + "source": "[DiscreteMeasurableSpace β]", + "type_source": "DiscreteMeasurableSpace β", "visibility": "instance" } ], - "declaration_mentions": [], + "declaration_mentions": [ + { + "identifier": "embeddedLaw_apply_singleton", + "qualified_name": "FEP.NativeBlanket.embeddedLaw_apply_singleton", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + } + ], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.finite_probability", - "Mathlib.Probability.Kernel.Disintegration.Integral", - "Mathlib.Probability.Kernel.Posterior" + "FepSketches.markov_blanket", + "Mathlib.MeasureTheory.Integral.Bochner.SumMeasure", + "Mathlib.Probability.Independence.Conditional", + "Mathlib.Probability.Kernel.Composition.Comp" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.MeasureBayes", + "namespace": "FEP.NativeBlanket", "namespace_variable_context": [ - "{Ω Observation Intermediate : Type*}\n {mΩ : MeasurableSpace Ω} {mObservation : MeasurableSpace Observation}\n {mIntermediate : MeasurableSpace Intermediate}", - "[StandardBorelSpace Ω] [Nonempty Ω]\n {prior : Measure Ω} [IsFiniteMeasure prior]\n {likelihood : Kernel Ω Observation} [IsFiniteKernel likelihood]" + "{α β : Type*} [Fintype α] [Fintype β]\n [MeasurableSpace α] [MeasurableSpace β]\n [DiscreteMeasurableSpace α] [DiscreteMeasurableSpace β]" ], - "preceding_scope_directives": [], - "qualified_name": "FEP.MeasureBayes.posterior_reconstructs_prior", - "source_line": 68, - "source_owner": "src/fep_lean/formal/measure_bayes.lean", - "statement": "theorem posterior_reconstructs_prior [IsMarkovKernel likelihood] :\n likelihood†prior ∘ₘ likelihood ∘ₘ prior = prior", - "statement_sha256": "ebeff6ea880ffcddf73263dd3f8d12226415ee3d8bfa1cfb4b683b8c96c7ce20" + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DiscreteMeasurableSpace β] in" + } + ], + "qualified_name": "FEP.NativeBlanket.embeddedPredictive_eq_comp", + "source_line": 163, + "source_owner": "src/fep_lean/formal/native_blanket.lean", + "statement": "theorem embeddedPredictive_eq_comp\n (prior : FiniteLaw α) (kernel : FiniteKernel α β) :\n embeddedLaw (kernel.predictive prior) =\n embeddedKernel kernel ∘ₘ embeddedLaw prior", + "statement_sha256": "f1df7ccf2933d1d8aaf3dc0768230b7f5928ece9193a85fb08ad2cda927d7f66" }, - "FEP.NativeBlanket.blanketCoordinate_measurable": { + "FEP.NativeBlanket.externalCoordinate_measurable": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [], - "conclusion": "Measurable\n (blanketCoordinate :\n StaticState Internal Sensory Active External → Blanket Sensory Active)", + "conclusion": "Measurable\n (externalCoordinate :\n StaticState Internal Sensory Active External → External)", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -76128,16 +82055,16 @@ "source": "omit [DiscreteMeasurableSpace β] in" } ], - "qualified_name": "FEP.NativeBlanket.blanketCoordinate_measurable", - "source_line": 238, + "qualified_name": "FEP.NativeBlanket.externalCoordinate_measurable", + "source_line": 250, "source_owner": "src/fep_lean/formal/native_blanket.lean", - "statement": "theorem blanketCoordinate_measurable :\n Measurable\n (blanketCoordinate :\n StaticState Internal Sensory Active External → Blanket Sensory Active)", - "statement_sha256": "7a2477c26a3e5ed32a6f4241ffcfe179b2ec3e188216a64c51cd78e8c2b34af5" + "statement": "theorem externalCoordinate_measurable :\n Measurable\n (externalCoordinate :\n StaticState Internal Sensory Active External → External)", + "statement_sha256": "dd55d082d3200007838b57444a93840a9e25e108f17a726c8722df282d48133a" }, - "FEP.NativeBlanket.blanketTripleCoordinate_measurable": { + "FEP.NativeBlanket.internalCoordinate_measurable": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [], - "conclusion": "Measurable\n (blanketTripleCoordinate :\n StaticState Internal Sensory Active External →\n Blanket Sensory Active × (Internal × External))", + "conclusion": "Measurable\n (internalCoordinate :\n StaticState Internal Sensory Active External → Internal)", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -76269,13 +82196,13 @@ "source": "omit [DiscreteMeasurableSpace β] in" } ], - "qualified_name": "FEP.NativeBlanket.blanketTripleCoordinate_measurable", - "source_line": 256, + "qualified_name": "FEP.NativeBlanket.internalCoordinate_measurable", + "source_line": 244, "source_owner": "src/fep_lean/formal/native_blanket.lean", - "statement": "theorem blanketTripleCoordinate_measurable :\n Measurable\n (blanketTripleCoordinate :\n StaticState Internal Sensory Active External →\n Blanket Sensory Active × (Internal × External))", - "statement_sha256": "2ccdcddf40f7b531ad33c6c54dcd3ccd1f82aa6a26c16a67bbf738a582a93b70" + "statement": "theorem internalCoordinate_measurable :\n Measurable\n (internalCoordinate :\n StaticState Internal Sensory Active External → Internal)", + "statement_sha256": "13bb07003599a3855ecc0d7abf7ccf8739f6e254ad03d6d8a4016ea4fa4c2519" }, - "FEP.NativeBlanket.condIndepFun_measurableImages": { + "FEP.NativeBlanket.prediction_preserves_nativeBlanket": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { @@ -76297,82 +82224,25 @@ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "InternalImage", - "ExternalImage" - ], - "role": "typed_binder", - "source": "{InternalImage ExternalImage : Type*}", - "type_source": "Type*", - "visibility": "implicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[MeasurableSpace InternalImage]", - "type_source": "MeasurableSpace InternalImage", - "visibility": "instance" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[MeasurableSpace ExternalImage]", - "type_source": "MeasurableSpace ExternalImage", - "visibility": "instance" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "model" - ], - "role": "typed_binder", - "source": "(model : StaticModel Internal Sensory Active External)", - "type_source": "StaticModel Internal Sensory Active External", - "visibility": "explicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "internalImage" - ], - "role": "typed_binder", - "source": "(internalImage : Internal → InternalImage)", - "type_source": "Internal → InternalImage", - "visibility": "explicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "externalImage" - ], - "role": "typed_binder", - "source": "(externalImage : External → ExternalImage)", - "type_source": "External → ExternalImage", - "visibility": "explicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "internalMeasurable" + "dynamics" ], "role": "typed_binder", - "source": "(internalMeasurable : Measurable internalImage)", - "type_source": "Measurable internalImage", + "source": "(dynamics : Dynamics Internal Sensory Active External)", + "type_source": "Dynamics Internal Sensory Active External", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "externalMeasurable" + "current" ], "role": "typed_binder", - "source": "(externalMeasurable : Measurable externalImage)", - "type_source": "Measurable externalImage", + "source": "(current : DynamicState Internal Sensory Active External)", + "type_source": "DynamicState Internal Sensory Active External", "visibility": "explicit" } ], - "conclusion": "CondIndepFun\n (MeasurableSpace.comap blanketCoordinate inferInstance)\n blanketCoordinate_measurable.comap_le\n (internalImage ∘ internalCoordinate)\n (externalImage ∘ externalCoordinate)\n (embeddedLaw (staticJoint model))", + "conclusion": "CondIndepFun\n (MeasurableSpace.comap blanketCoordinate inferInstance)\n blanketCoordinate_measurable.comap_le\n internalCoordinate externalCoordinate\n (embeddedLaw (staticJoint (nextStaticModel dynamics current)))", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -76521,69 +82391,31 @@ "source": "omit [MeasurableSpace Internal] [MeasurableSpace Sensory]" } ], - "qualified_name": "FEP.NativeBlanket.condIndepFun_measurableImages", - "source_line": 570, + "qualified_name": "FEP.NativeBlanket.prediction_preserves_nativeBlanket", + "source_line": 591, "source_owner": "src/fep_lean/formal/native_blanket.lean", - "statement": "theorem condIndepFun_measurableImages\n [Nonempty Internal] [Nonempty External]\n {InternalImage ExternalImage : Type*}\n [MeasurableSpace InternalImage] [MeasurableSpace ExternalImage]\n (model : StaticModel Internal Sensory Active External)\n (internalImage : Internal → InternalImage)\n (externalImage : External → ExternalImage)\n (internalMeasurable : Measurable internalImage)\n (externalMeasurable : Measurable externalImage) :\n CondIndepFun\n (MeasurableSpace.comap blanketCoordinate inferInstance)\n blanketCoordinate_measurable.comap_le\n (internalImage ∘ internalCoordinate)\n (externalImage ∘ externalCoordinate)\n (embeddedLaw (staticJoint model))", - "statement_sha256": "239541dd9a013320a5e05c94e7599fe9eae7775966e5626db7430260673d5690" + "statement": "theorem prediction_preserves_nativeBlanket\n [Nonempty Internal] [Nonempty External]\n (dynamics : Dynamics Internal Sensory Active External)\n (current : DynamicState Internal Sensory Active External) :\n CondIndepFun\n (MeasurableSpace.comap blanketCoordinate inferInstance)\n blanketCoordinate_measurable.comap_le\n internalCoordinate externalCoordinate\n (embeddedLaw (staticJoint (nextStaticModel dynamics current)))", + "statement_sha256": "f6476caaf747155c2538c82fc398879a19740dd507b617516303f77cf2749381" }, - "FEP.NativeBlanket.correlatedBlanket_nonvacuous": { + "FEP.NativeBlanket.staticJoint_condIndepFun": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [], - "conclusion": "letI : MeasurableSpace Bool", - "context_binders": [], - "declaration_mentions": [ - { - "identifier": "staticJoint_condIndepFun", - "qualified_name": "FEP.NativeBlanket.staticJoint_condIndepFun", - "resolution": "exact or same-namespace source identifier", - "role": "proof_reference" - }, - { - "candidates": [ - "FEP.MarkovBlanket.staticJoint_factorization" - ], - "identifier": "staticJoint_factorization", - "resolution": "unresolved lexical scope", - "role": "proof_reference" - } - ], - "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", - "import_context": [ - "FepSketches.markov_blanket", - "Mathlib.MeasureTheory.Integral.Bochner.SumMeasure", - "Mathlib.Probability.Independence.Conditional", - "Mathlib.Probability.Kernel.Composition.Comp" - ], - "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.NativeBlanket", - "namespace_variable_context": [], - "preceding_scope_directives": [ + "binders": [ { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DiscreteMeasurableSpace β] in" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Nonempty Internal]", + "type_source": "Nonempty Internal", + "visibility": "instance" }, { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [MeasurableSpace Internal] [MeasurableSpace Sensory]" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Nonempty External]", + "type_source": "Nonempty External", + "visibility": "instance" }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [MeasurableSpace Internal] [MeasurableSpace Sensory]" - } - ], - "qualified_name": "FEP.NativeBlanket.correlatedBlanket_nonvacuous", - "source_line": 621, - "source_owner": "src/fep_lean/formal/native_blanket.lean", - "statement": "theorem correlatedBlanket_nonvacuous :\n letI : MeasurableSpace Bool", - "statement_sha256": "88b0ea9cd73d2a63c4d364a9096872aeea54d8cd307b726ad51634d4ef92c3f2" - }, - "FEP.NativeBlanket.embeddedConditionalPairKernel_eq_prod": { - "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ @@ -76595,7 +82427,7 @@ "visibility": "explicit" } ], - "conclusion": "embeddedKernel (conditionalPairKernel model) =\n embeddedKernel model.internalGiven ×ₖ embeddedKernel model.externalGiven", + "conclusion": "CondIndepFun\n (MeasurableSpace.comap blanketCoordinate inferInstance)\n blanketCoordinate_measurable.comap_le\n internalCoordinate externalCoordinate\n (embeddedLaw (staticJoint model))", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -76709,8 +82541,26 @@ ], "declaration_mentions": [ { - "identifier": "embeddedKernel_apply_singleton", - "qualified_name": "FEP.NativeBlanket.embeddedKernel_apply_singleton", + "identifier": "blanketCoordinate_measurable", + "qualified_name": "FEP.NativeBlanket.blanketCoordinate_measurable", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + }, + { + "identifier": "externalCoordinate_measurable", + "qualified_name": "FEP.NativeBlanket.externalCoordinate_measurable", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + }, + { + "identifier": "internalCoordinate_measurable", + "qualified_name": "FEP.NativeBlanket.internalCoordinate_measurable", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + }, + { + "identifier": "staticJoint_map_triple_factorization", + "qualified_name": "FEP.NativeBlanket.staticJoint_map_triple_factorization", "resolution": "exact or same-namespace source identifier", "role": "proof_reference" } @@ -76732,48 +82582,50 @@ "directive": "omit", "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", "source": "omit [DiscreteMeasurableSpace β] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [MeasurableSpace Internal] [MeasurableSpace Sensory]" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [MeasurableSpace Internal] [MeasurableSpace Sensory]" } ], - "qualified_name": "FEP.NativeBlanket.embeddedConditionalPairKernel_eq_prod", - "source_line": 279, + "qualified_name": "FEP.NativeBlanket.staticJoint_condIndepFun", + "source_line": 521, "source_owner": "src/fep_lean/formal/native_blanket.lean", - "statement": "theorem embeddedConditionalPairKernel_eq_prod\n (model : StaticModel Internal Sensory Active External) :\n embeddedKernel (conditionalPairKernel model) =\n embeddedKernel model.internalGiven ×ₖ embeddedKernel model.externalGiven", - "statement_sha256": "a0355133a2c67f1084449a380409b797a9e595ed007d767b9b90dc4c9faac41c" + "statement": "theorem staticJoint_condIndepFun\n [Nonempty Internal] [Nonempty External]\n (model : StaticModel Internal Sensory Active External) :\n CondIndepFun\n (MeasurableSpace.comap blanketCoordinate inferInstance)\n blanketCoordinate_measurable.comap_le\n internalCoordinate externalCoordinate\n (embeddedLaw (staticJoint model))", + "statement_sha256": "cedd1a438e8c7c70c54e098ff14e3844321c921b54e2bebe351a111c44c1ae8c" }, - "FEP.NativeBlanket.embeddedKernel_apply": { + "FEP.NativeBlanket.staticJoint_map_blanket": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "kernel" - ], - "role": "typed_binder", - "source": "(kernel : FiniteKernel α β)", - "type_source": "FiniteKernel α β", - "visibility": "explicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "state" + "model" ], "role": "typed_binder", - "source": "(state : α)", - "type_source": "α", + "source": "(model : StaticModel Internal Sensory Active External)", + "type_source": "StaticModel Internal Sensory Active External", "visibility": "explicit" } ], - "conclusion": "embeddedKernel kernel state = embeddedLaw (kernel.row state)", + "conclusion": "(embeddedLaw (staticJoint model)).map blanketCoordinate =\n embeddedLaw model.blanketLaw", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "α", - "β" + "Internal", + "Sensory", + "Active", + "External" ], "role": "typed_binder", - "source": "{α β : Type*}", + "source": "{Internal Sensory Active External : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -76781,187 +82633,100 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype α]", - "type_source": "Fintype α", + "source": "[Fintype Internal]", + "type_source": "Fintype Internal", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype β]", - "type_source": "Fintype β", + "source": "[Fintype Sensory]", + "type_source": "Fintype Sensory", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[MeasurableSpace α]", - "type_source": "MeasurableSpace α", + "source": "[Fintype Active]", + "type_source": "Fintype Active", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[MeasurableSpace β]", - "type_source": "MeasurableSpace β", + "source": "[Fintype External]", + "type_source": "Fintype External", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace α]", - "type_source": "DiscreteMeasurableSpace α", + "source": "[MeasurableSpace Internal]", + "type_source": "MeasurableSpace Internal", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace β]", - "type_source": "DiscreteMeasurableSpace β", + "source": "[MeasurableSpace Sensory]", + "type_source": "MeasurableSpace Sensory", "visibility": "instance" - } - ], - "declaration_mentions": [], - "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", - "import_context": [ - "FepSketches.markov_blanket", - "Mathlib.MeasureTheory.Integral.Bochner.SumMeasure", - "Mathlib.Probability.Independence.Conditional", - "Mathlib.Probability.Kernel.Composition.Comp" - ], - "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.NativeBlanket", - "namespace_variable_context": [ - "{α β : Type*} [Fintype α] [Fintype β]\n [MeasurableSpace α] [MeasurableSpace β]\n [DiscreteMeasurableSpace α] [DiscreteMeasurableSpace β]" - ], - "preceding_scope_directives": [ - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DiscreteMeasurableSpace β] in" - } - ], - "qualified_name": "FEP.NativeBlanket.embeddedKernel_apply", - "source_line": 113, - "source_owner": "src/fep_lean/formal/native_blanket.lean", - "statement": "theorem embeddedKernel_apply (kernel : FiniteKernel α β) (state : α) :\n embeddedKernel kernel state = embeddedLaw (kernel.row state)", - "statement_sha256": "e23bc2940c661635638d172e8d8764c3f61a229b50d56bb5648759a6fdaf6540" - }, - "FEP.NativeBlanket.embeddedKernel_apply_singleton": { - "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [ - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "kernel" - ], - "role": "typed_binder", - "source": "(kernel : FiniteKernel α β)", - "type_source": "FiniteKernel α β", - "visibility": "explicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "state" - ], - "role": "typed_binder", - "source": "(state : α)", - "type_source": "α", - "visibility": "explicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "target" - ], - "role": "typed_binder", - "source": "(target : β)", - "type_source": "β", - "visibility": "explicit" - } - ], - "conclusion": "embeddedKernel kernel state {target} = ENNReal.ofReal (kernel state target)", - "context_binders": [ - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "α", - "β" - ], - "role": "typed_binder", - "source": "{α β : Type*}", - "type_source": "Type*", - "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype α]", - "type_source": "Fintype α", + "source": "[MeasurableSpace Active]", + "type_source": "MeasurableSpace Active", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype β]", - "type_source": "Fintype β", + "source": "[MeasurableSpace External]", + "type_source": "MeasurableSpace External", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[MeasurableSpace α]", - "type_source": "MeasurableSpace α", + "source": "[DiscreteMeasurableSpace Internal]", + "type_source": "DiscreteMeasurableSpace Internal", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[MeasurableSpace β]", - "type_source": "MeasurableSpace β", + "source": "[DiscreteMeasurableSpace Sensory]", + "type_source": "DiscreteMeasurableSpace Sensory", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace α]", - "type_source": "DiscreteMeasurableSpace α", + "source": "[DiscreteMeasurableSpace Active]", + "type_source": "DiscreteMeasurableSpace Active", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace β]", - "type_source": "DiscreteMeasurableSpace β", + "source": "[DiscreteMeasurableSpace External]", + "type_source": "DiscreteMeasurableSpace External", "visibility": "instance" } ], - "declaration_mentions": [ - { - "identifier": "embeddedKernel_apply", - "qualified_name": "FEP.NativeBlanket.embeddedKernel_apply", - "resolution": "exact or same-namespace source identifier", - "role": "proof_reference" - }, - { - "identifier": "embeddedLaw_apply_singleton", - "qualified_name": "FEP.NativeBlanket.embeddedLaw_apply_singleton", - "resolution": "exact or same-namespace source identifier", - "role": "proof_reference" - } - ], + "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ "FepSketches.markov_blanket", @@ -76972,31 +82737,57 @@ "line_coordinate_kind": "formal_resource_file", "namespace": "FEP.NativeBlanket", "namespace_variable_context": [ - "{α β : Type*} [Fintype α] [Fintype β]\n [MeasurableSpace α] [MeasurableSpace β]\n [DiscreteMeasurableSpace α] [DiscreteMeasurableSpace β]" + "{Internal Sensory Active External : Type*}\n [Fintype Internal] [Fintype Sensory] [Fintype Active] [Fintype External]\n [MeasurableSpace Internal] [MeasurableSpace Sensory]\n [MeasurableSpace Active] [MeasurableSpace External]\n [DiscreteMeasurableSpace Internal] [DiscreteMeasurableSpace Sensory]\n [DiscreteMeasurableSpace Active] [DiscreteMeasurableSpace External]" ], "preceding_scope_directives": [ { "directive": "omit", "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", "source": "omit [DiscreteMeasurableSpace β] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [MeasurableSpace Internal] [MeasurableSpace Sensory]" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [MeasurableSpace Internal] [MeasurableSpace Sensory]" } ], - "qualified_name": "FEP.NativeBlanket.embeddedKernel_apply_singleton", - "source_line": 117, + "qualified_name": "FEP.NativeBlanket.staticJoint_map_blanket", + "source_line": 387, "source_owner": "src/fep_lean/formal/native_blanket.lean", - "statement": "theorem embeddedKernel_apply_singleton\n (kernel : FiniteKernel α β) (state : α) (target : β) :\n embeddedKernel kernel state {target} = ENNReal.ofReal (kernel state target)", - "statement_sha256": "848b46bb22fe343daf67c9e02e5d86fa4d5e336832d3e43513ed85ef54e6bb27" + "statement": "theorem staticJoint_map_blanket\n (model : StaticModel Internal Sensory Active External) :\n (embeddedLaw (staticJoint model)).map blanketCoordinate =\n embeddedLaw model.blanketLaw", + "statement_sha256": "06ffc7f6f303ef6f40e23ef9499e985daffad3fa918621fb66a65eee55368c0d" }, - "FEP.NativeBlanket.embeddedKernel_comp": { + "FEP.NativeBlanket.staticJoint_map_blanket_external": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "γ" + "model" ], "role": "typed_binder", - "source": "{γ : Type*}", + "source": "(model : StaticModel Internal Sensory Active External)", + "type_source": "StaticModel Internal Sensory Active External", + "visibility": "explicit" + } + ], + "conclusion": "(embeddedLaw (staticJoint model)).map\n (fun state => (blanketCoordinate state, externalCoordinate state)) =\n (embeddedLaw (staticJoint model)).map blanketCoordinate ⊗ₘ\n embeddedKernel model.externalGiven", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "Internal", + "Sensory", + "Active", + "External" + ], + "role": "typed_binder", + "source": "{Internal Sensory Active External : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -77004,119 +82795,115 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype γ]", - "type_source": "Fintype γ", + "source": "[Fintype Internal]", + "type_source": "Fintype Internal", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[MeasurableSpace γ]", - "type_source": "MeasurableSpace γ", + "source": "[Fintype Sensory]", + "type_source": "Fintype Sensory", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace γ]", - "type_source": "DiscreteMeasurableSpace γ", + "source": "[Fintype Active]", + "type_source": "Fintype Active", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "later" - ], - "role": "typed_binder", - "source": "(later : FiniteKernel β γ)", - "type_source": "FiniteKernel β γ", - "visibility": "explicit" + "names": [], + "role": "instance_requirement", + "source": "[Fintype External]", + "type_source": "Fintype External", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "earlier" - ], - "role": "typed_binder", - "source": "(earlier : FiniteKernel α β)", - "type_source": "FiniteKernel α β", - "visibility": "explicit" - } - ], - "conclusion": "embeddedKernel (FiniteKernel.comp later earlier) =\n embeddedKernel later ∘ₖ embeddedKernel earlier", - "context_binders": [ + "names": [], + "role": "instance_requirement", + "source": "[MeasurableSpace Internal]", + "type_source": "MeasurableSpace Internal", + "visibility": "instance" + }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "α", - "β" - ], - "role": "typed_binder", - "source": "{α β : Type*}", - "type_source": "Type*", - "visibility": "implicit" + "names": [], + "role": "instance_requirement", + "source": "[MeasurableSpace Sensory]", + "type_source": "MeasurableSpace Sensory", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype α]", - "type_source": "Fintype α", + "source": "[MeasurableSpace Active]", + "type_source": "MeasurableSpace Active", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype β]", - "type_source": "Fintype β", + "source": "[MeasurableSpace External]", + "type_source": "MeasurableSpace External", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[MeasurableSpace α]", - "type_source": "MeasurableSpace α", + "source": "[DiscreteMeasurableSpace Internal]", + "type_source": "DiscreteMeasurableSpace Internal", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[MeasurableSpace β]", - "type_source": "MeasurableSpace β", + "source": "[DiscreteMeasurableSpace Sensory]", + "type_source": "DiscreteMeasurableSpace Sensory", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace α]", - "type_source": "DiscreteMeasurableSpace α", + "source": "[DiscreteMeasurableSpace Active]", + "type_source": "DiscreteMeasurableSpace Active", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace β]", - "type_source": "DiscreteMeasurableSpace β", + "source": "[DiscreteMeasurableSpace External]", + "type_source": "DiscreteMeasurableSpace External", "visibility": "instance" } ], "declaration_mentions": [ { - "identifier": "embeddedKernel_apply", - "qualified_name": "FEP.NativeBlanket.embeddedKernel_apply", + "identifier": "embeddedLaw_joint_eq_compProd", + "qualified_name": "FEP.NativeBlanket.embeddedLaw_joint_eq_compProd", "resolution": "exact or same-namespace source identifier", "role": "proof_reference" }, { - "identifier": "embeddedPredictive_eq_comp", - "qualified_name": "FEP.NativeBlanket.embeddedPredictive_eq_comp", + "identifier": "embeddedLaw_map", + "qualified_name": "FEP.NativeBlanket.embeddedLaw_map", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + }, + { + "identifier": "staticJoint_map_blanket", + "qualified_name": "FEP.NativeBlanket.staticJoint_map_blanket", "resolution": "exact or same-namespace source identifier", "role": "proof_reference" } @@ -77131,43 +82918,57 @@ "line_coordinate_kind": "formal_resource_file", "namespace": "FEP.NativeBlanket", "namespace_variable_context": [ - "{α β : Type*} [Fintype α] [Fintype β]\n [MeasurableSpace α] [MeasurableSpace β]\n [DiscreteMeasurableSpace α] [DiscreteMeasurableSpace β]" + "{Internal Sensory Active External : Type*}\n [Fintype Internal] [Fintype Sensory] [Fintype Active] [Fintype External]\n [MeasurableSpace Internal] [MeasurableSpace Sensory]\n [MeasurableSpace Active] [MeasurableSpace External]\n [DiscreteMeasurableSpace Internal] [DiscreteMeasurableSpace Sensory]\n [DiscreteMeasurableSpace Active] [DiscreteMeasurableSpace External]" ], "preceding_scope_directives": [ { "directive": "omit", "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", "source": "omit [DiscreteMeasurableSpace β] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [MeasurableSpace Internal] [MeasurableSpace Sensory]" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [MeasurableSpace Internal] [MeasurableSpace Sensory]" } ], - "qualified_name": "FEP.NativeBlanket.embeddedKernel_comp", - "source_line": 184, + "qualified_name": "FEP.NativeBlanket.staticJoint_map_blanket_external", + "source_line": 414, "source_owner": "src/fep_lean/formal/native_blanket.lean", - "statement": "theorem embeddedKernel_comp {γ : Type*} [Fintype γ]\n [MeasurableSpace γ] [DiscreteMeasurableSpace γ]\n (later : FiniteKernel β γ) (earlier : FiniteKernel α β) :\n embeddedKernel (FiniteKernel.comp later earlier) =\n embeddedKernel later ∘ₖ embeddedKernel earlier", - "statement_sha256": "529d5b1f6a8a0bb59d97c13986f5735c238e256203f2424d62dda6413ea9605e" + "statement": "theorem staticJoint_map_blanket_external\n (model : StaticModel Internal Sensory Active External) :\n (embeddedLaw (staticJoint model)).map\n (fun state => (blanketCoordinate state, externalCoordinate state)) =\n (embeddedLaw (staticJoint model)).map blanketCoordinate ⊗ₘ\n embeddedKernel model.externalGiven", + "statement_sha256": "630209d62ba7b7cda7130769db3402b6787c26c4ac81d405f3ceffee35d4c7dd" }, - "FEP.NativeBlanket.embeddedKernel_identity": { + "FEP.NativeBlanket.staticJoint_map_blanket_internal": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[DecidableEq α]", - "type_source": "DecidableEq α", - "visibility": "instance" + "names": [ + "model" + ], + "role": "typed_binder", + "source": "(model : StaticModel Internal Sensory Active External)", + "type_source": "StaticModel Internal Sensory Active External", + "visibility": "explicit" } ], - "conclusion": "embeddedKernel (FiniteKernel.identity : FiniteKernel α α) = Kernel.id", + "conclusion": "(embeddedLaw (staticJoint model)).map\n (fun state => (blanketCoordinate state, internalCoordinate state)) =\n (embeddedLaw (staticJoint model)).map blanketCoordinate ⊗ₘ\n embeddedKernel model.internalGiven", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "α", - "β" + "Internal", + "Sensory", + "Active", + "External" ], "role": "typed_binder", - "source": "{α β : Type*}", + "source": "{Internal Sensory Active External : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -77175,171 +82976,107 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype α]", - "type_source": "Fintype α", + "source": "[Fintype Internal]", + "type_source": "Fintype Internal", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype β]", - "type_source": "Fintype β", + "source": "[Fintype Sensory]", + "type_source": "Fintype Sensory", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[MeasurableSpace α]", - "type_source": "MeasurableSpace α", + "source": "[Fintype Active]", + "type_source": "Fintype Active", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[MeasurableSpace β]", - "type_source": "MeasurableSpace β", + "source": "[Fintype External]", + "type_source": "Fintype External", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace α]", - "type_source": "DiscreteMeasurableSpace α", + "source": "[MeasurableSpace Internal]", + "type_source": "MeasurableSpace Internal", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace β]", - "type_source": "DiscreteMeasurableSpace β", + "source": "[MeasurableSpace Sensory]", + "type_source": "MeasurableSpace Sensory", "visibility": "instance" - } - ], - "declaration_mentions": [ - { - "identifier": "embeddedKernel_apply_singleton", - "qualified_name": "FEP.NativeBlanket.embeddedKernel_apply_singleton", - "resolution": "exact or same-namespace source identifier", - "role": "proof_reference" - } - ], - "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", - "import_context": [ - "FepSketches.markov_blanket", - "Mathlib.MeasureTheory.Integral.Bochner.SumMeasure", - "Mathlib.Probability.Independence.Conditional", - "Mathlib.Probability.Kernel.Composition.Comp" - ], - "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.NativeBlanket", - "namespace_variable_context": [ - "{α β : Type*} [Fintype α] [Fintype β]\n [MeasurableSpace α] [MeasurableSpace β]\n [DiscreteMeasurableSpace α] [DiscreteMeasurableSpace β]" - ], - "preceding_scope_directives": [ - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DiscreteMeasurableSpace β] in" - } - ], - "qualified_name": "FEP.NativeBlanket.embeddedKernel_identity", - "source_line": 130, - "source_owner": "src/fep_lean/formal/native_blanket.lean", - "statement": "theorem embeddedKernel_identity [DecidableEq α] :\n embeddedKernel (FiniteKernel.identity : FiniteKernel α α) = Kernel.id", - "statement_sha256": "fd5ac223e982b9bcfd5ee38d33ee4344e3747eaed8bb590e9ee11790168e6914" - }, - "FEP.NativeBlanket.embeddedLaw_apply_singleton": { - "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [ - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "law" - ], - "role": "typed_binder", - "source": "(law : FiniteLaw α)", - "type_source": "FiniteLaw α", - "visibility": "explicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "state" - ], - "role": "typed_binder", - "source": "(state : α)", - "type_source": "α", - "visibility": "explicit" - } - ], - "conclusion": "embeddedLaw law {state} = ENNReal.ofReal (law state)", - "context_binders": [ - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "α", - "β" - ], - "role": "typed_binder", - "source": "{α β : Type*}", - "type_source": "Type*", - "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype α]", - "type_source": "Fintype α", + "source": "[MeasurableSpace Active]", + "type_source": "MeasurableSpace Active", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype β]", - "type_source": "Fintype β", + "source": "[MeasurableSpace External]", + "type_source": "MeasurableSpace External", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[MeasurableSpace α]", - "type_source": "MeasurableSpace α", + "source": "[DiscreteMeasurableSpace Internal]", + "type_source": "DiscreteMeasurableSpace Internal", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[MeasurableSpace β]", - "type_source": "MeasurableSpace β", + "source": "[DiscreteMeasurableSpace Sensory]", + "type_source": "DiscreteMeasurableSpace Sensory", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace α]", - "type_source": "DiscreteMeasurableSpace α", + "source": "[DiscreteMeasurableSpace Active]", + "type_source": "DiscreteMeasurableSpace Active", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace β]", - "type_source": "DiscreteMeasurableSpace β", + "source": "[DiscreteMeasurableSpace External]", + "type_source": "DiscreteMeasurableSpace External", "visibility": "instance" } ], - "declaration_mentions": [], + "declaration_mentions": [ + { + "identifier": "staticJoint_map_blanket", + "qualified_name": "FEP.NativeBlanket.staticJoint_map_blanket", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + } + ], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ "FepSketches.markov_blanket", @@ -77350,39 +83087,57 @@ "line_coordinate_kind": "formal_resource_file", "namespace": "FEP.NativeBlanket", "namespace_variable_context": [ - "{α β : Type*} [Fintype α] [Fintype β]\n [MeasurableSpace α] [MeasurableSpace β]\n [DiscreteMeasurableSpace α] [DiscreteMeasurableSpace β]" + "{Internal Sensory Active External : Type*}\n [Fintype Internal] [Fintype Sensory] [Fintype Active] [Fintype External]\n [MeasurableSpace Internal] [MeasurableSpace Sensory]\n [MeasurableSpace Active] [MeasurableSpace External]\n [DiscreteMeasurableSpace Internal] [DiscreteMeasurableSpace Sensory]\n [DiscreteMeasurableSpace Active] [DiscreteMeasurableSpace External]" ], - "preceding_scope_directives": [], - "qualified_name": "FEP.NativeBlanket.embeddedLaw_apply_singleton", - "source_line": 39, + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DiscreteMeasurableSpace β] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [MeasurableSpace Internal] [MeasurableSpace Sensory]" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [MeasurableSpace Internal] [MeasurableSpace Sensory]" + } + ], + "qualified_name": "FEP.NativeBlanket.staticJoint_map_blanket_internal", + "source_line": 404, "source_owner": "src/fep_lean/formal/native_blanket.lean", - "statement": "theorem embeddedLaw_apply_singleton (law : FiniteLaw α) (state : α) :\n embeddedLaw law {state} = ENNReal.ofReal (law state)", - "statement_sha256": "66e9981fa09b7d0d545d9ac3758823d79b37eafb5ae377ff8abd9a74aea43662" + "statement": "theorem staticJoint_map_blanket_internal\n (model : StaticModel Internal Sensory Active External) :\n (embeddedLaw (staticJoint model)).map\n (fun state => (blanketCoordinate state, internalCoordinate state)) =\n (embeddedLaw (staticJoint model)).map blanketCoordinate ⊗ₘ\n embeddedKernel model.internalGiven", + "statement_sha256": "b6fd98539ad6b1f9e582b33068959a55a08d8d460556d2f3b1dd8ec1189067b1" }, - "FEP.NativeBlanket.embeddedLaw_apply_univ": { + "FEP.NativeBlanket.staticJoint_map_triple_factorization": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "law" + "model" ], "role": "typed_binder", - "source": "(law : FiniteLaw α)", - "type_source": "FiniteLaw α", + "source": "(model : StaticModel Internal Sensory Active External)", + "type_source": "StaticModel Internal Sensory Active External", "visibility": "explicit" } ], - "conclusion": "embeddedLaw law Set.univ = 1", + "conclusion": "(embeddedLaw (staticJoint model)).map blanketTripleCoordinate =\n (embeddedLaw (staticJoint model)).map blanketCoordinate ⊗ₘ\n (embeddedKernel model.internalGiven ×ₖ\n embeddedKernel model.externalGiven)", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "α", - "β" + "Internal", + "Sensory", + "Active", + "External" ], "role": "typed_binder", - "source": "{α β : Type*}", + "source": "{Internal Sensory Active External : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -77390,137 +83145,125 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype α]", - "type_source": "Fintype α", + "source": "[Fintype Internal]", + "type_source": "Fintype Internal", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype β]", - "type_source": "Fintype β", + "source": "[Fintype Sensory]", + "type_source": "Fintype Sensory", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[MeasurableSpace α]", - "type_source": "MeasurableSpace α", + "source": "[Fintype Active]", + "type_source": "Fintype Active", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[MeasurableSpace β]", - "type_source": "MeasurableSpace β", + "source": "[Fintype External]", + "type_source": "Fintype External", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace α]", - "type_source": "DiscreteMeasurableSpace α", + "source": "[MeasurableSpace Internal]", + "type_source": "MeasurableSpace Internal", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace β]", - "type_source": "DiscreteMeasurableSpace β", + "source": "[MeasurableSpace Sensory]", + "type_source": "MeasurableSpace Sensory", "visibility": "instance" - } - ], - "declaration_mentions": [], - "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", - "import_context": [ - "FepSketches.markov_blanket", - "Mathlib.MeasureTheory.Integral.Bochner.SumMeasure", - "Mathlib.Probability.Independence.Conditional", - "Mathlib.Probability.Kernel.Composition.Comp" - ], - "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.NativeBlanket", - "namespace_variable_context": [ - "{α β : Type*} [Fintype α] [Fintype β]\n [MeasurableSpace α] [MeasurableSpace β]\n [DiscreteMeasurableSpace α] [DiscreteMeasurableSpace β]" - ], - "preceding_scope_directives": [], - "qualified_name": "FEP.NativeBlanket.embeddedLaw_apply_univ", - "source_line": 47, - "source_owner": "src/fep_lean/formal/native_blanket.lean", - "statement": "theorem embeddedLaw_apply_univ (law : FiniteLaw α) :\n embeddedLaw law Set.univ = 1", - "statement_sha256": "248e44206c481c6b1fd87c5c1cf015641f6192fc7073180ef1477322661c1d55" - }, - "FEP.NativeBlanket.embeddedLaw_injective": { - "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [], - "conclusion": "Function.Injective (embeddedLaw : FiniteLaw α → Measure α)", - "context_binders": [ - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "α", - "β" - ], - "role": "typed_binder", - "source": "{α β : Type*}", - "type_source": "Type*", - "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype α]", - "type_source": "Fintype α", + "source": "[MeasurableSpace Active]", + "type_source": "MeasurableSpace Active", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype β]", - "type_source": "Fintype β", + "source": "[MeasurableSpace External]", + "type_source": "MeasurableSpace External", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[MeasurableSpace α]", - "type_source": "MeasurableSpace α", + "source": "[DiscreteMeasurableSpace Internal]", + "type_source": "DiscreteMeasurableSpace Internal", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[MeasurableSpace β]", - "type_source": "MeasurableSpace β", + "source": "[DiscreteMeasurableSpace Sensory]", + "type_source": "DiscreteMeasurableSpace Sensory", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace α]", - "type_source": "DiscreteMeasurableSpace α", + "source": "[DiscreteMeasurableSpace Active]", + "type_source": "DiscreteMeasurableSpace Active", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace β]", - "type_source": "DiscreteMeasurableSpace β", + "source": "[DiscreteMeasurableSpace External]", + "type_source": "DiscreteMeasurableSpace External", "visibility": "instance" } ], - "declaration_mentions": [], + "declaration_mentions": [ + { + "identifier": "embeddedConditionalPairKernel_eq_prod", + "qualified_name": "FEP.NativeBlanket.embeddedConditionalPairKernel_eq_prod", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + }, + { + "identifier": "embeddedLaw_joint_eq_compProd", + "qualified_name": "FEP.NativeBlanket.embeddedLaw_joint_eq_compProd", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + }, + { + "identifier": "embeddedLaw_map", + "qualified_name": "FEP.NativeBlanket.embeddedLaw_map", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + }, + { + "identifier": "staticJoint_map_blanket", + "qualified_name": "FEP.NativeBlanket.staticJoint_map_blanket", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + } + ], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ "FepSketches.markov_blanket", @@ -77531,49 +83274,87 @@ "line_coordinate_kind": "formal_resource_file", "namespace": "FEP.NativeBlanket", "namespace_variable_context": [ - "{α β : Type*} [Fintype α] [Fintype β]\n [MeasurableSpace α] [MeasurableSpace β]\n [DiscreteMeasurableSpace α] [DiscreteMeasurableSpace β]" + "{Internal Sensory Active External : Type*}\n [Fintype Internal] [Fintype Sensory] [Fintype Active] [Fintype External]\n [MeasurableSpace Internal] [MeasurableSpace Sensory]\n [MeasurableSpace Active] [MeasurableSpace External]\n [DiscreteMeasurableSpace Internal] [DiscreteMeasurableSpace Sensory]\n [DiscreteMeasurableSpace Active] [DiscreteMeasurableSpace External]" ], - "preceding_scope_directives": [], - "qualified_name": "FEP.NativeBlanket.embeddedLaw_injective", - "source_line": 68, + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DiscreteMeasurableSpace β] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [MeasurableSpace Internal] [MeasurableSpace Sensory]" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [MeasurableSpace Internal] [MeasurableSpace Sensory]" + } + ], + "qualified_name": "FEP.NativeBlanket.staticJoint_map_triple_factorization", + "source_line": 440, "source_owner": "src/fep_lean/formal/native_blanket.lean", - "statement": "theorem embeddedLaw_injective :\n Function.Injective (embeddedLaw : FiniteLaw α → Measure α)", - "statement_sha256": "fda99e3ad733943d914c049175e153113063755809c00dd27dfb34c81dbed41c" + "statement": "theorem staticJoint_map_triple_factorization\n (model : StaticModel Internal Sensory Active External) :\n (embeddedLaw (staticJoint model)).map blanketTripleCoordinate =\n (embeddedLaw (staticJoint model)).map blanketCoordinate ⊗ₘ\n (embeddedKernel model.internalGiven ×ₖ\n embeddedKernel model.externalGiven)", + "statement_sha256": "7adba43e42476c62aa650cae6bf875e985860169b4ee984c8c063ab0d1e490b8" }, - "FEP.NativeBlanket.embeddedLaw_integral_eq_sum": { + "FEP.NativeBlanket.staticJoint_rectangle_factorization": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "law" + "model" ], "role": "typed_binder", - "source": "(law : FiniteLaw α)", - "type_source": "FiniteLaw α", + "source": "(model : StaticModel Internal Sensory Active External)", + "type_source": "StaticModel Internal Sensory Active External", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "observable" + "blanket" ], "role": "typed_binder", - "source": "(observable : α → ℝ)", - "type_source": "α → ℝ", + "source": "(blanket : Blanket Sensory Active)", + "type_source": "Blanket Sensory Active", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "internal" + ], + "role": "typed_binder", + "source": "(internal : Internal)", + "type_source": "Internal", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "external" + ], + "role": "typed_binder", + "source": "(external : External)", + "type_source": "External", "visibility": "explicit" } ], - "conclusion": "∫ state, observable state ∂embeddedLaw law =\n ∑ state, law state * observable state", + "conclusion": "embeddedLaw (staticJoint model)\n (blanketCoordinate ⁻¹' {blanket} ∩\n internalCoordinate ⁻¹' {internal} ∩\n externalCoordinate ⁻¹' {external}) =\n ENNReal.ofReal (model.blanketLaw blanket) *\n ENNReal.ofReal (model.internalGiven blanket internal) *\n ENNReal.ofReal (model.externalGiven blanket external)", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "α", - "β" + "Internal", + "Sensory", + "Active", + "External" ], "role": "typed_binder", - "source": "{α β : Type*}", + "source": "{Internal Sensory Active External : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -77581,161 +83362,96 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype α]", - "type_source": "Fintype α", + "source": "[Fintype Internal]", + "type_source": "Fintype Internal", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype β]", - "type_source": "Fintype β", + "source": "[Fintype Sensory]", + "type_source": "Fintype Sensory", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[MeasurableSpace α]", - "type_source": "MeasurableSpace α", + "source": "[Fintype Active]", + "type_source": "Fintype Active", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[MeasurableSpace β]", - "type_source": "MeasurableSpace β", + "source": "[Fintype External]", + "type_source": "Fintype External", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace α]", - "type_source": "DiscreteMeasurableSpace α", + "source": "[MeasurableSpace Internal]", + "type_source": "MeasurableSpace Internal", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace β]", - "type_source": "DiscreteMeasurableSpace β", + "source": "[MeasurableSpace Sensory]", + "type_source": "MeasurableSpace Sensory", "visibility": "instance" - } - ], - "declaration_mentions": [ - { - "identifier": "embeddedLaw_real_singleton", - "qualified_name": "FEP.NativeBlanket.embeddedLaw_real_singleton", - "resolution": "exact or same-namespace source identifier", - "role": "proof_reference" - } - ], - "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", - "import_context": [ - "FepSketches.markov_blanket", - "Mathlib.MeasureTheory.Integral.Bochner.SumMeasure", - "Mathlib.Probability.Independence.Conditional", - "Mathlib.Probability.Kernel.Composition.Comp" - ], - "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.NativeBlanket", - "namespace_variable_context": [ - "{α β : Type*} [Fintype α] [Fintype β]\n [MeasurableSpace α] [MeasurableSpace β]\n [DiscreteMeasurableSpace α] [DiscreteMeasurableSpace β]" - ], - "preceding_scope_directives": [], - "qualified_name": "FEP.NativeBlanket.embeddedLaw_integral_eq_sum", - "source_line": 78, - "source_owner": "src/fep_lean/formal/native_blanket.lean", - "statement": "theorem embeddedLaw_integral_eq_sum (law : FiniteLaw α) (observable : α → ℝ) :\n ∫ state, observable state ∂embeddedLaw law =\n ∑ state, law state * observable state", - "statement_sha256": "c41ad4195022b56efcd83f080097063714f72266bf63b1c549b0d01638b1fd4c" - }, - "FEP.NativeBlanket.embeddedLaw_joint_eq_compProd": { - "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [ - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "prior" - ], - "role": "typed_binder", - "source": "(prior : FiniteLaw α)", - "type_source": "FiniteLaw α", - "visibility": "explicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "kernel" - ], - "role": "typed_binder", - "source": "(kernel : FiniteKernel α β)", - "type_source": "FiniteKernel α β", - "visibility": "explicit" - } - ], - "conclusion": "embeddedLaw (kernel.joint prior) =\n embeddedLaw prior ⊗ₘ embeddedKernel kernel", - "context_binders": [ - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "α", - "β" - ], - "role": "typed_binder", - "source": "{α β : Type*}", - "type_source": "Type*", - "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype α]", - "type_source": "Fintype α", + "source": "[MeasurableSpace Active]", + "type_source": "MeasurableSpace Active", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype β]", - "type_source": "Fintype β", + "source": "[MeasurableSpace External]", + "type_source": "MeasurableSpace External", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[MeasurableSpace α]", - "type_source": "MeasurableSpace α", + "source": "[DiscreteMeasurableSpace Internal]", + "type_source": "DiscreteMeasurableSpace Internal", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[MeasurableSpace β]", - "type_source": "MeasurableSpace β", + "source": "[DiscreteMeasurableSpace Sensory]", + "type_source": "DiscreteMeasurableSpace Sensory", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace α]", - "type_source": "DiscreteMeasurableSpace α", + "source": "[DiscreteMeasurableSpace Active]", + "type_source": "DiscreteMeasurableSpace Active", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace β]", - "type_source": "DiscreteMeasurableSpace β", + "source": "[DiscreteMeasurableSpace External]", + "type_source": "DiscreteMeasurableSpace External", "visibility": "instance" } ], @@ -77745,6 +83461,14 @@ "qualified_name": "FEP.NativeBlanket.embeddedLaw_apply_singleton", "resolution": "exact or same-namespace source identifier", "role": "proof_reference" + }, + { + "candidates": [ + "FEP.MarkovBlanket.staticJoint_factorization" + ], + "identifier": "staticJoint_factorization", + "resolution": "unresolved lexical scope", + "role": "proof_reference" } ], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", @@ -77757,289 +83481,509 @@ "line_coordinate_kind": "formal_resource_file", "namespace": "FEP.NativeBlanket", "namespace_variable_context": [ - "{α β : Type*} [Fintype α] [Fintype β]\n [MeasurableSpace α] [MeasurableSpace β]\n [DiscreteMeasurableSpace α] [DiscreteMeasurableSpace β]" + "{Internal Sensory Active External : Type*}\n [Fintype Internal] [Fintype Sensory] [Fintype Active] [Fintype External]\n [MeasurableSpace Internal] [MeasurableSpace Sensory]\n [MeasurableSpace Active] [MeasurableSpace External]\n [DiscreteMeasurableSpace Internal] [DiscreteMeasurableSpace Sensory]\n [DiscreteMeasurableSpace Active] [DiscreteMeasurableSpace External]" ], "preceding_scope_directives": [ { "directive": "omit", "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", "source": "omit [DiscreteMeasurableSpace β] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [MeasurableSpace Internal] [MeasurableSpace Sensory]" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [MeasurableSpace Internal] [MeasurableSpace Sensory]" } ], - "qualified_name": "FEP.NativeBlanket.embeddedLaw_joint_eq_compProd", - "source_line": 147, + "qualified_name": "FEP.NativeBlanket.staticJoint_rectangle_factorization", + "source_line": 471, "source_owner": "src/fep_lean/formal/native_blanket.lean", - "statement": "theorem embeddedLaw_joint_eq_compProd\n (prior : FiniteLaw α) (kernel : FiniteKernel α β) :\n embeddedLaw (kernel.joint prior) =\n embeddedLaw prior ⊗ₘ embeddedKernel kernel", - "statement_sha256": "ef50e5e28fc6ab36373055ef30da1d6cbbe4bf8a7a68fb7a81dfbe30088ecd5b" + "statement": "theorem staticJoint_rectangle_factorization\n (model : StaticModel Internal Sensory Active External)\n (blanket : Blanket Sensory Active) (internal : Internal)\n (external : External) :\n embeddedLaw (staticJoint model)\n (blanketCoordinate ⁻¹' {blanket} ∩\n internalCoordinate ⁻¹' {internal} ∩\n externalCoordinate ⁻¹' {external}) =\n ENNReal.ofReal (model.blanketLaw blanket) *\n ENNReal.ofReal (model.internalGiven blanket internal) *\n ENNReal.ofReal (model.externalGiven blanket external)", + "statement_sha256": "fb970a984330d993828d9fb40b25a7a2aea9a0af8c8f9cd53301cb4fb5a2fd35" }, - "FEP.NativeBlanket.embeddedLaw_map": { + "FEP.NessFlow.detailed_balance_iff": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[DecidableEq β]", - "type_source": "DecidableEq β", - "visibility": "instance" + "names": [ + "ω" + ], + "role": "typed_binder", + "source": "(ω : ℝ)", + "type_source": "ℝ", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "law" + "g" ], "role": "typed_binder", - "source": "(law : FiniteLaw α)", - "type_source": "FiniteLaw α", + "source": "(g : Fin 2 → ℝ)", + "type_source": "Fin 2 → ℝ", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "mapState" + "hg" ], "role": "typed_binder", - "source": "(mapState : α → β)", - "type_source": "α → β", + "source": "(hg : g 0 ≠ 0 ∨ g 1 ≠ 0)", + "type_source": "g 0 ≠ 0 ∨ g 1 ≠ 0", "visibility": "explicit" } ], - "conclusion": "(embeddedLaw law).map mapState = embeddedLaw (law.map mapState)", - "context_binders": [ + "conclusion": "solenoidal ω g = 0 ↔ ω = 0", + "context_binders": [], + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "Mathlib.Algebra.Order.Ring.Unbundled.Basic", + "Mathlib.Basic.Real.Basic", + "Mathlib.Tactic" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.NessFlow", + "namespace_variable_context": [], + "preceding_scope_directives": [], + "qualified_name": "FEP.NessFlow.detailed_balance_iff", + "source_line": 92, + "source_owner": "src/fep_lean/formal/ness_flow.lean", + "statement": "theorem detailed_balance_iff (ω : ℝ) (g : Fin 2 → ℝ) (hg : g 0 ≠ 0 ∨ g 1 ≠ 0) :\n solenoidal ω g = 0 ↔ ω = 0", + "statement_sha256": "c3ae16c78df071e45d673df3992eeba42d718270626a3ad0c996ffc6f96f844e" + }, + "FEP.NessFlow.entropyProduction_eq_zero_iff": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "α", - "β" + "precision", + "ω", + "γ" ], "role": "typed_binder", - "source": "{α β : Type*}", - "type_source": "Type*", - "visibility": "implicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype α]", - "type_source": "Fintype α", - "visibility": "instance" + "source": "(precision ω γ : ℝ)", + "type_source": "ℝ", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype β]", - "type_source": "Fintype β", - "visibility": "instance" + "names": [ + "hp" + ], + "role": "typed_binder", + "source": "(hp : 0 < precision)", + "type_source": "0 < precision", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[MeasurableSpace α]", - "type_source": "MeasurableSpace α", - "visibility": "instance" - }, + "names": [ + "hg" + ], + "role": "typed_binder", + "source": "(hg : 0 < γ)", + "type_source": "0 < γ", + "visibility": "explicit" + } + ], + "conclusion": "entropyProduction precision ω γ = 0 ↔ ω = 0", + "context_binders": [], + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "Mathlib.Algebra.Order.Ring.Unbundled.Basic", + "Mathlib.Basic.Real.Basic", + "Mathlib.Tactic" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.NessFlow", + "namespace_variable_context": [], + "preceding_scope_directives": [], + "qualified_name": "FEP.NessFlow.entropyProduction_eq_zero_iff", + "source_line": 126, + "source_owner": "src/fep_lean/formal/ness_flow.lean", + "statement": "theorem entropyProduction_eq_zero_iff (precision ω γ : ℝ)\n (hp : 0 < precision) (hg : 0 < γ) : entropyProduction precision ω γ = 0 ↔ ω = 0", + "statement_sha256": "c496ae321867396c84ba79c532378a1d8aab9e36b5c249064222e9a3a186518f" + }, + "FEP.NessFlow.entropyProduction_nonneg": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[MeasurableSpace β]", - "type_source": "MeasurableSpace β", - "visibility": "instance" + "names": [ + "precision", + "ω", + "γ" + ], + "role": "typed_binder", + "source": "(precision ω γ : ℝ)", + "type_source": "ℝ", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace α]", - "type_source": "DiscreteMeasurableSpace α", - "visibility": "instance" + "names": [ + "hp" + ], + "role": "typed_binder", + "source": "(hp : 0 ≤ precision)", + "type_source": "0 ≤ precision", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace β]", - "type_source": "DiscreteMeasurableSpace β", - "visibility": "instance" - } - ], - "declaration_mentions": [ - { - "identifier": "embeddedLaw_apply_singleton", - "qualified_name": "FEP.NativeBlanket.embeddedLaw_apply_singleton", - "resolution": "exact or same-namespace source identifier", - "role": "proof_reference" + "names": [ + "hg" + ], + "role": "typed_binder", + "source": "(hg : 0 ≤ γ)", + "type_source": "0 ≤ γ", + "visibility": "explicit" } ], + "conclusion": "0 ≤ entropyProduction precision ω γ", + "context_binders": [], + "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.markov_blanket", - "Mathlib.MeasureTheory.Integral.Bochner.SumMeasure", - "Mathlib.Probability.Independence.Conditional", - "Mathlib.Probability.Kernel.Composition.Comp" + "Mathlib.Algebra.Order.Ring.Unbundled.Basic", + "Mathlib.Basic.Real.Basic", + "Mathlib.Tactic" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.NativeBlanket", - "namespace_variable_context": [ - "{α β : Type*} [Fintype α] [Fintype β]\n [MeasurableSpace α] [MeasurableSpace β]\n [DiscreteMeasurableSpace α] [DiscreteMeasurableSpace β]" - ], + "namespace": "FEP.NessFlow", + "namespace_variable_context": [], "preceding_scope_directives": [], - "qualified_name": "FEP.NativeBlanket.embeddedLaw_map", - "source_line": 87, - "source_owner": "src/fep_lean/formal/native_blanket.lean", - "statement": "theorem embeddedLaw_map [DecidableEq β]\n (law : FiniteLaw α) (mapState : α → β) :\n (embeddedLaw law).map mapState = embeddedLaw (law.map mapState)", - "statement_sha256": "b573853d500701cf57d7e51ac0d49b49bb352a3671b604bc7cb884d64194c186" + "qualified_name": "FEP.NessFlow.entropyProduction_nonneg", + "source_line": 118, + "source_owner": "src/fep_lean/formal/ness_flow.lean", + "statement": "theorem entropyProduction_nonneg (precision ω γ : ℝ)\n (hp : 0 ≤ precision) (hg : 0 ≤ γ) : 0 ≤ entropyProduction precision ω γ", + "statement_sha256": "d95b89433ca338dd7a73db9344b37ea64b02f662a4ee15053a0ad64110e5446b" }, - "FEP.NativeBlanket.embeddedLaw_real_singleton": { + "FEP.NessFlow.flow_work_eq_dissipation": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "law" + "γ", + "ω" ], "role": "typed_binder", - "source": "(law : FiniteLaw α)", - "type_source": "FiniteLaw α", + "source": "(γ ω : ℝ)", + "type_source": "ℝ", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "state" + "g" ], "role": "typed_binder", - "source": "(state : α)", - "type_source": "α", + "source": "(g : Fin 2 → ℝ)", + "type_source": "Fin 2 → ℝ", "visibility": "explicit" } ], - "conclusion": "(embeddedLaw law).real {state} = law state", - "context_binders": [ + "conclusion": "dot (flow γ ω g) g = -γ * normSq g", + "context_binders": [], + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "Mathlib.Algebra.Order.Ring.Unbundled.Basic", + "Mathlib.Basic.Real.Basic", + "Mathlib.Tactic" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.NessFlow", + "namespace_variable_context": [], + "preceding_scope_directives": [], + "qualified_name": "FEP.NessFlow.flow_work_eq_dissipation", + "source_line": 77, + "source_owner": "src/fep_lean/formal/ness_flow.lean", + "statement": "theorem flow_work_eq_dissipation (γ ω : ℝ) (g : Fin 2 → ℝ) :\n dot (flow γ ω g) g = -γ * normSq g", + "statement_sha256": "a4e911e860ba95acd91517f17b356b8e55e4b8cdd8054311d24815fd29e9696b" + }, + "FEP.NessFlow.freeEnergy_non_increasing": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "α", - "β" + "γ" ], "role": "typed_binder", - "source": "{α β : Type*}", - "type_source": "Type*", - "visibility": "implicit" + "source": "(γ : ℝ)", + "type_source": "ℝ", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype α]", - "type_source": "Fintype α", - "visibility": "instance" + "names": [ + "hγ" + ], + "role": "typed_binder", + "source": "(hγ : 0 ≤ γ)", + "type_source": "0 ≤ γ", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype β]", - "type_source": "Fintype β", - "visibility": "instance" - }, + "names": [ + "g" + ], + "role": "typed_binder", + "source": "(g : Fin 2 → ℝ)", + "type_source": "Fin 2 → ℝ", + "visibility": "explicit" + } + ], + "conclusion": "dot (flow γ ω g) g ≤ 0", + "context_binders": [], + "declaration_mentions": [ { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[MeasurableSpace α]", - "type_source": "MeasurableSpace α", - "visibility": "instance" + "identifier": "flow_work_eq_dissipation", + "qualified_name": "FEP.NessFlow.flow_work_eq_dissipation", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" }, + { + "identifier": "normSq_nonneg", + "qualified_name": "FEP.NessFlow.normSq_nonneg", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + } + ], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "Mathlib.Algebra.Order.Ring.Unbundled.Basic", + "Mathlib.Basic.Real.Basic", + "Mathlib.Tactic" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.NessFlow", + "namespace_variable_context": [], + "preceding_scope_directives": [], + "qualified_name": "FEP.NessFlow.freeEnergy_non_increasing", + "source_line": 83, + "source_owner": "src/fep_lean/formal/ness_flow.lean", + "statement": "theorem freeEnergy_non_increasing (γ : ℝ) (hγ : 0 ≤ γ) (g : Fin 2 → ℝ) :\n dot (flow γ ω g) g ≤ 0", + "statement_sha256": "c5cc44b7f1ce5214642b92b6a7141a6ba776ab423f5c5b257a95e408e6cbaa38" + }, + "FEP.NessFlow.ness_signature": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[MeasurableSpace β]", - "type_source": "MeasurableSpace β", - "visibility": "instance" + "names": [ + "ω" + ], + "role": "typed_binder", + "source": "(ω : ℝ)", + "type_source": "ℝ", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace α]", - "type_source": "DiscreteMeasurableSpace α", - "visibility": "instance" + "names": [ + "g" + ], + "role": "typed_binder", + "source": "(g : Fin 2 → ℝ)", + "type_source": "Fin 2 → ℝ", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace β]", - "type_source": "DiscreteMeasurableSpace β", - "visibility": "instance" + "names": [ + "hg" + ], + "role": "typed_binder", + "source": "(hg : g 0 ≠ 0 ∨ g 1 ≠ 0)", + "type_source": "g 0 ≠ 0 ∨ g 1 ≠ 0", + "visibility": "explicit" } ], + "conclusion": "(solenoidal ω g = 0) ↔ (ω = 0)", + "context_binders": [], "declaration_mentions": [ { - "identifier": "embeddedLaw_apply_singleton", - "qualified_name": "FEP.NativeBlanket.embeddedLaw_apply_singleton", + "identifier": "detailed_balance_iff", + "qualified_name": "FEP.NessFlow.detailed_balance_iff", "resolution": "exact or same-namespace source identifier", "role": "proof_reference" } ], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.markov_blanket", - "Mathlib.MeasureTheory.Integral.Bochner.SumMeasure", - "Mathlib.Probability.Independence.Conditional", - "Mathlib.Probability.Kernel.Composition.Comp" + "Mathlib.Algebra.Order.Ring.Unbundled.Basic", + "Mathlib.Basic.Real.Basic", + "Mathlib.Tactic" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.NessFlow", + "namespace_variable_context": [], + "preceding_scope_directives": [], + "qualified_name": "FEP.NessFlow.ness_signature", + "source_line": 154, + "source_owner": "src/fep_lean/formal/ness_flow.lean", + "statement": "theorem ness_signature (ω : ℝ) (g : Fin 2 → ℝ) (hg : g 0 ≠ 0 ∨ g 1 ≠ 0) :\n (solenoidal ω g = 0) ↔ (ω = 0)", + "statement_sha256": "5f30d878443eef99e928ecb6dafbab9d83951494f3cb6bb56c0845af990f696e" + }, + "FEP.NessFlow.normSq_nonneg": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "v" + ], + "role": "typed_binder", + "source": "(v : Fin 2 → ℝ)", + "type_source": "Fin 2 → ℝ", + "visibility": "explicit" + } + ], + "conclusion": "0 ≤ normSq v", + "context_binders": [], + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "Mathlib.Algebra.Order.Ring.Unbundled.Basic", + "Mathlib.Basic.Real.Basic", + "Mathlib.Tactic" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.NessFlow", + "namespace_variable_context": [], + "preceding_scope_directives": [], + "qualified_name": "FEP.NessFlow.normSq_nonneg", + "source_line": 42, + "source_owner": "src/fep_lean/formal/ness_flow.lean", + "statement": "theorem normSq_nonneg (v : Fin 2 → ℝ) : 0 ≤ normSq v", + "statement_sha256": "fafd19ff3801f506a4b0844cee2d0e8a314bbde6d55fde8a73fb682016bf6b96" + }, + "FEP.NessFlow.solenoidal_antisymm": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "ω" + ], + "role": "typed_binder", + "source": "(ω : ℝ)", + "type_source": "ℝ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "v", + "w" + ], + "role": "typed_binder", + "source": "(v w : Fin 2 → ℝ)", + "type_source": "Fin 2 → ℝ", + "visibility": "explicit" + } + ], + "conclusion": "dot (solenoidal ω v) w = -dot (solenoidal ω w) v", + "context_binders": [], + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "Mathlib.Algebra.Order.Ring.Unbundled.Basic", + "Mathlib.Basic.Real.Basic", + "Mathlib.Tactic" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.NativeBlanket", - "namespace_variable_context": [ - "{α β : Type*} [Fintype α] [Fintype β]\n [MeasurableSpace α] [MeasurableSpace β]\n [DiscreteMeasurableSpace α] [DiscreteMeasurableSpace β]" - ], + "namespace": "FEP.NessFlow", + "namespace_variable_context": [], "preceding_scope_directives": [], - "qualified_name": "FEP.NativeBlanket.embeddedLaw_real_singleton", - "source_line": 62, - "source_owner": "src/fep_lean/formal/native_blanket.lean", - "statement": "theorem embeddedLaw_real_singleton (law : FiniteLaw α) (state : α) :\n (embeddedLaw law).real {state} = law state", - "statement_sha256": "a0a1b352dac09b3e4d0b2c5ea8be2d3e83ae71ef72837e7a37dfc1695e90c568" + "qualified_name": "FEP.NessFlow.solenoidal_antisymm", + "source_line": 54, + "source_owner": "src/fep_lean/formal/ness_flow.lean", + "statement": "theorem solenoidal_antisymm (ω : ℝ) (v w : Fin 2 → ℝ) :\n dot (solenoidal ω v) w = -dot (solenoidal ω w) v", + "statement_sha256": "8c4c8034aa5c0b300f1c02973ac72b8023aafdf206661f3bb7d1b1f1c2b4f6ff" }, - "FEP.NativeBlanket.embeddedPredictive_eq_comp": { + "FEP.NessFlow.solenoidal_orthogonal": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "prior" + "ω" ], "role": "typed_binder", - "source": "(prior : FiniteLaw α)", - "type_source": "FiniteLaw α", + "source": "(ω : ℝ)", + "type_source": "ℝ", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "kernel" + "g" ], "role": "typed_binder", - "source": "(kernel : FiniteKernel α β)", - "type_source": "FiniteKernel α β", + "source": "(g : Fin 2 → ℝ)", + "type_source": "Fin 2 → ℝ", "visibility": "explicit" } ], - "conclusion": "embeddedLaw (kernel.predictive prior) =\n embeddedKernel kernel ∘ₘ embeddedLaw prior", + "conclusion": "dot (solenoidal ω g) g = 0", + "context_binders": [], + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "Mathlib.Algebra.Order.Ring.Unbundled.Basic", + "Mathlib.Basic.Real.Basic", + "Mathlib.Tactic" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.NessFlow", + "namespace_variable_context": [], + "preceding_scope_directives": [], + "qualified_name": "FEP.NessFlow.solenoidal_orthogonal", + "source_line": 61, + "source_owner": "src/fep_lean/formal/ness_flow.lean", + "statement": "theorem solenoidal_orthogonal (ω : ℝ) (g : Fin 2 → ℝ) :\n dot (solenoidal ω g) g = 0", + "statement_sha256": "14982221cb83c0d573a0b5094daf2d09a33bd6230d0726f98410cb1427f93208" + }, + "FEP.PathThermodynamics.biasedCycleKernel_pos": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "i", + "j" + ], + "role": "typed_binder", + "source": "(i j : Fin 3)", + "type_source": "Fin 3", + "visibility": "explicit" + } + ], + "conclusion": "0 < biasedCycleKernel i j", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "α", - "β" + "Path", + "State" ], "role": "typed_binder", - "source": "{α β : Type*}", + "source": "{Path State : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -78047,99 +83991,132 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype α]", - "type_source": "Fintype α", + "source": "[Fintype Path]", + "type_source": "Fintype Path", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype β]", - "type_source": "Fintype β", + "source": "[Fintype State]", + "type_source": "Fintype State", "visibility": "instance" - }, + } + ], + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.finite_markov_dynamics", + "FepSketches.variational_duality" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.PathThermodynamics", + "namespace_variable_context": [ + "{Path State : Type*} [Fintype Path] [Fintype State]" + ], + "preceding_scope_directives": [ { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[MeasurableSpace α]", - "type_source": "MeasurableSpace α", - "visibility": "instance" - }, + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Fintype S] in" + } + ], + "qualified_name": "FEP.PathThermodynamics.biasedCycleKernel_pos", + "source_line": 945, + "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "statement": "theorem biasedCycleKernel_pos (i j : Fin 3) : 0 < biasedCycleKernel i j", + "statement_sha256": "7e719111660e0e37ec4f5cc96f3bad9b190cf16898b2ab1eed103dbd6ee756f9" + }, + "FEP.PathThermodynamics.biasedCycle_entropyProduction": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [], + "conclusion": "entropyProduction (markovPathProtocol biasedCycleKernel\n FiniteLaw.uniform biasedCycleKernel FiniteLaw.uniform 1) =\n Real.log 2 / 4", + "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[MeasurableSpace β]", - "type_source": "MeasurableSpace β", - "visibility": "instance" + "names": [ + "Path", + "State" + ], + "role": "typed_binder", + "source": "{Path State : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace α]", - "type_source": "DiscreteMeasurableSpace α", + "source": "[Fintype Path]", + "type_source": "Fintype Path", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace β]", - "type_source": "DiscreteMeasurableSpace β", + "source": "[Fintype State]", + "type_source": "Fintype State", "visibility": "instance" } ], "declaration_mentions": [ { - "identifier": "embeddedLaw_apply_singleton", - "qualified_name": "FEP.NativeBlanket.embeddedLaw_apply_singleton", + "identifier": "biasedCycleKernel_pos", + "qualified_name": "FEP.PathThermodynamics.biasedCycleKernel_pos", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + }, + { + "identifier": "biasedCycle_invariant", + "qualified_name": "FEP.PathThermodynamics.biasedCycle_invariant", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + }, + { + "identifier": "entropyProduction_markov_stationary", + "qualified_name": "FEP.PathThermodynamics.entropyProduction_markov_stationary", "resolution": "exact or same-namespace source identifier", "role": "proof_reference" } ], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.markov_blanket", - "Mathlib.MeasureTheory.Integral.Bochner.SumMeasure", - "Mathlib.Probability.Independence.Conditional", - "Mathlib.Probability.Kernel.Composition.Comp" + "FepSketches.finite_markov_dynamics", + "FepSketches.variational_duality" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.NativeBlanket", + "namespace": "FEP.PathThermodynamics", "namespace_variable_context": [ - "{α β : Type*} [Fintype α] [Fintype β]\n [MeasurableSpace α] [MeasurableSpace β]\n [DiscreteMeasurableSpace α] [DiscreteMeasurableSpace β]" + "{Path State : Type*} [Fintype Path] [Fintype State]" ], "preceding_scope_directives": [ { "directive": "omit", "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DiscreteMeasurableSpace β] in" + "source": "omit [Fintype S] in" } ], - "qualified_name": "FEP.NativeBlanket.embeddedPredictive_eq_comp", - "source_line": 163, - "source_owner": "src/fep_lean/formal/native_blanket.lean", - "statement": "theorem embeddedPredictive_eq_comp\n (prior : FiniteLaw α) (kernel : FiniteKernel α β) :\n embeddedLaw (kernel.predictive prior) =\n embeddedKernel kernel ∘ₘ embeddedLaw prior", - "statement_sha256": "f1df7ccf2933d1d8aaf3dc0768230b7f5928ece9193a85fb08ad2cda927d7f66" + "qualified_name": "FEP.PathThermodynamics.biasedCycle_entropyProduction", + "source_line": 966, + "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "statement": "theorem biasedCycle_entropyProduction :\n entropyProduction (markovPathProtocol biasedCycleKernel\n FiniteLaw.uniform biasedCycleKernel FiniteLaw.uniform 1) =\n Real.log 2 / 4", + "statement_sha256": "5a86721b81cdcbd448ce8e23ce62e1cb36a963d687bb26c516b6caf9e466f6f7" }, - "FEP.NativeBlanket.externalCoordinate_measurable": { + "FEP.PathThermodynamics.biasedCycle_entropyProduction_pos": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [], - "conclusion": "Measurable\n (externalCoordinate :\n StaticState Internal Sensory Active External → External)", + "conclusion": "0 < entropyProduction (markovPathProtocol biasedCycleKernel\n FiniteLaw.uniform biasedCycleKernel FiniteLaw.uniform 1)", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Internal", - "Sensory", - "Active", - "External" + "Path", + "State" ], "role": "typed_binder", - "source": "{Internal Sensory Active External : Type*}", + "source": "{Path State : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -78147,318 +84124,410 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Internal]", - "type_source": "Fintype Internal", - "visibility": "instance" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype Sensory]", - "type_source": "Fintype Sensory", + "source": "[Fintype Path]", + "type_source": "Fintype Path", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Active]", - "type_source": "Fintype Active", + "source": "[Fintype State]", + "type_source": "Fintype State", "visibility": "instance" - }, + } + ], + "declaration_mentions": [ { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype External]", - "type_source": "Fintype External", - "visibility": "instance" - }, + "identifier": "biasedCycle_entropyProduction", + "qualified_name": "FEP.PathThermodynamics.biasedCycle_entropyProduction", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + } + ], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.finite_markov_dynamics", + "FepSketches.variational_duality" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.PathThermodynamics", + "namespace_variable_context": [ + "{Path State : Type*} [Fintype Path] [Fintype State]" + ], + "preceding_scope_directives": [ { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[MeasurableSpace Internal]", - "type_source": "MeasurableSpace Internal", - "visibility": "instance" - }, + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Fintype S] in" + } + ], + "qualified_name": "FEP.PathThermodynamics.biasedCycle_entropyProduction_pos", + "source_line": 980, + "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "statement": "theorem biasedCycle_entropyProduction_pos :\n 0 < entropyProduction (markovPathProtocol biasedCycleKernel\n FiniteLaw.uniform biasedCycleKernel FiniteLaw.uniform 1)", + "statement_sha256": "0e9a5c40cfe395026916a1046a75bbfbb01a826ded1f37e975ed2fa7040f8f27" + }, + "FEP.PathThermodynamics.biasedCycle_invariant": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [], + "conclusion": "IsInvariant (FiniteLaw.uniform : FiniteLaw (Fin 3)) biasedCycleKernel", + "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[MeasurableSpace Sensory]", - "type_source": "MeasurableSpace Sensory", - "visibility": "instance" + "names": [ + "Path", + "State" + ], + "role": "typed_binder", + "source": "{Path State : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[MeasurableSpace Active]", - "type_source": "MeasurableSpace Active", + "source": "[Fintype Path]", + "type_source": "Fintype Path", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[MeasurableSpace External]", - "type_source": "MeasurableSpace External", + "source": "[Fintype State]", + "type_source": "Fintype State", "visibility": "instance" - }, + } + ], + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.finite_markov_dynamics", + "FepSketches.variational_duality" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.PathThermodynamics", + "namespace_variable_context": [ + "{Path State : Type*} [Fintype Path] [Fintype State]" + ], + "preceding_scope_directives": [ { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace Internal]", - "type_source": "DiscreteMeasurableSpace Internal", - "visibility": "instance" - }, + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Fintype S] in" + } + ], + "qualified_name": "FEP.PathThermodynamics.biasedCycle_invariant", + "source_line": 949, + "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "statement": "theorem biasedCycle_invariant :\n IsInvariant (FiniteLaw.uniform : FiniteLaw (Fin 3)) biasedCycleKernel", + "statement_sha256": "c194321b0dc794754fcf183edf595589220e8569c4e0215cdefed37f9861b333" + }, + "FEP.PathThermodynamics.biasedCycle_not_reversible": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [], + "conclusion": "¬ IsReversible (FiniteLaw.uniform : FiniteLaw (Fin 3)) biasedCycleKernel", + "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace Sensory]", - "type_source": "DiscreteMeasurableSpace Sensory", - "visibility": "instance" + "names": [ + "Path", + "State" + ], + "role": "typed_binder", + "source": "{Path State : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace Active]", - "type_source": "DiscreteMeasurableSpace Active", + "source": "[Fintype Path]", + "type_source": "Fintype Path", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace External]", - "type_source": "DiscreteMeasurableSpace External", + "source": "[Fintype State]", + "type_source": "Fintype State", "visibility": "instance" } ], "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.markov_blanket", - "Mathlib.MeasureTheory.Integral.Bochner.SumMeasure", - "Mathlib.Probability.Independence.Conditional", - "Mathlib.Probability.Kernel.Composition.Comp" + "FepSketches.finite_markov_dynamics", + "FepSketches.variational_duality" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.NativeBlanket", + "namespace": "FEP.PathThermodynamics", "namespace_variable_context": [ - "{Internal Sensory Active External : Type*}\n [Fintype Internal] [Fintype Sensory] [Fintype Active] [Fintype External]\n [MeasurableSpace Internal] [MeasurableSpace Sensory]\n [MeasurableSpace Active] [MeasurableSpace External]\n [DiscreteMeasurableSpace Internal] [DiscreteMeasurableSpace Sensory]\n [DiscreteMeasurableSpace Active] [DiscreteMeasurableSpace External]" + "{Path State : Type*} [Fintype Path] [Fintype State]" ], "preceding_scope_directives": [ { "directive": "omit", "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DiscreteMeasurableSpace β] in" + "source": "omit [Fintype S] in" } ], - "qualified_name": "FEP.NativeBlanket.externalCoordinate_measurable", - "source_line": 250, - "source_owner": "src/fep_lean/formal/native_blanket.lean", - "statement": "theorem externalCoordinate_measurable :\n Measurable\n (externalCoordinate :\n StaticState Internal Sensory Active External → External)", - "statement_sha256": "dd55d082d3200007838b57444a93840a9e25e108f17a726c8722df282d48133a" + "qualified_name": "FEP.PathThermodynamics.biasedCycle_not_reversible", + "source_line": 958, + "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "statement": "theorem biasedCycle_not_reversible :\n ¬ IsReversible (FiniteLaw.uniform : FiniteLaw (Fin 3)) biasedCycleKernel", + "statement_sha256": "f3d286c421b7ab0ce72e014f769e0d0835259d1b405b82fd49a4c0e5fd49c8e4" }, - "FEP.NativeBlanket.internalCoordinate_measurable": { + "FEP.PathThermodynamics.crooks_of_entropyProduction": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [], - "conclusion": "Measurable\n (internalCoordinate :\n StaticState Internal Sensory Active External → Internal)", - "context_binders": [ + "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Internal", - "Sensory", - "Active", - "External" + "protocol" ], "role": "typed_binder", - "source": "{Internal Sensory Active External : Type*}", - "type_source": "Type*", - "visibility": "implicit" + "source": "(protocol : FinitePathProtocol Path)", + "type_source": "FinitePathProtocol Path", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype Internal]", - "type_source": "Fintype Internal", - "visibility": "instance" + "names": [ + "beta", + "deltaFreeEnergy" + ], + "role": "typed_binder", + "source": "(beta deltaFreeEnergy : ℝ)", + "type_source": "ℝ", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype Sensory]", - "type_source": "Fintype Sensory", - "visibility": "instance" + "names": [ + "hBeta" + ], + "role": "typed_binder", + "source": "(hBeta : 0 < beta)", + "type_source": "0 < beta", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype Active]", - "type_source": "Fintype Active", - "visibility": "instance" + "names": [ + "hForward" + ], + "role": "typed_binder", + "source": "(hForward : ∀ path, 0 < protocol.forward path)", + "type_source": "∀ path, 0 < protocol.forward path", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype External]", - "type_source": "Fintype External", - "visibility": "instance" - }, + "names": [ + "hReverse" + ], + "role": "typed_binder", + "source": "(hReverse : ∀ path, 0 < protocol.reverseAligned path)", + "type_source": "∀ path, 0 < protocol.reverseAligned path", + "visibility": "explicit" + } + ], + "conclusion": "HasCrooksRelation protocol beta deltaFreeEnergy\n (fun path =>\n deltaFreeEnergy + pathwiseEntropyProduction protocol path / beta)", + "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[MeasurableSpace Internal]", - "type_source": "MeasurableSpace Internal", - "visibility": "instance" + "names": [ + "Path", + "State" + ], + "role": "typed_binder", + "source": "{Path State : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[MeasurableSpace Sensory]", - "type_source": "MeasurableSpace Sensory", + "source": "[Fintype Path]", + "type_source": "Fintype Path", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[MeasurableSpace Active]", - "type_source": "MeasurableSpace Active", + "source": "[Fintype State]", + "type_source": "Fintype State", "visibility": "instance" + } + ], + "declaration_mentions": [ + { + "identifier": "detailedFluctuation_identity", + "qualified_name": "FEP.PathThermodynamics.detailedFluctuation_identity", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + } + ], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.finite_markov_dynamics", + "FepSketches.variational_duality" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.PathThermodynamics", + "namespace_variable_context": [ + "{Path State : Type*} [Fintype Path] [Fintype State]" + ], + "preceding_scope_directives": [], + "qualified_name": "FEP.PathThermodynamics.crooks_of_entropyProduction", + "source_line": 270, + "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "statement": "theorem crooks_of_entropyProduction\n (protocol : FinitePathProtocol Path) (beta deltaFreeEnergy : ℝ)\n (hBeta : 0 < beta)\n (hForward : ∀ path, 0 < protocol.forward path)\n (hReverse : ∀ path, 0 < protocol.reverseAligned path) :\n HasCrooksRelation protocol beta deltaFreeEnergy\n (fun path =>\n deltaFreeEnergy + pathwiseEntropyProduction protocol path / beta)", + "statement_sha256": "b595a96433ec5d7ea56ae505084e2fe0e2877e5d2306e7beb0cfbe080748a687" + }, + "FEP.PathThermodynamics.detailedFluctuation_identity": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "protocol" + ], + "role": "typed_binder", + "source": "(protocol : FinitePathProtocol Path)", + "type_source": "FinitePathProtocol Path", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[MeasurableSpace External]", - "type_source": "MeasurableSpace External", - "visibility": "instance" + "names": [ + "hForward" + ], + "role": "typed_binder", + "source": "(hForward : ∀ path, 0 < protocol.forward path)", + "type_source": "∀ path, 0 < protocol.forward path", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace Internal]", - "type_source": "DiscreteMeasurableSpace Internal", - "visibility": "instance" + "names": [ + "hReverse" + ], + "role": "typed_binder", + "source": "(hReverse : ∀ path, 0 < protocol.reverseAligned path)", + "type_source": "∀ path, 0 < protocol.reverseAligned path", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace Sensory]", - "type_source": "DiscreteMeasurableSpace Sensory", - "visibility": "instance" + "names": [ + "path" + ], + "role": "typed_binder", + "source": "(path : Path)", + "type_source": "Path", + "visibility": "explicit" + } + ], + "conclusion": "protocol.reverseAligned path *\n Real.exp (pathwiseEntropyProduction protocol path) =\n protocol.forward path", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "Path", + "State" + ], + "role": "typed_binder", + "source": "{Path State : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace Active]", - "type_source": "DiscreteMeasurableSpace Active", + "source": "[Fintype Path]", + "type_source": "Fintype Path", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace External]", - "type_source": "DiscreteMeasurableSpace External", + "source": "[Fintype State]", + "type_source": "Fintype State", "visibility": "instance" } ], "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.markov_blanket", - "Mathlib.MeasureTheory.Integral.Bochner.SumMeasure", - "Mathlib.Probability.Independence.Conditional", - "Mathlib.Probability.Kernel.Composition.Comp" + "FepSketches.finite_markov_dynamics", + "FepSketches.variational_duality" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.NativeBlanket", + "namespace": "FEP.PathThermodynamics", "namespace_variable_context": [ - "{Internal Sensory Active External : Type*}\n [Fintype Internal] [Fintype Sensory] [Fintype Active] [Fintype External]\n [MeasurableSpace Internal] [MeasurableSpace Sensory]\n [MeasurableSpace Active] [MeasurableSpace External]\n [DiscreteMeasurableSpace Internal] [DiscreteMeasurableSpace Sensory]\n [DiscreteMeasurableSpace Active] [DiscreteMeasurableSpace External]" - ], - "preceding_scope_directives": [ - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DiscreteMeasurableSpace β] in" - } + "{Path State : Type*} [Fintype Path] [Fintype State]" ], - "qualified_name": "FEP.NativeBlanket.internalCoordinate_measurable", - "source_line": 244, - "source_owner": "src/fep_lean/formal/native_blanket.lean", - "statement": "theorem internalCoordinate_measurable :\n Measurable\n (internalCoordinate :\n StaticState Internal Sensory Active External → Internal)", - "statement_sha256": "13bb07003599a3855ecc0d7abf7ccf8739f6e254ad03d6d8a4016ea4fa4c2519" + "preceding_scope_directives": [], + "qualified_name": "FEP.PathThermodynamics.detailedFluctuation_identity", + "source_line": 106, + "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "statement": "theorem detailedFluctuation_identity\n (protocol : FinitePathProtocol Path)\n (hForward : ∀ path, 0 < protocol.forward path)\n (hReverse : ∀ path, 0 < protocol.reverseAligned path) (path : Path) :\n protocol.reverseAligned path *\n Real.exp (pathwiseEntropyProduction protocol path) =\n protocol.forward path", + "statement_sha256": "e242f2fa542e8a6f5cecc1e1a7261fccb7b67aaa4cb8e9d73a41182107fcea3b" }, - "FEP.NativeBlanket.prediction_preserves_nativeBlanket": { + "FEP.PathThermodynamics.entropyProduction_eq_expected_logRatio": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Nonempty Internal]", - "type_source": "Nonempty Internal", - "visibility": "instance" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Nonempty External]", - "type_source": "Nonempty External", - "visibility": "instance" + "names": [ + "protocol" + ], + "role": "typed_binder", + "source": "(protocol : FinitePathProtocol Path)", + "type_source": "FinitePathProtocol Path", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "dynamics" + "hForward" ], "role": "typed_binder", - "source": "(dynamics : Dynamics Internal Sensory Active External)", - "type_source": "Dynamics Internal Sensory Active External", + "source": "(hForward : ∀ path, 0 < protocol.forward path)", + "type_source": "∀ path, 0 < protocol.forward path", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "current" + "hReverse" ], "role": "typed_binder", - "source": "(current : DynamicState Internal Sensory Active External)", - "type_source": "DynamicState Internal Sensory Active External", + "source": "(hReverse : ∀ path, 0 < protocol.reverseAligned path)", + "type_source": "∀ path, 0 < protocol.reverseAligned path", "visibility": "explicit" } ], - "conclusion": "CondIndepFun\n (MeasurableSpace.comap blanketCoordinate inferInstance)\n blanketCoordinate_measurable.comap_le\n internalCoordinate externalCoordinate\n (embeddedLaw (staticJoint (nextStaticModel dynamics current)))", + "conclusion": "entropyProduction protocol =\n ∑ path, protocol.forward path * pathwiseEntropyProduction protocol path", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Internal", - "Sensory", - "Active", - "External" + "Path", + "State" ], "role": "typed_binder", - "source": "{Internal Sensory Active External : Type*}", + "source": "{Path State : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -78466,184 +84535,274 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Internal]", - "type_source": "Fintype Internal", + "source": "[Fintype Path]", + "type_source": "Fintype Path", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Sensory]", - "type_source": "Fintype Sensory", + "source": "[Fintype State]", + "type_source": "Fintype State", "visibility": "instance" + } + ], + "declaration_mentions": [ + { + "candidates": [ + "FEP.FiniteInformation.finiteKL_eq_crossEntropy_sub_entropy" + ], + "identifier": "finiteKL_eq_crossEntropy_sub_entropy", + "resolution": "unresolved lexical scope", + "role": "proof_reference" + } + ], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.finite_markov_dynamics", + "FepSketches.variational_duality" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.PathThermodynamics", + "namespace_variable_context": [ + "{Path State : Type*} [Fintype Path] [Fintype State]" + ], + "preceding_scope_directives": [], + "qualified_name": "FEP.PathThermodynamics.entropyProduction_eq_expected_logRatio", + "source_line": 87, + "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "statement": "theorem entropyProduction_eq_expected_logRatio\n (protocol : FinitePathProtocol Path)\n (hForward : ∀ path, 0 < protocol.forward path)\n (hReverse : ∀ path, 0 < protocol.reverseAligned path) :\n entropyProduction protocol =\n ∑ path, protocol.forward path * pathwiseEntropyProduction protocol path", + "statement_sha256": "abd39ea403d5dacc3fd3ff655a7cd97eec99aaf1594ab32fac663db3ab4bf1ca" + }, + "FEP.PathThermodynamics.entropyProduction_markov_decomposition": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "kernel", + "reverse" + ], + "role": "typed_binder", + "source": "(kernel reverse : FiniteKernel S S)", + "type_source": "FiniteKernel S S", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype Active]", - "type_source": "Fintype Active", - "visibility": "instance" + "names": [ + "initial", + "final" + ], + "role": "typed_binder", + "source": "(initial final : FiniteLaw S)", + "type_source": "FiniteLaw S", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype External]", - "type_source": "Fintype External", - "visibility": "instance" + "names": [ + "hInitial" + ], + "role": "typed_binder", + "source": "(hInitial : ∀ s, 0 < initial s)", + "type_source": "∀ s, 0 < initial s", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[MeasurableSpace Internal]", - "type_source": "MeasurableSpace Internal", - "visibility": "instance" + "names": [ + "hFinal" + ], + "role": "typed_binder", + "source": "(hFinal : ∀ s, 0 < final s)", + "type_source": "∀ s, 0 < final s", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[MeasurableSpace Sensory]", - "type_source": "MeasurableSpace Sensory", - "visibility": "instance" + "names": [ + "hKernel" + ], + "role": "typed_binder", + "source": "(hKernel : ∀ a b, 0 < kernel a b)", + "type_source": "∀ a b, 0 < kernel a b", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[MeasurableSpace Active]", - "type_source": "MeasurableSpace Active", - "visibility": "instance" + "names": [ + "hReverse" + ], + "role": "typed_binder", + "source": "(hReverse : ∀ a b, 0 < reverse a b)", + "type_source": "∀ a b, 0 < reverse a b", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[MeasurableSpace External]", - "type_source": "MeasurableSpace External", - "visibility": "instance" + "names": [ + "n" + ], + "role": "typed_binder", + "source": "(n : ℕ)", + "type_source": "ℕ", + "visibility": "explicit" + } + ], + "conclusion": "entropyProduction (markovPathProtocol kernel initial reverse final n) =\n (∑ path : Fin (n + 1) → S, markovPathLaw kernel initial n path *\n Real.log (initial (path 0) / final (path (Fin.last n)))) +\n ∑ t : Fin n, ∑ path : Fin (n + 1) → S,\n markovPathLaw kernel initial n path *\n Real.log (kernel (path t.castSucc) (path t.succ) /\n reverse (path t.succ) (path t.castSucc))", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "Path", + "State" + ], + "role": "typed_binder", + "source": "{Path State : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace Internal]", - "type_source": "DiscreteMeasurableSpace Internal", + "source": "[Fintype Path]", + "type_source": "Fintype Path", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace Sensory]", - "type_source": "DiscreteMeasurableSpace Sensory", + "source": "[Fintype State]", + "type_source": "Fintype State", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace Active]", - "type_source": "DiscreteMeasurableSpace Active", - "visibility": "instance" + "names": [ + "S" + ], + "role": "typed_binder", + "source": "{S : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace External]", - "type_source": "DiscreteMeasurableSpace External", + "source": "[Fintype S]", + "type_source": "Fintype S", "visibility": "instance" } ], "declaration_mentions": [ { - "identifier": "staticJoint_condIndepFun", - "qualified_name": "FEP.NativeBlanket.staticJoint_condIndepFun", + "identifier": "entropyProduction_eq_expected_logRatio", + "qualified_name": "FEP.PathThermodynamics.entropyProduction_eq_expected_logRatio", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + }, + { + "identifier": "markovPathMass_pos", + "qualified_name": "FEP.PathThermodynamics.markovPathMass_pos", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + }, + { + "identifier": "markovReverseMass_pos", + "qualified_name": "FEP.PathThermodynamics.markovReverseMass_pos", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + }, + { + "identifier": "pathwiseEntropyProduction_markov", + "qualified_name": "FEP.PathThermodynamics.pathwiseEntropyProduction_markov", "resolution": "exact or same-namespace source identifier", "role": "proof_reference" } ], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.markov_blanket", - "Mathlib.MeasureTheory.Integral.Bochner.SumMeasure", - "Mathlib.Probability.Independence.Conditional", - "Mathlib.Probability.Kernel.Composition.Comp" + "FepSketches.finite_markov_dynamics", + "FepSketches.variational_duality" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.NativeBlanket", + "namespace": "FEP.PathThermodynamics", "namespace_variable_context": [ - "{Internal Sensory Active External : Type*}\n [Fintype Internal] [Fintype Sensory] [Fintype Active] [Fintype External]\n [MeasurableSpace Internal] [MeasurableSpace Sensory]\n [MeasurableSpace Active] [MeasurableSpace External]\n [DiscreteMeasurableSpace Internal] [DiscreteMeasurableSpace Sensory]\n [DiscreteMeasurableSpace Active] [DiscreteMeasurableSpace External]" + "{Path State : Type*} [Fintype Path] [Fintype State]", + "{S : Type*} [Fintype S]" ], "preceding_scope_directives": [ { "directive": "omit", "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DiscreteMeasurableSpace β] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [MeasurableSpace Internal] [MeasurableSpace Sensory]" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [MeasurableSpace Internal] [MeasurableSpace Sensory]" + "source": "omit [Fintype S] in" } ], - "qualified_name": "FEP.NativeBlanket.prediction_preserves_nativeBlanket", - "source_line": 591, - "source_owner": "src/fep_lean/formal/native_blanket.lean", - "statement": "theorem prediction_preserves_nativeBlanket\n [Nonempty Internal] [Nonempty External]\n (dynamics : Dynamics Internal Sensory Active External)\n (current : DynamicState Internal Sensory Active External) :\n CondIndepFun\n (MeasurableSpace.comap blanketCoordinate inferInstance)\n blanketCoordinate_measurable.comap_le\n internalCoordinate externalCoordinate\n (embeddedLaw (staticJoint (nextStaticModel dynamics current)))", - "statement_sha256": "f6476caaf747155c2538c82fc398879a19740dd507b617516303f77cf2749381" + "qualified_name": "FEP.PathThermodynamics.entropyProduction_markov_decomposition", + "source_line": 650, + "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "statement": "theorem entropyProduction_markov_decomposition\n (kernel reverse : FiniteKernel S S) (initial final : FiniteLaw S)\n (hInitial : ∀ s, 0 < initial s) (hFinal : ∀ s, 0 < final s)\n (hKernel : ∀ a b, 0 < kernel a b) (hReverse : ∀ a b, 0 < reverse a b)\n (n : ℕ) :\n entropyProduction (markovPathProtocol kernel initial reverse final n) =\n (∑ path : Fin (n + 1) → S, markovPathLaw kernel initial n path *\n Real.log (initial (path 0) / final (path (Fin.last n)))) +\n ∑ t : Fin n, ∑ path : Fin (n + 1) → S,\n markovPathLaw kernel initial n path *\n Real.log (kernel (path t.castSucc) (path t.succ) /\n reverse (path t.succ) (path t.castSucc))", + "statement_sha256": "bb71277d2b91d1c09cbd2f654bc9885b7b1b2c558f7fbe32b2e01e9d8d4aaa11" }, - "FEP.NativeBlanket.staticJoint_condIndepFun": { + "FEP.PathThermodynamics.entropyProduction_markov_eq_localAffinity": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Nonempty Internal]", - "type_source": "Nonempty Internal", - "visibility": "instance" + "names": [ + "kernel" + ], + "role": "typed_binder", + "source": "(kernel : FiniteKernel S S)", + "type_source": "FiniteKernel S S", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Nonempty External]", - "type_source": "Nonempty External", - "visibility": "instance" + "names": [ + "law" + ], + "role": "typed_binder", + "source": "(law : FiniteLaw S)", + "type_source": "FiniteLaw S", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "model" + "hLaw" ], "role": "typed_binder", - "source": "(model : StaticModel Internal Sensory Active External)", - "type_source": "StaticModel Internal Sensory Active External", + "source": "(hLaw : ∀ s, 0 < law s)", + "type_source": "∀ s, 0 < law s", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hKernel" + ], + "role": "typed_binder", + "source": "(hKernel : ∀ a b, 0 < kernel a b)", + "type_source": "∀ a b, 0 < kernel a b", "visibility": "explicit" } ], - "conclusion": "CondIndepFun\n (MeasurableSpace.comap blanketCoordinate inferInstance)\n blanketCoordinate_measurable.comap_le\n internalCoordinate externalCoordinate\n (embeddedLaw (staticJoint model))", + "conclusion": "entropyProduction (markovPathProtocol kernel law kernel law 1) =\n ∑ i : S, ∑ j : S, law i * kernel i j * localAffinity law kernel i j", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Internal", - "Sensory", - "Active", - "External" + "Path", + "State" ], "role": "typed_binder", - "source": "{Internal Sensory Active External : Type*}", + "source": "{Path State : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -78651,348 +84810,455 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Internal]", - "type_source": "Fintype Internal", + "source": "[Fintype Path]", + "type_source": "Fintype Path", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Sensory]", - "type_source": "Fintype Sensory", + "source": "[Fintype State]", + "type_source": "Fintype State", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype Active]", - "type_source": "Fintype Active", - "visibility": "instance" + "names": [ + "S" + ], + "role": "typed_binder", + "source": "{S : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype External]", - "type_source": "Fintype External", + "source": "[Fintype S]", + "type_source": "Fintype S", "visibility": "instance" + } + ], + "declaration_mentions": [ + { + "identifier": "entropyProduction_markov_schnakenberg", + "qualified_name": "FEP.PathThermodynamics.entropyProduction_markov_schnakenberg", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + } + ], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.finite_markov_dynamics", + "FepSketches.variational_duality" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.PathThermodynamics", + "namespace_variable_context": [ + "{Path State : Type*} [Fintype Path] [Fintype State]", + "{S : Type*} [Fintype S]" + ], + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Fintype S] in" + } + ], + "qualified_name": "FEP.PathThermodynamics.entropyProduction_markov_eq_localAffinity", + "source_line": 777, + "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "statement": "theorem entropyProduction_markov_eq_localAffinity\n (kernel : FiniteKernel S S) (law : FiniteLaw S)\n (hLaw : ∀ s, 0 < law s) (hKernel : ∀ a b, 0 < kernel a b) :\n entropyProduction (markovPathProtocol kernel law kernel law 1) =\n ∑ i : S, ∑ j : S, law i * kernel i j * localAffinity law kernel i j", + "statement_sha256": "b5544f0d8889b7669fb410a84c242840e22ef36bf1c2b4a015b81ff8deba87d7" + }, + "FEP.PathThermodynamics.entropyProduction_markov_oneStep": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "kernel", + "reverse" + ], + "role": "typed_binder", + "source": "(kernel reverse : FiniteKernel S S)", + "type_source": "FiniteKernel S S", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[MeasurableSpace Internal]", - "type_source": "MeasurableSpace Internal", - "visibility": "instance" + "names": [ + "initial", + "final" + ], + "role": "typed_binder", + "source": "(initial final : FiniteLaw S)", + "type_source": "FiniteLaw S", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[MeasurableSpace Sensory]", - "type_source": "MeasurableSpace Sensory", - "visibility": "instance" + "names": [ + "hInitial" + ], + "role": "typed_binder", + "source": "(hInitial : ∀ s, 0 < initial s)", + "type_source": "∀ s, 0 < initial s", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[MeasurableSpace Active]", - "type_source": "MeasurableSpace Active", - "visibility": "instance" + "names": [ + "hFinal" + ], + "role": "typed_binder", + "source": "(hFinal : ∀ s, 0 < final s)", + "type_source": "∀ s, 0 < final s", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[MeasurableSpace External]", - "type_source": "MeasurableSpace External", - "visibility": "instance" + "names": [ + "hKernel" + ], + "role": "typed_binder", + "source": "(hKernel : ∀ a b, 0 < kernel a b)", + "type_source": "∀ a b, 0 < kernel a b", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace Internal]", - "type_source": "DiscreteMeasurableSpace Internal", - "visibility": "instance" + "names": [ + "hReverse" + ], + "role": "typed_binder", + "source": "(hReverse : ∀ a b, 0 < reverse a b)", + "type_source": "∀ a b, 0 < reverse a b", + "visibility": "explicit" + } + ], + "conclusion": "entropyProduction (markovPathProtocol kernel initial reverse final 1) =\n ∑ i : S, ∑ j : S, initial i * kernel i j *\n Real.log (initial i * kernel i j / (final j * reverse j i))", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "Path", + "State" + ], + "role": "typed_binder", + "source": "{Path State : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace Sensory]", - "type_source": "DiscreteMeasurableSpace Sensory", + "source": "[Fintype Path]", + "type_source": "Fintype Path", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace Active]", - "type_source": "DiscreteMeasurableSpace Active", + "source": "[Fintype State]", + "type_source": "Fintype State", "visibility": "instance" }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "S" + ], + "role": "typed_binder", + "source": "{S : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace External]", - "type_source": "DiscreteMeasurableSpace External", + "source": "[Fintype S]", + "type_source": "Fintype S", "visibility": "instance" } ], "declaration_mentions": [ { - "identifier": "blanketCoordinate_measurable", - "qualified_name": "FEP.NativeBlanket.blanketCoordinate_measurable", + "identifier": "entropyProduction_eq_expected_logRatio", + "qualified_name": "FEP.PathThermodynamics.entropyProduction_eq_expected_logRatio", "resolution": "exact or same-namespace source identifier", "role": "proof_reference" }, { - "identifier": "externalCoordinate_measurable", - "qualified_name": "FEP.NativeBlanket.externalCoordinate_measurable", + "identifier": "markovPathMass_one", + "qualified_name": "FEP.PathThermodynamics.markovPathMass_one", "resolution": "exact or same-namespace source identifier", "role": "proof_reference" }, { - "identifier": "internalCoordinate_measurable", - "qualified_name": "FEP.NativeBlanket.internalCoordinate_measurable", + "identifier": "markovPathMass_pos", + "qualified_name": "FEP.PathThermodynamics.markovPathMass_pos", "resolution": "exact or same-namespace source identifier", "role": "proof_reference" }, { - "identifier": "staticJoint_map_triple_factorization", - "qualified_name": "FEP.NativeBlanket.staticJoint_map_triple_factorization", + "identifier": "markovReverseMass_one", + "qualified_name": "FEP.PathThermodynamics.markovReverseMass_one", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + }, + { + "identifier": "markovReverseMass_pos", + "qualified_name": "FEP.PathThermodynamics.markovReverseMass_pos", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + }, + { + "identifier": "sum_pathTwo", + "qualified_name": "FEP.PathThermodynamics.sum_pathTwo", "resolution": "exact or same-namespace source identifier", "role": "proof_reference" } ], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.markov_blanket", - "Mathlib.MeasureTheory.Integral.Bochner.SumMeasure", - "Mathlib.Probability.Independence.Conditional", - "Mathlib.Probability.Kernel.Composition.Comp" + "FepSketches.finite_markov_dynamics", + "FepSketches.variational_duality" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.NativeBlanket", + "namespace": "FEP.PathThermodynamics", "namespace_variable_context": [ - "{Internal Sensory Active External : Type*}\n [Fintype Internal] [Fintype Sensory] [Fintype Active] [Fintype External]\n [MeasurableSpace Internal] [MeasurableSpace Sensory]\n [MeasurableSpace Active] [MeasurableSpace External]\n [DiscreteMeasurableSpace Internal] [DiscreteMeasurableSpace Sensory]\n [DiscreteMeasurableSpace Active] [DiscreteMeasurableSpace External]" + "{Path State : Type*} [Fintype Path] [Fintype State]", + "{S : Type*} [Fintype S]" ], "preceding_scope_directives": [ { "directive": "omit", "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DiscreteMeasurableSpace β] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [MeasurableSpace Internal] [MeasurableSpace Sensory]" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [MeasurableSpace Internal] [MeasurableSpace Sensory]" + "source": "omit [Fintype S] in" } ], - "qualified_name": "FEP.NativeBlanket.staticJoint_condIndepFun", - "source_line": 521, - "source_owner": "src/fep_lean/formal/native_blanket.lean", - "statement": "theorem staticJoint_condIndepFun\n [Nonempty Internal] [Nonempty External]\n (model : StaticModel Internal Sensory Active External) :\n CondIndepFun\n (MeasurableSpace.comap blanketCoordinate inferInstance)\n blanketCoordinate_measurable.comap_le\n internalCoordinate externalCoordinate\n (embeddedLaw (staticJoint model))", - "statement_sha256": "cedd1a438e8c7c70c54e098ff14e3844321c921b54e2bebe351a111c44c1ae8c" + "qualified_name": "FEP.PathThermodynamics.entropyProduction_markov_oneStep", + "source_line": 695, + "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "statement": "theorem entropyProduction_markov_oneStep\n (kernel reverse : FiniteKernel S S) (initial final : FiniteLaw S)\n (hInitial : ∀ s, 0 < initial s) (hFinal : ∀ s, 0 < final s)\n (hKernel : ∀ a b, 0 < kernel a b) (hReverse : ∀ a b, 0 < reverse a b) :\n entropyProduction (markovPathProtocol kernel initial reverse final 1) =\n ∑ i : S, ∑ j : S, initial i * kernel i j *\n Real.log (initial i * kernel i j / (final j * reverse j i))", + "statement_sha256": "5934d0cf04c8fd5fb946f24101786439062c315aece566aa05ee7fa0a81e0782" }, - "FEP.NativeBlanket.staticJoint_map_blanket": { + "FEP.PathThermodynamics.entropyProduction_markov_oneStep_split": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "model" + "kernel", + "reverse" ], "role": "typed_binder", - "source": "(model : StaticModel Internal Sensory Active External)", - "type_source": "StaticModel Internal Sensory Active External", + "source": "(kernel reverse : FiniteKernel S S)", + "type_source": "FiniteKernel S S", "visibility": "explicit" - } - ], - "conclusion": "(embeddedLaw (staticJoint model)).map blanketCoordinate =\n embeddedLaw model.blanketLaw", - "context_binders": [ - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "Internal", - "Sensory", - "Active", - "External" - ], - "role": "typed_binder", - "source": "{Internal Sensory Active External : Type*}", - "type_source": "Type*", - "visibility": "implicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype Internal]", - "type_source": "Fintype Internal", - "visibility": "instance" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype Sensory]", - "type_source": "Fintype Sensory", - "visibility": "instance" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype Active]", - "type_source": "Fintype Active", - "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype External]", - "type_source": "Fintype External", - "visibility": "instance" + "names": [ + "initial", + "final" + ], + "role": "typed_binder", + "source": "(initial final : FiniteLaw S)", + "type_source": "FiniteLaw S", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[MeasurableSpace Internal]", - "type_source": "MeasurableSpace Internal", - "visibility": "instance" + "names": [ + "hInitial" + ], + "role": "typed_binder", + "source": "(hInitial : ∀ s, 0 < initial s)", + "type_source": "∀ s, 0 < initial s", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[MeasurableSpace Sensory]", - "type_source": "MeasurableSpace Sensory", - "visibility": "instance" + "names": [ + "hFinal" + ], + "role": "typed_binder", + "source": "(hFinal : ∀ s, 0 < final s)", + "type_source": "∀ s, 0 < final s", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[MeasurableSpace Active]", - "type_source": "MeasurableSpace Active", - "visibility": "instance" + "names": [ + "hKernel" + ], + "role": "typed_binder", + "source": "(hKernel : ∀ a b, 0 < kernel a b)", + "type_source": "∀ a b, 0 < kernel a b", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[MeasurableSpace External]", - "type_source": "MeasurableSpace External", - "visibility": "instance" + "names": [ + "hReverse" + ], + "role": "typed_binder", + "source": "(hReverse : ∀ a b, 0 < reverse a b)", + "type_source": "∀ a b, 0 < reverse a b", + "visibility": "explicit" + } + ], + "conclusion": "entropyProduction (markovPathProtocol kernel initial reverse final 1) =\n (∑ i : S, initial i * Real.log (initial i) -\n ∑ j : S, kernel.predictive initial j * Real.log (final j)) +\n ∑ i : S, ∑ j : S, initial i * kernel i j *\n Real.log (kernel i j / reverse j i)", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "Path", + "State" + ], + "role": "typed_binder", + "source": "{Path State : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace Internal]", - "type_source": "DiscreteMeasurableSpace Internal", + "source": "[Fintype Path]", + "type_source": "Fintype Path", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace Sensory]", - "type_source": "DiscreteMeasurableSpace Sensory", + "source": "[Fintype State]", + "type_source": "Fintype State", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace Active]", - "type_source": "DiscreteMeasurableSpace Active", - "visibility": "instance" + "names": [ + "S" + ], + "role": "typed_binder", + "source": "{S : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace External]", - "type_source": "DiscreteMeasurableSpace External", + "source": "[Fintype S]", + "type_source": "Fintype S", "visibility": "instance" } ], - "declaration_mentions": [], + "declaration_mentions": [ + { + "identifier": "entropyProduction_markov_oneStep", + "qualified_name": "FEP.PathThermodynamics.entropyProduction_markov_oneStep", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + } + ], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.markov_blanket", - "Mathlib.MeasureTheory.Integral.Bochner.SumMeasure", - "Mathlib.Probability.Independence.Conditional", - "Mathlib.Probability.Kernel.Composition.Comp" + "FepSketches.finite_markov_dynamics", + "FepSketches.variational_duality" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.NativeBlanket", + "namespace": "FEP.PathThermodynamics", "namespace_variable_context": [ - "{Internal Sensory Active External : Type*}\n [Fintype Internal] [Fintype Sensory] [Fintype Active] [Fintype External]\n [MeasurableSpace Internal] [MeasurableSpace Sensory]\n [MeasurableSpace Active] [MeasurableSpace External]\n [DiscreteMeasurableSpace Internal] [DiscreteMeasurableSpace Sensory]\n [DiscreteMeasurableSpace Active] [DiscreteMeasurableSpace External]" + "{Path State : Type*} [Fintype Path] [Fintype State]", + "{S : Type*} [Fintype S]" ], "preceding_scope_directives": [ { "directive": "omit", "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DiscreteMeasurableSpace β] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [MeasurableSpace Internal] [MeasurableSpace Sensory]" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [MeasurableSpace Internal] [MeasurableSpace Sensory]" + "source": "omit [Fintype S] in" } ], - "qualified_name": "FEP.NativeBlanket.staticJoint_map_blanket", - "source_line": 387, - "source_owner": "src/fep_lean/formal/native_blanket.lean", - "statement": "theorem staticJoint_map_blanket\n (model : StaticModel Internal Sensory Active External) :\n (embeddedLaw (staticJoint model)).map blanketCoordinate =\n embeddedLaw model.blanketLaw", - "statement_sha256": "06ffc7f6f303ef6f40e23ef9499e985daffad3fa918621fb66a65eee55368c0d" + "qualified_name": "FEP.PathThermodynamics.entropyProduction_markov_oneStep_split", + "source_line": 719, + "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "statement": "theorem entropyProduction_markov_oneStep_split\n (kernel reverse : FiniteKernel S S) (initial final : FiniteLaw S)\n (hInitial : ∀ s, 0 < initial s) (hFinal : ∀ s, 0 < final s)\n (hKernel : ∀ a b, 0 < kernel a b) (hReverse : ∀ a b, 0 < reverse a b) :\n entropyProduction (markovPathProtocol kernel initial reverse final 1) =\n (∑ i : S, initial i * Real.log (initial i) -\n ∑ j : S, kernel.predictive initial j * Real.log (final j)) +\n ∑ i : S, ∑ j : S, initial i * kernel i j *\n Real.log (kernel i j / reverse j i)", + "statement_sha256": "184bb9480de26ec3d3533ed416bab48d49764ffb4fd681058b4d3759cd372711" }, - "FEP.NativeBlanket.staticJoint_map_blanket_external": { + "FEP.PathThermodynamics.entropyProduction_markov_reversedKernel_zero": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "model" + "law" ], "role": "typed_binder", - "source": "(model : StaticModel Internal Sensory Active External)", - "type_source": "StaticModel Internal Sensory Active External", + "source": "(law : FiniteLaw S)", + "type_source": "FiniteLaw S", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "kernel" + ], + "role": "typed_binder", + "source": "(kernel : FiniteKernel S S)", + "type_source": "FiniteKernel S S", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hLaw" + ], + "role": "typed_binder", + "source": "(hLaw : ∀ s, 0 < law s)", + "type_source": "∀ s, 0 < law s", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hInvariant" + ], + "role": "typed_binder", + "source": "(hInvariant : IsInvariant law kernel)", + "type_source": "IsInvariant law kernel", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "n" + ], + "role": "typed_binder", + "source": "(n : ℕ)", + "type_source": "ℕ", "visibility": "explicit" } ], - "conclusion": "(embeddedLaw (staticJoint model)).map\n (fun state => (blanketCoordinate state, externalCoordinate state)) =\n (embeddedLaw (staticJoint model)).map blanketCoordinate ⊗ₘ\n embeddedKernel model.externalGiven", + "conclusion": "entropyProduction (markovPathProtocol kernel law\n (reversedKernel law kernel hLaw hInvariant) law n) = 0", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Internal", - "Sensory", - "Active", - "External" + "Path", + "State" ], "role": "typed_binder", - "source": "{Internal Sensory Active External : Type*}", + "source": "{Path State : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -79000,180 +85266,253 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Internal]", - "type_source": "Fintype Internal", + "source": "[Fintype Path]", + "type_source": "Fintype Path", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Sensory]", - "type_source": "Fintype Sensory", + "source": "[Fintype State]", + "type_source": "Fintype State", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype Active]", - "type_source": "Fintype Active", - "visibility": "instance" + "names": [ + "S" + ], + "role": "typed_binder", + "source": "{S : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype External]", - "type_source": "Fintype External", + "source": "[Fintype S]", + "type_source": "Fintype S", "visibility": "instance" + } + ], + "declaration_mentions": [ + { + "candidates": [ + "FEP.FiniteInformation.finiteKL_self" + ], + "identifier": "finiteKL_self", + "resolution": "unresolved lexical scope", + "role": "proof_reference" }, + { + "identifier": "markovReversePathLaw_reversedKernel", + "qualified_name": "FEP.PathThermodynamics.markovReversePathLaw_reversedKernel", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + } + ], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.finite_markov_dynamics", + "FepSketches.variational_duality" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.PathThermodynamics", + "namespace_variable_context": [ + "{Path State : Type*} [Fintype Path] [Fintype State]", + "{S : Type*} [Fintype S]" + ], + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Fintype S] in" + } + ], + "qualified_name": "FEP.PathThermodynamics.entropyProduction_markov_reversedKernel_zero", + "source_line": 920, + "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "statement": "theorem entropyProduction_markov_reversedKernel_zero (law : FiniteLaw S)\n (kernel : FiniteKernel S S) (hLaw : ∀ s, 0 < law s)\n (hInvariant : IsInvariant law kernel) (n : ℕ) :\n entropyProduction (markovPathProtocol kernel law\n (reversedKernel law kernel hLaw hInvariant) law n) = 0", + "statement_sha256": "89ca3d8a0bbc5fb352d8d0b4294d02b54e57a90d09bdd25366ceae54b15167c6" + }, + "FEP.PathThermodynamics.entropyProduction_markov_reversible_zero": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[MeasurableSpace Internal]", - "type_source": "MeasurableSpace Internal", - "visibility": "instance" + "names": [ + "kernel" + ], + "role": "typed_binder", + "source": "(kernel : FiniteKernel S S)", + "type_source": "FiniteKernel S S", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[MeasurableSpace Sensory]", - "type_source": "MeasurableSpace Sensory", - "visibility": "instance" + "names": [ + "law" + ], + "role": "typed_binder", + "source": "(law : FiniteLaw S)", + "type_source": "FiniteLaw S", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[MeasurableSpace Active]", - "type_source": "MeasurableSpace Active", - "visibility": "instance" - }, + "names": [ + "hReversible" + ], + "role": "typed_binder", + "source": "(hReversible : IsReversible law kernel)", + "type_source": "IsReversible law kernel", + "visibility": "explicit" + } + ], + "conclusion": "entropyProduction (markovPathProtocol kernel law kernel law 1) = 0", + "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[MeasurableSpace External]", - "type_source": "MeasurableSpace External", - "visibility": "instance" + "names": [ + "Path", + "State" + ], + "role": "typed_binder", + "source": "{Path State : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace Internal]", - "type_source": "DiscreteMeasurableSpace Internal", + "source": "[Fintype Path]", + "type_source": "Fintype Path", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace Sensory]", - "type_source": "DiscreteMeasurableSpace Sensory", + "source": "[Fintype State]", + "type_source": "Fintype State", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace Active]", - "type_source": "DiscreteMeasurableSpace Active", - "visibility": "instance" + "names": [ + "S" + ], + "role": "typed_binder", + "source": "{S : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace External]", - "type_source": "DiscreteMeasurableSpace External", + "source": "[Fintype S]", + "type_source": "Fintype S", "visibility": "instance" } ], "declaration_mentions": [ { - "identifier": "embeddedLaw_joint_eq_compProd", - "qualified_name": "FEP.NativeBlanket.embeddedLaw_joint_eq_compProd", - "resolution": "exact or same-namespace source identifier", - "role": "proof_reference" - }, - { - "identifier": "embeddedLaw_map", - "qualified_name": "FEP.NativeBlanket.embeddedLaw_map", - "resolution": "exact or same-namespace source identifier", + "candidates": [ + "FEP.FiniteInformation.finiteKL_self" + ], + "identifier": "finiteKL_self", + "resolution": "unresolved lexical scope", "role": "proof_reference" }, { - "identifier": "staticJoint_map_blanket", - "qualified_name": "FEP.NativeBlanket.staticJoint_map_blanket", + "identifier": "markovPathLaw_eq_reverse_of_reversible", + "qualified_name": "FEP.PathThermodynamics.markovPathLaw_eq_reverse_of_reversible", "resolution": "exact or same-namespace source identifier", "role": "proof_reference" } ], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.markov_blanket", - "Mathlib.MeasureTheory.Integral.Bochner.SumMeasure", - "Mathlib.Probability.Independence.Conditional", - "Mathlib.Probability.Kernel.Composition.Comp" + "FepSketches.finite_markov_dynamics", + "FepSketches.variational_duality" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.NativeBlanket", + "namespace": "FEP.PathThermodynamics", "namespace_variable_context": [ - "{Internal Sensory Active External : Type*}\n [Fintype Internal] [Fintype Sensory] [Fintype Active] [Fintype External]\n [MeasurableSpace Internal] [MeasurableSpace Sensory]\n [MeasurableSpace Active] [MeasurableSpace External]\n [DiscreteMeasurableSpace Internal] [DiscreteMeasurableSpace Sensory]\n [DiscreteMeasurableSpace Active] [DiscreteMeasurableSpace External]" + "{Path State : Type*} [Fintype Path] [Fintype State]", + "{S : Type*} [Fintype S]" ], "preceding_scope_directives": [ { "directive": "omit", "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DiscreteMeasurableSpace β] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [MeasurableSpace Internal] [MeasurableSpace Sensory]" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [MeasurableSpace Internal] [MeasurableSpace Sensory]" + "source": "omit [Fintype S] in" } ], - "qualified_name": "FEP.NativeBlanket.staticJoint_map_blanket_external", - "source_line": 414, - "source_owner": "src/fep_lean/formal/native_blanket.lean", - "statement": "theorem staticJoint_map_blanket_external\n (model : StaticModel Internal Sensory Active External) :\n (embeddedLaw (staticJoint model)).map\n (fun state => (blanketCoordinate state, externalCoordinate state)) =\n (embeddedLaw (staticJoint model)).map blanketCoordinate ⊗ₘ\n embeddedKernel model.externalGiven", - "statement_sha256": "630209d62ba7b7cda7130769db3402b6787c26c4ac81d405f3ceffee35d4c7dd" + "qualified_name": "FEP.PathThermodynamics.entropyProduction_markov_reversible_zero", + "source_line": 811, + "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "statement": "theorem entropyProduction_markov_reversible_zero\n (kernel : FiniteKernel S S) (law : FiniteLaw S)\n (hReversible : IsReversible law kernel) :\n entropyProduction (markovPathProtocol kernel law kernel law 1) = 0", + "statement_sha256": "b90cf45fe89f132bb020bcd6d3b2a3e22977d686351b2ea5a163ec35757475fd" }, - "FEP.NativeBlanket.staticJoint_map_blanket_internal": { + "FEP.PathThermodynamics.entropyProduction_markov_schnakenberg": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "model" + "kernel" ], "role": "typed_binder", - "source": "(model : StaticModel Internal Sensory Active External)", - "type_source": "StaticModel Internal Sensory Active External", + "source": "(kernel : FiniteKernel S S)", + "type_source": "FiniteKernel S S", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "law" + ], + "role": "typed_binder", + "source": "(law : FiniteLaw S)", + "type_source": "FiniteLaw S", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hLaw" + ], + "role": "typed_binder", + "source": "(hLaw : ∀ s, 0 < law s)", + "type_source": "∀ s, 0 < law s", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hKernel" + ], + "role": "typed_binder", + "source": "(hKernel : ∀ a b, 0 < kernel a b)", + "type_source": "∀ a b, 0 < kernel a b", "visibility": "explicit" } ], - "conclusion": "(embeddedLaw (staticJoint model)).map\n (fun state => (blanketCoordinate state, internalCoordinate state)) =\n (embeddedLaw (staticJoint model)).map blanketCoordinate ⊗ₘ\n embeddedKernel model.internalGiven", + "conclusion": "entropyProduction (markovPathProtocol kernel law kernel law 1) =\n ∑ i : S, ∑ j : S, law i * kernel i j *\n Real.log (law i * kernel i j / (law j * kernel j i))", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Internal", - "Sensory", - "Active", - "External" + "Path", + "State" ], "role": "typed_binder", - "source": "{Internal Sensory Active External : Type*}", + "source": "{Path State : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -79181,168 +85520,227 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Internal]", - "type_source": "Fintype Internal", + "source": "[Fintype Path]", + "type_source": "Fintype Path", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Sensory]", - "type_source": "Fintype Sensory", + "source": "[Fintype State]", + "type_source": "Fintype State", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype Active]", - "type_source": "Fintype Active", - "visibility": "instance" + "names": [ + "S" + ], + "role": "typed_binder", + "source": "{S : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype External]", - "type_source": "Fintype External", + "source": "[Fintype S]", + "type_source": "Fintype S", "visibility": "instance" + } + ], + "declaration_mentions": [ + { + "identifier": "entropyProduction_markov_oneStep", + "qualified_name": "FEP.PathThermodynamics.entropyProduction_markov_oneStep", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + } + ], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.finite_markov_dynamics", + "FepSketches.variational_duality" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.PathThermodynamics", + "namespace_variable_context": [ + "{Path State : Type*} [Fintype Path] [Fintype State]", + "{S : Type*} [Fintype S]" + ], + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Fintype S] in" + } + ], + "qualified_name": "FEP.PathThermodynamics.entropyProduction_markov_schnakenberg", + "source_line": 767, + "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "statement": "theorem entropyProduction_markov_schnakenberg\n (kernel : FiniteKernel S S) (law : FiniteLaw S)\n (hLaw : ∀ s, 0 < law s) (hKernel : ∀ a b, 0 < kernel a b) :\n entropyProduction (markovPathProtocol kernel law kernel law 1) =\n ∑ i : S, ∑ j : S, law i * kernel i j *\n Real.log (law i * kernel i j / (law j * kernel j i))", + "statement_sha256": "8ac9f521c2c1c70dbe11f08578102278a9fa4bf7be83d998791f4c27e00f2ae5" + }, + "FEP.PathThermodynamics.entropyProduction_markov_stationary": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "kernel" + ], + "role": "typed_binder", + "source": "(kernel : FiniteKernel S S)", + "type_source": "FiniteKernel S S", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[MeasurableSpace Internal]", - "type_source": "MeasurableSpace Internal", - "visibility": "instance" + "names": [ + "law" + ], + "role": "typed_binder", + "source": "(law : FiniteLaw S)", + "type_source": "FiniteLaw S", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[MeasurableSpace Sensory]", - "type_source": "MeasurableSpace Sensory", - "visibility": "instance" + "names": [ + "hLaw" + ], + "role": "typed_binder", + "source": "(hLaw : ∀ s, 0 < law s)", + "type_source": "∀ s, 0 < law s", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[MeasurableSpace Active]", - "type_source": "MeasurableSpace Active", - "visibility": "instance" + "names": [ + "hKernel" + ], + "role": "typed_binder", + "source": "(hKernel : ∀ a b, 0 < kernel a b)", + "type_source": "∀ a b, 0 < kernel a b", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[MeasurableSpace External]", - "type_source": "MeasurableSpace External", - "visibility": "instance" + "names": [ + "hInvariant" + ], + "role": "typed_binder", + "source": "(hInvariant : IsInvariant law kernel)", + "type_source": "IsInvariant law kernel", + "visibility": "explicit" + } + ], + "conclusion": "entropyProduction (markovPathProtocol kernel law kernel law 1) =\n ∑ i : S, ∑ j : S, law i * kernel i j *\n Real.log (kernel i j / kernel j i)", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "Path", + "State" + ], + "role": "typed_binder", + "source": "{Path State : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace Internal]", - "type_source": "DiscreteMeasurableSpace Internal", + "source": "[Fintype Path]", + "type_source": "Fintype Path", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace Sensory]", - "type_source": "DiscreteMeasurableSpace Sensory", + "source": "[Fintype State]", + "type_source": "Fintype State", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace Active]", - "type_source": "DiscreteMeasurableSpace Active", - "visibility": "instance" + "names": [ + "S" + ], + "role": "typed_binder", + "source": "{S : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace External]", - "type_source": "DiscreteMeasurableSpace External", + "source": "[Fintype S]", + "type_source": "Fintype S", "visibility": "instance" } ], "declaration_mentions": [ { - "identifier": "staticJoint_map_blanket", - "qualified_name": "FEP.NativeBlanket.staticJoint_map_blanket", + "identifier": "entropyProduction_markov_oneStep_split", + "qualified_name": "FEP.PathThermodynamics.entropyProduction_markov_oneStep_split", "resolution": "exact or same-namespace source identifier", "role": "proof_reference" } ], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.markov_blanket", - "Mathlib.MeasureTheory.Integral.Bochner.SumMeasure", - "Mathlib.Probability.Independence.Conditional", - "Mathlib.Probability.Kernel.Composition.Comp" + "FepSketches.finite_markov_dynamics", + "FepSketches.variational_duality" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.NativeBlanket", + "namespace": "FEP.PathThermodynamics", "namespace_variable_context": [ - "{Internal Sensory Active External : Type*}\n [Fintype Internal] [Fintype Sensory] [Fintype Active] [Fintype External]\n [MeasurableSpace Internal] [MeasurableSpace Sensory]\n [MeasurableSpace Active] [MeasurableSpace External]\n [DiscreteMeasurableSpace Internal] [DiscreteMeasurableSpace Sensory]\n [DiscreteMeasurableSpace Active] [DiscreteMeasurableSpace External]" + "{Path State : Type*} [Fintype Path] [Fintype State]", + "{S : Type*} [Fintype S]" ], "preceding_scope_directives": [ { "directive": "omit", "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DiscreteMeasurableSpace β] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [MeasurableSpace Internal] [MeasurableSpace Sensory]" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [MeasurableSpace Internal] [MeasurableSpace Sensory]" + "source": "omit [Fintype S] in" } ], - "qualified_name": "FEP.NativeBlanket.staticJoint_map_blanket_internal", - "source_line": 404, - "source_owner": "src/fep_lean/formal/native_blanket.lean", - "statement": "theorem staticJoint_map_blanket_internal\n (model : StaticModel Internal Sensory Active External) :\n (embeddedLaw (staticJoint model)).map\n (fun state => (blanketCoordinate state, internalCoordinate state)) =\n (embeddedLaw (staticJoint model)).map blanketCoordinate ⊗ₘ\n embeddedKernel model.internalGiven", - "statement_sha256": "b6fd98539ad6b1f9e582b33068959a55a08d8d460556d2f3b1dd8ec1189067b1" + "qualified_name": "FEP.PathThermodynamics.entropyProduction_markov_stationary", + "source_line": 786, + "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "statement": "theorem entropyProduction_markov_stationary\n (kernel : FiniteKernel S S) (law : FiniteLaw S)\n (hLaw : ∀ s, 0 < law s) (hKernel : ∀ a b, 0 < kernel a b)\n (hInvariant : IsInvariant law kernel) :\n entropyProduction (markovPathProtocol kernel law kernel law 1) =\n ∑ i : S, ∑ j : S, law i * kernel i j *\n Real.log (kernel i j / kernel j i)", + "statement_sha256": "6959367d82123275b33bcaf9f72a983f38602327be58830f310452c7183b77d4" }, - "FEP.NativeBlanket.staticJoint_map_triple_factorization": { + "FEP.PathThermodynamics.entropyProduction_nonneg": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "model" + "protocol" ], "role": "typed_binder", - "source": "(model : StaticModel Internal Sensory Active External)", - "type_source": "StaticModel Internal Sensory Active External", + "source": "(protocol : FinitePathProtocol Path)", + "type_source": "FinitePathProtocol Path", "visibility": "explicit" } ], - "conclusion": "(embeddedLaw (staticJoint model)).map blanketTripleCoordinate =\n (embeddedLaw (staticJoint model)).map blanketCoordinate ⊗ₘ\n (embeddedKernel model.internalGiven ×ₖ\n embeddedKernel model.externalGiven)", + "conclusion": "0 ≤ entropyProduction protocol", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Internal", - "Sensory", - "Active", - "External" + "Path", + "State" ], "role": "typed_binder", - "source": "{Internal Sensory Active External : Type*}", + "source": "{Path State : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -79350,216 +85748,300 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Internal]", - "type_source": "Fintype Internal", + "source": "[Fintype Path]", + "type_source": "Fintype Path", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Sensory]", - "type_source": "Fintype Sensory", + "source": "[Fintype State]", + "type_source": "Fintype State", "visibility": "instance" + } + ], + "declaration_mentions": [ + { + "candidates": [ + "FEP.FiniteInformation.finiteKL_nonneg" + ], + "identifier": "finiteKL_nonneg", + "resolution": "unresolved lexical scope", + "role": "proof_reference" + } + ], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.finite_markov_dynamics", + "FepSketches.variational_duality" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.PathThermodynamics", + "namespace_variable_context": [ + "{Path State : Type*} [Fintype Path] [Fintype State]" + ], + "preceding_scope_directives": [], + "qualified_name": "FEP.PathThermodynamics.entropyProduction_nonneg", + "source_line": 82, + "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "statement": "theorem entropyProduction_nonneg (protocol : FinitePathProtocol Path) :\n 0 ≤ entropyProduction protocol", + "statement_sha256": "f69aa684772cdf23bed79c5a8f32d119b1cd71e86470497ef26942a95228e457" + }, + "FEP.PathThermodynamics.finiteJarzynski_eq": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "law" + ], + "role": "typed_binder", + "source": "(law : FiniteLaw Path)", + "type_source": "FiniteLaw Path", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype Active]", - "type_source": "Fintype Active", - "visibility": "instance" + "names": [ + "beta", + "deltaFreeEnergy" + ], + "role": "typed_binder", + "source": "(beta deltaFreeEnergy : ℝ)", + "type_source": "ℝ", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype External]", - "type_source": "Fintype External", - "visibility": "instance" + "names": [ + "work" + ], + "role": "typed_binder", + "source": "(work : Path → ℝ)", + "type_source": "Path → ℝ", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[MeasurableSpace Internal]", - "type_source": "MeasurableSpace Internal", - "visibility": "instance" + "names": [ + "hNormalization" + ], + "role": "typed_binder", + "source": "(hNormalization :\n HasJarzynskiNormalization law beta deltaFreeEnergy work)", + "type_source": "HasJarzynskiNormalization law beta deltaFreeEnergy work", + "visibility": "explicit" + } + ], + "conclusion": "exponentialWorkAverage law beta work =\n Real.exp (-beta * deltaFreeEnergy)", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "Path", + "State" + ], + "role": "typed_binder", + "source": "{Path State : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[MeasurableSpace Sensory]", - "type_source": "MeasurableSpace Sensory", + "source": "[Fintype Path]", + "type_source": "Fintype Path", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[MeasurableSpace Active]", - "type_source": "MeasurableSpace Active", + "source": "[Fintype State]", + "type_source": "Fintype State", "visibility": "instance" + } + ], + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.finite_markov_dynamics", + "FepSketches.variational_duality" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.PathThermodynamics", + "namespace_variable_context": [ + "{Path State : Type*} [Fintype Path] [Fintype State]" + ], + "preceding_scope_directives": [], + "qualified_name": "FEP.PathThermodynamics.finiteJarzynski_eq", + "source_line": 179, + "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "statement": "theorem finiteJarzynski_eq\n (law : FiniteLaw Path) (beta deltaFreeEnergy : ℝ)\n (work : Path → ℝ)\n (hNormalization :\n HasJarzynskiNormalization law beta deltaFreeEnergy work) :\n exponentialWorkAverage law beta work =\n Real.exp (-beta * deltaFreeEnergy)", + "statement_sha256": "a71655539a8fe7a95ee1cc965794d05302b8873cddb46b61abb1a771e6dc391f" + }, + "FEP.PathThermodynamics.finiteJarzynski_of_crooks": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "protocol" + ], + "role": "typed_binder", + "source": "(protocol : FinitePathProtocol Path)", + "type_source": "FinitePathProtocol Path", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[MeasurableSpace External]", - "type_source": "MeasurableSpace External", - "visibility": "instance" + "names": [ + "beta", + "deltaFreeEnergy" + ], + "role": "typed_binder", + "source": "(beta deltaFreeEnergy : ℝ)", + "type_source": "ℝ", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace Internal]", - "type_source": "DiscreteMeasurableSpace Internal", - "visibility": "instance" + "names": [ + "work" + ], + "role": "typed_binder", + "source": "(work : Path → ℝ)", + "type_source": "Path → ℝ", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace Sensory]", - "type_source": "DiscreteMeasurableSpace Sensory", - "visibility": "instance" + "names": [ + "hCrooks" + ], + "role": "typed_binder", + "source": "(hCrooks : HasCrooksRelation protocol beta deltaFreeEnergy work)", + "type_source": "HasCrooksRelation protocol beta deltaFreeEnergy work", + "visibility": "explicit" + } + ], + "conclusion": "exponentialWorkAverage protocol.forward beta work =\n Real.exp (-beta * deltaFreeEnergy)", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "Path", + "State" + ], + "role": "typed_binder", + "source": "{Path State : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace Active]", - "type_source": "DiscreteMeasurableSpace Active", + "source": "[Fintype Path]", + "type_source": "Fintype Path", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace External]", - "type_source": "DiscreteMeasurableSpace External", + "source": "[Fintype State]", + "type_source": "Fintype State", "visibility": "instance" } ], "declaration_mentions": [ { - "identifier": "embeddedConditionalPairKernel_eq_prod", - "qualified_name": "FEP.NativeBlanket.embeddedConditionalPairKernel_eq_prod", - "resolution": "exact or same-namespace source identifier", - "role": "proof_reference" - }, - { - "identifier": "embeddedLaw_joint_eq_compProd", - "qualified_name": "FEP.NativeBlanket.embeddedLaw_joint_eq_compProd", - "resolution": "exact or same-namespace source identifier", - "role": "proof_reference" - }, - { - "identifier": "embeddedLaw_map", - "qualified_name": "FEP.NativeBlanket.embeddedLaw_map", + "identifier": "finiteJarzynski_eq", + "qualified_name": "FEP.PathThermodynamics.finiteJarzynski_eq", "resolution": "exact or same-namespace source identifier", "role": "proof_reference" }, { - "identifier": "staticJoint_map_blanket", - "qualified_name": "FEP.NativeBlanket.staticJoint_map_blanket", + "identifier": "hasJarzynskiNormalization_of_crooks", + "qualified_name": "FEP.PathThermodynamics.hasJarzynskiNormalization_of_crooks", "resolution": "exact or same-namespace source identifier", "role": "proof_reference" } ], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.markov_blanket", - "Mathlib.MeasureTheory.Integral.Bochner.SumMeasure", - "Mathlib.Probability.Independence.Conditional", - "Mathlib.Probability.Kernel.Composition.Comp" + "FepSketches.finite_markov_dynamics", + "FepSketches.variational_duality" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.NativeBlanket", + "namespace": "FEP.PathThermodynamics", "namespace_variable_context": [ - "{Internal Sensory Active External : Type*}\n [Fintype Internal] [Fintype Sensory] [Fintype Active] [Fintype External]\n [MeasurableSpace Internal] [MeasurableSpace Sensory]\n [MeasurableSpace Active] [MeasurableSpace External]\n [DiscreteMeasurableSpace Internal] [DiscreteMeasurableSpace Sensory]\n [DiscreteMeasurableSpace Active] [DiscreteMeasurableSpace External]" - ], - "preceding_scope_directives": [ - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DiscreteMeasurableSpace β] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [MeasurableSpace Internal] [MeasurableSpace Sensory]" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [MeasurableSpace Internal] [MeasurableSpace Sensory]" - } + "{Path State : Type*} [Fintype Path] [Fintype State]" ], - "qualified_name": "FEP.NativeBlanket.staticJoint_map_triple_factorization", - "source_line": 440, - "source_owner": "src/fep_lean/formal/native_blanket.lean", - "statement": "theorem staticJoint_map_triple_factorization\n (model : StaticModel Internal Sensory Active External) :\n (embeddedLaw (staticJoint model)).map blanketTripleCoordinate =\n (embeddedLaw (staticJoint model)).map blanketCoordinate ⊗ₘ\n (embeddedKernel model.internalGiven ×ₖ\n embeddedKernel model.externalGiven)", - "statement_sha256": "7adba43e42476c62aa650cae6bf875e985860169b4ee984c8c063ab0d1e490b8" + "preceding_scope_directives": [], + "qualified_name": "FEP.PathThermodynamics.finiteJarzynski_of_crooks", + "source_line": 257, + "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "statement": "theorem finiteJarzynski_of_crooks\n (protocol : FinitePathProtocol Path) (beta deltaFreeEnergy : ℝ)\n (work : Path → ℝ)\n (hCrooks : HasCrooksRelation protocol beta deltaFreeEnergy work) :\n exponentialWorkAverage protocol.forward beta work =\n Real.exp (-beta * deltaFreeEnergy)", + "statement_sha256": "6c6dc7947b45ea2292c0dc3dc611835a2ca328afc723eb40739ebcd26602ff40" }, - "FEP.NativeBlanket.staticJoint_rectangle_factorization": { + "FEP.PathThermodynamics.hasJarzynskiNormalization_of_crooks": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "model" + "protocol" ], "role": "typed_binder", - "source": "(model : StaticModel Internal Sensory Active External)", - "type_source": "StaticModel Internal Sensory Active External", + "source": "(protocol : FinitePathProtocol Path)", + "type_source": "FinitePathProtocol Path", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "blanket" + "beta", + "deltaFreeEnergy" ], "role": "typed_binder", - "source": "(blanket : Blanket Sensory Active)", - "type_source": "Blanket Sensory Active", + "source": "(beta deltaFreeEnergy : ℝ)", + "type_source": "ℝ", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "internal" + "work" ], "role": "typed_binder", - "source": "(internal : Internal)", - "type_source": "Internal", + "source": "(work : Path → ℝ)", + "type_source": "Path → ℝ", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "external" + "hCrooks" ], "role": "typed_binder", - "source": "(external : External)", - "type_source": "External", + "source": "(hCrooks : HasCrooksRelation protocol beta deltaFreeEnergy work)", + "type_source": "HasCrooksRelation protocol beta deltaFreeEnergy work", "visibility": "explicit" } ], - "conclusion": "embeddedLaw (staticJoint model)\n (blanketCoordinate ⁻¹' {blanket} ∩\n internalCoordinate ⁻¹' {internal} ∩\n externalCoordinate ⁻¹' {external}) =\n ENNReal.ofReal (model.blanketLaw blanket) *\n ENNReal.ofReal (model.internalGiven blanket internal) *\n ENNReal.ofReal (model.externalGiven blanket external)", + "conclusion": "HasJarzynskiNormalization protocol.forward beta deltaFreeEnergy work", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Internal", - "Sensory", - "Active", - "External" + "Path", + "State" ], "role": "typed_binder", - "source": "{Internal Sensory Active External : Type*}", + "source": "{Path State : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -79567,659 +86049,940 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Internal]", - "type_source": "Fintype Internal", + "source": "[Fintype Path]", + "type_source": "Fintype Path", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Sensory]", - "type_source": "Fintype Sensory", + "source": "[Fintype State]", + "type_source": "Fintype State", "visibility": "instance" - }, + } + ], + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.finite_markov_dynamics", + "FepSketches.variational_duality" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.PathThermodynamics", + "namespace_variable_context": [ + "{Path State : Type*} [Fintype Path] [Fintype State]" + ], + "preceding_scope_directives": [], + "qualified_name": "FEP.PathThermodynamics.hasJarzynskiNormalization_of_crooks", + "source_line": 237, + "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "statement": "theorem hasJarzynskiNormalization_of_crooks\n (protocol : FinitePathProtocol Path) (beta deltaFreeEnergy : ℝ)\n (work : Path → ℝ)\n (hCrooks : HasCrooksRelation protocol beta deltaFreeEnergy work) :\n HasJarzynskiNormalization protocol.forward beta deltaFreeEnergy work", + "statement_sha256": "27b3125171284c1c3b54c9d86eac281fe4d4c34faef5bcd7944cfd9101ca9dee" + }, + "FEP.PathThermodynamics.identityKernel_KL_equality": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Active]", - "type_source": "Fintype Active", + "source": "[DecidableEq State]", + "type_source": "DecidableEq State", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype External]", - "type_source": "Fintype External", - "visibility": "instance" + "names": [ + "actual", + "stationary" + ], + "role": "typed_binder", + "source": "(actual stationary : FiniteLaw State)", + "type_source": "FiniteLaw State", + "visibility": "explicit" + } + ], + "conclusion": "finiteKL\n ((FiniteKernel.identity : FiniteKernel State State).predictive actual)\n stationary = finiteKL actual stationary", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "Path", + "State" + ], + "role": "typed_binder", + "source": "{Path State : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[MeasurableSpace Internal]", - "type_source": "MeasurableSpace Internal", + "source": "[Fintype Path]", + "type_source": "Fintype Path", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[MeasurableSpace Sensory]", - "type_source": "MeasurableSpace Sensory", + "source": "[Fintype State]", + "type_source": "Fintype State", "visibility": "instance" + } + ], + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.finite_markov_dynamics", + "FepSketches.variational_duality" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.PathThermodynamics", + "namespace_variable_context": [ + "{Path State : Type*} [Fintype Path] [Fintype State]" + ], + "preceding_scope_directives": [], + "qualified_name": "FEP.PathThermodynamics.identityKernel_KL_equality", + "source_line": 366, + "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "statement": "theorem identityKernel_KL_equality [DecidableEq State]\n (actual stationary : FiniteLaw State) :\n finiteKL\n ((FiniteKernel.identity : FiniteKernel State State).predictive actual)\n stationary = finiteKL actual stationary", + "statement_sha256": "9c2e278d3a9400d79984636af95b1198d4c6c897c64ea4164bda3799f0fe4c49" + }, + "FEP.PathThermodynamics.integralFluctuation_eq_one": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "protocol" + ], + "role": "typed_binder", + "source": "(protocol : FinitePathProtocol Path)", + "type_source": "FinitePathProtocol Path", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hForward" + ], + "role": "typed_binder", + "source": "(hForward : ∀ path, 0 < protocol.forward path)", + "type_source": "∀ path, 0 < protocol.forward path", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hReverse" + ], + "role": "typed_binder", + "source": "(hReverse : ∀ path, 0 < protocol.reverseAligned path)", + "type_source": "∀ path, 0 < protocol.reverseAligned path", + "visibility": "explicit" + } + ], + "conclusion": "∑ path, protocol.forward path *\n Real.exp (-pathwiseEntropyProduction protocol path) = 1", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "Path", + "State" + ], + "role": "typed_binder", + "source": "{Path State : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[MeasurableSpace Active]", - "type_source": "MeasurableSpace Active", + "source": "[Fintype Path]", + "type_source": "Fintype Path", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[MeasurableSpace External]", - "type_source": "MeasurableSpace External", + "source": "[Fintype State]", + "type_source": "Fintype State", "visibility": "instance" + } + ], + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.finite_markov_dynamics", + "FepSketches.variational_duality" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.PathThermodynamics", + "namespace_variable_context": [ + "{Path State : Type*} [Fintype Path] [Fintype State]" + ], + "preceding_scope_directives": [], + "qualified_name": "FEP.PathThermodynamics.integralFluctuation_eq_one", + "source_line": 120, + "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "statement": "theorem integralFluctuation_eq_one\n (protocol : FinitePathProtocol Path)\n (hForward : ∀ path, 0 < protocol.forward path)\n (hReverse : ∀ path, 0 < protocol.reverseAligned path) :\n ∑ path, protocol.forward path *\n Real.exp (-pathwiseEntropyProduction protocol path) = 1", + "statement_sha256": "fcf7ad08f02d4e7bb47ff7c30904e1d8b06496d8b534f0cb23de9777f271e6f0" + }, + "FEP.PathThermodynamics.irreversibleBool_crooks": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [], + "conclusion": "HasCrooksRelation irreversibleBoolProtocol 1 0 irreversibleCrooksWork", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "Path", + "State" + ], + "role": "typed_binder", + "source": "{Path State : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace Internal]", - "type_source": "DiscreteMeasurableSpace Internal", + "source": "[Fintype Path]", + "type_source": "Fintype Path", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace Sensory]", - "type_source": "DiscreteMeasurableSpace Sensory", + "source": "[Fintype State]", + "type_source": "Fintype State", "visibility": "instance" + } + ], + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.finite_markov_dynamics", + "FepSketches.variational_duality" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.PathThermodynamics", + "namespace_variable_context": [ + "{Path State : Type*} [Fintype Path] [Fintype State]" + ], + "preceding_scope_directives": [], + "qualified_name": "FEP.PathThermodynamics.irreversibleBool_crooks", + "source_line": 420, + "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "statement": "theorem irreversibleBool_crooks :\n HasCrooksRelation irreversibleBoolProtocol 1 0 irreversibleCrooksWork", + "statement_sha256": "bc974c07abce87e801c11a33f64dcce666e2283d2c3e68c7bad1686b81ccb63a" + }, + "FEP.PathThermodynamics.irreversibleBool_entropyProduction_pos": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [], + "conclusion": "0 < entropyProduction irreversibleBoolProtocol", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "Path", + "State" + ], + "role": "typed_binder", + "source": "{Path State : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace Active]", - "type_source": "DiscreteMeasurableSpace Active", + "source": "[Fintype Path]", + "type_source": "Fintype Path", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace External]", - "type_source": "DiscreteMeasurableSpace External", + "source": "[Fintype State]", + "type_source": "Fintype State", "visibility": "instance" } ], "declaration_mentions": [ { - "identifier": "embeddedLaw_apply_singleton", - "qualified_name": "FEP.NativeBlanket.embeddedLaw_apply_singleton", - "resolution": "exact or same-namespace source identifier", + "candidates": [ + "FEP.FiniteInformation.finiteKL_eq_zero_iff" + ], + "identifier": "finiteKL_eq_zero_iff", + "resolution": "unresolved lexical scope", "role": "proof_reference" }, { "candidates": [ - "FEP.MarkovBlanket.staticJoint_factorization" + "FEP.FiniteInformation.finiteKL_nonneg" ], - "identifier": "staticJoint_factorization", + "identifier": "finiteKL_nonneg", "resolution": "unresolved lexical scope", "role": "proof_reference" + }, + { + "identifier": "irreversibleForward_ne_reverse", + "qualified_name": "FEP.PathThermodynamics.irreversibleForward_ne_reverse", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" } ], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.markov_blanket", - "Mathlib.MeasureTheory.Integral.Bochner.SumMeasure", - "Mathlib.Probability.Independence.Conditional", - "Mathlib.Probability.Kernel.Composition.Comp" + "FepSketches.finite_markov_dynamics", + "FepSketches.variational_duality" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.NativeBlanket", + "namespace": "FEP.PathThermodynamics", "namespace_variable_context": [ - "{Internal Sensory Active External : Type*}\n [Fintype Internal] [Fintype Sensory] [Fintype Active] [Fintype External]\n [MeasurableSpace Internal] [MeasurableSpace Sensory]\n [MeasurableSpace Active] [MeasurableSpace External]\n [DiscreteMeasurableSpace Internal] [DiscreteMeasurableSpace Sensory]\n [DiscreteMeasurableSpace Active] [DiscreteMeasurableSpace External]" + "{Path State : Type*} [Fintype Path] [Fintype State]" ], - "preceding_scope_directives": [ + "preceding_scope_directives": [], + "qualified_name": "FEP.PathThermodynamics.irreversibleBool_entropyProduction_pos", + "source_line": 403, + "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "statement": "theorem irreversibleBool_entropyProduction_pos :\n 0 < entropyProduction irreversibleBoolProtocol", + "statement_sha256": "7613d1a48af9e4af0e71d3625ec05098e1edebeddc07a4987e5de8bfb4ac754a" + }, + "FEP.PathThermodynamics.irreversibleCrooksWork_nonconstant": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [], + "conclusion": "irreversibleCrooksWork true ≠ irreversibleCrooksWork false", + "context_binders": [ { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DiscreteMeasurableSpace β] in" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "Path", + "State" + ], + "role": "typed_binder", + "source": "{Path State : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [MeasurableSpace Internal] [MeasurableSpace Sensory]" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Path]", + "type_source": "Fintype Path", + "visibility": "instance" }, { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [MeasurableSpace Internal] [MeasurableSpace Sensory]" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype State]", + "type_source": "Fintype State", + "visibility": "instance" } ], - "qualified_name": "FEP.NativeBlanket.staticJoint_rectangle_factorization", - "source_line": 471, - "source_owner": "src/fep_lean/formal/native_blanket.lean", - "statement": "theorem staticJoint_rectangle_factorization\n (model : StaticModel Internal Sensory Active External)\n (blanket : Blanket Sensory Active) (internal : Internal)\n (external : External) :\n embeddedLaw (staticJoint model)\n (blanketCoordinate ⁻¹' {blanket} ∩\n internalCoordinate ⁻¹' {internal} ∩\n externalCoordinate ⁻¹' {external}) =\n ENNReal.ofReal (model.blanketLaw blanket) *\n ENNReal.ofReal (model.internalGiven blanket internal) *\n ENNReal.ofReal (model.externalGiven blanket external)", - "statement_sha256": "fb970a984330d993828d9fb40b25a7a2aea9a0af8c8f9cd53301cb4fb5a2fd35" + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.finite_markov_dynamics", + "FepSketches.variational_duality" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.PathThermodynamics", + "namespace_variable_context": [ + "{Path State : Type*} [Fintype Path] [Fintype State]" + ], + "preceding_scope_directives": [], + "qualified_name": "FEP.PathThermodynamics.irreversibleCrooksWork_nonconstant", + "source_line": 429, + "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "statement": "theorem irreversibleCrooksWork_nonconstant :\n irreversibleCrooksWork true ≠ irreversibleCrooksWork false", + "statement_sha256": "71f430969fca9fc684d8742ea1d0ab6fb57ed4442ccc8ce0ba27042890ff80b7" }, - "FEP.NessFlow.detailed_balance_iff": { + "FEP.PathThermodynamics.irreversibleForward_ne_reverse": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [ + "binders": [], + "conclusion": "irreversibleForward ≠ irreversibleReverse", + "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "ω" + "Path", + "State" ], "role": "typed_binder", - "source": "(ω : ℝ)", - "type_source": "ℝ", - "visibility": "explicit" + "source": "{Path State : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "g" - ], - "role": "typed_binder", - "source": "(g : Fin 2 → ℝ)", - "type_source": "Fin 2 → ℝ", - "visibility": "explicit" + "names": [], + "role": "instance_requirement", + "source": "[Fintype Path]", + "type_source": "Fintype Path", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "hg" - ], - "role": "typed_binder", - "source": "(hg : g 0 ≠ 0 ∨ g 1 ≠ 0)", - "type_source": "g 0 ≠ 0 ∨ g 1 ≠ 0", - "visibility": "explicit" + "names": [], + "role": "instance_requirement", + "source": "[Fintype State]", + "type_source": "Fintype State", + "visibility": "instance" } ], - "conclusion": "solenoidal ω g = 0 ↔ ω = 0", - "context_binders": [], "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "Mathlib.Algebra.Order.Ring.Unbundled.Basic", - "Mathlib.Basic.Real.Basic", - "Mathlib.Tactic" + "FepSketches.finite_markov_dynamics", + "FepSketches.variational_duality" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.NessFlow", - "namespace_variable_context": [], + "namespace": "FEP.PathThermodynamics", + "namespace_variable_context": [ + "{Path State : Type*} [Fintype Path] [Fintype State]" + ], "preceding_scope_directives": [], - "qualified_name": "FEP.NessFlow.detailed_balance_iff", - "source_line": 92, - "source_owner": "src/fep_lean/formal/ness_flow.lean", - "statement": "theorem detailed_balance_iff (ω : ℝ) (g : Fin 2 → ℝ) (hg : g 0 ≠ 0 ∨ g 1 ≠ 0) :\n solenoidal ω g = 0 ↔ ω = 0", - "statement_sha256": "c3ae16c78df071e45d673df3992eeba42d718270626a3ad0c996ffc6f96f844e" + "qualified_name": "FEP.PathThermodynamics.irreversibleForward_ne_reverse", + "source_line": 395, + "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "statement": "theorem irreversibleForward_ne_reverse :\n irreversibleForward ≠ irreversibleReverse", + "statement_sha256": "74bd318dd6ab38ed4b14aa0850b01c141fd693212ae97712e7209695c130799a" }, - "FEP.NessFlow.entropyProduction_eq_zero_iff": { + "FEP.PathThermodynamics.irreversibleForward_unitWork_not_jarzynski": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [ + "binders": [], + "conclusion": "¬ HasJarzynskiNormalization irreversibleBoolProtocol.forward 1 0\n (fun _ => 1)", + "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "precision", - "ω", - "γ" + "Path", + "State" ], "role": "typed_binder", - "source": "(precision ω γ : ℝ)", - "type_source": "ℝ", - "visibility": "explicit" + "source": "{Path State : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "hp" - ], - "role": "typed_binder", - "source": "(hp : 0 < precision)", - "type_source": "0 < precision", - "visibility": "explicit" + "names": [], + "role": "instance_requirement", + "source": "[Fintype Path]", + "type_source": "Fintype Path", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "hg" - ], - "role": "typed_binder", - "source": "(hg : 0 < γ)", - "type_source": "0 < γ", - "visibility": "explicit" + "names": [], + "role": "instance_requirement", + "source": "[Fintype State]", + "type_source": "Fintype State", + "visibility": "instance" } ], - "conclusion": "entropyProduction precision ω γ = 0 ↔ ω = 0", - "context_binders": [], "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "Mathlib.Algebra.Order.Ring.Unbundled.Basic", - "Mathlib.Basic.Real.Basic", - "Mathlib.Tactic" + "FepSketches.finite_markov_dynamics", + "FepSketches.variational_duality" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.NessFlow", - "namespace_variable_context": [], + "namespace": "FEP.PathThermodynamics", + "namespace_variable_context": [ + "{Path State : Type*} [Fintype Path] [Fintype State]" + ], "preceding_scope_directives": [], - "qualified_name": "FEP.NessFlow.entropyProduction_eq_zero_iff", - "source_line": 126, - "source_owner": "src/fep_lean/formal/ness_flow.lean", - "statement": "theorem entropyProduction_eq_zero_iff (precision ω γ : ℝ)\n (hp : 0 < precision) (hg : 0 < γ) : entropyProduction precision ω γ = 0 ↔ ω = 0", - "statement_sha256": "c496ae321867396c84ba79c532378a1d8aab9e36b5c249064222e9a3a186518f" + "qualified_name": "FEP.PathThermodynamics.irreversibleForward_unitWork_not_jarzynski", + "source_line": 454, + "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "statement": "theorem irreversibleForward_unitWork_not_jarzynski :\n ¬ HasJarzynskiNormalization irreversibleBoolProtocol.forward 1 0\n (fun _ => 1)", + "statement_sha256": "335368feaf773449832f1186e402e09da48ee37ee05d70c34dfe9c534f7431cb" }, - "FEP.NessFlow.entropyProduction_nonneg": { + "FEP.PathThermodynamics.isInvariant_of_isReversible": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "precision", - "ω", - "γ" + "law" ], "role": "typed_binder", - "source": "(precision ω γ : ℝ)", - "type_source": "ℝ", + "source": "(law : FiniteLaw State)", + "type_source": "FiniteLaw State", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "hp" + "kernel" ], "role": "typed_binder", - "source": "(hp : 0 ≤ precision)", - "type_source": "0 ≤ precision", + "source": "(kernel : FiniteKernel State State)", + "type_source": "FiniteKernel State State", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "hg" + "hReversible" ], "role": "typed_binder", - "source": "(hg : 0 ≤ γ)", - "type_source": "0 ≤ γ", + "source": "(hReversible : IsReversible law kernel)", + "type_source": "IsReversible law kernel", "visibility": "explicit" } ], - "conclusion": "0 ≤ entropyProduction precision ω γ", - "context_binders": [], + "conclusion": "FEP.FiniteMarkovDynamics.IsInvariant law kernel", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "Path", + "State" + ], + "role": "typed_binder", + "source": "{Path State : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Path]", + "type_source": "Fintype Path", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype State]", + "type_source": "Fintype State", + "visibility": "instance" + } + ], "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "Mathlib.Algebra.Order.Ring.Unbundled.Basic", - "Mathlib.Basic.Real.Basic", - "Mathlib.Tactic" + "FepSketches.finite_markov_dynamics", + "FepSketches.variational_duality" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.NessFlow", - "namespace_variable_context": [], + "namespace": "FEP.PathThermodynamics", + "namespace_variable_context": [ + "{Path State : Type*} [Fintype Path] [Fintype State]" + ], "preceding_scope_directives": [], - "qualified_name": "FEP.NessFlow.entropyProduction_nonneg", - "source_line": 118, - "source_owner": "src/fep_lean/formal/ness_flow.lean", - "statement": "theorem entropyProduction_nonneg (precision ω γ : ℝ)\n (hp : 0 ≤ precision) (hg : 0 ≤ γ) : 0 ≤ entropyProduction precision ω γ", - "statement_sha256": "d95b89433ca338dd7a73db9344b37ea64b02f662a4ee15053a0ad64110e5446b" + "qualified_name": "FEP.PathThermodynamics.isInvariant_of_isReversible", + "source_line": 328, + "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "statement": "theorem isInvariant_of_isReversible\n (law : FiniteLaw State) (kernel : FiniteKernel State State)\n (hReversible : IsReversible law kernel) :\n FEP.FiniteMarkovDynamics.IsInvariant law kernel", + "statement_sha256": "830a07291304aff920362afe6d693ccccba22e4bef4dc72cacf8913a5c79072a" }, - "FEP.NessFlow.flow_work_eq_dissipation": { + "FEP.PathThermodynamics.jarzynski_without_crooks": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [ + "binders": [], + "conclusion": "HasJarzynskiNormalization irreversibleBoolProtocol.forward 1 0\n (fun _ => 0) ∧\n ¬ HasCrooksRelation irreversibleBoolProtocol 1 0 (fun _ => 0)", + "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "γ", - "ω" + "Path", + "State" ], "role": "typed_binder", - "source": "(γ ω : ℝ)", - "type_source": "ℝ", - "visibility": "explicit" + "source": "{Path State : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "g" - ], - "role": "typed_binder", - "source": "(g : Fin 2 → ℝ)", - "type_source": "Fin 2 → ℝ", - "visibility": "explicit" + "names": [], + "role": "instance_requirement", + "source": "[Fintype Path]", + "type_source": "Fintype Path", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype State]", + "type_source": "Fintype State", + "visibility": "instance" } ], - "conclusion": "dot (flow γ ω g) g = -γ * normSq g", - "context_binders": [], "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "Mathlib.Algebra.Order.Ring.Unbundled.Basic", - "Mathlib.Basic.Real.Basic", - "Mathlib.Tactic" + "FepSketches.finite_markov_dynamics", + "FepSketches.variational_duality" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.NessFlow", - "namespace_variable_context": [], + "namespace": "FEP.PathThermodynamics", + "namespace_variable_context": [ + "{Path State : Type*} [Fintype Path] [Fintype State]" + ], "preceding_scope_directives": [], - "qualified_name": "FEP.NessFlow.flow_work_eq_dissipation", - "source_line": 77, - "source_owner": "src/fep_lean/formal/ness_flow.lean", - "statement": "theorem flow_work_eq_dissipation (γ ω : ℝ) (g : Fin 2 → ℝ) :\n dot (flow γ ω g) g = -γ * normSq g", - "statement_sha256": "a4e911e860ba95acd91517f17b356b8e55e4b8cdd8054311d24815fd29e9696b" + "qualified_name": "FEP.PathThermodynamics.jarzynski_without_crooks", + "source_line": 438, + "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "statement": "theorem jarzynski_without_crooks :\n HasJarzynskiNormalization irreversibleBoolProtocol.forward 1 0\n (fun _ => 0) ∧\n ¬ HasCrooksRelation irreversibleBoolProtocol 1 0 (fun _ => 0)", + "statement_sha256": "3edcfef3421f01494e50fcf721fe7aa4e2079ac0061d58201fea32511f89736c" }, - "FEP.NessFlow.freeEnergy_non_increasing": { + "FEP.PathThermodynamics.localAffinity_zero_of_reversible": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "γ" + "kernel" ], "role": "typed_binder", - "source": "(γ : ℝ)", - "type_source": "ℝ", + "source": "(kernel : FiniteKernel S S)", + "type_source": "FiniteKernel S S", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "hγ" + "law" ], "role": "typed_binder", - "source": "(hγ : 0 ≤ γ)", - "type_source": "0 ≤ γ", + "source": "(law : FiniteLaw S)", + "type_source": "FiniteLaw S", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "g" + "hReversible" ], "role": "typed_binder", - "source": "(g : Fin 2 → ℝ)", - "type_source": "Fin 2 → ℝ", + "source": "(hReversible : IsReversible law kernel)", + "type_source": "IsReversible law kernel", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "source", + "target" + ], + "role": "typed_binder", + "source": "(source target : S)", + "type_source": "S", "visibility": "explicit" } ], - "conclusion": "dot (flow γ ω g) g ≤ 0", - "context_binders": [], - "declaration_mentions": [ + "conclusion": "localAffinity law kernel source target = 0", + "context_binders": [ { - "identifier": "flow_work_eq_dissipation", - "qualified_name": "FEP.NessFlow.flow_work_eq_dissipation", - "resolution": "exact or same-namespace source identifier", - "role": "proof_reference" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "Path", + "State" + ], + "role": "typed_binder", + "source": "{Path State : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { - "identifier": "normSq_nonneg", - "qualified_name": "FEP.NessFlow.normSq_nonneg", - "resolution": "exact or same-namespace source identifier", - "role": "proof_reference" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Path]", + "type_source": "Fintype Path", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype State]", + "type_source": "Fintype State", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "S" + ], + "role": "typed_binder", + "source": "{S : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype S]", + "type_source": "Fintype S", + "visibility": "instance" } ], + "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "Mathlib.Algebra.Order.Ring.Unbundled.Basic", - "Mathlib.Basic.Real.Basic", - "Mathlib.Tactic" + "FepSketches.finite_markov_dynamics", + "FepSketches.variational_duality" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.NessFlow", - "namespace_variable_context": [], - "preceding_scope_directives": [], - "qualified_name": "FEP.NessFlow.freeEnergy_non_increasing", - "source_line": 83, - "source_owner": "src/fep_lean/formal/ness_flow.lean", - "statement": "theorem freeEnergy_non_increasing (γ : ℝ) (hγ : 0 ≤ γ) (g : Fin 2 → ℝ) :\n dot (flow γ ω g) g ≤ 0", - "statement_sha256": "c5cc44b7f1ce5214642b92b6a7141a6ba776ab423f5c5b257a95e408e6cbaa38" + "namespace": "FEP.PathThermodynamics", + "namespace_variable_context": [ + "{Path State : Type*} [Fintype Path] [Fintype State]", + "{S : Type*} [Fintype S]" + ], + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Fintype S] in" + } + ], + "qualified_name": "FEP.PathThermodynamics.localAffinity_zero_of_reversible", + "source_line": 823, + "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "statement": "theorem localAffinity_zero_of_reversible\n (kernel : FiniteKernel S S) (law : FiniteLaw S)\n (hReversible : IsReversible law kernel) (source target : S) :\n localAffinity law kernel source target = 0", + "statement_sha256": "08da27fc32de1558496ee795bb41a7a577b7ad3ecd60e8ec6057b2b4c5eed767" }, - "FEP.NessFlow.ness_signature": { + "FEP.PathThermodynamics.localAffinity_zero_reverseRate_boundary": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "ω" + "law" ], "role": "typed_binder", - "source": "(ω : ℝ)", - "type_source": "ℝ", + "source": "(law : FiniteLaw State)", + "type_source": "FiniteLaw State", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "g" + "kernel" ], "role": "typed_binder", - "source": "(g : Fin 2 → ℝ)", - "type_source": "Fin 2 → ℝ", + "source": "(kernel : FiniteKernel State State)", + "type_source": "FiniteKernel State State", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "hg" + "source", + "target" ], "role": "typed_binder", - "source": "(hg : g 0 ≠ 0 ∨ g 1 ≠ 0)", - "type_source": "g 0 ≠ 0 ∨ g 1 ≠ 0", + "source": "(source target : State)", + "type_source": "State", "visibility": "explicit" - } - ], - "conclusion": "(solenoidal ω g = 0) ↔ (ω = 0)", - "context_binders": [], - "declaration_mentions": [ + }, { - "identifier": "detailed_balance_iff", - "qualified_name": "FEP.NessFlow.detailed_balance_iff", - "resolution": "exact or same-namespace source identifier", - "role": "proof_reference" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hZero" + ], + "role": "typed_binder", + "source": "(hZero : kernel target source = 0)", + "type_source": "kernel target source = 0", + "visibility": "explicit" } ], - "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", - "import_context": [ - "Mathlib.Algebra.Order.Ring.Unbundled.Basic", - "Mathlib.Basic.Real.Basic", - "Mathlib.Tactic" - ], - "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.NessFlow", - "namespace_variable_context": [], - "preceding_scope_directives": [], - "qualified_name": "FEP.NessFlow.ness_signature", - "source_line": 154, - "source_owner": "src/fep_lean/formal/ness_flow.lean", - "statement": "theorem ness_signature (ω : ℝ) (g : Fin 2 → ℝ) (hg : g 0 ≠ 0 ∨ g 1 ≠ 0) :\n (solenoidal ω g = 0) ↔ (ω = 0)", - "statement_sha256": "5f30d878443eef99e928ecb6dafbab9d83951494f3cb6bb56c0845af990f696e" - }, - "FEP.NessFlow.normSq_nonneg": { - "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [ + "conclusion": "localAffinity law kernel source target = 0", + "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "v" + "Path", + "State" ], "role": "typed_binder", - "source": "(v : Fin 2 → ℝ)", - "type_source": "Fin 2 → ℝ", - "visibility": "explicit" + "source": "{Path State : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Path]", + "type_source": "Fintype Path", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype State]", + "type_source": "Fintype State", + "visibility": "instance" } ], - "conclusion": "0 ≤ normSq v", - "context_binders": [], "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "Mathlib.Algebra.Order.Ring.Unbundled.Basic", - "Mathlib.Basic.Real.Basic", - "Mathlib.Tactic" + "FepSketches.finite_markov_dynamics", + "FepSketches.variational_duality" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.NessFlow", - "namespace_variable_context": [], + "namespace": "FEP.PathThermodynamics", + "namespace_variable_context": [ + "{Path State : Type*} [Fintype Path] [Fintype State]" + ], "preceding_scope_directives": [], - "qualified_name": "FEP.NessFlow.normSq_nonneg", - "source_line": 42, - "source_owner": "src/fep_lean/formal/ness_flow.lean", - "statement": "theorem normSq_nonneg (v : Fin 2 → ℝ) : 0 ≤ normSq v", - "statement_sha256": "fafd19ff3801f506a4b0844cee2d0e8a314bbde6d55fde8a73fb682016bf6b96" + "qualified_name": "FEP.PathThermodynamics.localAffinity_zero_reverseRate_boundary", + "source_line": 319, + "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "statement": "theorem localAffinity_zero_reverseRate_boundary\n (law : FiniteLaw State) (kernel : FiniteKernel State State)\n (source target : State) (hZero : kernel target source = 0) :\n localAffinity law kernel source target = 0", + "statement_sha256": "2f218319679dc3a5f9d6e9c6d1334f725c9d6c80a4795b2da31e7e40ebbf9baa" }, - "FEP.NessFlow.solenoidal_antisymm": { + "FEP.PathThermodynamics.localDetailedBalance_current_zero": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "ω" + "law" ], "role": "typed_binder", - "source": "(ω : ℝ)", - "type_source": "ℝ", + "source": "(law : FiniteLaw State)", + "type_source": "FiniteLaw State", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "v", - "w" + "kernel" ], "role": "typed_binder", - "source": "(v w : Fin 2 → ℝ)", - "type_source": "Fin 2 → ℝ", + "source": "(kernel : FiniteKernel State State)", + "type_source": "FiniteKernel State State", "visibility": "explicit" - } - ], - "conclusion": "dot (solenoidal ω v) w = -dot (solenoidal ω w) v", - "context_binders": [], - "declaration_mentions": [], - "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", - "import_context": [ - "Mathlib.Algebra.Order.Ring.Unbundled.Basic", - "Mathlib.Basic.Real.Basic", - "Mathlib.Tactic" - ], - "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.NessFlow", - "namespace_variable_context": [], - "preceding_scope_directives": [], - "qualified_name": "FEP.NessFlow.solenoidal_antisymm", - "source_line": 54, - "source_owner": "src/fep_lean/formal/ness_flow.lean", - "statement": "theorem solenoidal_antisymm (ω : ℝ) (v w : Fin 2 → ℝ) :\n dot (solenoidal ω v) w = -dot (solenoidal ω w) v", - "statement_sha256": "8c4c8034aa5c0b300f1c02973ac72b8023aafdf206661f3bb7d1b1f1c2b4f6ff" - }, - "FEP.NessFlow.solenoidal_orthogonal": { - "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [ + }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "ω" + "hReversible" ], "role": "typed_binder", - "source": "(ω : ℝ)", - "type_source": "ℝ", + "source": "(hReversible : IsReversible law kernel)", + "type_source": "IsReversible law kernel", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "g" + "source", + "target" ], "role": "typed_binder", - "source": "(g : Fin 2 → ℝ)", - "type_source": "Fin 2 → ℝ", + "source": "(source target : State)", + "type_source": "State", "visibility": "explicit" } ], - "conclusion": "dot (solenoidal ω g) g = 0", - "context_binders": [], - "declaration_mentions": [], - "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", - "import_context": [ - "Mathlib.Algebra.Order.Ring.Unbundled.Basic", - "Mathlib.Basic.Real.Basic", - "Mathlib.Tactic" - ], - "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.NessFlow", - "namespace_variable_context": [], - "preceding_scope_directives": [], - "qualified_name": "FEP.NessFlow.solenoidal_orthogonal", - "source_line": 61, - "source_owner": "src/fep_lean/formal/ness_flow.lean", - "statement": "theorem solenoidal_orthogonal (ω : ℝ) (g : Fin 2 → ℝ) :\n dot (solenoidal ω g) g = 0", - "statement_sha256": "14982221cb83c0d573a0b5094daf2d09a33bd6230d0726f98410cb1427f93208" - }, - "FEP.PathThermodynamics.crooks_of_entropyProduction": { - "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [ + "conclusion": "probabilityCurrent law kernel source target = 0", + "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "protocol" + "Path", + "State" ], "role": "typed_binder", - "source": "(protocol : FinitePathProtocol Path)", - "type_source": "FinitePathProtocol Path", - "visibility": "explicit" + "source": "{Path State : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "beta", - "deltaFreeEnergy" - ], - "role": "typed_binder", - "source": "(beta deltaFreeEnergy : ℝ)", - "type_source": "ℝ", - "visibility": "explicit" + "names": [], + "role": "instance_requirement", + "source": "[Fintype Path]", + "type_source": "Fintype Path", + "visibility": "instance" }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype State]", + "type_source": "Fintype State", + "visibility": "instance" + } + ], + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.finite_markov_dynamics", + "FepSketches.variational_duality" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.PathThermodynamics", + "namespace_variable_context": [ + "{Path State : Type*} [Fintype Path] [Fintype State]" + ], + "preceding_scope_directives": [], + "qualified_name": "FEP.PathThermodynamics.localDetailedBalance_current_zero", + "source_line": 304, + "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "statement": "theorem localDetailedBalance_current_zero\n (law : FiniteLaw State) (kernel : FiniteKernel State State)\n (hReversible : IsReversible law kernel) (source target : State) :\n probabilityCurrent law kernel source target = 0", + "statement_sha256": "e88f4388b57888276f96543dd122480d3cab967c2128c58be1fb827c13cb9e59" + }, + "FEP.PathThermodynamics.markovPathLaw_eq_reverse_of_reversible": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "hBeta" + "kernel" ], "role": "typed_binder", - "source": "(hBeta : 0 < beta)", - "type_source": "0 < beta", + "source": "(kernel : FiniteKernel S S)", + "type_source": "FiniteKernel S S", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "hForward" + "law" ], "role": "typed_binder", - "source": "(hForward : ∀ path, 0 < protocol.forward path)", - "type_source": "∀ path, 0 < protocol.forward path", + "source": "(law : FiniteLaw S)", + "type_source": "FiniteLaw S", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "hReverse" + "hReversible" ], "role": "typed_binder", - "source": "(hReverse : ∀ path, 0 < protocol.reverseAligned path)", - "type_source": "∀ path, 0 < protocol.reverseAligned path", + "source": "(hReversible : IsReversible law kernel)", + "type_source": "IsReversible law kernel", "visibility": "explicit" } ], - "conclusion": "HasCrooksRelation protocol beta deltaFreeEnergy\n (fun path =>\n deltaFreeEnergy + pathwiseEntropyProduction protocol path / beta)", + "conclusion": "markovPathLaw kernel law 1 = markovReversePathLaw kernel law 1", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -80247,12 +87010,36 @@ "source": "[Fintype State]", "type_source": "Fintype State", "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "S" + ], + "role": "typed_binder", + "source": "{S : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype S]", + "type_source": "Fintype S", + "visibility": "instance" } ], "declaration_mentions": [ { - "identifier": "detailedFluctuation_identity", - "qualified_name": "FEP.PathThermodynamics.detailedFluctuation_identity", + "identifier": "markovPathMass_one", + "qualified_name": "FEP.PathThermodynamics.markovPathMass_one", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + }, + { + "identifier": "markovReverseMass_one", + "qualified_name": "FEP.PathThermodynamics.markovReverseMass_one", "resolution": "exact or same-namespace source identifier", "role": "proof_reference" } @@ -80265,46 +87052,53 @@ "line_coordinate_kind": "formal_resource_file", "namespace": "FEP.PathThermodynamics", "namespace_variable_context": [ - "{Path State : Type*} [Fintype Path] [Fintype State]" + "{Path State : Type*} [Fintype Path] [Fintype State]", + "{S : Type*} [Fintype S]" ], - "preceding_scope_directives": [], - "qualified_name": "FEP.PathThermodynamics.crooks_of_entropyProduction", - "source_line": 270, + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Fintype S] in" + } + ], + "qualified_name": "FEP.PathThermodynamics.markovPathLaw_eq_reverse_of_reversible", + "source_line": 799, "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", - "statement": "theorem crooks_of_entropyProduction\n (protocol : FinitePathProtocol Path) (beta deltaFreeEnergy : ℝ)\n (hBeta : 0 < beta)\n (hForward : ∀ path, 0 < protocol.forward path)\n (hReverse : ∀ path, 0 < protocol.reverseAligned path) :\n HasCrooksRelation protocol beta deltaFreeEnergy\n (fun path =>\n deltaFreeEnergy + pathwiseEntropyProduction protocol path / beta)", - "statement_sha256": "b595a96433ec5d7ea56ae505084e2fe0e2877e5d2306e7beb0cfbe080748a687" + "statement": "theorem markovPathLaw_eq_reverse_of_reversible\n (kernel : FiniteKernel S S) (law : FiniteLaw S)\n (hReversible : IsReversible law kernel) :\n markovPathLaw kernel law 1 = markovReversePathLaw kernel law 1", + "statement_sha256": "fb9f33dbcf413fd8ac144e5862e4bde4ccce869874bdb2c69efb6fe1424ff69e" }, - "FEP.PathThermodynamics.detailedFluctuation_identity": { + "FEP.PathThermodynamics.markovPathMass_nonneg": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "protocol" + "kernel" ], "role": "typed_binder", - "source": "(protocol : FinitePathProtocol Path)", - "type_source": "FinitePathProtocol Path", + "source": "(kernel : FiniteKernel S S)", + "type_source": "FiniteKernel S S", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "hForward" + "initial" ], "role": "typed_binder", - "source": "(hForward : ∀ path, 0 < protocol.forward path)", - "type_source": "∀ path, 0 < protocol.forward path", + "source": "(initial : FiniteLaw S)", + "type_source": "FiniteLaw S", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "hReverse" + "n" ], "role": "typed_binder", - "source": "(hReverse : ∀ path, 0 < protocol.reverseAligned path)", - "type_source": "∀ path, 0 < protocol.reverseAligned path", + "source": "(n : ℕ)", + "type_source": "ℕ", "visibility": "explicit" }, { @@ -80313,12 +87107,12 @@ "path" ], "role": "typed_binder", - "source": "(path : Path)", - "type_source": "Path", + "source": "(path : Fin (n + 1) → S)", + "type_source": "Fin (n + 1) → S", "visibility": "explicit" } ], - "conclusion": "protocol.reverseAligned path *\n Real.exp (pathwiseEntropyProduction protocol path) =\n protocol.forward path", + "conclusion": "0 ≤ markovPathMass kernel initial n path", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -80346,6 +87140,24 @@ "source": "[Fintype State]", "type_source": "Fintype State", "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "S" + ], + "role": "typed_binder", + "source": "{S : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype S]", + "type_source": "Fintype S", + "visibility": "instance" } ], "declaration_mentions": [], @@ -80357,50 +87169,51 @@ "line_coordinate_kind": "formal_resource_file", "namespace": "FEP.PathThermodynamics", "namespace_variable_context": [ - "{Path State : Type*} [Fintype Path] [Fintype State]" + "{Path State : Type*} [Fintype Path] [Fintype State]", + "{S : Type*} [Fintype S]" ], "preceding_scope_directives": [], - "qualified_name": "FEP.PathThermodynamics.detailedFluctuation_identity", - "source_line": 106, + "qualified_name": "FEP.PathThermodynamics.markovPathMass_nonneg", + "source_line": 511, "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", - "statement": "theorem detailedFluctuation_identity\n (protocol : FinitePathProtocol Path)\n (hForward : ∀ path, 0 < protocol.forward path)\n (hReverse : ∀ path, 0 < protocol.reverseAligned path) (path : Path) :\n protocol.reverseAligned path *\n Real.exp (pathwiseEntropyProduction protocol path) =\n protocol.forward path", - "statement_sha256": "e242f2fa542e8a6f5cecc1e1a7261fccb7b67aaa4cb8e9d73a41182107fcea3b" + "statement": "theorem markovPathMass_nonneg (kernel : FiniteKernel S S)\n (initial : FiniteLaw S) (n : ℕ) (path : Fin (n + 1) → S) :\n 0 ≤ markovPathMass kernel initial n path", + "statement_sha256": "1cc9bea7835c9b3875421537b1aa3ff9fb64ebd9ac73540306387a348def926a" }, - "FEP.PathThermodynamics.entropyProduction_eq_expected_logRatio": { + "FEP.PathThermodynamics.markovPathMass_one": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "protocol" + "kernel" ], "role": "typed_binder", - "source": "(protocol : FinitePathProtocol Path)", - "type_source": "FinitePathProtocol Path", + "source": "(kernel : FiniteKernel S S)", + "type_source": "FiniteKernel S S", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "hForward" + "initial" ], "role": "typed_binder", - "source": "(hForward : ∀ path, 0 < protocol.forward path)", - "type_source": "∀ path, 0 < protocol.forward path", + "source": "(initial : FiniteLaw S)", + "type_source": "FiniteLaw S", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "hReverse" + "path" ], "role": "typed_binder", - "source": "(hReverse : ∀ path, 0 < protocol.reverseAligned path)", - "type_source": "∀ path, 0 < protocol.reverseAligned path", + "source": "(path : Fin 2 → S)", + "type_source": "Fin 2 → S", "visibility": "explicit" } ], - "conclusion": "entropyProduction protocol =\n ∑ path, protocol.forward path * pathwiseEntropyProduction protocol path", + "conclusion": "markovPathMass kernel initial 1 path = initial (path 0) * kernel (path 0) (path 1)", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -80428,18 +87241,27 @@ "source": "[Fintype State]", "type_source": "Fintype State", "visibility": "instance" - } - ], - "declaration_mentions": [ + }, { - "candidates": [ - "FEP.FiniteInformation.finiteKL_eq_crossEntropy_sub_entropy" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "S" ], - "identifier": "finiteKL_eq_crossEntropy_sub_entropy", - "resolution": "unresolved lexical scope", - "role": "proof_reference" + "role": "typed_binder", + "source": "{S : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype S]", + "type_source": "Fintype S", + "visibility": "instance" } ], + "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ "FepSketches.finite_markov_dynamics", @@ -80448,30 +87270,87 @@ "line_coordinate_kind": "formal_resource_file", "namespace": "FEP.PathThermodynamics", "namespace_variable_context": [ - "{Path State : Type*} [Fintype Path] [Fintype State]" + "{Path State : Type*} [Fintype Path] [Fintype State]", + "{S : Type*} [Fintype S]" ], - "preceding_scope_directives": [], - "qualified_name": "FEP.PathThermodynamics.entropyProduction_eq_expected_logRatio", - "source_line": 87, + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Fintype S] in" + } + ], + "qualified_name": "FEP.PathThermodynamics.markovPathMass_one", + "source_line": 683, "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", - "statement": "theorem entropyProduction_eq_expected_logRatio\n (protocol : FinitePathProtocol Path)\n (hForward : ∀ path, 0 < protocol.forward path)\n (hReverse : ∀ path, 0 < protocol.reverseAligned path) :\n entropyProduction protocol =\n ∑ path, protocol.forward path * pathwiseEntropyProduction protocol path", - "statement_sha256": "abd39ea403d5dacc3fd3ff655a7cd97eec99aaf1594ab32fac663db3ab4bf1ca" + "statement": "theorem markovPathMass_one (kernel : FiniteKernel S S) (initial : FiniteLaw S)\n (path : Fin 2 → S) :\n markovPathMass kernel initial 1 path = initial (path 0) * kernel (path 0) (path 1)", + "statement_sha256": "608265e4a994b89fe7fc6250944c31324ff2cc855c1e87907af56e88770c98af" }, - "FEP.PathThermodynamics.entropyProduction_nonneg": { + "FEP.PathThermodynamics.markovPathMass_pos": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "protocol" + "kernel" ], "role": "typed_binder", - "source": "(protocol : FinitePathProtocol Path)", - "type_source": "FinitePathProtocol Path", + "source": "(kernel : FiniteKernel S S)", + "type_source": "FiniteKernel S S", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "initial" + ], + "role": "typed_binder", + "source": "(initial : FiniteLaw S)", + "type_source": "FiniteLaw S", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hInitial" + ], + "role": "typed_binder", + "source": "(hInitial : ∀ s, 0 < initial s)", + "type_source": "∀ s, 0 < initial s", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hKernel" + ], + "role": "typed_binder", + "source": "(hKernel : ∀ a b, 0 < kernel a b)", + "type_source": "∀ a b, 0 < kernel a b", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "n" + ], + "role": "typed_binder", + "source": "(n : ℕ)", + "type_source": "ℕ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "path" + ], + "role": "typed_binder", + "source": "(path : Fin (n + 1) → S)", + "type_source": "Fin (n + 1) → S", "visibility": "explicit" } ], - "conclusion": "0 ≤ entropyProduction protocol", + "conclusion": "0 < markovPathMass kernel initial n path", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -80499,18 +87378,27 @@ "source": "[Fintype State]", "type_source": "Fintype State", "visibility": "instance" - } - ], - "declaration_mentions": [ + }, { - "candidates": [ - "FEP.FiniteInformation.finiteKL_nonneg" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "S" ], - "identifier": "finiteKL_nonneg", - "resolution": "unresolved lexical scope", - "role": "proof_reference" + "role": "typed_binder", + "source": "{S : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype S]", + "type_source": "Fintype S", + "visibility": "instance" } ], + "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ "FepSketches.finite_markov_dynamics", @@ -80519,61 +87407,77 @@ "line_coordinate_kind": "formal_resource_file", "namespace": "FEP.PathThermodynamics", "namespace_variable_context": [ - "{Path State : Type*} [Fintype Path] [Fintype State]" + "{Path State : Type*} [Fintype Path] [Fintype State]", + "{S : Type*} [Fintype S]" ], - "preceding_scope_directives": [], - "qualified_name": "FEP.PathThermodynamics.entropyProduction_nonneg", - "source_line": 82, + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Fintype S] in" + } + ], + "qualified_name": "FEP.PathThermodynamics.markovPathMass_pos", + "source_line": 609, "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", - "statement": "theorem entropyProduction_nonneg (protocol : FinitePathProtocol Path) :\n 0 ≤ entropyProduction protocol", - "statement_sha256": "f69aa684772cdf23bed79c5a8f32d119b1cd71e86470497ef26942a95228e457" + "statement": "theorem markovPathMass_pos (kernel : FiniteKernel S S) (initial : FiniteLaw S)\n (hInitial : ∀ s, 0 < initial s) (hKernel : ∀ a b, 0 < kernel a b)\n (n : ℕ) (path : Fin (n + 1) → S) :\n 0 < markovPathMass kernel initial n path", + "statement_sha256": "ddd16ffcb8e4636f5ef896a0bd0b3e0a7660f7ed2c8646b81ace6640e7137b8e" }, - "FEP.PathThermodynamics.finiteJarzynski_eq": { + "FEP.PathThermodynamics.markovPathMass_snoc": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "law" + "kernel" ], "role": "typed_binder", - "source": "(law : FiniteLaw Path)", - "type_source": "FiniteLaw Path", + "source": "(kernel : FiniteKernel S S)", + "type_source": "FiniteKernel S S", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "beta", - "deltaFreeEnergy" + "initial" ], "role": "typed_binder", - "source": "(beta deltaFreeEnergy : ℝ)", - "type_source": "ℝ", + "source": "(initial : FiniteLaw S)", + "type_source": "FiniteLaw S", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "work" + "n" ], "role": "typed_binder", - "source": "(work : Path → ℝ)", - "type_source": "Path → ℝ", + "source": "(n : ℕ)", + "type_source": "ℕ", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "hNormalization" + "path" ], "role": "typed_binder", - "source": "(hNormalization :\n HasJarzynskiNormalization law beta deltaFreeEnergy work)", - "type_source": "HasJarzynskiNormalization law beta deltaFreeEnergy work", + "source": "(path : Fin (n + 1) → S)", + "type_source": "Fin (n + 1) → S", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "next" + ], + "role": "typed_binder", + "source": "(next : S)", + "type_source": "S", "visibility": "explicit" } ], - "conclusion": "exponentialWorkAverage law beta work =\n Real.exp (-beta * deltaFreeEnergy)", + "conclusion": "markovPathMass kernel initial (n + 1)\n (Fin.snoc (α := fun _ => S) path next) =\n markovPathMass kernel initial n path * kernel (path (Fin.last n)) next", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -80601,6 +87505,24 @@ "source": "[Fintype State]", "type_source": "Fintype State", "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "S" + ], + "role": "typed_binder", + "source": "{S : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype S]", + "type_source": "Fintype S", + "visibility": "instance" } ], "declaration_mentions": [], @@ -80612,61 +87534,51 @@ "line_coordinate_kind": "formal_resource_file", "namespace": "FEP.PathThermodynamics", "namespace_variable_context": [ - "{Path State : Type*} [Fintype Path] [Fintype State]" + "{Path State : Type*} [Fintype Path] [Fintype State]", + "{S : Type*} [Fintype S]" ], "preceding_scope_directives": [], - "qualified_name": "FEP.PathThermodynamics.finiteJarzynski_eq", - "source_line": 179, + "qualified_name": "FEP.PathThermodynamics.markovPathMass_snoc", + "source_line": 485, "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", - "statement": "theorem finiteJarzynski_eq\n (law : FiniteLaw Path) (beta deltaFreeEnergy : ℝ)\n (work : Path → ℝ)\n (hNormalization :\n HasJarzynskiNormalization law beta deltaFreeEnergy work) :\n exponentialWorkAverage law beta work =\n Real.exp (-beta * deltaFreeEnergy)", - "statement_sha256": "a71655539a8fe7a95ee1cc965794d05302b8873cddb46b61abb1a771e6dc391f" + "statement": "theorem markovPathMass_snoc (kernel : FiniteKernel S S) (initial : FiniteLaw S)\n (n : ℕ) (path : Fin (n + 1) → S) (next : S) :\n markovPathMass kernel initial (n + 1)\n (Fin.snoc (α := fun _ => S) path next) =\n markovPathMass kernel initial n path * kernel (path (Fin.last n)) next", + "statement_sha256": "a8b0b2574bcf5a481dd9abba2563203c2939a6a1f214fb860aa96a7a8e1e038f" }, - "FEP.PathThermodynamics.finiteJarzynski_of_crooks": { + "FEP.PathThermodynamics.markovPathMass_sum_one": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "protocol" - ], - "role": "typed_binder", - "source": "(protocol : FinitePathProtocol Path)", - "type_source": "FinitePathProtocol Path", - "visibility": "explicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "beta", - "deltaFreeEnergy" + "kernel" ], "role": "typed_binder", - "source": "(beta deltaFreeEnergy : ℝ)", - "type_source": "ℝ", + "source": "(kernel : FiniteKernel S S)", + "type_source": "FiniteKernel S S", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "work" + "initial" ], - "role": "typed_binder", - "source": "(work : Path → ℝ)", - "type_source": "Path → ℝ", + "role": "typed_binder", + "source": "(initial : FiniteLaw S)", + "type_source": "FiniteLaw S", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "hCrooks" + "n" ], "role": "typed_binder", - "source": "(hCrooks : HasCrooksRelation protocol beta deltaFreeEnergy work)", - "type_source": "HasCrooksRelation protocol beta deltaFreeEnergy work", + "source": "(n : ℕ)", + "type_source": "ℕ", "visibility": "explicit" } ], - "conclusion": "exponentialWorkAverage protocol.forward beta work =\n Real.exp (-beta * deltaFreeEnergy)", + "conclusion": "∑ path : Fin (n + 1) → S, markovPathMass kernel initial n path = 1", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -80694,18 +87606,30 @@ "source": "[Fintype State]", "type_source": "Fintype State", "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "S" + ], + "role": "typed_binder", + "source": "{S : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype S]", + "type_source": "Fintype S", + "visibility": "instance" } ], "declaration_mentions": [ { - "identifier": "finiteJarzynski_eq", - "qualified_name": "FEP.PathThermodynamics.finiteJarzynski_eq", - "resolution": "exact or same-namespace source identifier", - "role": "proof_reference" - }, - { - "identifier": "hasJarzynskiNormalization_of_crooks", - "qualified_name": "FEP.PathThermodynamics.hasJarzynskiNormalization_of_crooks", + "identifier": "markovPathMass_snoc", + "qualified_name": "FEP.PathThermodynamics.markovPathMass_snoc", "resolution": "exact or same-namespace source identifier", "role": "proof_reference" } @@ -80718,61 +87642,61 @@ "line_coordinate_kind": "formal_resource_file", "namespace": "FEP.PathThermodynamics", "namespace_variable_context": [ - "{Path State : Type*} [Fintype Path] [Fintype State]" + "{Path State : Type*} [Fintype Path] [Fintype State]", + "{S : Type*} [Fintype S]" ], "preceding_scope_directives": [], - "qualified_name": "FEP.PathThermodynamics.finiteJarzynski_of_crooks", - "source_line": 257, + "qualified_name": "FEP.PathThermodynamics.markovPathMass_sum_one", + "source_line": 518, "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", - "statement": "theorem finiteJarzynski_of_crooks\n (protocol : FinitePathProtocol Path) (beta deltaFreeEnergy : ℝ)\n (work : Path → ℝ)\n (hCrooks : HasCrooksRelation protocol beta deltaFreeEnergy work) :\n exponentialWorkAverage protocol.forward beta work =\n Real.exp (-beta * deltaFreeEnergy)", - "statement_sha256": "6c6dc7947b45ea2292c0dc3dc611835a2ca328afc723eb40739ebcd26602ff40" + "statement": "theorem markovPathMass_sum_one (kernel : FiniteKernel S S)\n (initial : FiniteLaw S) (n : ℕ) :\n ∑ path : Fin (n + 1) → S, markovPathMass kernel initial n path = 1", + "statement_sha256": "47e70ac80a8461d6fa429b1187b3469a94dcabd14c090407ca0c89cef8a9a9e4" }, - "FEP.PathThermodynamics.hasJarzynskiNormalization_of_crooks": { + "FEP.PathThermodynamics.markovReverseMass_eq": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "protocol" + "reverse" ], "role": "typed_binder", - "source": "(protocol : FinitePathProtocol Path)", - "type_source": "FinitePathProtocol Path", + "source": "(reverse : FiniteKernel S S)", + "type_source": "FiniteKernel S S", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "beta", - "deltaFreeEnergy" + "final" ], "role": "typed_binder", - "source": "(beta deltaFreeEnergy : ℝ)", - "type_source": "ℝ", + "source": "(final : FiniteLaw S)", + "type_source": "FiniteLaw S", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "work" + "n" ], "role": "typed_binder", - "source": "(work : Path → ℝ)", - "type_source": "Path → ℝ", + "source": "(n : ℕ)", + "type_source": "ℕ", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "hCrooks" + "path" ], "role": "typed_binder", - "source": "(hCrooks : HasCrooksRelation protocol beta deltaFreeEnergy work)", - "type_source": "HasCrooksRelation protocol beta deltaFreeEnergy work", + "source": "(path : Fin (n + 1) → S)", + "type_source": "Fin (n + 1) → S", "visibility": "explicit" } ], - "conclusion": "HasJarzynskiNormalization protocol.forward beta deltaFreeEnergy work", + "conclusion": "markovReverseMass reverse final n path =\n markovPathMass reverse final n (pathReverse n path)", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -80800,6 +87724,24 @@ "source": "[Fintype State]", "type_source": "Fintype State", "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "S" + ], + "role": "typed_binder", + "source": "{S : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype S]", + "type_source": "Fintype S", + "visibility": "instance" } ], "declaration_mentions": [], @@ -80811,39 +87753,57 @@ "line_coordinate_kind": "formal_resource_file", "namespace": "FEP.PathThermodynamics", "namespace_variable_context": [ - "{Path State : Type*} [Fintype Path] [Fintype State]" + "{Path State : Type*} [Fintype Path] [Fintype State]", + "{S : Type*} [Fintype S]" ], - "preceding_scope_directives": [], - "qualified_name": "FEP.PathThermodynamics.hasJarzynskiNormalization_of_crooks", - "source_line": 237, + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Fintype S] in" + } + ], + "qualified_name": "FEP.PathThermodynamics.markovReverseMass_eq", + "source_line": 574, "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", - "statement": "theorem hasJarzynskiNormalization_of_crooks\n (protocol : FinitePathProtocol Path) (beta deltaFreeEnergy : ℝ)\n (work : Path → ℝ)\n (hCrooks : HasCrooksRelation protocol beta deltaFreeEnergy work) :\n HasJarzynskiNormalization protocol.forward beta deltaFreeEnergy work", - "statement_sha256": "27b3125171284c1c3b54c9d86eac281fe4d4c34faef5bcd7944cfd9101ca9dee" + "statement": "theorem markovReverseMass_eq (reverse : FiniteKernel S S) (final : FiniteLaw S)\n (n : ℕ) (path : Fin (n + 1) → S) :\n markovReverseMass reverse final n path =\n markovPathMass reverse final n (pathReverse n path)", + "statement_sha256": "26b547635b9e90615556dac091fe2ec78582e29b849fd51c1a017078756f1676" }, - "FEP.PathThermodynamics.identityKernel_KL_equality": { + "FEP.PathThermodynamics.markovReverseMass_one": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[DecidableEq State]", - "type_source": "DecidableEq State", - "visibility": "instance" + "names": [ + "reverse" + ], + "role": "typed_binder", + "source": "(reverse : FiniteKernel S S)", + "type_source": "FiniteKernel S S", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "actual", - "stationary" + "final" ], "role": "typed_binder", - "source": "(actual stationary : FiniteLaw State)", - "type_source": "FiniteLaw State", + "source": "(final : FiniteLaw S)", + "type_source": "FiniteLaw S", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "path" + ], + "role": "typed_binder", + "source": "(path : Fin 2 → S)", + "type_source": "Fin 2 → S", "visibility": "explicit" } ], - "conclusion": "finiteKL\n ((FiniteKernel.identity : FiniteKernel State State).predictive actual)\n stationary = finiteKL actual stationary", + "conclusion": "markovReverseMass reverse final 1 path = final (path 1) * reverse (path 1) (path 0)", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -80871,6 +87831,24 @@ "source": "[Fintype State]", "type_source": "Fintype State", "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "S" + ], + "role": "typed_binder", + "source": "{S : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype S]", + "type_source": "Fintype S", + "visibility": "instance" } ], "declaration_mentions": [], @@ -80882,36 +87860,53 @@ "line_coordinate_kind": "formal_resource_file", "namespace": "FEP.PathThermodynamics", "namespace_variable_context": [ - "{Path State : Type*} [Fintype Path] [Fintype State]" + "{Path State : Type*} [Fintype Path] [Fintype State]", + "{S : Type*} [Fintype S]" ], - "preceding_scope_directives": [], - "qualified_name": "FEP.PathThermodynamics.identityKernel_KL_equality", - "source_line": 366, + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Fintype S] in" + } + ], + "qualified_name": "FEP.PathThermodynamics.markovReverseMass_one", + "source_line": 689, "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", - "statement": "theorem identityKernel_KL_equality [DecidableEq State]\n (actual stationary : FiniteLaw State) :\n finiteKL\n ((FiniteKernel.identity : FiniteKernel State State).predictive actual)\n stationary = finiteKL actual stationary", - "statement_sha256": "9c2e278d3a9400d79984636af95b1198d4c6c897c64ea4164bda3799f0fe4c49" + "statement": "theorem markovReverseMass_one (reverse : FiniteKernel S S) (final : FiniteLaw S)\n (path : Fin 2 → S) :\n markovReverseMass reverse final 1 path = final (path 1) * reverse (path 1) (path 0)", + "statement_sha256": "b2da47e83a7cca567b2345a33b53dbe2772756dd967d36336855406f9db8cbba" }, - "FEP.PathThermodynamics.integralFluctuation_eq_one": { + "FEP.PathThermodynamics.markovReverseMass_pos": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "protocol" + "reverse" ], "role": "typed_binder", - "source": "(protocol : FinitePathProtocol Path)", - "type_source": "FinitePathProtocol Path", + "source": "(reverse : FiniteKernel S S)", + "type_source": "FiniteKernel S S", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "hForward" + "final" ], "role": "typed_binder", - "source": "(hForward : ∀ path, 0 < protocol.forward path)", - "type_source": "∀ path, 0 < protocol.forward path", + "source": "(final : FiniteLaw S)", + "type_source": "FiniteLaw S", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hFinal" + ], + "role": "typed_binder", + "source": "(hFinal : ∀ s, 0 < final s)", + "type_source": "∀ s, 0 < final s", "visibility": "explicit" }, { @@ -80920,12 +87915,32 @@ "hReverse" ], "role": "typed_binder", - "source": "(hReverse : ∀ path, 0 < protocol.reverseAligned path)", - "type_source": "∀ path, 0 < protocol.reverseAligned path", + "source": "(hReverse : ∀ a b, 0 < reverse a b)", + "type_source": "∀ a b, 0 < reverse a b", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "n" + ], + "role": "typed_binder", + "source": "(n : ℕ)", + "type_source": "ℕ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "path" + ], + "role": "typed_binder", + "source": "(path : Fin (n + 1) → S)", + "type_source": "Fin (n + 1) → S", "visibility": "explicit" } ], - "conclusion": "∑ path, protocol.forward path *\n Real.exp (-pathwiseEntropyProduction protocol path) = 1", + "conclusion": "0 < markovReverseMass reverse final n path", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -80953,39 +87968,14 @@ "source": "[Fintype State]", "type_source": "Fintype State", "visibility": "instance" - } - ], - "declaration_mentions": [], - "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", - "import_context": [ - "FepSketches.finite_markov_dynamics", - "FepSketches.variational_duality" - ], - "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.PathThermodynamics", - "namespace_variable_context": [ - "{Path State : Type*} [Fintype Path] [Fintype State]" - ], - "preceding_scope_directives": [], - "qualified_name": "FEP.PathThermodynamics.integralFluctuation_eq_one", - "source_line": 120, - "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", - "statement": "theorem integralFluctuation_eq_one\n (protocol : FinitePathProtocol Path)\n (hForward : ∀ path, 0 < protocol.forward path)\n (hReverse : ∀ path, 0 < protocol.reverseAligned path) :\n ∑ path, protocol.forward path *\n Real.exp (-pathwiseEntropyProduction protocol path) = 1", - "statement_sha256": "fcf7ad08f02d4e7bb47ff7c30904e1d8b06496d8b534f0cb23de9777f271e6f0" - }, - "FEP.PathThermodynamics.irreversibleBool_crooks": { - "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [], - "conclusion": "HasCrooksRelation irreversibleBoolProtocol 1 0 irreversibleCrooksWork", - "context_binders": [ + }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Path", - "State" + "S" ], "role": "typed_binder", - "source": "{Path State : Type*}", + "source": "{S : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -80993,16 +87983,8 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Path]", - "type_source": "Fintype Path", - "visibility": "instance" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype State]", - "type_source": "Fintype State", + "source": "[Fintype S]", + "type_source": "Fintype S", "visibility": "instance" } ], @@ -81015,19 +87997,87 @@ "line_coordinate_kind": "formal_resource_file", "namespace": "FEP.PathThermodynamics", "namespace_variable_context": [ - "{Path State : Type*} [Fintype Path] [Fintype State]" + "{Path State : Type*} [Fintype Path] [Fintype State]", + "{S : Type*} [Fintype S]" ], - "preceding_scope_directives": [], - "qualified_name": "FEP.PathThermodynamics.irreversibleBool_crooks", - "source_line": 420, + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Fintype S] in" + } + ], + "qualified_name": "FEP.PathThermodynamics.markovReverseMass_pos", + "source_line": 616, "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", - "statement": "theorem irreversibleBool_crooks :\n HasCrooksRelation irreversibleBoolProtocol 1 0 irreversibleCrooksWork", - "statement_sha256": "bc974c07abce87e801c11a33f64dcce666e2283d2c3e68c7bad1686b81ccb63a" + "statement": "theorem markovReverseMass_pos (reverse : FiniteKernel S S) (final : FiniteLaw S)\n (hFinal : ∀ s, 0 < final s) (hReverse : ∀ a b, 0 < reverse a b)\n (n : ℕ) (path : Fin (n + 1) → S) :\n 0 < markovReverseMass reverse final n path", + "statement_sha256": "1756ac8b066a00317aff75902239fd342aa24462c5cd45edf5cd333f24c39463" }, - "FEP.PathThermodynamics.irreversibleBool_entropyProduction_pos": { + "FEP.PathThermodynamics.markovReverseMass_reversedKernel": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [], - "conclusion": "0 < entropyProduction irreversibleBoolProtocol", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "law" + ], + "role": "typed_binder", + "source": "(law : FiniteLaw S)", + "type_source": "FiniteLaw S", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "kernel" + ], + "role": "typed_binder", + "source": "(kernel : FiniteKernel S S)", + "type_source": "FiniteKernel S S", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hLaw" + ], + "role": "typed_binder", + "source": "(hLaw : ∀ s, 0 < law s)", + "type_source": "∀ s, 0 < law s", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hInvariant" + ], + "role": "typed_binder", + "source": "(hInvariant : IsInvariant law kernel)", + "type_source": "IsInvariant law kernel", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "n" + ], + "role": "typed_binder", + "source": "(n : ℕ)", + "type_source": "ℕ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "path" + ], + "role": "typed_binder", + "source": "(path : Fin (n + 1) → S)", + "type_source": "Fin (n + 1) → S", + "visibility": "explicit" + } + ], + "conclusion": "markovReverseMass (reversedKernel law kernel hLaw hInvariant) law n path =\n markovPathMass kernel law n path", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -81055,28 +88105,30 @@ "source": "[Fintype State]", "type_source": "Fintype State", "visibility": "instance" - } - ], - "declaration_mentions": [ - { - "candidates": [ - "FEP.FiniteInformation.finiteKL_eq_zero_iff" - ], - "identifier": "finiteKL_eq_zero_iff", - "resolution": "unresolved lexical scope", - "role": "proof_reference" }, { - "candidates": [ - "FEP.FiniteInformation.finiteKL_nonneg" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "S" ], - "identifier": "finiteKL_nonneg", - "resolution": "unresolved lexical scope", - "role": "proof_reference" + "role": "typed_binder", + "source": "{S : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { - "identifier": "irreversibleForward_ne_reverse", - "qualified_name": "FEP.PathThermodynamics.irreversibleForward_ne_reverse", + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype S]", + "type_source": "Fintype S", + "visibility": "instance" + } + ], + "declaration_mentions": [ + { + "identifier": "prod_stage_ratio_telescope", + "qualified_name": "FEP.PathThermodynamics.prod_stage_ratio_telescope", "resolution": "exact or same-namespace source identifier", "role": "proof_reference" } @@ -81089,19 +88141,77 @@ "line_coordinate_kind": "formal_resource_file", "namespace": "FEP.PathThermodynamics", "namespace_variable_context": [ - "{Path State : Type*} [Fintype Path] [Fintype State]" + "{Path State : Type*} [Fintype Path] [Fintype State]", + "{S : Type*} [Fintype S]" ], - "preceding_scope_directives": [], - "qualified_name": "FEP.PathThermodynamics.irreversibleBool_entropyProduction_pos", - "source_line": 403, + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Fintype S] in" + } + ], + "qualified_name": "FEP.PathThermodynamics.markovReverseMass_reversedKernel", + "source_line": 889, "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", - "statement": "theorem irreversibleBool_entropyProduction_pos :\n 0 < entropyProduction irreversibleBoolProtocol", - "statement_sha256": "7613d1a48af9e4af0e71d3625ec05098e1edebeddc07a4987e5de8bfb4ac754a" + "statement": "theorem markovReverseMass_reversedKernel (law : FiniteLaw S)\n (kernel : FiniteKernel S S) (hLaw : ∀ s, 0 < law s)\n (hInvariant : IsInvariant law kernel) (n : ℕ) (path : Fin (n + 1) → S) :\n markovReverseMass (reversedKernel law kernel hLaw hInvariant) law n path =\n markovPathMass kernel law n path", + "statement_sha256": "7a7c337773bf87cb456a59e3e22901eb2b8421902ca2af79ba9fb1e5176a7312" }, - "FEP.PathThermodynamics.irreversibleCrooksWork_nonconstant": { + "FEP.PathThermodynamics.markovReversePathLaw_reversedKernel": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [], - "conclusion": "irreversibleCrooksWork true ≠ irreversibleCrooksWork false", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "law" + ], + "role": "typed_binder", + "source": "(law : FiniteLaw S)", + "type_source": "FiniteLaw S", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "kernel" + ], + "role": "typed_binder", + "source": "(kernel : FiniteKernel S S)", + "type_source": "FiniteKernel S S", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hLaw" + ], + "role": "typed_binder", + "source": "(hLaw : ∀ s, 0 < law s)", + "type_source": "∀ s, 0 < law s", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hInvariant" + ], + "role": "typed_binder", + "source": "(hInvariant : IsInvariant law kernel)", + "type_source": "IsInvariant law kernel", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "n" + ], + "role": "typed_binder", + "source": "(n : ℕ)", + "type_source": "ℕ", + "visibility": "explicit" + } + ], + "conclusion": "markovReversePathLaw (reversedKernel law kernel hLaw hInvariant) law n =\n markovPathLaw kernel law n", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -81129,9 +88239,34 @@ "source": "[Fintype State]", "type_source": "Fintype State", "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "S" + ], + "role": "typed_binder", + "source": "{S : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype S]", + "type_source": "Fintype S", + "visibility": "instance" + } + ], + "declaration_mentions": [ + { + "identifier": "markovReverseMass_reversedKernel", + "qualified_name": "FEP.PathThermodynamics.markovReverseMass_reversedKernel", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" } ], - "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ "FepSketches.finite_markov_dynamics", @@ -81140,19 +88275,37 @@ "line_coordinate_kind": "formal_resource_file", "namespace": "FEP.PathThermodynamics", "namespace_variable_context": [ - "{Path State : Type*} [Fintype Path] [Fintype State]" + "{Path State : Type*} [Fintype Path] [Fintype State]", + "{S : Type*} [Fintype S]" ], - "preceding_scope_directives": [], - "qualified_name": "FEP.PathThermodynamics.irreversibleCrooksWork_nonconstant", - "source_line": 429, + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Fintype S] in" + } + ], + "qualified_name": "FEP.PathThermodynamics.markovReversePathLaw_reversedKernel", + "source_line": 909, "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", - "statement": "theorem irreversibleCrooksWork_nonconstant :\n irreversibleCrooksWork true ≠ irreversibleCrooksWork false", - "statement_sha256": "71f430969fca9fc684d8742ea1d0ab6fb57ed4442ccc8ce0ba27042890ff80b7" + "statement": "theorem markovReversePathLaw_reversedKernel (law : FiniteLaw S)\n (kernel : FiniteKernel S S) (hLaw : ∀ s, 0 < law s)\n (hInvariant : IsInvariant law kernel) (n : ℕ) :\n markovReversePathLaw (reversedKernel law kernel hLaw hInvariant) law n =\n markovPathLaw kernel law n", + "statement_sha256": "db5135ac95e6e463729834a7c95e759666c711a2ea8b8f02c4e209ce99f9223d" }, - "FEP.PathThermodynamics.irreversibleForward_ne_reverse": { + "FEP.PathThermodynamics.pathLaw_normalization": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [], - "conclusion": "irreversibleForward ≠ irreversibleReverse", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "protocol" + ], + "role": "typed_binder", + "source": "(protocol : FinitePathProtocol Path)", + "type_source": "FinitePathProtocol Path", + "visibility": "explicit" + } + ], + "conclusion": "(∑ path, protocol.forward path = 1) ∧\n ∑ path, protocol.reverseAligned path = 1", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -81194,16 +88347,47 @@ "{Path State : Type*} [Fintype Path] [Fintype State]" ], "preceding_scope_directives": [], - "qualified_name": "FEP.PathThermodynamics.irreversibleForward_ne_reverse", - "source_line": 395, + "qualified_name": "FEP.PathThermodynamics.pathLaw_normalization", + "source_line": 40, "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", - "statement": "theorem irreversibleForward_ne_reverse :\n irreversibleForward ≠ irreversibleReverse", - "statement_sha256": "74bd318dd6ab38ed4b14aa0850b01c141fd693212ae97712e7209695c130799a" + "statement": "theorem pathLaw_normalization (protocol : FinitePathProtocol Path) :\n (∑ path, protocol.forward path = 1) ∧\n ∑ path, protocol.reverseAligned path = 1", + "statement_sha256": "80fb51b1b619485798359b373d5f5e2e1f46db0d43ea6a0b856606aa2a0f96f3" }, - "FEP.PathThermodynamics.irreversibleForward_unitWork_not_jarzynski": { + "FEP.PathThermodynamics.pathRatio_mul_reverse": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [], - "conclusion": "¬ HasJarzynskiNormalization irreversibleBoolProtocol.forward 1 0\n (fun _ => 1)", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "protocol" + ], + "role": "typed_binder", + "source": "(protocol : FinitePathProtocol Path)", + "type_source": "FinitePathProtocol Path", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hReverse" + ], + "role": "typed_binder", + "source": "(hReverse : ∀ path, 0 < protocol.reverseAligned path)", + "type_source": "∀ path, 0 < protocol.reverseAligned path", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "path" + ], + "role": "typed_binder", + "source": "(path : Path)", + "type_source": "Path", + "visibility": "explicit" + } + ], + "conclusion": "pathRatio protocol path * protocol.reverseAligned path =\n protocol.forward path", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -81245,47 +88429,47 @@ "{Path State : Type*} [Fintype Path] [Fintype State]" ], "preceding_scope_directives": [], - "qualified_name": "FEP.PathThermodynamics.irreversibleForward_unitWork_not_jarzynski", - "source_line": 454, + "qualified_name": "FEP.PathThermodynamics.pathRatio_mul_reverse", + "source_line": 53, "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", - "statement": "theorem irreversibleForward_unitWork_not_jarzynski :\n ¬ HasJarzynskiNormalization irreversibleBoolProtocol.forward 1 0\n (fun _ => 1)", - "statement_sha256": "335368feaf773449832f1186e402e09da48ee37ee05d70c34dfe9c534f7431cb" + "statement": "theorem pathRatio_mul_reverse\n (protocol : FinitePathProtocol Path)\n (hReverse : ∀ path, 0 < protocol.reverseAligned path) (path : Path) :\n pathRatio protocol path * protocol.reverseAligned path =\n protocol.forward path", + "statement_sha256": "0831c5af17994687739a98154aae5b5b8e7ec920c82c8b9fa825c1b8c655e0b0" }, - "FEP.PathThermodynamics.isInvariant_of_isReversible": { + "FEP.PathThermodynamics.pathRatio_zero_reverse_boundary": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "law" + "protocol" ], "role": "typed_binder", - "source": "(law : FiniteLaw State)", - "type_source": "FiniteLaw State", + "source": "(protocol : FinitePathProtocol Path)", + "type_source": "FinitePathProtocol Path", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "kernel" + "path" ], "role": "typed_binder", - "source": "(kernel : FiniteKernel State State)", - "type_source": "FiniteKernel State State", + "source": "(path : Path)", + "type_source": "Path", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "hReversible" + "hZero" ], "role": "typed_binder", - "source": "(hReversible : IsReversible law kernel)", - "type_source": "IsReversible law kernel", + "source": "(hZero : protocol.reverseAligned path = 0)", + "type_source": "protocol.reverseAligned path = 0", "visibility": "explicit" } ], - "conclusion": "FEP.FiniteMarkovDynamics.IsInvariant law kernel", + "conclusion": "pathRatio protocol path = 0", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -81327,16 +88511,27 @@ "{Path State : Type*} [Fintype Path] [Fintype State]" ], "preceding_scope_directives": [], - "qualified_name": "FEP.PathThermodynamics.isInvariant_of_isReversible", - "source_line": 328, + "qualified_name": "FEP.PathThermodynamics.pathRatio_zero_reverse_boundary", + "source_line": 62, "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", - "statement": "theorem isInvariant_of_isReversible\n (law : FiniteLaw State) (kernel : FiniteKernel State State)\n (hReversible : IsReversible law kernel) :\n FEP.FiniteMarkovDynamics.IsInvariant law kernel", - "statement_sha256": "830a07291304aff920362afe6d693ccccba22e4bef4dc72cacf8913a5c79072a" + "statement": "theorem pathRatio_zero_reverse_boundary\n (protocol : FinitePathProtocol Path) (path : Path)\n (hZero : protocol.reverseAligned path = 0) :\n pathRatio protocol path = 0", + "statement_sha256": "bd3d2909effb07f283c0a799057f17df79d72e6a212d4bdcbcc2e67c5d1362e1" }, - "FEP.PathThermodynamics.jarzynski_without_crooks": { + "FEP.PathThermodynamics.pathReverse_involutive": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [], - "conclusion": "HasJarzynskiNormalization irreversibleBoolProtocol.forward 1 0\n (fun _ => 0) ∧\n ¬ HasCrooksRelation irreversibleBoolProtocol 1 0 (fun _ => 0)", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "n" + ], + "role": "typed_binder", + "source": "(n : ℕ)", + "type_source": "ℕ", + "visibility": "explicit" + } + ], + "conclusion": "Function.Involutive (pathReverse (S := S) n)", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -81364,6 +88559,24 @@ "source": "[Fintype State]", "type_source": "Fintype State", "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "S" + ], + "role": "typed_binder", + "source": "{S : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype S]", + "type_source": "Fintype S", + "visibility": "instance" } ], "declaration_mentions": [], @@ -81375,61 +88588,109 @@ "line_coordinate_kind": "formal_resource_file", "namespace": "FEP.PathThermodynamics", "namespace_variable_context": [ - "{Path State : Type*} [Fintype Path] [Fintype State]" + "{Path State : Type*} [Fintype Path] [Fintype State]", + "{S : Type*} [Fintype S]" ], - "preceding_scope_directives": [], - "qualified_name": "FEP.PathThermodynamics.jarzynski_without_crooks", - "source_line": 438, + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Fintype S] in" + } + ], + "qualified_name": "FEP.PathThermodynamics.pathReverse_involutive", + "source_line": 566, "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", - "statement": "theorem jarzynski_without_crooks :\n HasJarzynskiNormalization irreversibleBoolProtocol.forward 1 0\n (fun _ => 0) ∧\n ¬ HasCrooksRelation irreversibleBoolProtocol 1 0 (fun _ => 0)", - "statement_sha256": "3edcfef3421f01494e50fcf721fe7aa4e2079ac0061d58201fea32511f89736c" + "statement": "theorem pathReverse_involutive (n : ℕ) :\n Function.Involutive (pathReverse (S := S) n)", + "statement_sha256": "564b09c6341531c54799e7335ba8be33024f13c4f3c2b016773487c08c12e43f" }, - "FEP.PathThermodynamics.localAffinity_zero_reverseRate_boundary": { + "FEP.PathThermodynamics.pathwiseEntropyProduction_markov": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "law" + "kernel", + "reverse" ], "role": "typed_binder", - "source": "(law : FiniteLaw State)", - "type_source": "FiniteLaw State", + "source": "(kernel reverse : FiniteKernel S S)", + "type_source": "FiniteKernel S S", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "kernel" + "initial", + "final" ], "role": "typed_binder", - "source": "(kernel : FiniteKernel State State)", - "type_source": "FiniteKernel State State", + "source": "(initial final : FiniteLaw S)", + "type_source": "FiniteLaw S", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "source", - "target" + "hInitial" ], "role": "typed_binder", - "source": "(source target : State)", - "type_source": "State", + "source": "(hInitial : ∀ s, 0 < initial s)", + "type_source": "∀ s, 0 < initial s", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "hZero" + "hFinal" ], "role": "typed_binder", - "source": "(hZero : kernel target source = 0)", - "type_source": "kernel target source = 0", + "source": "(hFinal : ∀ s, 0 < final s)", + "type_source": "∀ s, 0 < final s", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hKernel" + ], + "role": "typed_binder", + "source": "(hKernel : ∀ a b, 0 < kernel a b)", + "type_source": "∀ a b, 0 < kernel a b", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hReverse" + ], + "role": "typed_binder", + "source": "(hReverse : ∀ a b, 0 < reverse a b)", + "type_source": "∀ a b, 0 < reverse a b", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "n" + ], + "role": "typed_binder", + "source": "(n : ℕ)", + "type_source": "ℕ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "path" + ], + "role": "typed_binder", + "source": "(path : Fin (n + 1) → S)", + "type_source": "Fin (n + 1) → S", "visibility": "explicit" } ], - "conclusion": "localAffinity law kernel source target = 0", + "conclusion": "pathwiseEntropyProduction\n (markovPathProtocol kernel initial reverse final n) path =\n Real.log (initial (path 0) / final (path (Fin.last n))) +\n ∑ t : Fin n, Real.log\n (kernel (path t.castSucc) (path t.succ) /\n reverse (path t.succ) (path t.castSucc))", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -81457,6 +88718,24 @@ "source": "[Fintype State]", "type_source": "Fintype State", "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "S" + ], + "role": "typed_binder", + "source": "{S : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype S]", + "type_source": "Fintype S", + "visibility": "instance" } ], "declaration_mentions": [], @@ -81468,61 +88747,87 @@ "line_coordinate_kind": "formal_resource_file", "namespace": "FEP.PathThermodynamics", "namespace_variable_context": [ - "{Path State : Type*} [Fintype Path] [Fintype State]" + "{Path State : Type*} [Fintype Path] [Fintype State]", + "{S : Type*} [Fintype S]" ], - "preceding_scope_directives": [], - "qualified_name": "FEP.PathThermodynamics.localAffinity_zero_reverseRate_boundary", - "source_line": 319, + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Fintype S] in" + } + ], + "qualified_name": "FEP.PathThermodynamics.pathwiseEntropyProduction_markov", + "source_line": 624, "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", - "statement": "theorem localAffinity_zero_reverseRate_boundary\n (law : FiniteLaw State) (kernel : FiniteKernel State State)\n (source target : State) (hZero : kernel target source = 0) :\n localAffinity law kernel source target = 0", - "statement_sha256": "2f218319679dc3a5f9d6e9c6d1334f725c9d6c80a4795b2da31e7e40ebbf9baa" + "statement": "theorem pathwiseEntropyProduction_markov\n (kernel reverse : FiniteKernel S S) (initial final : FiniteLaw S)\n (hInitial : ∀ s, 0 < initial s) (hFinal : ∀ s, 0 < final s)\n (hKernel : ∀ a b, 0 < kernel a b) (hReverse : ∀ a b, 0 < reverse a b)\n (n : ℕ) (path : Fin (n + 1) → S) :\n pathwiseEntropyProduction\n (markovPathProtocol kernel initial reverse final n) path =\n Real.log (initial (path 0) / final (path (Fin.last n))) +\n ∑ t : Fin n, Real.log\n (kernel (path t.castSucc) (path t.succ) /\n reverse (path t.succ) (path t.castSucc))", + "statement_sha256": "512e26c0e20eb1019a84304795c62872dfae8721a2c90dce1ce2e2859d58ae96" }, - "FEP.PathThermodynamics.localDetailedBalance_current_zero": { + "FEP.PathThermodynamics.pathwiseEntropyProduction_reverse": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "law" + "protocol" ], "role": "typed_binder", - "source": "(law : FiniteLaw State)", - "type_source": "FiniteLaw State", + "source": "(protocol : FinitePathProtocol Path)", + "type_source": "FinitePathProtocol Path", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "kernel" + "hForward" ], "role": "typed_binder", - "source": "(kernel : FiniteKernel State State)", - "type_source": "FiniteKernel State State", + "source": "(hForward : ∀ path, 0 < protocol.forward path)", + "type_source": "∀ path, 0 < protocol.forward path", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "hReversible" + "hReverse" ], "role": "typed_binder", - "source": "(hReversible : IsReversible law kernel)", - "type_source": "IsReversible law kernel", + "source": "(hReverse : ∀ path, 0 < protocol.reverseAligned path)", + "type_source": "∀ path, 0 < protocol.reverseAligned path", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "source", - "target" + "hExchangeForward" ], "role": "typed_binder", - "source": "(source target : State)", - "type_source": "State", + "source": "(hExchangeForward : ∀ path,\n protocol.forward (protocol.reversal path) =\n protocol.reverseAligned path)", + "type_source": "∀ path,\n protocol.forward (protocol.reversal path) =\n protocol.reverseAligned path", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hExchangeReverse" + ], + "role": "typed_binder", + "source": "(hExchangeReverse : ∀ path,\n protocol.reverseAligned (protocol.reversal path) =\n protocol.forward path)", + "type_source": "∀ path,\n protocol.reverseAligned (protocol.reversal path) =\n protocol.forward path", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "path" + ], + "role": "typed_binder", + "source": "(path : Path)", + "type_source": "Path", "visibility": "explicit" } ], - "conclusion": "probabilityCurrent law kernel source target = 0", + "conclusion": "pathwiseEntropyProduction protocol (protocol.reversal path) =\n -pathwiseEntropyProduction protocol path", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -81564,27 +88869,48 @@ "{Path State : Type*} [Fintype Path] [Fintype State]" ], "preceding_scope_directives": [], - "qualified_name": "FEP.PathThermodynamics.localDetailedBalance_current_zero", - "source_line": 304, + "qualified_name": "FEP.PathThermodynamics.pathwiseEntropyProduction_reverse", + "source_line": 141, "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", - "statement": "theorem localDetailedBalance_current_zero\n (law : FiniteLaw State) (kernel : FiniteKernel State State)\n (hReversible : IsReversible law kernel) (source target : State) :\n probabilityCurrent law kernel source target = 0", - "statement_sha256": "e88f4388b57888276f96543dd122480d3cab967c2128c58be1fb827c13cb9e59" + "statement": "theorem pathwiseEntropyProduction_reverse\n (protocol : FinitePathProtocol Path)\n (hForward : ∀ path, 0 < protocol.forward path)\n (hReverse : ∀ path, 0 < protocol.reverseAligned path)\n (hExchangeForward : ∀ path,\n protocol.forward (protocol.reversal path) =\n protocol.reverseAligned path)\n (hExchangeReverse : ∀ path,\n protocol.reverseAligned (protocol.reversal path) =\n protocol.forward path)\n (path : Path) :\n pathwiseEntropyProduction protocol (protocol.reversal path) =\n -pathwiseEntropyProduction protocol path", + "statement_sha256": "923af0e0e2c42ee357460d646013aaad6d1c16b64365c9b445d3bccbe29f338c" }, - "FEP.PathThermodynamics.pathLaw_normalization": { + "FEP.PathThermodynamics.probabilityCurrent_antisymm": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "protocol" + "law" ], "role": "typed_binder", - "source": "(protocol : FinitePathProtocol Path)", - "type_source": "FinitePathProtocol Path", + "source": "(law : FiniteLaw State)", + "type_source": "FiniteLaw State", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "kernel" + ], + "role": "typed_binder", + "source": "(kernel : FiniteKernel State State)", + "type_source": "FiniteKernel State State", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "source", + "target" + ], + "role": "typed_binder", + "source": "(source target : State)", + "type_source": "State", "visibility": "explicit" } ], - "conclusion": "(∑ path, protocol.forward path = 1) ∧\n ∑ path, protocol.reverseAligned path = 1", + "conclusion": "probabilityCurrent law kernel source target =\n -probabilityCurrent law kernel target source", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -81626,47 +88952,47 @@ "{Path State : Type*} [Fintype Path] [Fintype State]" ], "preceding_scope_directives": [], - "qualified_name": "FEP.PathThermodynamics.pathLaw_normalization", - "source_line": 40, + "qualified_name": "FEP.PathThermodynamics.probabilityCurrent_antisymm", + "source_line": 296, "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", - "statement": "theorem pathLaw_normalization (protocol : FinitePathProtocol Path) :\n (∑ path, protocol.forward path = 1) ∧\n ∑ path, protocol.reverseAligned path = 1", - "statement_sha256": "80fb51b1b619485798359b373d5f5e2e1f46db0d43ea6a0b856606aa2a0f96f3" + "statement": "theorem probabilityCurrent_antisymm\n (law : FiniteLaw State) (kernel : FiniteKernel State State)\n (source target : State) :\n probabilityCurrent law kernel source target =\n -probabilityCurrent law kernel target source", + "statement_sha256": "10b7178b49efce1fc247a51ebb93256f8f5ef0b76aa0b1dbec4bf780fa529d3f" }, - "FEP.PathThermodynamics.pathRatio_mul_reverse": { + "FEP.PathThermodynamics.prod_stage_ratio_telescope": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "protocol" + "n" ], "role": "typed_binder", - "source": "(protocol : FinitePathProtocol Path)", - "type_source": "FinitePathProtocol Path", + "source": "(n : ℕ)", + "type_source": "ℕ", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "hReverse" + "f" ], "role": "typed_binder", - "source": "(hReverse : ∀ path, 0 < protocol.reverseAligned path)", - "type_source": "∀ path, 0 < protocol.reverseAligned path", + "source": "(f : Fin (n + 1) → ℝ)", + "type_source": "Fin (n + 1) → ℝ", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "path" + "hf" ], "role": "typed_binder", - "source": "(path : Path)", - "type_source": "Path", + "source": "(hf : ∀ i, f i ≠ 0)", + "type_source": "∀ i, f i ≠ 0", "visibility": "explicit" } ], - "conclusion": "pathRatio protocol path * protocol.reverseAligned path =\n protocol.forward path", + "conclusion": "∏ t : Fin n, f t.castSucc / f t.succ = f 0 / f (Fin.last n)", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -81694,6 +89020,24 @@ "source": "[Fintype State]", "type_source": "Fintype State", "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "S" + ], + "role": "typed_binder", + "source": "{S : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype S]", + "type_source": "Fintype S", + "visibility": "instance" } ], "declaration_mentions": [], @@ -81705,16 +89049,23 @@ "line_coordinate_kind": "formal_resource_file", "namespace": "FEP.PathThermodynamics", "namespace_variable_context": [ - "{Path State : Type*} [Fintype Path] [Fintype State]" + "{Path State : Type*} [Fintype Path] [Fintype State]", + "{S : Type*} [Fintype S]" ], - "preceding_scope_directives": [], - "qualified_name": "FEP.PathThermodynamics.pathRatio_mul_reverse", - "source_line": 53, + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Fintype S] in" + } + ], + "qualified_name": "FEP.PathThermodynamics.prod_stage_ratio_telescope", + "source_line": 871, "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", - "statement": "theorem pathRatio_mul_reverse\n (protocol : FinitePathProtocol Path)\n (hReverse : ∀ path, 0 < protocol.reverseAligned path) (path : Path) :\n pathRatio protocol path * protocol.reverseAligned path =\n protocol.forward path", - "statement_sha256": "0831c5af17994687739a98154aae5b5b8e7ec920c82c8b9fa825c1b8c655e0b0" + "statement": "theorem prod_stage_ratio_telescope (n : ℕ) (f : Fin (n + 1) → ℝ)\n (hf : ∀ i, f i ≠ 0) :\n ∏ t : Fin n, f t.castSucc / f t.succ = f 0 / f (Fin.last n)", + "statement_sha256": "92c60c0d277bc634185bc7c22a8a5a66f9cee7bb969c618bab25e74d11985ce0" }, - "FEP.PathThermodynamics.pathRatio_zero_reverse_boundary": { + "FEP.PathThermodynamics.reverse_reverse": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { @@ -81736,19 +89087,9 @@ "source": "(path : Path)", "type_source": "Path", "visibility": "explicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "hZero" - ], - "role": "typed_binder", - "source": "(hZero : protocol.reverseAligned path = 0)", - "type_source": "protocol.reverseAligned path = 0", - "visibility": "explicit" } ], - "conclusion": "pathRatio protocol path = 0", + "conclusion": "protocol.reversal (protocol.reversal path) = path", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -81790,77 +89131,68 @@ "{Path State : Type*} [Fintype Path] [Fintype State]" ], "preceding_scope_directives": [], - "qualified_name": "FEP.PathThermodynamics.pathRatio_zero_reverse_boundary", - "source_line": 62, + "qualified_name": "FEP.PathThermodynamics.reverse_reverse", + "source_line": 35, "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", - "statement": "theorem pathRatio_zero_reverse_boundary\n (protocol : FinitePathProtocol Path) (path : Path)\n (hZero : protocol.reverseAligned path = 0) :\n pathRatio protocol path = 0", - "statement_sha256": "bd3d2909effb07f283c0a799057f17df79d72e6a212d4bdcbcc2e67c5d1362e1" + "statement": "theorem reverse_reverse (protocol : FinitePathProtocol Path) (path : Path) :\n protocol.reversal (protocol.reversal path) = path", + "statement_sha256": "03c798ce5626361e20afa5a0209e1bc65cf91e46a37793d4052d582dbbaace24" }, - "FEP.PathThermodynamics.pathwiseEntropyProduction_reverse": { + "FEP.PathThermodynamics.reversedKernel_detailedBalance": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "protocol" - ], - "role": "typed_binder", - "source": "(protocol : FinitePathProtocol Path)", - "type_source": "FinitePathProtocol Path", - "visibility": "explicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "hForward" + "law" ], "role": "typed_binder", - "source": "(hForward : ∀ path, 0 < protocol.forward path)", - "type_source": "∀ path, 0 < protocol.forward path", + "source": "(law : FiniteLaw S)", + "type_source": "FiniteLaw S", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "hReverse" + "kernel" ], "role": "typed_binder", - "source": "(hReverse : ∀ path, 0 < protocol.reverseAligned path)", - "type_source": "∀ path, 0 < protocol.reverseAligned path", + "source": "(kernel : FiniteKernel S S)", + "type_source": "FiniteKernel S S", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "hExchangeForward" + "hLaw" ], "role": "typed_binder", - "source": "(hExchangeForward : ∀ path,\n protocol.forward (protocol.reversal path) =\n protocol.reverseAligned path)", - "type_source": "∀ path,\n protocol.forward (protocol.reversal path) =\n protocol.reverseAligned path", + "source": "(hLaw : ∀ s, 0 < law s)", + "type_source": "∀ s, 0 < law s", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "hExchangeReverse" + "hInvariant" ], "role": "typed_binder", - "source": "(hExchangeReverse : ∀ path,\n protocol.reverseAligned (protocol.reversal path) =\n protocol.forward path)", - "type_source": "∀ path,\n protocol.reverseAligned (protocol.reversal path) =\n protocol.forward path", + "source": "(hInvariant : IsInvariant law kernel)", + "type_source": "IsInvariant law kernel", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "path" + "a", + "b" ], "role": "typed_binder", - "source": "(path : Path)", - "type_source": "Path", + "source": "(a b : S)", + "type_source": "S", "visibility": "explicit" } ], - "conclusion": "pathwiseEntropyProduction protocol (protocol.reversal path) =\n -pathwiseEntropyProduction protocol path", + "conclusion": "law a * reversedKernel law kernel hLaw hInvariant a b =\n law b * kernel b a", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -81888,6 +89220,24 @@ "source": "[Fintype State]", "type_source": "Fintype State", "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "S" + ], + "role": "typed_binder", + "source": "{S : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype S]", + "type_source": "Fintype S", + "visibility": "instance" } ], "declaration_mentions": [], @@ -81899,16 +89249,23 @@ "line_coordinate_kind": "formal_resource_file", "namespace": "FEP.PathThermodynamics", "namespace_variable_context": [ - "{Path State : Type*} [Fintype Path] [Fintype State]" + "{Path State : Type*} [Fintype Path] [Fintype State]", + "{S : Type*} [Fintype S]" ], - "preceding_scope_directives": [], - "qualified_name": "FEP.PathThermodynamics.pathwiseEntropyProduction_reverse", - "source_line": 141, + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Fintype S] in" + } + ], + "qualified_name": "FEP.PathThermodynamics.reversedKernel_detailedBalance", + "source_line": 850, "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", - "statement": "theorem pathwiseEntropyProduction_reverse\n (protocol : FinitePathProtocol Path)\n (hForward : ∀ path, 0 < protocol.forward path)\n (hReverse : ∀ path, 0 < protocol.reverseAligned path)\n (hExchangeForward : ∀ path,\n protocol.forward (protocol.reversal path) =\n protocol.reverseAligned path)\n (hExchangeReverse : ∀ path,\n protocol.reverseAligned (protocol.reversal path) =\n protocol.forward path)\n (path : Path) :\n pathwiseEntropyProduction protocol (protocol.reversal path) =\n -pathwiseEntropyProduction protocol path", - "statement_sha256": "923af0e0e2c42ee357460d646013aaad6d1c16b64365c9b445d3bccbe29f338c" + "statement": "theorem reversedKernel_detailedBalance (law : FiniteLaw S)\n (kernel : FiniteKernel S S) (hLaw : ∀ s, 0 < law s)\n (hInvariant : IsInvariant law kernel) (a b : S) :\n law a * reversedKernel law kernel hLaw hInvariant a b =\n law b * kernel b a", + "statement_sha256": "ec1f0480775a45ed70110ad892e5fddaa9825b0005237a377d071633ff989ee3" }, - "FEP.PathThermodynamics.probabilityCurrent_antisymm": { + "FEP.PathThermodynamics.reversedKernel_eq_of_reversible": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { @@ -81917,8 +89274,8 @@ "law" ], "role": "typed_binder", - "source": "(law : FiniteLaw State)", - "type_source": "FiniteLaw State", + "source": "(law : FiniteLaw S)", + "type_source": "FiniteLaw S", "visibility": "explicit" }, { @@ -81927,23 +89284,32 @@ "kernel" ], "role": "typed_binder", - "source": "(kernel : FiniteKernel State State)", - "type_source": "FiniteKernel State State", + "source": "(kernel : FiniteKernel S S)", + "type_source": "FiniteKernel S S", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "source", - "target" + "hLaw" ], "role": "typed_binder", - "source": "(source target : State)", - "type_source": "State", + "source": "(hLaw : ∀ s, 0 < law s)", + "type_source": "∀ s, 0 < law s", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hReversible" + ], + "role": "typed_binder", + "source": "(hReversible : IsReversible law kernel)", + "type_source": "IsReversible law kernel", "visibility": "explicit" } ], - "conclusion": "probabilityCurrent law kernel source target =\n -probabilityCurrent law kernel target source", + "conclusion": "reversedKernel law kernel hLaw (isInvariant_of_isReversible law kernel hReversible) =\n kernel", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -81971,60 +89337,14 @@ "source": "[Fintype State]", "type_source": "Fintype State", "visibility": "instance" - } - ], - "declaration_mentions": [], - "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", - "import_context": [ - "FepSketches.finite_markov_dynamics", - "FepSketches.variational_duality" - ], - "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.PathThermodynamics", - "namespace_variable_context": [ - "{Path State : Type*} [Fintype Path] [Fintype State]" - ], - "preceding_scope_directives": [], - "qualified_name": "FEP.PathThermodynamics.probabilityCurrent_antisymm", - "source_line": 296, - "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", - "statement": "theorem probabilityCurrent_antisymm\n (law : FiniteLaw State) (kernel : FiniteKernel State State)\n (source target : State) :\n probabilityCurrent law kernel source target =\n -probabilityCurrent law kernel target source", - "statement_sha256": "10b7178b49efce1fc247a51ebb93256f8f5ef0b76aa0b1dbec4bf780fa529d3f" - }, - "FEP.PathThermodynamics.reverse_reverse": { - "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [ - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "protocol" - ], - "role": "typed_binder", - "source": "(protocol : FinitePathProtocol Path)", - "type_source": "FinitePathProtocol Path", - "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "path" - ], - "role": "typed_binder", - "source": "(path : Path)", - "type_source": "Path", - "visibility": "explicit" - } - ], - "conclusion": "protocol.reversal (protocol.reversal path) = path", - "context_binders": [ - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "Path", - "State" + "S" ], "role": "typed_binder", - "source": "{Path State : Type*}", + "source": "{S : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -82032,20 +89352,19 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Path]", - "type_source": "Fintype Path", + "source": "[Fintype S]", + "type_source": "Fintype S", "visibility": "instance" - }, + } + ], + "declaration_mentions": [ { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype State]", - "type_source": "Fintype State", - "visibility": "instance" + "identifier": "isInvariant_of_isReversible", + "qualified_name": "FEP.PathThermodynamics.isInvariant_of_isReversible", + "resolution": "exact or same-namespace source identifier", + "role": "statement_reference" } ], - "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ "FepSketches.finite_markov_dynamics", @@ -82054,14 +89373,21 @@ "line_coordinate_kind": "formal_resource_file", "namespace": "FEP.PathThermodynamics", "namespace_variable_context": [ - "{Path State : Type*} [Fintype Path] [Fintype State]" + "{Path State : Type*} [Fintype Path] [Fintype State]", + "{S : Type*} [Fintype S]" ], - "preceding_scope_directives": [], - "qualified_name": "FEP.PathThermodynamics.reverse_reverse", - "source_line": 35, + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Fintype S] in" + } + ], + "qualified_name": "FEP.PathThermodynamics.reversedKernel_eq_of_reversible", + "source_line": 859, "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", - "statement": "theorem reverse_reverse (protocol : FinitePathProtocol Path) (path : Path) :\n protocol.reversal (protocol.reversal path) = path", - "statement_sha256": "03c798ce5626361e20afa5a0209e1bc65cf91e46a37793d4052d582dbbaace24" + "statement": "theorem reversedKernel_eq_of_reversible (law : FiniteLaw S)\n (kernel : FiniteKernel S S) (hLaw : ∀ s, 0 < law s)\n (hReversible : IsReversible law kernel) :\n reversedKernel law kernel hLaw (isInvariant_of_isReversible law kernel hReversible) =\n kernel", + "statement_sha256": "3d185e0045ba0597d2fed2b80ee5a3821d6435f373b899a862e3586c32b1941b" }, "FEP.PathThermodynamics.reversibleKL_oneStep_dissipation": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", @@ -82199,6 +89525,93 @@ "statement": "theorem reversibleKL_oneStep_dissipation [Nonempty State]\n (actual stationary : FiniteLaw State)\n (kernel : FiniteKernel State State)\n (hActual : ∀ state, 0 < actual state)\n (hStationary : ∀ state, 0 < stationary state)\n (hKernel : ∀ source target, 0 < kernel source target)\n (hReversible : IsReversible stationary kernel) :\n finiteKL (kernel.predictive actual) stationary ≤\n finiteKL actual stationary", "statement_sha256": "6879e6fac8566e0139119b6567f2de2e0c1b894ed184d72dbd14b5002740d7b5" }, + "FEP.PathThermodynamics.sum_pathTwo": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "g" + ], + "role": "typed_binder", + "source": "(g : (Fin 2 → S) → ℝ)", + "type_source": "(Fin 2 → S) → ℝ", + "visibility": "explicit" + } + ], + "conclusion": "∑ path : Fin 2 → S, g path = ∑ i : S, ∑ j : S, g ![i, j]", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "Path", + "State" + ], + "role": "typed_binder", + "source": "{Path State : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Path]", + "type_source": "Fintype Path", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype State]", + "type_source": "Fintype State", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "S" + ], + "role": "typed_binder", + "source": "{S : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype S]", + "type_source": "Fintype S", + "visibility": "instance" + } + ], + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.finite_markov_dynamics", + "FepSketches.variational_duality" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.PathThermodynamics", + "namespace_variable_context": [ + "{Path State : Type*} [Fintype Path] [Fintype State]", + "{S : Type*} [Fintype S]" + ], + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Fintype S] in" + } + ], + "qualified_name": "FEP.PathThermodynamics.sum_pathTwo", + "source_line": 677, + "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "statement": "theorem sum_pathTwo (g : (Fin 2 → S) → ℝ) :\n ∑ path : Fin 2 → S, g path = ∑ i : S, ∑ j : S, g ![i, j]", + "statement_sha256": "9d2e6b8ca69c621afe8c99085d1525875ff962cd89d994892ac1649f8866fc08" + }, "FEP.PerceptionActionLoop.actionEvidence_eq_predictive_of_identity": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ @@ -87839,8 +95252,13 @@ "Mathlib.Analysis.Calculus.Deriv.Add", "Mathlib.Analysis.Calculus.Deriv.Mul", "Mathlib.Analysis.Calculus.Deriv.Pow", + "Mathlib.Analysis.Calculus.IteratedDeriv.Defs", + "Mathlib.Analysis.SpecialFunctions.ExpDeriv", "Mathlib.Basic.Real.Basic", + "Mathlib.Analysis.Convex.SpecificFunctions.Basic", + "Mathlib.Analysis.SpecialFunctions.Log.Deriv", "Mathlib.Order.Filter.Tendsto", + "Mathlib.Probability.Distributions.Gaussian.Real", "Mathlib.Topology.Algebra.Monoid", "Mathlib.Tactic" ], @@ -87849,11 +95267,90 @@ "namespace_variable_context": [], "preceding_scope_directives": [], "qualified_name": "FEP.PredictiveCoding.doubledPrecision_nontrivial_witness", - "source_line": 296, + "source_line": 370, "source_owner": "src/fep_lean/formal/predictive_coding.lean", "statement": "theorem doubledPrecision_nontrivial_witness :\n precisionEnergy 2 1 0 = 2 * precisionEnergy 1 1 0 ∧\n precisionEnergy 1 1 0 < precisionEnergy 2 1 0", "statement_sha256": "b54edeab2332f3d1280f8c586b9821dcb09c03220ba1b332cc2e81ea50376fb0" }, + "FEP.PredictiveCoding.exp_jet_shift_witness": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "order" + ], + "role": "typed_binder", + "source": "(order : ℕ)", + "type_source": "ℕ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "t" + ], + "role": "typed_binder", + "source": "(t : ℝ)", + "type_source": "ℝ", + "visibility": "explicit" + } + ], + "conclusion": "(∀ k, k ≤ order → (functionJet order Real.exp t).coefficient k ≠ 0) ∧\n (∀ k, k < order →\n (shift 1 (functionJet order Real.exp t)).coefficient k =\n (functionJet order (deriv Real.exp) t).coefficient k) ∧\n (shift 1 (functionJet order Real.exp t)).coefficient order = 0", + "context_binders": [], + "declaration_mentions": [ + { + "identifier": "functionJet_coefficient_of_le", + "qualified_name": "FEP.PredictiveCoding.functionJet_coefficient_of_le", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + }, + { + "identifier": "iteratedDeriv_exp_eq", + "qualified_name": "FEP.PredictiveCoding.iteratedDeriv_exp_eq", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + }, + { + "identifier": "shift_one_functionJet", + "qualified_name": "FEP.PredictiveCoding.shift_one_functionJet", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + }, + { + "identifier": "shift_top_zero", + "qualified_name": "FEP.PredictiveCoding.shift_top_zero", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + } + ], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "Mathlib.Algebra.BigOperators.Group.Finset.Basic", + "Mathlib.Algebra.Order.Ring.Basic", + "Mathlib.Analysis.Calculus.Deriv.Add", + "Mathlib.Analysis.Calculus.Deriv.Mul", + "Mathlib.Analysis.Calculus.Deriv.Pow", + "Mathlib.Analysis.Calculus.IteratedDeriv.Defs", + "Mathlib.Analysis.SpecialFunctions.ExpDeriv", + "Mathlib.Basic.Real.Basic", + "Mathlib.Analysis.Convex.SpecificFunctions.Basic", + "Mathlib.Analysis.SpecialFunctions.Log.Deriv", + "Mathlib.Order.Filter.Tendsto", + "Mathlib.Probability.Distributions.Gaussian.Real", + "Mathlib.Topology.Algebra.Monoid", + "Mathlib.Tactic" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.PredictiveCoding", + "namespace_variable_context": [], + "preceding_scope_directives": [], + "qualified_name": "FEP.PredictiveCoding.exp_jet_shift_witness", + "source_line": 234, + "source_owner": "src/fep_lean/formal/predictive_coding.lean", + "statement": "theorem exp_jet_shift_witness (order : ℕ) (t : ℝ) :\n (∀ k, k ≤ order → (functionJet order Real.exp t).coefficient k ≠ 0) ∧\n (∀ k, k < order →\n (shift 1 (functionJet order Real.exp t)).coefficient k =\n (functionJet order (deriv Real.exp) t).coefficient k) ∧\n (shift 1 (functionJet order Real.exp t)).coefficient order = 0", + "statement_sha256": "a3b750b233446db388704d840317c45e783331ceab8e61b4fd805a21c11d81e3" + }, "FEP.PredictiveCoding.firstOrderCorrection_witness": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [], @@ -87867,8 +95364,13 @@ "Mathlib.Analysis.Calculus.Deriv.Add", "Mathlib.Analysis.Calculus.Deriv.Mul", "Mathlib.Analysis.Calculus.Deriv.Pow", + "Mathlib.Analysis.Calculus.IteratedDeriv.Defs", + "Mathlib.Analysis.SpecialFunctions.ExpDeriv", "Mathlib.Basic.Real.Basic", + "Mathlib.Analysis.Convex.SpecificFunctions.Basic", + "Mathlib.Analysis.SpecialFunctions.Log.Deriv", "Mathlib.Order.Filter.Tendsto", + "Mathlib.Probability.Distributions.Gaussian.Real", "Mathlib.Topology.Algebra.Monoid", "Mathlib.Tactic" ], @@ -87877,7 +95379,7 @@ "namespace_variable_context": [], "preceding_scope_directives": [], "qualified_name": "FEP.PredictiveCoding.firstOrderCorrection_witness", - "source_line": 259, + "source_line": 333, "source_owner": "src/fep_lean/formal/predictive_coding.lean", "statement": "theorem firstOrderCorrection_witness :\n let corrected", "statement_sha256": "f717f20d22be56c827d69bacf8468951aefec13d2a43834cc398129abbafb401" @@ -87914,8 +95416,13 @@ "Mathlib.Analysis.Calculus.Deriv.Add", "Mathlib.Analysis.Calculus.Deriv.Mul", "Mathlib.Analysis.Calculus.Deriv.Pow", + "Mathlib.Analysis.Calculus.IteratedDeriv.Defs", + "Mathlib.Analysis.SpecialFunctions.ExpDeriv", "Mathlib.Basic.Real.Basic", + "Mathlib.Analysis.Convex.SpecificFunctions.Basic", + "Mathlib.Analysis.SpecialFunctions.Log.Deriv", "Mathlib.Order.Filter.Tendsto", + "Mathlib.Probability.Distributions.Gaussian.Real", "Mathlib.Topology.Algebra.Monoid", "Mathlib.Tactic" ], @@ -87924,7 +95431,7 @@ "namespace_variable_context": [], "preceding_scope_directives": [], "qualified_name": "FEP.PredictiveCoding.firstOrderJet_shift_boundary", - "source_line": 187, + "source_line": 261, "source_owner": "src/fep_lean/formal/predictive_coding.lean", "statement": "theorem firstOrderJet_shift_boundary (value velocity : ℝ) :\n (shift 1 (firstOrderJet value velocity)).coefficient 0 = velocity ∧\n (shift 1 (firstOrderJet value velocity)).coefficient 1 = 0", "statement_sha256": "6c21452307bd1ac67e5dc578f45c1d7f6bc16b350c47387a951457b1763dfdf9" @@ -87954,8 +95461,13 @@ "Mathlib.Analysis.Calculus.Deriv.Add", "Mathlib.Analysis.Calculus.Deriv.Mul", "Mathlib.Analysis.Calculus.Deriv.Pow", + "Mathlib.Analysis.Calculus.IteratedDeriv.Defs", + "Mathlib.Analysis.SpecialFunctions.ExpDeriv", "Mathlib.Basic.Real.Basic", + "Mathlib.Analysis.Convex.SpecificFunctions.Basic", + "Mathlib.Analysis.SpecialFunctions.Log.Deriv", "Mathlib.Order.Filter.Tendsto", + "Mathlib.Probability.Distributions.Gaussian.Real", "Mathlib.Topology.Algebra.Monoid", "Mathlib.Tactic" ], @@ -87964,7 +95476,7 @@ "namespace_variable_context": [], "preceding_scope_directives": [], "qualified_name": "FEP.PredictiveCoding.firstOrderJet_value", - "source_line": 178, + "source_line": 252, "source_owner": "src/fep_lean/formal/predictive_coding.lean", "statement": "theorem firstOrderJet_value (value velocity : ℝ) :\n (firstOrderJet value velocity).coefficient 0 = value", "statement_sha256": "b780a71e3377ba7a07fbc0d32111c0e6022be5aaa153a1769a3c4be112d3c61a" @@ -87994,8 +95506,13 @@ "Mathlib.Analysis.Calculus.Deriv.Add", "Mathlib.Analysis.Calculus.Deriv.Mul", "Mathlib.Analysis.Calculus.Deriv.Pow", + "Mathlib.Analysis.Calculus.IteratedDeriv.Defs", + "Mathlib.Analysis.SpecialFunctions.ExpDeriv", "Mathlib.Basic.Real.Basic", + "Mathlib.Analysis.Convex.SpecificFunctions.Basic", + "Mathlib.Analysis.SpecialFunctions.Log.Deriv", "Mathlib.Order.Filter.Tendsto", + "Mathlib.Probability.Distributions.Gaussian.Real", "Mathlib.Topology.Algebra.Monoid", "Mathlib.Tactic" ], @@ -88004,11 +95521,257 @@ "namespace_variable_context": [], "preceding_scope_directives": [], "qualified_name": "FEP.PredictiveCoding.firstOrderJet_velocity", - "source_line": 183, + "source_line": 257, "source_owner": "src/fep_lean/formal/predictive_coding.lean", "statement": "theorem firstOrderJet_velocity (value velocity : ℝ) :\n (firstOrderJet value velocity).coefficient 1 = velocity", "statement_sha256": "8d0565d9a1727e815a12d36c8408e6c84f0e1186ac4b8b8a351e381e521f5cad" }, + "FEP.PredictiveCoding.functionJet_coefficient_of_le": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "order" + ], + "role": "typed_binder", + "source": "{order : ℕ}", + "type_source": "ℕ", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "f" + ], + "role": "typed_binder", + "source": "(f : ℝ → ℝ)", + "type_source": "ℝ → ℝ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "t" + ], + "role": "typed_binder", + "source": "(t : ℝ)", + "type_source": "ℝ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "k" + ], + "role": "typed_binder", + "source": "{k : ℕ}", + "type_source": "ℕ", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hk" + ], + "role": "typed_binder", + "source": "(hk : k ≤ order)", + "type_source": "k ≤ order", + "visibility": "explicit" + } + ], + "conclusion": "(functionJet order f t).coefficient k = iteratedDeriv k f t", + "context_binders": [], + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "Mathlib.Algebra.BigOperators.Group.Finset.Basic", + "Mathlib.Algebra.Order.Ring.Basic", + "Mathlib.Analysis.Calculus.Deriv.Add", + "Mathlib.Analysis.Calculus.Deriv.Mul", + "Mathlib.Analysis.Calculus.Deriv.Pow", + "Mathlib.Analysis.Calculus.IteratedDeriv.Defs", + "Mathlib.Analysis.SpecialFunctions.ExpDeriv", + "Mathlib.Basic.Real.Basic", + "Mathlib.Analysis.Convex.SpecificFunctions.Basic", + "Mathlib.Analysis.SpecialFunctions.Log.Deriv", + "Mathlib.Order.Filter.Tendsto", + "Mathlib.Probability.Distributions.Gaussian.Real", + "Mathlib.Topology.Algebra.Monoid", + "Mathlib.Tactic" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.PredictiveCoding", + "namespace_variable_context": [], + "preceding_scope_directives": [], + "qualified_name": "FEP.PredictiveCoding.functionJet_coefficient_of_le", + "source_line": 182, + "source_owner": "src/fep_lean/formal/predictive_coding.lean", + "statement": "theorem functionJet_coefficient_of_le {order : ℕ} (f : ℝ → ℝ) (t : ℝ) {k : ℕ}\n (hk : k ≤ order) :\n (functionJet order f t).coefficient k = iteratedDeriv k f t", + "statement_sha256": "efa8abb3d913089fccad79a99edf275cb80d51d06d2dc982ba809367bfdaebb3" + }, + "FEP.PredictiveCoding.gaussianChainEnergy_eq_neg_log_prod": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "Level" + ], + "role": "typed_binder", + "source": "{Level : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Level]", + "type_source": "Fintype Level", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "mean", + "x" + ], + "role": "typed_binder", + "source": "(mean x : Level → ℝ)", + "type_source": "Level → ℝ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "variance" + ], + "role": "typed_binder", + "source": "(variance : Level → NNReal)", + "type_source": "Level → NNReal", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hVariance" + ], + "role": "typed_binder", + "source": "(hVariance : ∀ level, variance level ≠ 0)", + "type_source": "∀ level, variance level ≠ 0", + "visibility": "explicit" + } + ], + "conclusion": "-Real.log (∏ level, ProbabilityTheory.gaussianPDFReal\n (mean level) (variance level) (x level)) =\n gaussianChainEnergy (fun level => 1 / (variance level : ℝ))\n (fun level => x level - mean level) +\n (Fintype.card Level : ℝ) / 2 * Real.log (2 * Real.pi)", + "context_binders": [], + "declaration_mentions": [ + { + "identifier": "neg_log_gaussianPDFReal", + "qualified_name": "FEP.PredictiveCoding.neg_log_gaussianPDFReal", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + } + ], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "Mathlib.Algebra.BigOperators.Group.Finset.Basic", + "Mathlib.Algebra.Order.Ring.Basic", + "Mathlib.Analysis.Calculus.Deriv.Add", + "Mathlib.Analysis.Calculus.Deriv.Mul", + "Mathlib.Analysis.Calculus.Deriv.Pow", + "Mathlib.Analysis.Calculus.IteratedDeriv.Defs", + "Mathlib.Analysis.SpecialFunctions.ExpDeriv", + "Mathlib.Basic.Real.Basic", + "Mathlib.Analysis.Convex.SpecificFunctions.Basic", + "Mathlib.Analysis.SpecialFunctions.Log.Deriv", + "Mathlib.Order.Filter.Tendsto", + "Mathlib.Probability.Distributions.Gaussian.Real", + "Mathlib.Topology.Algebra.Monoid", + "Mathlib.Tactic" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.PredictiveCoding", + "namespace_variable_context": [], + "preceding_scope_directives": [], + "qualified_name": "FEP.PredictiveCoding.gaussianChainEnergy_eq_neg_log_prod", + "source_line": 592, + "source_owner": "src/fep_lean/formal/predictive_coding.lean", + "statement": "theorem gaussianChainEnergy_eq_neg_log_prod\n {Level : Type*} [Fintype Level]\n (mean x : Level → ℝ) (variance : Level → NNReal)\n (hVariance : ∀ level, variance level ≠ 0) :\n -Real.log (∏ level, ProbabilityTheory.gaussianPDFReal\n (mean level) (variance level) (x level)) =\n gaussianChainEnergy (fun level => 1 / (variance level : ℝ))\n (fun level => x level - mean level) +\n (Fintype.card Level : ℝ) / 2 * Real.log (2 * Real.pi)", + "statement_sha256": "4e27ad0c8e26b0fc0599d6db578b7bdc5d335acacb55063c0f4328ab18d6b9a8" + }, + "FEP.PredictiveCoding.gaussianChain_twoLevel": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "mean", + "x" + ], + "role": "typed_binder", + "source": "(mean x : Fin 2 → ℝ)", + "type_source": "Fin 2 → ℝ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "variance" + ], + "role": "typed_binder", + "source": "(variance : Fin 2 → NNReal)", + "type_source": "Fin 2 → NNReal", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hVariance" + ], + "role": "typed_binder", + "source": "(hVariance : ∀ level, variance level ≠ 0)", + "type_source": "∀ level, variance level ≠ 0", + "visibility": "explicit" + } + ], + "conclusion": "-Real.log (ProbabilityTheory.gaussianPDFReal (mean 0) (variance 0) (x 0) *\n ProbabilityTheory.gaussianPDFReal (mean 1) (variance 1) (x 1)) =\n gaussianChainEnergy (fun level => 1 / (variance level : ℝ))\n (fun level => x level - mean level) + Real.log (2 * Real.pi)", + "context_binders": [], + "declaration_mentions": [ + { + "identifier": "gaussianChainEnergy_eq_neg_log_prod", + "qualified_name": "FEP.PredictiveCoding.gaussianChainEnergy_eq_neg_log_prod", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + } + ], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "Mathlib.Algebra.BigOperators.Group.Finset.Basic", + "Mathlib.Algebra.Order.Ring.Basic", + "Mathlib.Analysis.Calculus.Deriv.Add", + "Mathlib.Analysis.Calculus.Deriv.Mul", + "Mathlib.Analysis.Calculus.Deriv.Pow", + "Mathlib.Analysis.Calculus.IteratedDeriv.Defs", + "Mathlib.Analysis.SpecialFunctions.ExpDeriv", + "Mathlib.Basic.Real.Basic", + "Mathlib.Analysis.Convex.SpecificFunctions.Basic", + "Mathlib.Analysis.SpecialFunctions.Log.Deriv", + "Mathlib.Order.Filter.Tendsto", + "Mathlib.Probability.Distributions.Gaussian.Real", + "Mathlib.Topology.Algebra.Monoid", + "Mathlib.Tactic" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.PredictiveCoding", + "namespace_variable_context": [], + "preceding_scope_directives": [], + "qualified_name": "FEP.PredictiveCoding.gaussianChain_twoLevel", + "source_line": 612, + "source_owner": "src/fep_lean/formal/predictive_coding.lean", + "statement": "theorem gaussianChain_twoLevel\n (mean x : Fin 2 → ℝ) (variance : Fin 2 → NNReal)\n (hVariance : ∀ level, variance level ≠ 0) :\n -Real.log (ProbabilityTheory.gaussianPDFReal (mean 0) (variance 0) (x 0) *\n ProbabilityTheory.gaussianPDFReal (mean 1) (variance 1) (x 1)) =\n gaussianChainEnergy (fun level => 1 / (variance level : ℝ))\n (fun level => x level - mean level) + Real.log (2 * Real.pi)", + "statement_sha256": "9030972c819f8eeee95e91bd3f6730b20629c2bea50114f9ad37ce172bf0662d" + }, "FEP.PredictiveCoding.generalizedCoordinateEnergy_hasDerivAt": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ @@ -88071,8 +95834,13 @@ "Mathlib.Analysis.Calculus.Deriv.Add", "Mathlib.Analysis.Calculus.Deriv.Mul", "Mathlib.Analysis.Calculus.Deriv.Pow", + "Mathlib.Analysis.Calculus.IteratedDeriv.Defs", + "Mathlib.Analysis.SpecialFunctions.ExpDeriv", "Mathlib.Basic.Real.Basic", + "Mathlib.Analysis.Convex.SpecificFunctions.Basic", + "Mathlib.Analysis.SpecialFunctions.Log.Deriv", "Mathlib.Order.Filter.Tendsto", + "Mathlib.Probability.Distributions.Gaussian.Real", "Mathlib.Topology.Algebra.Monoid", "Mathlib.Tactic" ], @@ -88081,7 +95849,7 @@ "namespace_variable_context": [], "preceding_scope_directives": [], "qualified_name": "FEP.PredictiveCoding.generalizedCoordinateEnergy_hasDerivAt", - "source_line": 233, + "source_line": 307, "source_owner": "src/fep_lean/formal/predictive_coding.lean", "statement": "theorem generalizedCoordinateEnergy_hasDerivAt {order : ℕ}\n (precision : ℕ → ℝ) (target estimate : FiniteJet order) (degree : ℕ) :\n HasDerivAt\n (fun candidate =>\n precisionEnergy (precision degree) (target.coefficient degree) candidate)\n (precisionEnergyGradient (precision degree)\n (target.coefficient degree) (estimate.coefficient degree))\n (estimate.coefficient degree)", "statement_sha256": "e4cb27d3abe7405622e5049ea946cef080eb4ceaa19fcb0af07467d12637c53f" @@ -88151,8 +95919,13 @@ "Mathlib.Analysis.Calculus.Deriv.Add", "Mathlib.Analysis.Calculus.Deriv.Mul", "Mathlib.Analysis.Calculus.Deriv.Pow", + "Mathlib.Analysis.Calculus.IteratedDeriv.Defs", + "Mathlib.Analysis.SpecialFunctions.ExpDeriv", "Mathlib.Basic.Real.Basic", + "Mathlib.Analysis.Convex.SpecificFunctions.Basic", + "Mathlib.Analysis.SpecialFunctions.Log.Deriv", "Mathlib.Order.Filter.Tendsto", + "Mathlib.Probability.Distributions.Gaussian.Real", "Mathlib.Topology.Algebra.Monoid", "Mathlib.Tactic" ], @@ -88161,7 +95934,7 @@ "namespace_variable_context": [], "preceding_scope_directives": [], "qualified_name": "FEP.PredictiveCoding.generalizedFilteringStep_equation", - "source_line": 223, + "source_line": 297, "source_owner": "src/fep_lean/formal/predictive_coding.lean", "statement": "theorem generalizedFilteringStep_equation {order : ℕ} (stepSize : ℝ)\n (precision : ℕ → ℝ) (target estimate : FiniteJet order)\n (degree : ℕ) :\n (generalizedFilteringStep stepSize precision target estimate).coefficient degree =\n estimate.coefficient degree + stepSize *\n ((shift 1 estimate).coefficient degree -\n precisionEnergyGradient (precision degree)\n (target.coefficient degree) (estimate.coefficient degree))", "statement_sha256": "692a7cfe5a9acc3bc0d4f1e20a227d52ee881820b92a4911f90979d1a9eca375" @@ -88218,8 +95991,13 @@ "Mathlib.Analysis.Calculus.Deriv.Add", "Mathlib.Analysis.Calculus.Deriv.Mul", "Mathlib.Analysis.Calculus.Deriv.Pow", + "Mathlib.Analysis.Calculus.IteratedDeriv.Defs", + "Mathlib.Analysis.SpecialFunctions.ExpDeriv", "Mathlib.Basic.Real.Basic", + "Mathlib.Analysis.Convex.SpecificFunctions.Basic", + "Mathlib.Analysis.SpecialFunctions.Log.Deriv", "Mathlib.Order.Filter.Tendsto", + "Mathlib.Probability.Distributions.Gaussian.Real", "Mathlib.Topology.Algebra.Monoid", "Mathlib.Tactic" ], @@ -88228,7 +96006,7 @@ "namespace_variable_context": [], "preceding_scope_directives": [], "qualified_name": "FEP.PredictiveCoding.generalizedFlow_top_boundary", - "source_line": 245, + "source_line": 319, "source_owner": "src/fep_lean/formal/predictive_coding.lean", "statement": "theorem generalizedFlow_top_boundary {order : ℕ} (precision : ℕ → ℝ)\n (target estimate : FiniteJet order) :\n (generalizedFlow precision target estimate).coefficient order =\n -precisionEnergyGradient (precision order)\n (target.coefficient order) (estimate.coefficient order)", "statement_sha256": "42f59822f3206209670e13d3af05d43eb8940a92e8d45fda6735ca7e7e05b9dd" @@ -88246,8 +96024,13 @@ "Mathlib.Analysis.Calculus.Deriv.Add", "Mathlib.Analysis.Calculus.Deriv.Mul", "Mathlib.Analysis.Calculus.Deriv.Pow", + "Mathlib.Analysis.Calculus.IteratedDeriv.Defs", + "Mathlib.Analysis.SpecialFunctions.ExpDeriv", "Mathlib.Basic.Real.Basic", + "Mathlib.Analysis.Convex.SpecificFunctions.Basic", + "Mathlib.Analysis.SpecialFunctions.Log.Deriv", "Mathlib.Order.Filter.Tendsto", + "Mathlib.Probability.Distributions.Gaussian.Real", "Mathlib.Topology.Algebra.Monoid", "Mathlib.Tactic" ], @@ -88256,7 +96039,7 @@ "namespace_variable_context": [], "preceding_scope_directives": [], "qualified_name": "FEP.PredictiveCoding.halfStep_energy_witness", - "source_line": 395, + "source_line": 469, "source_owner": "src/fep_lean/formal/predictive_coding.lean", "statement": "theorem halfStep_energy_witness :\n precisionEnergy 2 1 0 = 1 ∧\n predictionUpdate (1 / 2) 1 0 = 1 / 2 ∧\n precisionEnergy 2 1 (predictionUpdate (1 / 2) 1 0) = 1 / 4", "statement_sha256": "900f852cb7a96c04d156cf8f8896f2c7963d5f81921b50655a3e4ff7542db67d" @@ -88314,8 +96097,13 @@ "Mathlib.Analysis.Calculus.Deriv.Add", "Mathlib.Analysis.Calculus.Deriv.Mul", "Mathlib.Analysis.Calculus.Deriv.Pow", + "Mathlib.Analysis.Calculus.IteratedDeriv.Defs", + "Mathlib.Analysis.SpecialFunctions.ExpDeriv", "Mathlib.Basic.Real.Basic", + "Mathlib.Analysis.Convex.SpecificFunctions.Basic", + "Mathlib.Analysis.SpecialFunctions.Log.Deriv", "Mathlib.Order.Filter.Tendsto", + "Mathlib.Probability.Distributions.Gaussian.Real", "Mathlib.Topology.Algebra.Monoid", "Mathlib.Tactic" ], @@ -88324,7 +96112,7 @@ "namespace_variable_context": [], "preceding_scope_directives": [], "qualified_name": "FEP.PredictiveCoding.hierarchicalEnergy_nonneg", - "source_line": 103, + "source_line": 108, "source_owner": "src/fep_lean/formal/predictive_coding.lean", "statement": "theorem hierarchicalEnergy_nonneg\n {Level : Type*} [Fintype Level]\n (precision error : Level → ℝ)\n (hPrecision : ∀ level, 0 ≤ precision level) :\n 0 ≤ hierarchicalEnergy precision error", "statement_sha256": "65ba0496da0b9e4762826eeebc06678874361525ced2f4d2c44b02b22db7d874" @@ -88364,8 +96152,13 @@ "Mathlib.Analysis.Calculus.Deriv.Add", "Mathlib.Analysis.Calculus.Deriv.Mul", "Mathlib.Analysis.Calculus.Deriv.Pow", + "Mathlib.Analysis.Calculus.IteratedDeriv.Defs", + "Mathlib.Analysis.SpecialFunctions.ExpDeriv", "Mathlib.Basic.Real.Basic", + "Mathlib.Analysis.Convex.SpecificFunctions.Basic", + "Mathlib.Analysis.SpecialFunctions.Log.Deriv", "Mathlib.Order.Filter.Tendsto", + "Mathlib.Probability.Distributions.Gaussian.Real", "Mathlib.Topology.Algebra.Monoid", "Mathlib.Tactic" ], @@ -88374,7 +96167,7 @@ "namespace_variable_context": [], "preceding_scope_directives": [], "qualified_name": "FEP.PredictiveCoding.hierarchicalEnergy_succ", - "source_line": 114, + "source_line": 119, "source_owner": "src/fep_lean/formal/predictive_coding.lean", "statement": "theorem hierarchicalEnergy_succ {depth : ℕ}\n (precision error : Fin (depth + 1) → ℝ) :\n hierarchicalEnergy precision error =\n precision 0 / 2 * error 0 ^ 2 +\n ∑ level : Fin depth,\n precision level.succ / 2 * error level.succ ^ 2", "statement_sha256": "2a389e11f043edcf33ef99ae08e75c950c607416bbbe3aebb674648ab4eb5bfa" @@ -88451,8 +96244,13 @@ "Mathlib.Analysis.Calculus.Deriv.Add", "Mathlib.Analysis.Calculus.Deriv.Mul", "Mathlib.Analysis.Calculus.Deriv.Pow", + "Mathlib.Analysis.Calculus.IteratedDeriv.Defs", + "Mathlib.Analysis.SpecialFunctions.ExpDeriv", "Mathlib.Basic.Real.Basic", + "Mathlib.Analysis.Convex.SpecificFunctions.Basic", + "Mathlib.Analysis.SpecialFunctions.Log.Deriv", "Mathlib.Order.Filter.Tendsto", + "Mathlib.Probability.Distributions.Gaussian.Real", "Mathlib.Topology.Algebra.Monoid", "Mathlib.Tactic" ], @@ -88461,7 +96259,7 @@ "namespace_variable_context": [], "preceding_scope_directives": [], "qualified_name": "FEP.PredictiveCoding.iteratePredictionEnergy_tendsto_zero", - "source_line": 381, + "source_line": 455, "source_owner": "src/fep_lean/formal/predictive_coding.lean", "statement": "theorem iteratePredictionEnergy_tendsto_zero\n (precision : ℝ) {stepSize : ℝ} (hStepPositive : 0 < stepSize)\n (hStepBelowTwo : stepSize < 2) (target estimate : ℝ) :\n Tendsto\n (fun iterations => precisionEnergy precision target\n (iteratePredictionUpdate stepSize target iterations estimate))\n atTop (nhds 0)", "statement_sha256": "3fc140f44a72befd789d13d4541a195125f18b75421cffff69fa6960536f2d69" @@ -88509,8 +96307,13 @@ "Mathlib.Analysis.Calculus.Deriv.Add", "Mathlib.Analysis.Calculus.Deriv.Mul", "Mathlib.Analysis.Calculus.Deriv.Pow", + "Mathlib.Analysis.Calculus.IteratedDeriv.Defs", + "Mathlib.Analysis.SpecialFunctions.ExpDeriv", "Mathlib.Basic.Real.Basic", + "Mathlib.Analysis.Convex.SpecificFunctions.Basic", + "Mathlib.Analysis.SpecialFunctions.Log.Deriv", "Mathlib.Order.Filter.Tendsto", + "Mathlib.Probability.Distributions.Gaussian.Real", "Mathlib.Topology.Algebra.Monoid", "Mathlib.Tactic" ], @@ -88519,7 +96322,7 @@ "namespace_variable_context": [], "preceding_scope_directives": [], "qualified_name": "FEP.PredictiveCoding.iteratePredictionError", - "source_line": 347, + "source_line": 421, "source_owner": "src/fep_lean/formal/predictive_coding.lean", "statement": "theorem iteratePredictionError\n (stepSize target estimate : ℝ) (iterations : ℕ) :\n predictionError target\n (iteratePredictionUpdate stepSize target iterations estimate) =\n (1 - stepSize) ^ iterations * predictionError target estimate", "statement_sha256": "a9473096f24489a076b1531daa8bd2c20282e70a3f2b161f1bf4260aaf515477" @@ -88586,8 +96389,13 @@ "Mathlib.Analysis.Calculus.Deriv.Add", "Mathlib.Analysis.Calculus.Deriv.Mul", "Mathlib.Analysis.Calculus.Deriv.Pow", + "Mathlib.Analysis.Calculus.IteratedDeriv.Defs", + "Mathlib.Analysis.SpecialFunctions.ExpDeriv", "Mathlib.Basic.Real.Basic", + "Mathlib.Analysis.Convex.SpecificFunctions.Basic", + "Mathlib.Analysis.SpecialFunctions.Log.Deriv", "Mathlib.Order.Filter.Tendsto", + "Mathlib.Probability.Distributions.Gaussian.Real", "Mathlib.Topology.Algebra.Monoid", "Mathlib.Tactic" ], @@ -88596,11 +96404,130 @@ "namespace_variable_context": [], "preceding_scope_directives": [], "qualified_name": "FEP.PredictiveCoding.iteratePredictionError_tendsto_zero", - "source_line": 360, + "source_line": 434, "source_owner": "src/fep_lean/formal/predictive_coding.lean", "statement": "theorem iteratePredictionError_tendsto_zero\n {stepSize : ℝ} (hStepPositive : 0 < stepSize)\n (hStepBelowTwo : stepSize < 2) (target estimate : ℝ) :\n Tendsto\n (fun iterations => predictionError target\n (iteratePredictionUpdate stepSize target iterations estimate))\n atTop (nhds 0)", "statement_sha256": "583d6a81fbfff0b6313b3c08c48704fb45984d8c830be4678101c14fade1f680" }, + "FEP.PredictiveCoding.iteratedDeriv_exp_eq": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "k" + ], + "role": "typed_binder", + "source": "(k : ℕ)", + "type_source": "ℕ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "t" + ], + "role": "typed_binder", + "source": "(t : ℝ)", + "type_source": "ℝ", + "visibility": "explicit" + } + ], + "conclusion": "iteratedDeriv k Real.exp t = Real.exp t", + "context_binders": [], + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "Mathlib.Algebra.BigOperators.Group.Finset.Basic", + "Mathlib.Algebra.Order.Ring.Basic", + "Mathlib.Analysis.Calculus.Deriv.Add", + "Mathlib.Analysis.Calculus.Deriv.Mul", + "Mathlib.Analysis.Calculus.Deriv.Pow", + "Mathlib.Analysis.Calculus.IteratedDeriv.Defs", + "Mathlib.Analysis.SpecialFunctions.ExpDeriv", + "Mathlib.Basic.Real.Basic", + "Mathlib.Analysis.Convex.SpecificFunctions.Basic", + "Mathlib.Analysis.SpecialFunctions.Log.Deriv", + "Mathlib.Order.Filter.Tendsto", + "Mathlib.Probability.Distributions.Gaussian.Real", + "Mathlib.Topology.Algebra.Monoid", + "Mathlib.Tactic" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.PredictiveCoding", + "namespace_variable_context": [], + "preceding_scope_directives": [], + "qualified_name": "FEP.PredictiveCoding.iteratedDeriv_exp_eq", + "source_line": 224, + "source_owner": "src/fep_lean/formal/predictive_coding.lean", + "statement": "theorem iteratedDeriv_exp_eq (k : ℕ) (t : ℝ) : iteratedDeriv k Real.exp t = Real.exp t", + "statement_sha256": "a846d1151a902fb89f2ea35cb1bd87d6d3ded48dba24ec2073e16ac5f71e721b" + }, + "FEP.PredictiveCoding.neg_log_gaussianPDFReal": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "mean", + "x" + ], + "role": "typed_binder", + "source": "(mean x : ℝ)", + "type_source": "ℝ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "variance" + ], + "role": "typed_binder", + "source": "{variance : NNReal}", + "type_source": "NNReal", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hVariance" + ], + "role": "typed_binder", + "source": "(hVariance : variance ≠ 0)", + "type_source": "variance ≠ 0", + "visibility": "explicit" + } + ], + "conclusion": "-Real.log (ProbabilityTheory.gaussianPDFReal mean variance x) =\n (1 / (variance : ℝ)) / 2 * (x - mean) ^ 2\n - Real.log (1 / (variance : ℝ)) / 2 + Real.log (2 * Real.pi) / 2", + "context_binders": [], + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "Mathlib.Algebra.BigOperators.Group.Finset.Basic", + "Mathlib.Algebra.Order.Ring.Basic", + "Mathlib.Analysis.Calculus.Deriv.Add", + "Mathlib.Analysis.Calculus.Deriv.Mul", + "Mathlib.Analysis.Calculus.Deriv.Pow", + "Mathlib.Analysis.Calculus.IteratedDeriv.Defs", + "Mathlib.Analysis.SpecialFunctions.ExpDeriv", + "Mathlib.Basic.Real.Basic", + "Mathlib.Analysis.Convex.SpecificFunctions.Basic", + "Mathlib.Analysis.SpecialFunctions.Log.Deriv", + "Mathlib.Order.Filter.Tendsto", + "Mathlib.Probability.Distributions.Gaussian.Real", + "Mathlib.Topology.Algebra.Monoid", + "Mathlib.Tactic" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.PredictiveCoding", + "namespace_variable_context": [], + "preceding_scope_directives": [], + "qualified_name": "FEP.PredictiveCoding.neg_log_gaussianPDFReal", + "source_line": 573, + "source_owner": "src/fep_lean/formal/predictive_coding.lean", + "statement": "theorem neg_log_gaussianPDFReal (mean x : ℝ) {variance : NNReal}\n (hVariance : variance ≠ 0) :\n -Real.log (ProbabilityTheory.gaussianPDFReal mean variance x) =\n (1 / (variance : ℝ)) / 2 * (x - mean) ^ 2\n - Real.log (1 / (variance : ℝ)) / 2 + Real.log (2 * Real.pi) / 2", + "statement_sha256": "b754a42f1ef50a38c20697eee40dbe1536cf19aa8e2cab6c7829d9b4c45be8c4" + }, "FEP.PredictiveCoding.precisionEnergy_derivative_eq_gradient": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ @@ -88634,8 +96561,13 @@ "Mathlib.Analysis.Calculus.Deriv.Add", "Mathlib.Analysis.Calculus.Deriv.Mul", "Mathlib.Analysis.Calculus.Deriv.Pow", + "Mathlib.Analysis.Calculus.IteratedDeriv.Defs", + "Mathlib.Analysis.SpecialFunctions.ExpDeriv", "Mathlib.Basic.Real.Basic", + "Mathlib.Analysis.Convex.SpecificFunctions.Basic", + "Mathlib.Analysis.SpecialFunctions.Log.Deriv", "Mathlib.Order.Filter.Tendsto", + "Mathlib.Probability.Distributions.Gaussian.Real", "Mathlib.Topology.Algebra.Monoid", "Mathlib.Tactic" ], @@ -88644,7 +96576,7 @@ "namespace_variable_context": [], "preceding_scope_directives": [], "qualified_name": "FEP.PredictiveCoding.precisionEnergy_derivative_eq_gradient", - "source_line": 90, + "source_line": 95, "source_owner": "src/fep_lean/formal/predictive_coding.lean", "statement": "theorem precisionEnergy_derivative_eq_gradient\n (precision observation estimate : ℝ) :\n HasDerivAt (fun candidate => precisionEnergy precision observation candidate)\n (precisionEnergyGradient precision observation estimate) estimate", "statement_sha256": "6ae930689b6770a1246d0825288ea9347979b4ebc174490e94aef2853652ae61" @@ -88679,12 +96611,281 @@ "estimate" ], "role": "typed_binder", - "source": "(observation estimate : ℝ)", + "source": "(observation estimate : ℝ)", + "type_source": "ℝ", + "visibility": "explicit" + } + ], + "conclusion": "precisionEnergy precision observation estimate = 0 ↔\n estimate = observation", + "context_binders": [], + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "Mathlib.Algebra.BigOperators.Group.Finset.Basic", + "Mathlib.Algebra.Order.Ring.Basic", + "Mathlib.Analysis.Calculus.Deriv.Add", + "Mathlib.Analysis.Calculus.Deriv.Mul", + "Mathlib.Analysis.Calculus.Deriv.Pow", + "Mathlib.Analysis.Calculus.IteratedDeriv.Defs", + "Mathlib.Analysis.SpecialFunctions.ExpDeriv", + "Mathlib.Basic.Real.Basic", + "Mathlib.Analysis.Convex.SpecificFunctions.Basic", + "Mathlib.Analysis.SpecialFunctions.Log.Deriv", + "Mathlib.Order.Filter.Tendsto", + "Mathlib.Probability.Distributions.Gaussian.Real", + "Mathlib.Topology.Algebra.Monoid", + "Mathlib.Tactic" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.PredictiveCoding", + "namespace_variable_context": [], + "preceding_scope_directives": [], + "qualified_name": "FEP.PredictiveCoding.precisionEnergy_eq_zero_iff", + "source_line": 50, + "source_owner": "src/fep_lean/formal/predictive_coding.lean", + "statement": "theorem precisionEnergy_eq_zero_iff {precision : ℝ}\n (hPrecision : 0 < precision) (observation estimate : ℝ) :\n precisionEnergy precision observation estimate = 0 ↔\n estimate = observation", + "statement_sha256": "01a9ee70ca7e2cdacbc9a8529de50f6443906762bf255312b9f80affb42ee4ff" + }, + "FEP.PredictiveCoding.precisionEnergy_hasDerivAt": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "precision", + "observation", + "estimate" + ], + "role": "typed_binder", + "source": "(precision observation estimate : ℝ)", + "type_source": "ℝ", + "visibility": "explicit" + } + ], + "conclusion": "HasDerivAt (fun candidate => precisionEnergy precision observation candidate)\n (-precision * predictionError observation estimate) estimate", + "context_binders": [], + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "Mathlib.Algebra.BigOperators.Group.Finset.Basic", + "Mathlib.Algebra.Order.Ring.Basic", + "Mathlib.Analysis.Calculus.Deriv.Add", + "Mathlib.Analysis.Calculus.Deriv.Mul", + "Mathlib.Analysis.Calculus.Deriv.Pow", + "Mathlib.Analysis.Calculus.IteratedDeriv.Defs", + "Mathlib.Analysis.SpecialFunctions.ExpDeriv", + "Mathlib.Basic.Real.Basic", + "Mathlib.Analysis.Convex.SpecificFunctions.Basic", + "Mathlib.Analysis.SpecialFunctions.Log.Deriv", + "Mathlib.Order.Filter.Tendsto", + "Mathlib.Probability.Distributions.Gaussian.Real", + "Mathlib.Topology.Algebra.Monoid", + "Mathlib.Tactic" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.PredictiveCoding", + "namespace_variable_context": [], + "preceding_scope_directives": [], + "qualified_name": "FEP.PredictiveCoding.precisionEnergy_hasDerivAt", + "source_line": 79, + "source_owner": "src/fep_lean/formal/predictive_coding.lean", + "statement": "theorem precisionEnergy_hasDerivAt (precision observation estimate : ℝ) :\n HasDerivAt (fun candidate => precisionEnergy precision observation candidate)\n (-precision * predictionError observation estimate) estimate", + "statement_sha256": "3c7dd16edc5a4bb2bf141ef6c186379c0f6ce121b643f9936561d537f633b2a1" + }, + "FEP.PredictiveCoding.precisionEnergy_mono": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "lower", + "upper" + ], + "role": "typed_binder", + "source": "{lower upper : ℝ}", + "type_source": "ℝ", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hLowerNonneg" + ], + "role": "typed_binder", + "source": "(hLowerNonneg : 0 ≤ lower)", + "type_source": "0 ≤ lower", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hPrecision" + ], + "role": "typed_binder", + "source": "(hPrecision : lower ≤ upper)", + "type_source": "lower ≤ upper", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "observation", + "estimate" + ], + "role": "typed_binder", + "source": "(observation estimate : ℝ)", + "type_source": "ℝ", + "visibility": "explicit" + } + ], + "conclusion": "0 ≤ precisionEnergy lower observation estimate ∧\n precisionEnergy lower observation estimate ≤\n precisionEnergy upper observation estimate", + "context_binders": [], + "declaration_mentions": [ + { + "identifier": "precisionEnergy_nonneg", + "qualified_name": "FEP.PredictiveCoding.precisionEnergy_nonneg", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + } + ], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "Mathlib.Algebra.BigOperators.Group.Finset.Basic", + "Mathlib.Algebra.Order.Ring.Basic", + "Mathlib.Analysis.Calculus.Deriv.Add", + "Mathlib.Analysis.Calculus.Deriv.Mul", + "Mathlib.Analysis.Calculus.Deriv.Pow", + "Mathlib.Analysis.Calculus.IteratedDeriv.Defs", + "Mathlib.Analysis.SpecialFunctions.ExpDeriv", + "Mathlib.Basic.Real.Basic", + "Mathlib.Analysis.Convex.SpecificFunctions.Basic", + "Mathlib.Analysis.SpecialFunctions.Log.Deriv", + "Mathlib.Order.Filter.Tendsto", + "Mathlib.Probability.Distributions.Gaussian.Real", + "Mathlib.Topology.Algebra.Monoid", + "Mathlib.Tactic" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.PredictiveCoding", + "namespace_variable_context": [], + "preceding_scope_directives": [], + "qualified_name": "FEP.PredictiveCoding.precisionEnergy_mono", + "source_line": 345, + "source_owner": "src/fep_lean/formal/predictive_coding.lean", + "statement": "theorem precisionEnergy_mono {lower upper : ℝ}\n (hLowerNonneg : 0 ≤ lower) (hPrecision : lower ≤ upper)\n (observation estimate : ℝ) :\n 0 ≤ precisionEnergy lower observation estimate ∧\n precisionEnergy lower observation estimate ≤\n precisionEnergy upper observation estimate", + "statement_sha256": "c373aa0e791fc94c471d7e52511cdcb6fbc1f8f25173b38981cfdb7d2c447c1e" + }, + "FEP.PredictiveCoding.precisionEnergy_nonneg": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "precision" + ], + "role": "typed_binder", + "source": "{precision : ℝ}", + "type_source": "ℝ", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hPrecision" + ], + "role": "typed_binder", + "source": "(hPrecision : 0 ≤ precision)", + "type_source": "0 ≤ precision", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "observation", + "estimate" + ], + "role": "typed_binder", + "source": "(observation estimate : ℝ)", + "type_source": "ℝ", + "visibility": "explicit" + } + ], + "conclusion": "0 ≤ precisionEnergy precision observation estimate", + "context_binders": [], + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "Mathlib.Algebra.BigOperators.Group.Finset.Basic", + "Mathlib.Algebra.Order.Ring.Basic", + "Mathlib.Analysis.Calculus.Deriv.Add", + "Mathlib.Analysis.Calculus.Deriv.Mul", + "Mathlib.Analysis.Calculus.Deriv.Pow", + "Mathlib.Analysis.Calculus.IteratedDeriv.Defs", + "Mathlib.Analysis.SpecialFunctions.ExpDeriv", + "Mathlib.Basic.Real.Basic", + "Mathlib.Analysis.Convex.SpecificFunctions.Basic", + "Mathlib.Analysis.SpecialFunctions.Log.Deriv", + "Mathlib.Order.Filter.Tendsto", + "Mathlib.Probability.Distributions.Gaussian.Real", + "Mathlib.Topology.Algebra.Monoid", + "Mathlib.Tactic" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.PredictiveCoding", + "namespace_variable_context": [], + "preceding_scope_directives": [], + "qualified_name": "FEP.PredictiveCoding.precisionEnergy_nonneg", + "source_line": 43, + "source_owner": "src/fep_lean/formal/predictive_coding.lean", + "statement": "theorem precisionEnergy_nonneg {precision : ℝ} (hPrecision : 0 ≤ precision)\n (observation estimate : ℝ) :\n 0 ≤ precisionEnergy precision observation estimate", + "statement_sha256": "0ebc1576504aa52cd10695f7e5007d4006d887cb6af38f94f48bc5b1dc6d0833" + }, + "FEP.PredictiveCoding.precisionEnergy_pos": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "precision" + ], + "role": "typed_binder", + "source": "{precision : ℝ}", + "type_source": "ℝ", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hPrecision" + ], + "role": "typed_binder", + "source": "(hPrecision : 0 < precision)", + "type_source": "0 < precision", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "observation", + "estimate" + ], + "role": "typed_binder", + "source": "{observation estimate : ℝ}", "type_source": "ℝ", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hError" + ], + "role": "typed_binder", + "source": "(hError : observation ≠ estimate)", + "type_source": "observation ≠ estimate", "visibility": "explicit" } ], - "conclusion": "precisionEnergy precision observation estimate = 0 ↔\n estimate = observation", + "conclusion": "0 < precisionEnergy precision observation estimate", "context_binders": [], "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", @@ -88694,8 +96895,13 @@ "Mathlib.Analysis.Calculus.Deriv.Add", "Mathlib.Analysis.Calculus.Deriv.Mul", "Mathlib.Analysis.Calculus.Deriv.Pow", + "Mathlib.Analysis.Calculus.IteratedDeriv.Defs", + "Mathlib.Analysis.SpecialFunctions.ExpDeriv", "Mathlib.Basic.Real.Basic", + "Mathlib.Analysis.Convex.SpecificFunctions.Basic", + "Mathlib.Analysis.SpecialFunctions.Log.Deriv", "Mathlib.Order.Filter.Tendsto", + "Mathlib.Probability.Distributions.Gaussian.Real", "Mathlib.Topology.Algebra.Monoid", "Mathlib.Tactic" ], @@ -88703,29 +96909,30 @@ "namespace": "FEP.PredictiveCoding", "namespace_variable_context": [], "preceding_scope_directives": [], - "qualified_name": "FEP.PredictiveCoding.precisionEnergy_eq_zero_iff", - "source_line": 45, + "qualified_name": "FEP.PredictiveCoding.precisionEnergy_pos", + "source_line": 66, "source_owner": "src/fep_lean/formal/predictive_coding.lean", - "statement": "theorem precisionEnergy_eq_zero_iff {precision : ℝ}\n (hPrecision : 0 < precision) (observation estimate : ℝ) :\n precisionEnergy precision observation estimate = 0 ↔\n estimate = observation", - "statement_sha256": "01a9ee70ca7e2cdacbc9a8529de50f6443906762bf255312b9f80affb42ee4ff" + "statement": "theorem precisionEnergy_pos {precision : ℝ} (hPrecision : 0 < precision)\n {observation estimate : ℝ} (hError : observation ≠ estimate) :\n 0 < precisionEnergy precision observation estimate", + "statement_sha256": "59cc60b9b6969226a24bf212f4183becd1e71a65e5cb3cade45a3b48f414b41d" }, - "FEP.PredictiveCoding.precisionEnergy_hasDerivAt": { + "FEP.PredictiveCoding.precisionEnergy_scale": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ + "scale", "precision", "observation", "estimate" ], "role": "typed_binder", - "source": "(precision observation estimate : ℝ)", + "source": "(scale precision observation estimate : ℝ)", "type_source": "ℝ", "visibility": "explicit" } ], - "conclusion": "HasDerivAt (fun candidate => precisionEnergy precision observation candidate)\n (-precision * predictionError observation estimate) estimate", + "conclusion": "precisionEnergy (scale * precision) observation estimate =\n scale * precisionEnergy precision observation estimate", "context_binders": [], "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", @@ -88735,8 +96942,13 @@ "Mathlib.Analysis.Calculus.Deriv.Add", "Mathlib.Analysis.Calculus.Deriv.Mul", "Mathlib.Analysis.Calculus.Deriv.Pow", + "Mathlib.Analysis.Calculus.IteratedDeriv.Defs", + "Mathlib.Analysis.SpecialFunctions.ExpDeriv", "Mathlib.Basic.Real.Basic", + "Mathlib.Analysis.Convex.SpecificFunctions.Basic", + "Mathlib.Analysis.SpecialFunctions.Log.Deriv", "Mathlib.Order.Filter.Tendsto", + "Mathlib.Probability.Distributions.Gaussian.Real", "Mathlib.Topology.Algebra.Monoid", "Mathlib.Tactic" ], @@ -88744,64 +96956,62 @@ "namespace": "FEP.PredictiveCoding", "namespace_variable_context": [], "preceding_scope_directives": [], - "qualified_name": "FEP.PredictiveCoding.precisionEnergy_hasDerivAt", - "source_line": 74, + "qualified_name": "FEP.PredictiveCoding.precisionEnergy_scale", + "source_line": 357, "source_owner": "src/fep_lean/formal/predictive_coding.lean", - "statement": "theorem precisionEnergy_hasDerivAt (precision observation estimate : ℝ) :\n HasDerivAt (fun candidate => precisionEnergy precision observation candidate)\n (-precision * predictionError observation estimate) estimate", - "statement_sha256": "3c7dd16edc5a4bb2bf141ef6c186379c0f6ce121b643f9936561d537f633b2a1" + "statement": "theorem precisionEnergy_scale (scale precision observation estimate : ℝ) :\n precisionEnergy (scale * precision) observation estimate =\n scale * precisionEnergy precision observation estimate", + "statement_sha256": "577a76f3296d7f19f002bbc6a8a9cf1a444d11825b5e9477cace0883b558f4ce" }, - "FEP.PredictiveCoding.precisionEnergy_mono": { + "FEP.PredictiveCoding.precisionFreeEnergy_eq_iff": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "lower", - "upper" + "error" ], "role": "typed_binder", - "source": "{lower upper : ℝ}", + "source": "{error : ℝ}", "type_source": "ℝ", "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "hLowerNonneg" + "hError" ], "role": "typed_binder", - "source": "(hLowerNonneg : 0 ≤ lower)", - "type_source": "0 ≤ lower", + "source": "(hError : error ≠ 0)", + "type_source": "error ≠ 0", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "hPrecision" + "precision" ], "role": "typed_binder", - "source": "(hPrecision : lower ≤ upper)", - "type_source": "lower ≤ upper", - "visibility": "explicit" + "source": "{precision : ℝ}", + "type_source": "ℝ", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "observation", - "estimate" + "hPrecision" ], "role": "typed_binder", - "source": "(observation estimate : ℝ)", - "type_source": "ℝ", + "source": "(hPrecision : 0 < precision)", + "type_source": "0 < precision", "visibility": "explicit" } ], - "conclusion": "0 ≤ precisionEnergy lower observation estimate ∧\n precisionEnergy lower observation estimate ≤\n precisionEnergy upper observation estimate", + "conclusion": "precisionFreeEnergy error precision =\n precisionFreeEnergy error (1 / error ^ 2) ↔\n precision = 1 / error ^ 2", "context_binders": [], "declaration_mentions": [ { - "identifier": "precisionEnergy_nonneg", - "qualified_name": "FEP.PredictiveCoding.precisionEnergy_nonneg", + "identifier": "precisionFreeEnergy_sub_opt", + "qualified_name": "FEP.PredictiveCoding.precisionFreeEnergy_sub_opt", "resolution": "exact or same-namespace source identifier", "role": "proof_reference" } @@ -88813,8 +97023,13 @@ "Mathlib.Analysis.Calculus.Deriv.Add", "Mathlib.Analysis.Calculus.Deriv.Mul", "Mathlib.Analysis.Calculus.Deriv.Pow", + "Mathlib.Analysis.Calculus.IteratedDeriv.Defs", + "Mathlib.Analysis.SpecialFunctions.ExpDeriv", "Mathlib.Basic.Real.Basic", + "Mathlib.Analysis.Convex.SpecificFunctions.Basic", + "Mathlib.Analysis.SpecialFunctions.Log.Deriv", "Mathlib.Order.Filter.Tendsto", + "Mathlib.Probability.Distributions.Gaussian.Real", "Mathlib.Topology.Algebra.Monoid", "Mathlib.Tactic" ], @@ -88822,15 +97037,25 @@ "namespace": "FEP.PredictiveCoding", "namespace_variable_context": [], "preceding_scope_directives": [], - "qualified_name": "FEP.PredictiveCoding.precisionEnergy_mono", - "source_line": 271, + "qualified_name": "FEP.PredictiveCoding.precisionFreeEnergy_eq_iff", + "source_line": 510, "source_owner": "src/fep_lean/formal/predictive_coding.lean", - "statement": "theorem precisionEnergy_mono {lower upper : ℝ}\n (hLowerNonneg : 0 ≤ lower) (hPrecision : lower ≤ upper)\n (observation estimate : ℝ) :\n 0 ≤ precisionEnergy lower observation estimate ∧\n precisionEnergy lower observation estimate ≤\n precisionEnergy upper observation estimate", - "statement_sha256": "c373aa0e791fc94c471d7e52511cdcb6fbc1f8f25173b38981cfdb7d2c447c1e" + "statement": "theorem precisionFreeEnergy_eq_iff {error : ℝ} (hError : error ≠ 0)\n {precision : ℝ} (hPrecision : 0 < precision) :\n precisionFreeEnergy error precision =\n precisionFreeEnergy error (1 / error ^ 2) ↔\n precision = 1 / error ^ 2", + "statement_sha256": "02fc0591b741d4836604200adc2c60fff248bb17f75defd1d33a315d54b68c92" }, - "FEP.PredictiveCoding.precisionEnergy_nonneg": { + "FEP.PredictiveCoding.precisionFreeEnergy_hasDerivAt": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "error" + ], + "role": "typed_binder", + "source": "(error : ℝ)", + "type_source": "ℝ", + "visibility": "explicit" + }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ @@ -88847,23 +97072,137 @@ "hPrecision" ], "role": "typed_binder", - "source": "(hPrecision : 0 ≤ precision)", - "type_source": "0 ≤ precision", + "source": "(hPrecision : 0 < precision)", + "type_source": "0 < precision", "visibility": "explicit" + } + ], + "conclusion": "HasDerivAt (precisionFreeEnergy error)\n (error ^ 2 / 2 - 1 / (2 * precision)) precision", + "context_binders": [], + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "Mathlib.Algebra.BigOperators.Group.Finset.Basic", + "Mathlib.Algebra.Order.Ring.Basic", + "Mathlib.Analysis.Calculus.Deriv.Add", + "Mathlib.Analysis.Calculus.Deriv.Mul", + "Mathlib.Analysis.Calculus.Deriv.Pow", + "Mathlib.Analysis.Calculus.IteratedDeriv.Defs", + "Mathlib.Analysis.SpecialFunctions.ExpDeriv", + "Mathlib.Basic.Real.Basic", + "Mathlib.Analysis.Convex.SpecificFunctions.Basic", + "Mathlib.Analysis.SpecialFunctions.Log.Deriv", + "Mathlib.Order.Filter.Tendsto", + "Mathlib.Probability.Distributions.Gaussian.Real", + "Mathlib.Topology.Algebra.Monoid", + "Mathlib.Tactic" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.PredictiveCoding", + "namespace_variable_context": [], + "preceding_scope_directives": [], + "qualified_name": "FEP.PredictiveCoding.precisionFreeEnergy_hasDerivAt", + "source_line": 532, + "source_owner": "src/fep_lean/formal/predictive_coding.lean", + "statement": "theorem precisionFreeEnergy_hasDerivAt (error : ℝ) {precision : ℝ}\n (hPrecision : 0 < precision) :\n HasDerivAt (precisionFreeEnergy error)\n (error ^ 2 / 2 - 1 / (2 * precision)) precision", + "statement_sha256": "723e81d3f137d6de18ace4e8f7965441ea5d1d6916049e0db2d3602c4c0486b4" + }, + "FEP.PredictiveCoding.precisionFreeEnergy_min": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "error" + ], + "role": "typed_binder", + "source": "{error : ℝ}", + "type_source": "ℝ", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "observation", - "estimate" + "hError" ], "role": "typed_binder", - "source": "(observation estimate : ℝ)", + "source": "(hError : error ≠ 0)", + "type_source": "error ≠ 0", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "precision" + ], + "role": "typed_binder", + "source": "{precision : ℝ}", "type_source": "ℝ", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hPrecision" + ], + "role": "typed_binder", + "source": "(hPrecision : 0 < precision)", + "type_source": "0 < precision", "visibility": "explicit" } ], - "conclusion": "0 ≤ precisionEnergy precision observation estimate", + "conclusion": "precisionFreeEnergy error (1 / error ^ 2) ≤\n precisionFreeEnergy error precision", + "context_binders": [], + "declaration_mentions": [ + { + "identifier": "precisionFreeEnergy_sub_opt", + "qualified_name": "FEP.PredictiveCoding.precisionFreeEnergy_sub_opt", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + } + ], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "Mathlib.Algebra.BigOperators.Group.Finset.Basic", + "Mathlib.Algebra.Order.Ring.Basic", + "Mathlib.Analysis.Calculus.Deriv.Add", + "Mathlib.Analysis.Calculus.Deriv.Mul", + "Mathlib.Analysis.Calculus.Deriv.Pow", + "Mathlib.Analysis.Calculus.IteratedDeriv.Defs", + "Mathlib.Analysis.SpecialFunctions.ExpDeriv", + "Mathlib.Basic.Real.Basic", + "Mathlib.Analysis.Convex.SpecificFunctions.Basic", + "Mathlib.Analysis.SpecialFunctions.Log.Deriv", + "Mathlib.Order.Filter.Tendsto", + "Mathlib.Probability.Distributions.Gaussian.Real", + "Mathlib.Topology.Algebra.Monoid", + "Mathlib.Tactic" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.PredictiveCoding", + "namespace_variable_context": [], + "preceding_scope_directives": [], + "qualified_name": "FEP.PredictiveCoding.precisionFreeEnergy_min", + "source_line": 500, + "source_owner": "src/fep_lean/formal/predictive_coding.lean", + "statement": "theorem precisionFreeEnergy_min {error : ℝ} (hError : error ≠ 0)\n {precision : ℝ} (hPrecision : 0 < precision) :\n precisionFreeEnergy error (1 / error ^ 2) ≤\n precisionFreeEnergy error precision", + "statement_sha256": "1560478ad6e3b638081899d309624f854a730e9b58c98b6165f742249338f21e" + }, + "FEP.PredictiveCoding.precisionFreeEnergy_strictConvexOn": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "error" + ], + "role": "typed_binder", + "source": "(error : ℝ)", + "type_source": "ℝ", + "visibility": "explicit" + } + ], + "conclusion": "StrictConvexOn ℝ (Set.Ioi 0) (precisionFreeEnergy error)", "context_binders": [], "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", @@ -88873,8 +97212,13 @@ "Mathlib.Analysis.Calculus.Deriv.Add", "Mathlib.Analysis.Calculus.Deriv.Mul", "Mathlib.Analysis.Calculus.Deriv.Pow", + "Mathlib.Analysis.Calculus.IteratedDeriv.Defs", + "Mathlib.Analysis.SpecialFunctions.ExpDeriv", "Mathlib.Basic.Real.Basic", + "Mathlib.Analysis.Convex.SpecificFunctions.Basic", + "Mathlib.Analysis.SpecialFunctions.Log.Deriv", "Mathlib.Order.Filter.Tendsto", + "Mathlib.Probability.Distributions.Gaussian.Real", "Mathlib.Topology.Algebra.Monoid", "Mathlib.Tactic" ], @@ -88882,58 +97226,57 @@ "namespace": "FEP.PredictiveCoding", "namespace_variable_context": [], "preceding_scope_directives": [], - "qualified_name": "FEP.PredictiveCoding.precisionEnergy_nonneg", - "source_line": 38, + "qualified_name": "FEP.PredictiveCoding.precisionFreeEnergy_strictConvexOn", + "source_line": 549, "source_owner": "src/fep_lean/formal/predictive_coding.lean", - "statement": "theorem precisionEnergy_nonneg {precision : ℝ} (hPrecision : 0 ≤ precision)\n (observation estimate : ℝ) :\n 0 ≤ precisionEnergy precision observation estimate", - "statement_sha256": "0ebc1576504aa52cd10695f7e5007d4006d887cb6af38f94f48bc5b1dc6d0833" + "statement": "theorem precisionFreeEnergy_strictConvexOn (error : ℝ) :\n StrictConvexOn ℝ (Set.Ioi 0) (precisionFreeEnergy error)", + "statement_sha256": "9e9e8d3bdba2233476160e5a9033d420b0f10d09633b27c7f3008decc6deda3e" }, - "FEP.PredictiveCoding.precisionEnergy_pos": { + "FEP.PredictiveCoding.precisionFreeEnergy_sub_opt": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "precision" + "error" ], "role": "typed_binder", - "source": "{precision : ℝ}", + "source": "{error : ℝ}", "type_source": "ℝ", "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "hPrecision" + "hError" ], "role": "typed_binder", - "source": "(hPrecision : 0 < precision)", - "type_source": "0 < precision", + "source": "(hError : error ≠ 0)", + "type_source": "error ≠ 0", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "observation", - "estimate" + "precision" ], "role": "typed_binder", - "source": "{observation estimate : ℝ}", + "source": "{precision : ℝ}", "type_source": "ℝ", "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "hError" + "hPrecision" ], "role": "typed_binder", - "source": "(hError : observation ≠ estimate)", - "type_source": "observation ≠ estimate", + "source": "(hPrecision : 0 < precision)", + "type_source": "0 < precision", "visibility": "explicit" } ], - "conclusion": "0 < precisionEnergy precision observation estimate", + "conclusion": "precisionFreeEnergy error precision - precisionFreeEnergy error (1 / error ^ 2) =\n (error ^ 2 * precision - 1 - Real.log (error ^ 2 * precision)) / 2", "context_binders": [], "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", @@ -88943,8 +97286,13 @@ "Mathlib.Analysis.Calculus.Deriv.Add", "Mathlib.Analysis.Calculus.Deriv.Mul", "Mathlib.Analysis.Calculus.Deriv.Pow", + "Mathlib.Analysis.Calculus.IteratedDeriv.Defs", + "Mathlib.Analysis.SpecialFunctions.ExpDeriv", "Mathlib.Basic.Real.Basic", + "Mathlib.Analysis.Convex.SpecificFunctions.Basic", + "Mathlib.Analysis.SpecialFunctions.Log.Deriv", "Mathlib.Order.Filter.Tendsto", + "Mathlib.Probability.Distributions.Gaussian.Real", "Mathlib.Topology.Algebra.Monoid", "Mathlib.Tactic" ], @@ -88952,30 +97300,27 @@ "namespace": "FEP.PredictiveCoding", "namespace_variable_context": [], "preceding_scope_directives": [], - "qualified_name": "FEP.PredictiveCoding.precisionEnergy_pos", - "source_line": 61, + "qualified_name": "FEP.PredictiveCoding.precisionFreeEnergy_sub_opt", + "source_line": 485, "source_owner": "src/fep_lean/formal/predictive_coding.lean", - "statement": "theorem precisionEnergy_pos {precision : ℝ} (hPrecision : 0 < precision)\n {observation estimate : ℝ} (hError : observation ≠ estimate) :\n 0 < precisionEnergy precision observation estimate", - "statement_sha256": "59cc60b9b6969226a24bf212f4183becd1e71a65e5cb3cade45a3b48f414b41d" + "statement": "theorem precisionFreeEnergy_sub_opt {error : ℝ} (hError : error ≠ 0)\n {precision : ℝ} (hPrecision : 0 < precision) :\n precisionFreeEnergy error precision - precisionFreeEnergy error (1 / error ^ 2) =\n (error ^ 2 * precision - 1 - Real.log (error ^ 2 * precision)) / 2", + "statement_sha256": "04560a9dd8a09d75ff1cbb025124461bec9efd73e439a9cb3303ef41a7a152cc" }, - "FEP.PredictiveCoding.precisionEnergy_scale": { + "FEP.PredictiveCoding.precisionFreeEnergy_zero_error_unbounded": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "scale", - "precision", - "observation", - "estimate" + "M" ], "role": "typed_binder", - "source": "(scale precision observation estimate : ℝ)", + "source": "(M : ℝ)", "type_source": "ℝ", "visibility": "explicit" } ], - "conclusion": "precisionEnergy (scale * precision) observation estimate =\n scale * precisionEnergy precision observation estimate", + "conclusion": "∃ precision : ℝ, 0 < precision ∧ precisionFreeEnergy 0 precision < M", "context_binders": [], "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", @@ -88985,8 +97330,13 @@ "Mathlib.Analysis.Calculus.Deriv.Add", "Mathlib.Analysis.Calculus.Deriv.Mul", "Mathlib.Analysis.Calculus.Deriv.Pow", + "Mathlib.Analysis.Calculus.IteratedDeriv.Defs", + "Mathlib.Analysis.SpecialFunctions.ExpDeriv", "Mathlib.Basic.Real.Basic", + "Mathlib.Analysis.Convex.SpecificFunctions.Basic", + "Mathlib.Analysis.SpecialFunctions.Log.Deriv", "Mathlib.Order.Filter.Tendsto", + "Mathlib.Probability.Distributions.Gaussian.Real", "Mathlib.Topology.Algebra.Monoid", "Mathlib.Tactic" ], @@ -88994,11 +97344,11 @@ "namespace": "FEP.PredictiveCoding", "namespace_variable_context": [], "preceding_scope_directives": [], - "qualified_name": "FEP.PredictiveCoding.precisionEnergy_scale", - "source_line": 283, + "qualified_name": "FEP.PredictiveCoding.precisionFreeEnergy_zero_error_unbounded", + "source_line": 558, "source_owner": "src/fep_lean/formal/predictive_coding.lean", - "statement": "theorem precisionEnergy_scale (scale precision observation estimate : ℝ) :\n precisionEnergy (scale * precision) observation estimate =\n scale * precisionEnergy precision observation estimate", - "statement_sha256": "577a76f3296d7f19f002bbc6a8a9cf1a444d11825b5e9477cace0883b558f4ce" + "statement": "theorem precisionFreeEnergy_zero_error_unbounded (M : ℝ) :\n ∃ precision : ℝ, 0 < precision ∧ precisionFreeEnergy 0 precision < M", + "statement_sha256": "5625928271e3331ee845c9d99533a907f78c4a7a585d481c941beb93c488c0df" }, "FEP.PredictiveCoding.precisionGradient_scale": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", @@ -89027,8 +97377,13 @@ "Mathlib.Analysis.Calculus.Deriv.Add", "Mathlib.Analysis.Calculus.Deriv.Mul", "Mathlib.Analysis.Calculus.Deriv.Pow", + "Mathlib.Analysis.Calculus.IteratedDeriv.Defs", + "Mathlib.Analysis.SpecialFunctions.ExpDeriv", "Mathlib.Basic.Real.Basic", + "Mathlib.Analysis.Convex.SpecificFunctions.Basic", + "Mathlib.Analysis.SpecialFunctions.Log.Deriv", "Mathlib.Order.Filter.Tendsto", + "Mathlib.Probability.Distributions.Gaussian.Real", "Mathlib.Topology.Algebra.Monoid", "Mathlib.Tactic" ], @@ -89037,7 +97392,7 @@ "namespace_variable_context": [], "preceding_scope_directives": [], "qualified_name": "FEP.PredictiveCoding.precisionGradient_scale", - "source_line": 290, + "source_line": 364, "source_owner": "src/fep_lean/formal/predictive_coding.lean", "statement": "theorem precisionGradient_scale (scale precision observation estimate : ℝ) :\n precisionEnergyGradient (scale * precision) observation estimate =\n scale * precisionEnergyGradient precision observation estimate", "statement_sha256": "e318e126855afe357984aa5e8b8c214e62356f3c5fbb5f08800cfb30c9ea93f2" @@ -89076,8 +97431,13 @@ "Mathlib.Analysis.Calculus.Deriv.Add", "Mathlib.Analysis.Calculus.Deriv.Mul", "Mathlib.Analysis.Calculus.Deriv.Pow", + "Mathlib.Analysis.Calculus.IteratedDeriv.Defs", + "Mathlib.Analysis.SpecialFunctions.ExpDeriv", "Mathlib.Basic.Real.Basic", + "Mathlib.Analysis.Convex.SpecificFunctions.Basic", + "Mathlib.Analysis.SpecialFunctions.Log.Deriv", "Mathlib.Order.Filter.Tendsto", + "Mathlib.Probability.Distributions.Gaussian.Real", "Mathlib.Topology.Algebra.Monoid", "Mathlib.Tactic" ], @@ -89086,7 +97446,7 @@ "namespace_variable_context": [], "preceding_scope_directives": [], "qualified_name": "FEP.PredictiveCoding.predictionEnergy_contraction", - "source_line": 314, + "source_line": 388, "source_owner": "src/fep_lean/formal/predictive_coding.lean", "statement": "theorem predictionEnergy_contraction\n (precision stepSize target estimate : ℝ) :\n precisionEnergy precision target\n (predictionUpdate stepSize target estimate) =\n (1 - stepSize) ^ 2 * precisionEnergy precision target estimate", "statement_sha256": "00bfc855049be3d4757ec69cd32bbfcdad39cede54b114ec4b9ac29b0f7d39ee" @@ -89171,8 +97531,13 @@ "Mathlib.Analysis.Calculus.Deriv.Add", "Mathlib.Analysis.Calculus.Deriv.Mul", "Mathlib.Analysis.Calculus.Deriv.Pow", + "Mathlib.Analysis.Calculus.IteratedDeriv.Defs", + "Mathlib.Analysis.SpecialFunctions.ExpDeriv", "Mathlib.Basic.Real.Basic", + "Mathlib.Analysis.Convex.SpecificFunctions.Basic", + "Mathlib.Analysis.SpecialFunctions.Log.Deriv", "Mathlib.Order.Filter.Tendsto", + "Mathlib.Probability.Distributions.Gaussian.Real", "Mathlib.Topology.Algebra.Monoid", "Mathlib.Tactic" ], @@ -89181,7 +97546,7 @@ "namespace_variable_context": [], "preceding_scope_directives": [], "qualified_name": "FEP.PredictiveCoding.predictionEnergy_strictDecrease", - "source_line": 324, + "source_line": 398, "source_owner": "src/fep_lean/formal/predictive_coding.lean", "statement": "theorem predictionEnergy_strictDecrease {precision stepSize target estimate : ℝ}\n (hPrecision : 0 < precision) (hStepPositive : 0 < stepSize)\n (hStepBelowTwo : stepSize < 2) (hError : target ≠ estimate) :\n precisionEnergy precision target (predictionUpdate stepSize target estimate) <\n precisionEnergy precision target estimate", "statement_sha256": "4d3c3529c857feb942502715e114fa19a692929c42f0901a73538de64a4f28ec" @@ -89212,8 +97577,13 @@ "Mathlib.Analysis.Calculus.Deriv.Add", "Mathlib.Analysis.Calculus.Deriv.Mul", "Mathlib.Analysis.Calculus.Deriv.Pow", + "Mathlib.Analysis.Calculus.IteratedDeriv.Defs", + "Mathlib.Analysis.SpecialFunctions.ExpDeriv", "Mathlib.Basic.Real.Basic", + "Mathlib.Analysis.Convex.SpecificFunctions.Basic", + "Mathlib.Analysis.SpecialFunctions.Log.Deriv", "Mathlib.Order.Filter.Tendsto", + "Mathlib.Probability.Distributions.Gaussian.Real", "Mathlib.Topology.Algebra.Monoid", "Mathlib.Tactic" ], @@ -89222,7 +97592,7 @@ "namespace_variable_context": [], "preceding_scope_directives": [], "qualified_name": "FEP.PredictiveCoding.predictionError_update", - "source_line": 307, + "source_line": 381, "source_owner": "src/fep_lean/formal/predictive_coding.lean", "statement": "theorem predictionError_update (stepSize target estimate : ℝ) :\n predictionError target (predictionUpdate stepSize target estimate) =\n (1 - stepSize) * predictionError target estimate", "statement_sha256": "876a95cfd59b90e24634449e8dc2e64cadd1d2386937b111b3739044211dab82" @@ -89272,8 +97642,13 @@ "Mathlib.Analysis.Calculus.Deriv.Add", "Mathlib.Analysis.Calculus.Deriv.Mul", "Mathlib.Analysis.Calculus.Deriv.Pow", + "Mathlib.Analysis.Calculus.IteratedDeriv.Defs", + "Mathlib.Analysis.SpecialFunctions.ExpDeriv", "Mathlib.Basic.Real.Basic", + "Mathlib.Analysis.Convex.SpecificFunctions.Basic", + "Mathlib.Analysis.SpecialFunctions.Log.Deriv", "Mathlib.Order.Filter.Tendsto", + "Mathlib.Probability.Distributions.Gaussian.Real", "Mathlib.Topology.Algebra.Monoid", "Mathlib.Tactic" ], @@ -89282,7 +97657,7 @@ "namespace_variable_context": [], "preceding_scope_directives": [], "qualified_name": "FEP.PredictiveCoding.shift_add", - "source_line": 157, + "source_line": 162, "source_owner": "src/fep_lean/formal/predictive_coding.lean", "statement": "theorem shift_add {order : ℕ} (first second : ℕ) (jet : FiniteJet order) :\n shift (first + second) jet = shift first (shift second jet)", "statement_sha256": "6d2dd1327b57abe3e1c6b1aa6d7bd427eaf35ee361ed906705a8ecdf2c1a1446" @@ -89332,8 +97707,13 @@ "Mathlib.Analysis.Calculus.Deriv.Add", "Mathlib.Analysis.Calculus.Deriv.Mul", "Mathlib.Analysis.Calculus.Deriv.Pow", + "Mathlib.Analysis.Calculus.IteratedDeriv.Defs", + "Mathlib.Analysis.SpecialFunctions.ExpDeriv", "Mathlib.Basic.Real.Basic", + "Mathlib.Analysis.Convex.SpecificFunctions.Basic", + "Mathlib.Analysis.SpecialFunctions.Log.Deriv", "Mathlib.Order.Filter.Tendsto", + "Mathlib.Probability.Distributions.Gaussian.Real", "Mathlib.Topology.Algebra.Monoid", "Mathlib.Tactic" ], @@ -89342,11 +97722,383 @@ "namespace_variable_context": [], "preceding_scope_directives": [], "qualified_name": "FEP.PredictiveCoding.shift_coefficient", - "source_line": 146, + "source_line": 151, "source_owner": "src/fep_lean/formal/predictive_coding.lean", "statement": "theorem shift_coefficient {order : ℕ} (steps degree : ℕ)\n (jet : FiniteJet order) :\n (shift steps jet).coefficient degree = jet.coefficient (degree + steps)", "statement_sha256": "07f584fe6705057427628394bc22955b293e973b62e859e35912176697760d4b" }, + "FEP.PredictiveCoding.shift_functionJet": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "order" + ], + "role": "typed_binder", + "source": "{order : ℕ}", + "type_source": "ℕ", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "m" + ], + "role": "typed_binder", + "source": "(m : ℕ)", + "type_source": "ℕ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "f" + ], + "role": "typed_binder", + "source": "(f : ℝ → ℝ)", + "type_source": "ℝ → ℝ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "t" + ], + "role": "typed_binder", + "source": "(t : ℝ)", + "type_source": "ℝ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "k" + ], + "role": "typed_binder", + "source": "{k : ℕ}", + "type_source": "ℕ", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hk" + ], + "role": "typed_binder", + "source": "(hk : k + m ≤ order)", + "type_source": "k + m ≤ order", + "visibility": "explicit" + } + ], + "conclusion": "(shift m (functionJet order f t)).coefficient k =\n (functionJet order (iteratedDeriv m f) t).coefficient k", + "context_binders": [], + "declaration_mentions": [ + { + "identifier": "functionJet_coefficient_of_le", + "qualified_name": "FEP.PredictiveCoding.functionJet_coefficient_of_le", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + }, + { + "identifier": "shift_coefficient", + "qualified_name": "FEP.PredictiveCoding.shift_coefficient", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + } + ], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "Mathlib.Algebra.BigOperators.Group.Finset.Basic", + "Mathlib.Algebra.Order.Ring.Basic", + "Mathlib.Analysis.Calculus.Deriv.Add", + "Mathlib.Analysis.Calculus.Deriv.Mul", + "Mathlib.Analysis.Calculus.Deriv.Pow", + "Mathlib.Analysis.Calculus.IteratedDeriv.Defs", + "Mathlib.Analysis.SpecialFunctions.ExpDeriv", + "Mathlib.Basic.Real.Basic", + "Mathlib.Analysis.Convex.SpecificFunctions.Basic", + "Mathlib.Analysis.SpecialFunctions.Log.Deriv", + "Mathlib.Order.Filter.Tendsto", + "Mathlib.Probability.Distributions.Gaussian.Real", + "Mathlib.Topology.Algebra.Monoid", + "Mathlib.Tactic" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.PredictiveCoding", + "namespace_variable_context": [], + "preceding_scope_directives": [], + "qualified_name": "FEP.PredictiveCoding.shift_functionJet", + "source_line": 199, + "source_owner": "src/fep_lean/formal/predictive_coding.lean", + "statement": "theorem shift_functionJet {order : ℕ} (m : ℕ) (f : ℝ → ℝ) (t : ℝ) {k : ℕ}\n (hk : k + m ≤ order) :\n (shift m (functionJet order f t)).coefficient k =\n (functionJet order (iteratedDeriv m f) t).coefficient k", + "statement_sha256": "46df7eee78ddeea39747dc743b9e04694f2c0677a1424177d4a9b62d963ce5ec" + }, + "FEP.PredictiveCoding.shift_functionJet_succ": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "order" + ], + "role": "typed_binder", + "source": "{order : ℕ}", + "type_source": "ℕ", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "m" + ], + "role": "typed_binder", + "source": "(m : ℕ)", + "type_source": "ℕ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "f" + ], + "role": "typed_binder", + "source": "(f : ℝ → ℝ)", + "type_source": "ℝ → ℝ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "t" + ], + "role": "typed_binder", + "source": "(t : ℝ)", + "type_source": "ℝ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "k" + ], + "role": "typed_binder", + "source": "(k : ℕ)", + "type_source": "ℕ", + "visibility": "explicit" + } + ], + "conclusion": "(shift (m + 1) (functionJet order f t)).coefficient k =\n (shift 1 (shift m (functionJet order f t))).coefficient k", + "context_binders": [], + "declaration_mentions": [ + { + "identifier": "shift_add", + "qualified_name": "FEP.PredictiveCoding.shift_add", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + } + ], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "Mathlib.Algebra.BigOperators.Group.Finset.Basic", + "Mathlib.Algebra.Order.Ring.Basic", + "Mathlib.Analysis.Calculus.Deriv.Add", + "Mathlib.Analysis.Calculus.Deriv.Mul", + "Mathlib.Analysis.Calculus.Deriv.Pow", + "Mathlib.Analysis.Calculus.IteratedDeriv.Defs", + "Mathlib.Analysis.SpecialFunctions.ExpDeriv", + "Mathlib.Basic.Real.Basic", + "Mathlib.Analysis.Convex.SpecificFunctions.Basic", + "Mathlib.Analysis.SpecialFunctions.Log.Deriv", + "Mathlib.Order.Filter.Tendsto", + "Mathlib.Probability.Distributions.Gaussian.Real", + "Mathlib.Topology.Algebra.Monoid", + "Mathlib.Tactic" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.PredictiveCoding", + "namespace_variable_context": [], + "preceding_scope_directives": [], + "qualified_name": "FEP.PredictiveCoding.shift_functionJet_succ", + "source_line": 210, + "source_owner": "src/fep_lean/formal/predictive_coding.lean", + "statement": "theorem shift_functionJet_succ {order : ℕ} (m : ℕ) (f : ℝ → ℝ) (t : ℝ) (k : ℕ) :\n (shift (m + 1) (functionJet order f t)).coefficient k =\n (shift 1 (shift m (functionJet order f t))).coefficient k", + "statement_sha256": "4c89e22dfc2999364b2fd06e1c80d7737683cb28d1dbd066ef49dfcf1e96dc37" + }, + "FEP.PredictiveCoding.shift_one_functionJet": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "order" + ], + "role": "typed_binder", + "source": "{order : ℕ}", + "type_source": "ℕ", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "f" + ], + "role": "typed_binder", + "source": "(f : ℝ → ℝ)", + "type_source": "ℝ → ℝ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "t" + ], + "role": "typed_binder", + "source": "(t : ℝ)", + "type_source": "ℝ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "k" + ], + "role": "typed_binder", + "source": "{k : ℕ}", + "type_source": "ℕ", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hk" + ], + "role": "typed_binder", + "source": "(hk : k < order)", + "type_source": "k < order", + "visibility": "explicit" + } + ], + "conclusion": "(shift 1 (functionJet order f t)).coefficient k =\n (functionJet order (deriv f) t).coefficient k", + "context_binders": [], + "declaration_mentions": [ + { + "identifier": "functionJet_coefficient_of_le", + "qualified_name": "FEP.PredictiveCoding.functionJet_coefficient_of_le", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + }, + { + "identifier": "shift_coefficient", + "qualified_name": "FEP.PredictiveCoding.shift_coefficient", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + } + ], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "Mathlib.Algebra.BigOperators.Group.Finset.Basic", + "Mathlib.Algebra.Order.Ring.Basic", + "Mathlib.Analysis.Calculus.Deriv.Add", + "Mathlib.Analysis.Calculus.Deriv.Mul", + "Mathlib.Analysis.Calculus.Deriv.Pow", + "Mathlib.Analysis.Calculus.IteratedDeriv.Defs", + "Mathlib.Analysis.SpecialFunctions.ExpDeriv", + "Mathlib.Basic.Real.Basic", + "Mathlib.Analysis.Convex.SpecificFunctions.Basic", + "Mathlib.Analysis.SpecialFunctions.Log.Deriv", + "Mathlib.Order.Filter.Tendsto", + "Mathlib.Probability.Distributions.Gaussian.Real", + "Mathlib.Topology.Algebra.Monoid", + "Mathlib.Tactic" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.PredictiveCoding", + "namespace_variable_context": [], + "preceding_scope_directives": [], + "qualified_name": "FEP.PredictiveCoding.shift_one_functionJet", + "source_line": 190, + "source_owner": "src/fep_lean/formal/predictive_coding.lean", + "statement": "theorem shift_one_functionJet {order : ℕ} (f : ℝ → ℝ) (t : ℝ) {k : ℕ}\n (hk : k < order) :\n (shift 1 (functionJet order f t)).coefficient k =\n (functionJet order (deriv f) t).coefficient k", + "statement_sha256": "3d3bdffd64f6812613cb21870b0bff269f5676b2e6dc9a5a75132fdee9c6e06c" + }, + "FEP.PredictiveCoding.shift_one_functionJet_top": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "order" + ], + "role": "typed_binder", + "source": "{order : ℕ}", + "type_source": "ℕ", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "f" + ], + "role": "typed_binder", + "source": "(f : ℝ → ℝ)", + "type_source": "ℝ → ℝ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "t" + ], + "role": "typed_binder", + "source": "(t : ℝ)", + "type_source": "ℝ", + "visibility": "explicit" + } + ], + "conclusion": "(shift 1 (functionJet order f t)).coefficient order = 0 ∧\n (functionJet order (deriv f) t).coefficient order =\n iteratedDeriv (order + 1) f t", + "context_binders": [], + "declaration_mentions": [ + { + "identifier": "functionJet_coefficient_of_le", + "qualified_name": "FEP.PredictiveCoding.functionJet_coefficient_of_le", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + }, + { + "identifier": "shift_top_zero", + "qualified_name": "FEP.PredictiveCoding.shift_top_zero", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + } + ], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "Mathlib.Algebra.BigOperators.Group.Finset.Basic", + "Mathlib.Algebra.Order.Ring.Basic", + "Mathlib.Analysis.Calculus.Deriv.Add", + "Mathlib.Analysis.Calculus.Deriv.Mul", + "Mathlib.Analysis.Calculus.Deriv.Pow", + "Mathlib.Analysis.Calculus.IteratedDeriv.Defs", + "Mathlib.Analysis.SpecialFunctions.ExpDeriv", + "Mathlib.Basic.Real.Basic", + "Mathlib.Analysis.Convex.SpecificFunctions.Basic", + "Mathlib.Analysis.SpecialFunctions.Log.Deriv", + "Mathlib.Order.Filter.Tendsto", + "Mathlib.Probability.Distributions.Gaussian.Real", + "Mathlib.Topology.Algebra.Monoid", + "Mathlib.Tactic" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.PredictiveCoding", + "namespace_variable_context": [], + "preceding_scope_directives": [], + "qualified_name": "FEP.PredictiveCoding.shift_one_functionJet_top", + "source_line": 217, + "source_owner": "src/fep_lean/formal/predictive_coding.lean", + "statement": "theorem shift_one_functionJet_top {order : ℕ} (f : ℝ → ℝ) (t : ℝ) :\n (shift 1 (functionJet order f t)).coefficient order = 0 ∧\n (functionJet order (deriv f) t).coefficient order =\n iteratedDeriv (order + 1) f t", + "statement_sha256": "6bab7e46d70ac4ebe915211c93e38b5371714ace1a0dd1e2e5dab8c56c88b553" + }, "FEP.PredictiveCoding.shift_top_zero": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ @@ -89381,8 +98133,13 @@ "Mathlib.Analysis.Calculus.Deriv.Add", "Mathlib.Analysis.Calculus.Deriv.Mul", "Mathlib.Analysis.Calculus.Deriv.Pow", + "Mathlib.Analysis.Calculus.IteratedDeriv.Defs", + "Mathlib.Analysis.SpecialFunctions.ExpDeriv", "Mathlib.Basic.Real.Basic", + "Mathlib.Analysis.Convex.SpecificFunctions.Basic", + "Mathlib.Analysis.SpecialFunctions.Log.Deriv", "Mathlib.Order.Filter.Tendsto", + "Mathlib.Probability.Distributions.Gaussian.Real", "Mathlib.Topology.Algebra.Monoid", "Mathlib.Tactic" ], @@ -89391,7 +98148,7 @@ "namespace_variable_context": [], "preceding_scope_directives": [], "qualified_name": "FEP.PredictiveCoding.shift_top_zero", - "source_line": 165, + "source_line": 170, "source_owner": "src/fep_lean/formal/predictive_coding.lean", "statement": "theorem shift_top_zero {order : ℕ} (jet : FiniteJet order) :\n (shift 1 jet).coefficient order = 0", "statement_sha256": "1a453b796f2dbb1a22d6d13c99538b8e5c7a71ce945ae0482d33567752356480" @@ -89430,8 +98187,13 @@ "Mathlib.Analysis.Calculus.Deriv.Add", "Mathlib.Analysis.Calculus.Deriv.Mul", "Mathlib.Analysis.Calculus.Deriv.Pow", + "Mathlib.Analysis.Calculus.IteratedDeriv.Defs", + "Mathlib.Analysis.SpecialFunctions.ExpDeriv", "Mathlib.Basic.Real.Basic", + "Mathlib.Analysis.Convex.SpecificFunctions.Basic", + "Mathlib.Analysis.SpecialFunctions.Log.Deriv", "Mathlib.Order.Filter.Tendsto", + "Mathlib.Probability.Distributions.Gaussian.Real", "Mathlib.Topology.Algebra.Monoid", "Mathlib.Tactic" ], @@ -89440,7 +98202,7 @@ "namespace_variable_context": [], "preceding_scope_directives": [], "qualified_name": "FEP.PredictiveCoding.shift_zero", - "source_line": 150, + "source_line": 155, "source_owner": "src/fep_lean/formal/predictive_coding.lean", "statement": "theorem shift_zero {order : ℕ} (jet : FiniteJet order) :\n shift 0 jet = jet", "statement_sha256": "dd3dde0191a5149263f8628742d3bbbb476c5e21f8e60e09919e514e3215e50c" @@ -89458,8 +98220,13 @@ "Mathlib.Analysis.Calculus.Deriv.Add", "Mathlib.Analysis.Calculus.Deriv.Mul", "Mathlib.Analysis.Calculus.Deriv.Pow", + "Mathlib.Analysis.Calculus.IteratedDeriv.Defs", + "Mathlib.Analysis.SpecialFunctions.ExpDeriv", "Mathlib.Basic.Real.Basic", + "Mathlib.Analysis.Convex.SpecificFunctions.Basic", + "Mathlib.Analysis.SpecialFunctions.Log.Deriv", "Mathlib.Order.Filter.Tendsto", + "Mathlib.Probability.Distributions.Gaussian.Real", "Mathlib.Topology.Algebra.Monoid", "Mathlib.Tactic" ], @@ -89468,11 +98235,51 @@ "namespace_variable_context": [], "preceding_scope_directives": [], "qualified_name": "FEP.PredictiveCoding.twoLevelEnergy_witness", - "source_line": 124, + "source_line": 129, "source_owner": "src/fep_lean/formal/predictive_coding.lean", "statement": "theorem twoLevelEnergy_witness :\n hierarchicalEnergy\n (fun level : Fin 2 => if level = 0 then 2 else 4)\n (fun level : Fin 2 => if level = 0 then 3 else 1) = 11", "statement_sha256": "4cba23200c20c955a3bcedd1efcc53b22d46c5d5c6bd0fff6534546d9802d9a8" }, + "FEP.PredictiveCoding.twoLevel_chain_energy_witness": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [], + "conclusion": "gaussianChainEnergy\n (fun level : Fin 2 => if level = 0 then 2 else 4)\n (fun level : Fin 2 => if level = 0 then 3 else 1) =\n 11 - 3 / 2 * Real.log 2", + "context_binders": [], + "declaration_mentions": [ + { + "identifier": "twoLevelEnergy_witness", + "qualified_name": "FEP.PredictiveCoding.twoLevelEnergy_witness", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + } + ], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "Mathlib.Algebra.BigOperators.Group.Finset.Basic", + "Mathlib.Algebra.Order.Ring.Basic", + "Mathlib.Analysis.Calculus.Deriv.Add", + "Mathlib.Analysis.Calculus.Deriv.Mul", + "Mathlib.Analysis.Calculus.Deriv.Pow", + "Mathlib.Analysis.Calculus.IteratedDeriv.Defs", + "Mathlib.Analysis.SpecialFunctions.ExpDeriv", + "Mathlib.Basic.Real.Basic", + "Mathlib.Analysis.Convex.SpecificFunctions.Basic", + "Mathlib.Analysis.SpecialFunctions.Log.Deriv", + "Mathlib.Order.Filter.Tendsto", + "Mathlib.Probability.Distributions.Gaussian.Real", + "Mathlib.Topology.Algebra.Monoid", + "Mathlib.Tactic" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.PredictiveCoding", + "namespace_variable_context": [], + "preceding_scope_directives": [], + "qualified_name": "FEP.PredictiveCoding.twoLevel_chain_energy_witness", + "source_line": 627, + "source_owner": "src/fep_lean/formal/predictive_coding.lean", + "statement": "theorem twoLevel_chain_energy_witness :\n gaussianChainEnergy\n (fun level : Fin 2 => if level = 0 then 2 else 4)\n (fun level : Fin 2 => if level = 0 then 3 else 1) =\n 11 - 3 / 2 * Real.log 2", + "statement_sha256": "3e66bed738d18102583af34f471d017751d4b507efc7fba17d90b82a156beed9" + }, "FEP.ScalarGaussianSemigroup.ScalarOUParameters.integral_ouTransition_tendsto_invariant": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ @@ -97878,6 +106685,97 @@ "statement": "theorem twoStateModel_predictedState (rates : TwoStateRates) (belief : FiniteLaw Bool)\n (time : ℝ) (hTime : 0 ≤ time) (policy : Bool) :\n predictedState (twoStateModel rates belief time hTime) policy =\n (rates.certifiedSemigroup.kernel time hTime).predictive belief", "statement_sha256": "38ebf318bdb0fc28de0b8e2d8f4cea3635cfc9e43c40ef905998ccf4b3442124" }, + "FEP.VariationalDuality.boolBiased_entropy_lt_zeroEnergyGibbs": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "β" + ], + "role": "typed_binder", + "source": "(β : ℝ)", + "type_source": "ℝ", + "visibility": "explicit" + } + ], + "conclusion": "entropy boolBiased <\n entropy (energyGibbsLaw (fun _ : Bool => (0 : ℝ)) β)", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "α", + "β", + "γ" + ], + "role": "typed_binder", + "source": "{α β γ : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype α]", + "type_source": "Fintype α", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype β]", + "type_source": "Fintype β", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype γ]", + "type_source": "Fintype γ", + "visibility": "instance" + } + ], + "declaration_mentions": [ + { + "identifier": "energyGibbsLaw_zero_energy", + "qualified_name": "FEP.VariationalDuality.energyGibbsLaw_zero_energy", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + }, + { + "identifier": "energyGibbs_entropy_lt_of_ne", + "qualified_name": "FEP.VariationalDuality.energyGibbs_entropy_lt_of_ne", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + } + ], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.finite_information", + "Mathlib.Analysis.Convex.SpecificFunctions.Basic", + "Mathlib.Topology.Order.Compact" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.VariationalDuality", + "namespace_variable_context": [ + "{α β γ : Type*} [Fintype α] [Fintype β] [Fintype γ]" + ], + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Fintype α] in" + } + ], + "qualified_name": "FEP.VariationalDuality.boolBiased_entropy_lt_zeroEnergyGibbs", + "source_line": 1296, + "source_owner": "src/fep_lean/formal/variational_duality.lean", + "statement": "theorem boolBiased_entropy_lt_zeroEnergyGibbs (β : ℝ) :\n entropy boolBiased <\n entropy (energyGibbsLaw (fun _ : Bool => (0 : ℝ)) β)", + "statement_sha256": "b7aaa617b1f06bb63bc71ee8031c8b435839dc70002a8c5231ab3239c7c2e332" + }, "FEP.VariationalDuality.boolFeasible_information_pos": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ @@ -99524,7 +108422,784 @@ "visibility": "explicit" } ], - "conclusion": "dvObjective certificate candidate ≤ certificate.logPartition", + "conclusion": "dvObjective certificate candidate ≤ certificate.logPartition", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "α", + "β", + "γ" + ], + "role": "typed_binder", + "source": "{α β γ : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype α]", + "type_source": "Fintype α", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype β]", + "type_source": "Fintype β", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype γ]", + "type_source": "Fintype γ", + "visibility": "instance" + } + ], + "declaration_mentions": [ + { + "identifier": "dvObjective_eq_logPartition_sub_kl", + "qualified_name": "FEP.VariationalDuality.dvObjective_eq_logPartition_sub_kl", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + }, + { + "candidates": [ + "FEP.FiniteInformation.finiteKL_nonneg" + ], + "identifier": "finiteKL_nonneg", + "resolution": "unresolved lexical scope", + "role": "proof_reference" + } + ], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.finite_information", + "Mathlib.Analysis.Convex.SpecificFunctions.Basic", + "Mathlib.Topology.Order.Compact" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.VariationalDuality", + "namespace_variable_context": [ + "{α β γ : Type*} [Fintype α] [Fintype β] [Fintype γ]" + ], + "preceding_scope_directives": [], + "qualified_name": "FEP.VariationalDuality.dvObjective_le_logPartition", + "source_line": 97, + "source_owner": "src/fep_lean/formal/variational_duality.lean", + "statement": "theorem dvObjective_le_logPartition\n (certificate : GibbsCertificate α) (candidate : FiniteLaw α) :\n dvObjective certificate candidate ≤ certificate.logPartition", + "statement_sha256": "2a1ce35e8acecb9f5c2ef422caa90cc6cb32928fb7307d757f62d25dc88127ec" + }, + "FEP.VariationalDuality.dvObjective_optimizer": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "certificate" + ], + "role": "typed_binder", + "source": "(certificate : GibbsCertificate α)", + "type_source": "GibbsCertificate α", + "visibility": "explicit" + } + ], + "conclusion": "dvObjective certificate certificate.optimizer =\n certificate.logPartition", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "α", + "β", + "γ" + ], + "role": "typed_binder", + "source": "{α β γ : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype α]", + "type_source": "Fintype α", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype β]", + "type_source": "Fintype β", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype γ]", + "type_source": "Fintype γ", + "visibility": "instance" + } + ], + "declaration_mentions": [ + { + "identifier": "dvObjective_eq_logPartition_sub_kl", + "qualified_name": "FEP.VariationalDuality.dvObjective_eq_logPartition_sub_kl", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + }, + { + "candidates": [ + "FEP.FiniteInformation.finiteKL_self" + ], + "identifier": "finiteKL_self", + "resolution": "unresolved lexical scope", + "role": "proof_reference" + } + ], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.finite_information", + "Mathlib.Analysis.Convex.SpecificFunctions.Basic", + "Mathlib.Topology.Order.Compact" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.VariationalDuality", + "namespace_variable_context": [ + "{α β γ : Type*} [Fintype α] [Fintype β] [Fintype γ]" + ], + "preceding_scope_directives": [], + "qualified_name": "FEP.VariationalDuality.dvObjective_optimizer", + "source_line": 104, + "source_owner": "src/fep_lean/formal/variational_duality.lean", + "statement": "theorem dvObjective_optimizer (certificate : GibbsCertificate α) :\n dvObjective certificate certificate.optimizer =\n certificate.logPartition", + "statement_sha256": "4ff9bca17c91e518c5489c4efad23ab786aa8a94baea0af04d7bda141313758b" + }, + "FEP.VariationalDuality.energyGibbsLaw_pos": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Nonempty α]", + "type_source": "Nonempty α", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "E" + ], + "role": "typed_binder", + "source": "(E : α → ℝ)", + "type_source": "α → ℝ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "β" + ], + "role": "typed_binder", + "source": "(β : ℝ)", + "type_source": "ℝ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "x" + ], + "role": "typed_binder", + "source": "(x : α)", + "type_source": "α", + "visibility": "explicit" + } + ], + "conclusion": "0 < energyGibbsLaw E β x", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "α", + "β", + "γ" + ], + "role": "typed_binder", + "source": "{α β γ : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype α]", + "type_source": "Fintype α", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype β]", + "type_source": "Fintype β", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype γ]", + "type_source": "Fintype γ", + "visibility": "instance" + } + ], + "declaration_mentions": [ + { + "identifier": "energyPartition_pos", + "qualified_name": "FEP.VariationalDuality.energyPartition_pos", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + } + ], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.finite_information", + "Mathlib.Analysis.Convex.SpecificFunctions.Basic", + "Mathlib.Topology.Order.Compact" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.VariationalDuality", + "namespace_variable_context": [ + "{α β γ : Type*} [Fintype α] [Fintype β] [Fintype γ]" + ], + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Fintype α] in" + } + ], + "qualified_name": "FEP.VariationalDuality.energyGibbsLaw_pos", + "source_line": 1231, + "source_owner": "src/fep_lean/formal/variational_duality.lean", + "statement": "theorem energyGibbsLaw_pos [Nonempty α] (E : α → ℝ) (β : ℝ) (x : α) :\n 0 < energyGibbsLaw E β x", + "statement_sha256": "1b4f957ef1e093737bbf6478ab85e37be780f03f86718396f2806034c1183dc9" + }, + "FEP.VariationalDuality.energyGibbsLaw_zero_energy": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Nonempty α]", + "type_source": "Nonempty α", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "β" + ], + "role": "typed_binder", + "source": "(β : ℝ)", + "type_source": "ℝ", + "visibility": "explicit" + } + ], + "conclusion": "energyGibbsLaw (fun _ : α => (0 : ℝ)) β = FiniteLaw.uniform", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "α", + "β", + "γ" + ], + "role": "typed_binder", + "source": "{α β γ : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype α]", + "type_source": "Fintype α", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype β]", + "type_source": "Fintype β", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype γ]", + "type_source": "Fintype γ", + "visibility": "instance" + } + ], + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.finite_information", + "Mathlib.Analysis.Convex.SpecificFunctions.Basic", + "Mathlib.Topology.Order.Compact" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.VariationalDuality", + "namespace_variable_context": [ + "{α β γ : Type*} [Fintype α] [Fintype β] [Fintype γ]" + ], + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Fintype α] in" + } + ], + "qualified_name": "FEP.VariationalDuality.energyGibbsLaw_zero_energy", + "source_line": 1287, + "source_owner": "src/fep_lean/formal/variational_duality.lean", + "statement": "theorem energyGibbsLaw_zero_energy [Nonempty α] (β : ℝ) :\n energyGibbsLaw (fun _ : α => (0 : ℝ)) β = FiniteLaw.uniform", + "statement_sha256": "3bb487dd51485c6815251900a0f60a0a59e8b3d43a179622b7537690478622c5" + }, + "FEP.VariationalDuality.energyGibbs_entropy_lt_of_ne": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Nonempty α]", + "type_source": "Nonempty α", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "E" + ], + "role": "typed_binder", + "source": "(E : α → ℝ)", + "type_source": "α → ℝ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "β" + ], + "role": "typed_binder", + "source": "(β : ℝ)", + "type_source": "ℝ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "q" + ], + "role": "typed_binder", + "source": "(q : FiniteLaw α)", + "type_source": "FiniteLaw α", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hq" + ], + "role": "typed_binder", + "source": "(hq : expectation q E = expectation (energyGibbsLaw E β) E)", + "type_source": "expectation q E = expectation (energyGibbsLaw E β) E", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hne" + ], + "role": "typed_binder", + "source": "(hne : q ≠ energyGibbsLaw E β)", + "type_source": "q ≠ energyGibbsLaw E β", + "visibility": "explicit" + } + ], + "conclusion": "entropy q < entropy (energyGibbsLaw E β)", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "α", + "β", + "γ" + ], + "role": "typed_binder", + "source": "{α β γ : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype α]", + "type_source": "Fintype α", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype β]", + "type_source": "Fintype β", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype γ]", + "type_source": "Fintype γ", + "visibility": "instance" + } + ], + "declaration_mentions": [ + { + "identifier": "energyGibbs_maxEntropy", + "qualified_name": "FEP.VariationalDuality.energyGibbs_maxEntropy", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + } + ], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.finite_information", + "Mathlib.Analysis.Convex.SpecificFunctions.Basic", + "Mathlib.Topology.Order.Compact" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.VariationalDuality", + "namespace_variable_context": [ + "{α β γ : Type*} [Fintype α] [Fintype β] [Fintype γ]" + ], + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Fintype α] in" + } + ], + "qualified_name": "FEP.VariationalDuality.energyGibbs_entropy_lt_of_ne", + "source_line": 1278, + "source_owner": "src/fep_lean/formal/variational_duality.lean", + "statement": "theorem energyGibbs_entropy_lt_of_ne [Nonempty α] (E : α → ℝ) (β : ℝ)\n (q : FiniteLaw α)\n (hq : expectation q E = expectation (energyGibbsLaw E β) E)\n (hne : q ≠ energyGibbsLaw E β) :\n entropy q < entropy (energyGibbsLaw E β)", + "statement_sha256": "2e91b514d24fe5c0581452f5a644aafc7f090ee1e4c51e5e6f35c4f024fcb715" + }, + "FEP.VariationalDuality.energyGibbs_maxEntropy": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Nonempty α]", + "type_source": "Nonempty α", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "E" + ], + "role": "typed_binder", + "source": "(E : α → ℝ)", + "type_source": "α → ℝ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "β" + ], + "role": "typed_binder", + "source": "(β : ℝ)", + "type_source": "ℝ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "q" + ], + "role": "typed_binder", + "source": "(q : FiniteLaw α)", + "type_source": "FiniteLaw α", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hq" + ], + "role": "typed_binder", + "source": "(hq : expectation q E = expectation (energyGibbsLaw E β) E)", + "type_source": "expectation q E = expectation (energyGibbsLaw E β) E", + "visibility": "explicit" + } + ], + "conclusion": "entropy q ≤ entropy (energyGibbsLaw E β) ∧\n (entropy q = entropy (energyGibbsLaw E β) ↔ q = energyGibbsLaw E β)", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "α", + "β", + "γ" + ], + "role": "typed_binder", + "source": "{α β γ : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype α]", + "type_source": "Fintype α", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype β]", + "type_source": "Fintype β", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype γ]", + "type_source": "Fintype γ", + "visibility": "instance" + } + ], + "declaration_mentions": [ + { + "identifier": "entropy_eq_energy_add_logPartition_sub_kl", + "qualified_name": "FEP.VariationalDuality.entropy_eq_energy_add_logPartition_sub_kl", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + }, + { + "candidates": [ + "FEP.FiniteInformation.finiteKL_eq_zero_iff" + ], + "identifier": "finiteKL_eq_zero_iff", + "resolution": "unresolved lexical scope", + "role": "proof_reference" + }, + { + "candidates": [ + "FEP.FiniteInformation.finiteKL_nonneg" + ], + "identifier": "finiteKL_nonneg", + "resolution": "unresolved lexical scope", + "role": "proof_reference" + }, + { + "candidates": [ + "FEP.FiniteInformation.finiteKL_self" + ], + "identifier": "finiteKL_self", + "resolution": "unresolved lexical scope", + "role": "proof_reference" + } + ], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.finite_information", + "Mathlib.Analysis.Convex.SpecificFunctions.Basic", + "Mathlib.Topology.Order.Compact" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.VariationalDuality", + "namespace_variable_context": [ + "{α β γ : Type*} [Fintype α] [Fintype β] [Fintype γ]" + ], + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Fintype α] in" + } + ], + "qualified_name": "FEP.VariationalDuality.energyGibbs_maxEntropy", + "source_line": 1261, + "source_owner": "src/fep_lean/formal/variational_duality.lean", + "statement": "theorem energyGibbs_maxEntropy [Nonempty α] (E : α → ℝ) (β : ℝ)\n (q : FiniteLaw α)\n (hq : expectation q E = expectation (energyGibbsLaw E β) E) :\n entropy q ≤ entropy (energyGibbsLaw E β) ∧\n (entropy q = entropy (energyGibbsLaw E β) ↔ q = energyGibbsLaw E β)", + "statement_sha256": "0e57ff136d599d439c64d76447c6c44c0e85ef697486a6fa9dd4bd082c2acdf2" + }, + "FEP.VariationalDuality.energyPartition_pos": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Nonempty α]", + "type_source": "Nonempty α", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "E" + ], + "role": "typed_binder", + "source": "(E : α → ℝ)", + "type_source": "α → ℝ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "β" + ], + "role": "typed_binder", + "source": "(β : ℝ)", + "type_source": "ℝ", + "visibility": "explicit" + } + ], + "conclusion": "0 < energyPartition E β", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "α", + "β", + "γ" + ], + "role": "typed_binder", + "source": "{α β γ : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype α]", + "type_source": "Fintype α", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype β]", + "type_source": "Fintype β", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype γ]", + "type_source": "Fintype γ", + "visibility": "instance" + } + ], + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.finite_information", + "Mathlib.Analysis.Convex.SpecificFunctions.Basic", + "Mathlib.Topology.Order.Compact" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.VariationalDuality", + "namespace_variable_context": [ + "{α β γ : Type*} [Fintype α] [Fintype β] [Fintype γ]" + ], + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Fintype α] in" + } + ], + "qualified_name": "FEP.VariationalDuality.energyPartition_pos", + "source_line": 1217, + "source_owner": "src/fep_lean/formal/variational_duality.lean", + "statement": "theorem energyPartition_pos [Nonempty α] (E : α → ℝ) (β : ℝ) :\n 0 < energyPartition E β", + "statement_sha256": "1a4cbd4dddda5f4f4763c2ca754357412204fd41159656b09da4f6b07b7d592d" + }, + "FEP.VariationalDuality.entropy_eq_energy_add_logPartition_sub_kl": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Nonempty α]", + "type_source": "Nonempty α", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "E" + ], + "role": "typed_binder", + "source": "(E : α → ℝ)", + "type_source": "α → ℝ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "β" + ], + "role": "typed_binder", + "source": "(β : ℝ)", + "type_source": "ℝ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "q" + ], + "role": "typed_binder", + "source": "(q : FiniteLaw α)", + "type_source": "FiniteLaw α", + "visibility": "explicit" + } + ], + "conclusion": "entropy q = β * expectation q E + Real.log (energyPartition E β) -\n finiteKL q (energyGibbsLaw E β)", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -99565,16 +109240,22 @@ ], "declaration_mentions": [ { - "identifier": "dvObjective_eq_logPartition_sub_kl", - "qualified_name": "FEP.VariationalDuality.dvObjective_eq_logPartition_sub_kl", + "identifier": "energyGibbsLaw_pos", + "qualified_name": "FEP.VariationalDuality.energyGibbsLaw_pos", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + }, + { + "identifier": "energyPartition_pos", + "qualified_name": "FEP.VariationalDuality.energyPartition_pos", "resolution": "exact or same-namespace source identifier", "role": "proof_reference" }, { "candidates": [ - "FEP.FiniteInformation.finiteKL_nonneg" + "FEP.FiniteInformation.finiteKL_eq_crossEntropy_sub_entropy" ], - "identifier": "finiteKL_nonneg", + "identifier": "finiteKL_eq_crossEntropy_sub_entropy", "resolution": "unresolved lexical scope", "role": "proof_reference" } @@ -99590,28 +109271,62 @@ "namespace_variable_context": [ "{α β γ : Type*} [Fintype α] [Fintype β] [Fintype γ]" ], - "preceding_scope_directives": [], - "qualified_name": "FEP.VariationalDuality.dvObjective_le_logPartition", - "source_line": 97, + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Fintype α] in" + } + ], + "qualified_name": "FEP.VariationalDuality.entropy_eq_energy_add_logPartition_sub_kl", + "source_line": 1237, "source_owner": "src/fep_lean/formal/variational_duality.lean", - "statement": "theorem dvObjective_le_logPartition\n (certificate : GibbsCertificate α) (candidate : FiniteLaw α) :\n dvObjective certificate candidate ≤ certificate.logPartition", - "statement_sha256": "2a1ce35e8acecb9f5c2ef422caa90cc6cb32928fb7307d757f62d25dc88127ec" + "statement": "theorem entropy_eq_energy_add_logPartition_sub_kl [Nonempty α]\n (E : α → ℝ) (β : ℝ) (q : FiniteLaw α) :\n entropy q = β * expectation q E + Real.log (energyPartition E β) -\n finiteKL q (energyGibbsLaw E β)", + "statement_sha256": "93d55a3f71095ff49fc3b85792dc1e9e14190157da08af412f79a0e10309f5b3" }, - "FEP.VariationalDuality.dvObjective_optimizer": { + "FEP.VariationalDuality.entropy_helmholtzGibbsLaw": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Nonempty α]", + "type_source": "Nonempty α", + "visibility": "instance" + }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "certificate" + "E" ], "role": "typed_binder", - "source": "(certificate : GibbsCertificate α)", - "type_source": "GibbsCertificate α", + "source": "(E : α → ℝ)", + "type_source": "α → ℝ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "T" + ], + "role": "typed_binder", + "source": "{T : ℝ}", + "type_source": "ℝ", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hT" + ], + "role": "typed_binder", + "source": "(hT : 0 < T)", + "type_source": "0 < T", "visibility": "explicit" } ], - "conclusion": "dvObjective certificate certificate.optimizer =\n certificate.logPartition", + "conclusion": "entropy (helmholtzGibbsLaw E T) =\n (∑ x, Real.exp (-E x / T) * E x) / (T * helmholtzPartition E T) +\n Real.log (helmholtzPartition E T)", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -99652,17 +109367,15 @@ ], "declaration_mentions": [ { - "identifier": "dvObjective_eq_logPartition_sub_kl", - "qualified_name": "FEP.VariationalDuality.dvObjective_eq_logPartition_sub_kl", + "identifier": "helmholtzPartition_pos", + "qualified_name": "FEP.VariationalDuality.helmholtzPartition_pos", "resolution": "exact or same-namespace source identifier", "role": "proof_reference" }, { - "candidates": [ - "FEP.FiniteInformation.finiteKL_self" - ], - "identifier": "finiteKL_self", - "resolution": "unresolved lexical scope", + "identifier": "log_helmholtzGibbsLaw", + "qualified_name": "FEP.VariationalDuality.log_helmholtzGibbsLaw", + "resolution": "exact or same-namespace source identifier", "role": "proof_reference" } ], @@ -99677,12 +109390,18 @@ "namespace_variable_context": [ "{α β γ : Type*} [Fintype α] [Fintype β] [Fintype γ]" ], - "preceding_scope_directives": [], - "qualified_name": "FEP.VariationalDuality.dvObjective_optimizer", - "source_line": 104, + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Fintype α] in" + } + ], + "qualified_name": "FEP.VariationalDuality.entropy_helmholtzGibbsLaw", + "source_line": 1400, "source_owner": "src/fep_lean/formal/variational_duality.lean", - "statement": "theorem dvObjective_optimizer (certificate : GibbsCertificate α) :\n dvObjective certificate certificate.optimizer =\n certificate.logPartition", - "statement_sha256": "4ff9bca17c91e518c5489c4efad23ab786aa8a94baea0af04d7bda141313758b" + "statement": "theorem entropy_helmholtzGibbsLaw [Nonempty α] (E : α → ℝ) {T : ℝ}\n (hT : 0 < T) :\n entropy (helmholtzGibbsLaw E T) =\n (∑ x, Real.exp (-E x / T) * E x) / (T * helmholtzPartition E T) +\n Real.log (helmholtzPartition E T)", + "statement_sha256": "f04fa4fe0e6997e3342e3eaeab4fa052b74d05f13eb92a6844f1c96c21dff60e" }, "FEP.VariationalDuality.expectedDistortion_nonneg": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", @@ -100971,8 +110690,1053 @@ ], "declaration_mentions": [ { - "identifier": "dvObjective_optimizer", - "qualified_name": "FEP.VariationalDuality.dvObjective_optimizer", + "identifier": "dvObjective_optimizer", + "qualified_name": "FEP.VariationalDuality.dvObjective_optimizer", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + } + ], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.finite_information", + "Mathlib.Analysis.Convex.SpecificFunctions.Basic", + "Mathlib.Topology.Order.Compact" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.VariationalDuality", + "namespace_variable_context": [ + "{α β γ : Type*} [Fintype α] [Fintype β] [Fintype γ]" + ], + "preceding_scope_directives": [], + "qualified_name": "FEP.VariationalDuality.gibbsFreeEnergy_optimizer", + "source_line": 137, + "source_owner": "src/fep_lean/formal/variational_duality.lean", + "statement": "theorem gibbsFreeEnergy_optimizer (certificate : GibbsCertificate α) :\n gibbsFreeEnergy certificate certificate.optimizer =\n -certificate.logPartition", + "statement_sha256": "1e6ae1beb175eaf8520ea5af29ea21e4524b5c8996c9437f555ecb53215f7ee6" + }, + "FEP.VariationalDuality.hasDerivAt_helmholtzFreeEnergy": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Nonempty α]", + "type_source": "Nonempty α", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "E" + ], + "role": "typed_binder", + "source": "(E : α → ℝ)", + "type_source": "α → ℝ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "T" + ], + "role": "typed_binder", + "source": "{T : ℝ}", + "type_source": "ℝ", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hT" + ], + "role": "typed_binder", + "source": "(hT : 0 < T)", + "type_source": "0 < T", + "visibility": "explicit" + } + ], + "conclusion": "HasDerivAt (helmholtzFreeEnergy E) (-entropy (helmholtzGibbsLaw E T)) T", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "α", + "β", + "γ" + ], + "role": "typed_binder", + "source": "{α β γ : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype α]", + "type_source": "Fintype α", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype β]", + "type_source": "Fintype β", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype γ]", + "type_source": "Fintype γ", + "visibility": "instance" + } + ], + "declaration_mentions": [ + { + "identifier": "entropy_helmholtzGibbsLaw", + "qualified_name": "FEP.VariationalDuality.entropy_helmholtzGibbsLaw", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + }, + { + "identifier": "helmholtzPartition_pos", + "qualified_name": "FEP.VariationalDuality.helmholtzPartition_pos", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + } + ], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.finite_information", + "Mathlib.Analysis.Convex.SpecificFunctions.Basic", + "Mathlib.Topology.Order.Compact" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.VariationalDuality", + "namespace_variable_context": [ + "{α β γ : Type*} [Fintype α] [Fintype β] [Fintype γ]" + ], + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Fintype α] in" + } + ], + "qualified_name": "FEP.VariationalDuality.hasDerivAt_helmholtzFreeEnergy", + "source_line": 1424, + "source_owner": "src/fep_lean/formal/variational_duality.lean", + "statement": "theorem hasDerivAt_helmholtzFreeEnergy [Nonempty α] (E : α → ℝ) {T : ℝ}\n (hT : 0 < T) :\n HasDerivAt (helmholtzFreeEnergy E) (-entropy (helmholtzGibbsLaw E T)) T", + "statement_sha256": "e8ff4c8f8f128e8bf48d3e057779a61abfac647caa7b9705e0971053d126c828" + }, + "FEP.VariationalDuality.helmholtzFreeEnergy_eq_iff": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Nonempty α]", + "type_source": "Nonempty α", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "E" + ], + "role": "typed_binder", + "source": "(E : α → ℝ)", + "type_source": "α → ℝ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "T" + ], + "role": "typed_binder", + "source": "{T : ℝ}", + "type_source": "ℝ", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hT" + ], + "role": "typed_binder", + "source": "(hT : 0 < T)", + "type_source": "0 < T", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "q" + ], + "role": "typed_binder", + "source": "(q : FiniteLaw α)", + "type_source": "FiniteLaw α", + "visibility": "explicit" + } + ], + "conclusion": "expectation q E - T * entropy q = helmholtzFreeEnergy E T ↔\n q = helmholtzGibbsLaw E T", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "α", + "β", + "γ" + ], + "role": "typed_binder", + "source": "{α β γ : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype α]", + "type_source": "Fintype α", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype β]", + "type_source": "Fintype β", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype γ]", + "type_source": "Fintype γ", + "visibility": "instance" + } + ], + "declaration_mentions": [ + { + "candidates": [ + "FEP.FiniteInformation.finiteKL_eq_zero_iff" + ], + "identifier": "finiteKL_eq_zero_iff", + "resolution": "unresolved lexical scope", + "role": "proof_reference" + }, + { + "identifier": "helmholtz_decomposition", + "qualified_name": "FEP.VariationalDuality.helmholtz_decomposition", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + } + ], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.finite_information", + "Mathlib.Analysis.Convex.SpecificFunctions.Basic", + "Mathlib.Topology.Order.Compact" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.VariationalDuality", + "namespace_variable_context": [ + "{α β γ : Type*} [Fintype α] [Fintype β] [Fintype γ]" + ], + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Fintype α] in" + } + ], + "qualified_name": "FEP.VariationalDuality.helmholtzFreeEnergy_eq_iff", + "source_line": 1380, + "source_owner": "src/fep_lean/formal/variational_duality.lean", + "statement": "theorem helmholtzFreeEnergy_eq_iff [Nonempty α] (E : α → ℝ) {T : ℝ}\n (hT : 0 < T) (q : FiniteLaw α) :\n expectation q E - T * entropy q = helmholtzFreeEnergy E T ↔\n q = helmholtzGibbsLaw E T", + "statement_sha256": "b91fe3d90e8ce073532a73643df75c6f300e2f10786c706c6ccd0bfaf74580ec" + }, + "FEP.VariationalDuality.helmholtzFreeEnergy_le": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Nonempty α]", + "type_source": "Nonempty α", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "E" + ], + "role": "typed_binder", + "source": "(E : α → ℝ)", + "type_source": "α → ℝ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "T" + ], + "role": "typed_binder", + "source": "{T : ℝ}", + "type_source": "ℝ", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hT" + ], + "role": "typed_binder", + "source": "(hT : 0 < T)", + "type_source": "0 < T", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "q" + ], + "role": "typed_binder", + "source": "(q : FiniteLaw α)", + "type_source": "FiniteLaw α", + "visibility": "explicit" + } + ], + "conclusion": "helmholtzFreeEnergy E T ≤ expectation q E - T * entropy q", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "α", + "β", + "γ" + ], + "role": "typed_binder", + "source": "{α β γ : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype α]", + "type_source": "Fintype α", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype β]", + "type_source": "Fintype β", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype γ]", + "type_source": "Fintype γ", + "visibility": "instance" + } + ], + "declaration_mentions": [ + { + "candidates": [ + "FEP.FiniteInformation.finiteKL_nonneg" + ], + "identifier": "finiteKL_nonneg", + "resolution": "unresolved lexical scope", + "role": "proof_reference" + }, + { + "identifier": "helmholtz_decomposition", + "qualified_name": "FEP.VariationalDuality.helmholtz_decomposition", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + } + ], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.finite_information", + "Mathlib.Analysis.Convex.SpecificFunctions.Basic", + "Mathlib.Topology.Order.Compact" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.VariationalDuality", + "namespace_variable_context": [ + "{α β γ : Type*} [Fintype α] [Fintype β] [Fintype γ]" + ], + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Fintype α] in" + } + ], + "qualified_name": "FEP.VariationalDuality.helmholtzFreeEnergy_le", + "source_line": 1372, + "source_owner": "src/fep_lean/formal/variational_duality.lean", + "statement": "theorem helmholtzFreeEnergy_le [Nonempty α] (E : α → ℝ) {T : ℝ} (hT : 0 < T)\n (q : FiniteLaw α) :\n helmholtzFreeEnergy E T ≤ expectation q E - T * entropy q", + "statement_sha256": "f57994c6c55c20192eeb4a9f0530274ccc59db0e061dca1af5e008eb3f005785" + }, + "FEP.VariationalDuality.helmholtzFreeEnergy_lt": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Nonempty α]", + "type_source": "Nonempty α", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "E" + ], + "role": "typed_binder", + "source": "(E : α → ℝ)", + "type_source": "α → ℝ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "T" + ], + "role": "typed_binder", + "source": "{T : ℝ}", + "type_source": "ℝ", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hT" + ], + "role": "typed_binder", + "source": "(hT : 0 < T)", + "type_source": "0 < T", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "q" + ], + "role": "typed_binder", + "source": "(q : FiniteLaw α)", + "type_source": "FiniteLaw α", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hq" + ], + "role": "typed_binder", + "source": "(hq : q ≠ helmholtzGibbsLaw E T)", + "type_source": "q ≠ helmholtzGibbsLaw E T", + "visibility": "explicit" + } + ], + "conclusion": "helmholtzFreeEnergy E T < expectation q E - T * entropy q", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "α", + "β", + "γ" + ], + "role": "typed_binder", + "source": "{α β γ : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype α]", + "type_source": "Fintype α", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype β]", + "type_source": "Fintype β", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype γ]", + "type_source": "Fintype γ", + "visibility": "instance" + } + ], + "declaration_mentions": [ + { + "identifier": "helmholtzFreeEnergy_eq_iff", + "qualified_name": "FEP.VariationalDuality.helmholtzFreeEnergy_eq_iff", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + }, + { + "identifier": "helmholtzFreeEnergy_le", + "qualified_name": "FEP.VariationalDuality.helmholtzFreeEnergy_le", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + } + ], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.finite_information", + "Mathlib.Analysis.Convex.SpecificFunctions.Basic", + "Mathlib.Topology.Order.Compact" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.VariationalDuality", + "namespace_variable_context": [ + "{α β γ : Type*} [Fintype α] [Fintype β] [Fintype γ]" + ], + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Fintype α] in" + } + ], + "qualified_name": "FEP.VariationalDuality.helmholtzFreeEnergy_lt", + "source_line": 1393, + "source_owner": "src/fep_lean/formal/variational_duality.lean", + "statement": "theorem helmholtzFreeEnergy_lt [Nonempty α] (E : α → ℝ) {T : ℝ} (hT : 0 < T)\n (q : FiniteLaw α) (hq : q ≠ helmholtzGibbsLaw E T) :\n helmholtzFreeEnergy E T < expectation q E - T * entropy q", + "statement_sha256": "01f03ffd1d9fc797ace5a9d6a7a5f83511308c699f3d4e2602f64e537932f073" + }, + "FEP.VariationalDuality.helmholtzGibbsLaw_pos": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Nonempty α]", + "type_source": "Nonempty α", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "E" + ], + "role": "typed_binder", + "source": "(E : α → ℝ)", + "type_source": "α → ℝ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "T" + ], + "role": "typed_binder", + "source": "(T : ℝ)", + "type_source": "ℝ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "x" + ], + "role": "typed_binder", + "source": "(x : α)", + "type_source": "α", + "visibility": "explicit" + } + ], + "conclusion": "0 < helmholtzGibbsLaw E T x", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "α", + "β", + "γ" + ], + "role": "typed_binder", + "source": "{α β γ : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype α]", + "type_source": "Fintype α", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype β]", + "type_source": "Fintype β", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype γ]", + "type_source": "Fintype γ", + "visibility": "instance" + } + ], + "declaration_mentions": [ + { + "identifier": "helmholtzPartition_pos", + "qualified_name": "FEP.VariationalDuality.helmholtzPartition_pos", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + } + ], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.finite_information", + "Mathlib.Analysis.Convex.SpecificFunctions.Basic", + "Mathlib.Topology.Order.Compact" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.VariationalDuality", + "namespace_variable_context": [ + "{α β γ : Type*} [Fintype α] [Fintype β] [Fintype γ]" + ], + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Fintype α] in" + } + ], + "qualified_name": "FEP.VariationalDuality.helmholtzGibbsLaw_pos", + "source_line": 1337, + "source_owner": "src/fep_lean/formal/variational_duality.lean", + "statement": "theorem helmholtzGibbsLaw_pos [Nonempty α] (E : α → ℝ) (T : ℝ) (x : α) :\n 0 < helmholtzGibbsLaw E T x", + "statement_sha256": "5e4fe0d4ef1c4cdb7cf7fe9e96d81c63924ca911464ff19d719f8527840c9903" + }, + "FEP.VariationalDuality.helmholtzPartition_bool": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "T" + ], + "role": "typed_binder", + "source": "(T : ℝ)", + "type_source": "ℝ", + "visibility": "explicit" + } + ], + "conclusion": "helmholtzPartition helmholtzBoolEnergy T = Real.exp (-1 / T) + 1", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "α", + "β", + "γ" + ], + "role": "typed_binder", + "source": "{α β γ : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype α]", + "type_source": "Fintype α", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype β]", + "type_source": "Fintype β", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype γ]", + "type_source": "Fintype γ", + "visibility": "instance" + } + ], + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.finite_information", + "Mathlib.Analysis.Convex.SpecificFunctions.Basic", + "Mathlib.Topology.Order.Compact" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.VariationalDuality", + "namespace_variable_context": [ + "{α β γ : Type*} [Fintype α] [Fintype β] [Fintype γ]" + ], + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Fintype α] in" + } + ], + "qualified_name": "FEP.VariationalDuality.helmholtzPartition_bool", + "source_line": 1462, + "source_owner": "src/fep_lean/formal/variational_duality.lean", + "statement": "theorem helmholtzPartition_bool (T : ℝ) :\n helmholtzPartition helmholtzBoolEnergy T = Real.exp (-1 / T) + 1", + "statement_sha256": "0503320fa9b32a633c72d8cafb00506ecb1d72bff2a7c2c2fce89b457cfb1cf2" + }, + "FEP.VariationalDuality.helmholtzPartition_pos": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Nonempty α]", + "type_source": "Nonempty α", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "E" + ], + "role": "typed_binder", + "source": "(E : α → ℝ)", + "type_source": "α → ℝ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "T" + ], + "role": "typed_binder", + "source": "(T : ℝ)", + "type_source": "ℝ", + "visibility": "explicit" + } + ], + "conclusion": "0 < helmholtzPartition E T", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "α", + "β", + "γ" + ], + "role": "typed_binder", + "source": "{α β γ : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype α]", + "type_source": "Fintype α", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype β]", + "type_source": "Fintype β", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype γ]", + "type_source": "Fintype γ", + "visibility": "instance" + } + ], + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.finite_information", + "Mathlib.Analysis.Convex.SpecificFunctions.Basic", + "Mathlib.Topology.Order.Compact" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.VariationalDuality", + "namespace_variable_context": [ + "{α β γ : Type*} [Fintype α] [Fintype β] [Fintype γ]" + ], + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Fintype α] in" + } + ], + "qualified_name": "FEP.VariationalDuality.helmholtzPartition_pos", + "source_line": 1324, + "source_owner": "src/fep_lean/formal/variational_duality.lean", + "statement": "theorem helmholtzPartition_pos [Nonempty α] (E : α → ℝ) (T : ℝ) :\n 0 < helmholtzPartition E T", + "statement_sha256": "34551357b1a4a59fdbf146e079647f366e37842029fdada84b437ba4f940279f" + }, + "FEP.VariationalDuality.helmholtz_bool_uniform_gt": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "T" + ], + "role": "typed_binder", + "source": "{T : ℝ}", + "type_source": "ℝ", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hT" + ], + "role": "typed_binder", + "source": "(hT : 0 < T)", + "type_source": "0 < T", + "visibility": "explicit" + } + ], + "conclusion": "helmholtzFreeEnergy helmholtzBoolEnergy T <\n expectation (FiniteLaw.uniform : FiniteLaw Bool) helmholtzBoolEnergy -\n T * entropy (FiniteLaw.uniform : FiniteLaw Bool)", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "α", + "β", + "γ" + ], + "role": "typed_binder", + "source": "{α β γ : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype α]", + "type_source": "Fintype α", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype β]", + "type_source": "Fintype β", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype γ]", + "type_source": "Fintype γ", + "visibility": "instance" + } + ], + "declaration_mentions": [ + { + "identifier": "helmholtzFreeEnergy_lt", + "qualified_name": "FEP.VariationalDuality.helmholtzFreeEnergy_lt", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + }, + { + "identifier": "helmholtzPartition_bool", + "qualified_name": "FEP.VariationalDuality.helmholtzPartition_bool", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + }, + { + "identifier": "helmholtzPartition_pos", + "qualified_name": "FEP.VariationalDuality.helmholtzPartition_pos", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + } + ], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.finite_information", + "Mathlib.Analysis.Convex.SpecificFunctions.Basic", + "Mathlib.Topology.Order.Compact" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.VariationalDuality", + "namespace_variable_context": [ + "{α β γ : Type*} [Fintype α] [Fintype β] [Fintype γ]" + ], + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Fintype α] in" + } + ], + "qualified_name": "FEP.VariationalDuality.helmholtz_bool_uniform_gt", + "source_line": 1468, + "source_owner": "src/fep_lean/formal/variational_duality.lean", + "statement": "theorem helmholtz_bool_uniform_gt {T : ℝ} (hT : 0 < T) :\n helmholtzFreeEnergy helmholtzBoolEnergy T <\n expectation (FiniteLaw.uniform : FiniteLaw Bool) helmholtzBoolEnergy -\n T * entropy (FiniteLaw.uniform : FiniteLaw Bool)", + "statement_sha256": "422ee3b89af16c2c698da5d30726de5449e18018f03538c053283aa0de76a441" + }, + "FEP.VariationalDuality.helmholtz_decomposition": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Nonempty α]", + "type_source": "Nonempty α", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "E" + ], + "role": "typed_binder", + "source": "(E : α → ℝ)", + "type_source": "α → ℝ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "T" + ], + "role": "typed_binder", + "source": "{T : ℝ}", + "type_source": "ℝ", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hT" + ], + "role": "typed_binder", + "source": "(hT : 0 < T)", + "type_source": "0 < T", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "q" + ], + "role": "typed_binder", + "source": "(q : FiniteLaw α)", + "type_source": "FiniteLaw α", + "visibility": "explicit" + } + ], + "conclusion": "expectation q E - T * entropy q =\n helmholtzFreeEnergy E T + T * finiteKL q (helmholtzGibbsLaw E T)", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "α", + "β", + "γ" + ], + "role": "typed_binder", + "source": "{α β γ : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype α]", + "type_source": "Fintype α", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype β]", + "type_source": "Fintype β", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype γ]", + "type_source": "Fintype γ", + "visibility": "instance" + } + ], + "declaration_mentions": [ + { + "candidates": [ + "FEP.FiniteInformation.finiteKL_eq_crossEntropy_sub_entropy" + ], + "identifier": "finiteKL_eq_crossEntropy_sub_entropy", + "resolution": "unresolved lexical scope", + "role": "proof_reference" + }, + { + "identifier": "helmholtzGibbsLaw_pos", + "qualified_name": "FEP.VariationalDuality.helmholtzGibbsLaw_pos", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + }, + { + "identifier": "log_helmholtzGibbsLaw", + "qualified_name": "FEP.VariationalDuality.log_helmholtzGibbsLaw", "resolution": "exact or same-namespace source identifier", "role": "proof_reference" } @@ -100988,12 +111752,18 @@ "namespace_variable_context": [ "{α β γ : Type*} [Fintype α] [Fintype β] [Fintype γ]" ], - "preceding_scope_directives": [], - "qualified_name": "FEP.VariationalDuality.gibbsFreeEnergy_optimizer", - "source_line": 137, + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Fintype α] in" + } + ], + "qualified_name": "FEP.VariationalDuality.helmholtz_decomposition", + "source_line": 1350, "source_owner": "src/fep_lean/formal/variational_duality.lean", - "statement": "theorem gibbsFreeEnergy_optimizer (certificate : GibbsCertificate α) :\n gibbsFreeEnergy certificate certificate.optimizer =\n -certificate.logPartition", - "statement_sha256": "1e6ae1beb175eaf8520ea5af29ea21e4524b5c8996c9437f555ecb53215f7ee6" + "statement": "theorem helmholtz_decomposition [Nonempty α] (E : α → ℝ) {T : ℝ} (hT : 0 < T)\n (q : FiniteLaw α) :\n expectation q E - T * entropy q =\n helmholtzFreeEnergy E T + T * finiteKL q (helmholtzGibbsLaw E T)", + "statement_sha256": "08d003dae185237cee4acc0b86bca46e0aa638c9f0b60b3c3689586eeb63f9f9" }, "FEP.VariationalDuality.iidProductLaw_mass": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", @@ -101481,6 +112251,119 @@ "statement": "theorem joint_supported_by_productMarginals (joint : FiniteLaw (α × β)) :\n ∀ xy, joint xy ≠ 0 →\n 0 < (joint.fstMarginal.product joint.sndMarginal) xy", "statement_sha256": "a41569935cfef4f82887c5f60b709370d2d2eaed9f99a3c7d34f3a2d9c8cf2b0" }, + "FEP.VariationalDuality.log_helmholtzGibbsLaw": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Nonempty α]", + "type_source": "Nonempty α", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "E" + ], + "role": "typed_binder", + "source": "(E : α → ℝ)", + "type_source": "α → ℝ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "T" + ], + "role": "typed_binder", + "source": "(T : ℝ)", + "type_source": "ℝ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "x" + ], + "role": "typed_binder", + "source": "(x : α)", + "type_source": "α", + "visibility": "explicit" + } + ], + "conclusion": "Real.log (helmholtzGibbsLaw E T x) =\n -E x / T - Real.log (helmholtzPartition E T)", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "α", + "β", + "γ" + ], + "role": "typed_binder", + "source": "{α β γ : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype α]", + "type_source": "Fintype α", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype β]", + "type_source": "Fintype β", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype γ]", + "type_source": "Fintype γ", + "visibility": "instance" + } + ], + "declaration_mentions": [ + { + "identifier": "helmholtzPartition_pos", + "qualified_name": "FEP.VariationalDuality.helmholtzPartition_pos", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + } + ], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.finite_information", + "Mathlib.Analysis.Convex.SpecificFunctions.Basic", + "Mathlib.Topology.Order.Compact" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.VariationalDuality", + "namespace_variable_context": [ + "{α β γ : Type*} [Fintype α] [Fintype β] [Fintype γ]" + ], + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Fintype α] in" + } + ], + "qualified_name": "FEP.VariationalDuality.log_helmholtzGibbsLaw", + "source_line": 1341, + "source_owner": "src/fep_lean/formal/variational_duality.lean", + "statement": "theorem log_helmholtzGibbsLaw [Nonempty α] (E : α → ℝ) (T : ℝ) (x : α) :\n Real.log (helmholtzGibbsLaw E T x) =\n -E x / T - Real.log (helmholtzPartition E T)", + "statement_sha256": "170e5ff33206f0012ec71e31e2ea427570ba3be20b3354f04537b59fcefc7c63" + }, "FEP.VariationalDuality.meanFieldCoordinateFreeEnergy_eq": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ @@ -116003,6 +126886,10 @@ "FepSketches.information_geometry", "FepSketches.markov_blanket", "FepSketches.statistical_convergence", + "FepSketches.controlled_markov", + "FepSketches.temporal_inference", + "FepSketches.path_thermodynamics", + "FepSketches.geometric_optimization", "Mathlib.Analysis.SpecialFunctions.BinaryEntropy" ], "line_coordinate_kind": "formal_resource_file", @@ -116012,7 +126899,7 @@ ], "preceding_scope_directives": [], "qualified_name": "FEPComposed.activeInference_expectedFreeEnergy_to_fep021", - "source_line": 40, + "source_line": 44, "source_owner": "src/fep_lean/formal/compositions/core.lean", "statement": "theorem activeInference_expectedFreeEnergy_to_fep021\n {Policy State Outcome : Type*}\n [Fintype Policy] [Fintype State] [Fintype Outcome]\n (model : FEP.ActiveInference.GenerativeModel Policy State Outcome)\n (policy : Policy) :\n ENNReal.ofReal (FEP.ActiveInference.expectedFreeEnergy model policy) =\n fep_fep021.FEP021.fep021_expectedFreeEnergy\n (ENNReal.ofReal (FEP.ActiveInference.pragmaticCost model policy))\n (ENNReal.ofReal (FEP.ActiveInference.epistemicValue model policy))", "statement_sha256": "ecb2042ff154b7822097f6dc472d5db69434fb58a5b80feb3752c416a0300bc5" @@ -116140,6 +127027,10 @@ "FepSketches.information_geometry", "FepSketches.markov_blanket", "FepSketches.statistical_convergence", + "FepSketches.controlled_markov", + "FepSketches.temporal_inference", + "FepSketches.path_thermodynamics", + "FepSketches.geometric_optimization", "Mathlib.Analysis.SpecialFunctions.BinaryEntropy" ], "line_coordinate_kind": "formal_resource_file", @@ -116149,7 +127040,7 @@ ], "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep002_vfe_compProd_chain_rule", - "source_line": 56, + "source_line": 60, "source_owner": "src/fep_lean/formal/compositions/core.lean", "statement": "theorem fep002_vfe_compProd_chain_rule\n {α β : Type*} [MeasurableSpace α] [MeasurableSpace β]\n (μ ν : Measure α) (κ η : Kernel α β)\n [IsFiniteMeasure μ] [IsFiniteMeasure ν]\n [IsMarkovKernel κ] [IsMarkovKernel η]\n (surprisal : ENNReal) :\n fep_fep002.FEP002.fep002_variationalFreeEnergy\n (μ ⊗ₘ κ) (ν ⊗ₘ η) surprisal =\n surprisal +\n (InformationTheory.klDiv μ ν +\n InformationTheory.klDiv (μ ⊗ₘ κ) (μ ⊗ₘ η))", "statement_sha256": "f60958326ea657384132dea1df2a17494902aa7e36f043d47b17a8601a151e03" @@ -116236,6 +127127,10 @@ "FepSketches.information_geometry", "FepSketches.markov_blanket", "FepSketches.statistical_convergence", + "FepSketches.controlled_markov", + "FepSketches.temporal_inference", + "FepSketches.path_thermodynamics", + "FepSketches.geometric_optimization", "Mathlib.Analysis.SpecialFunctions.BinaryEntropy" ], "line_coordinate_kind": "formal_resource_file", @@ -116245,7 +127140,7 @@ ], "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep003_pragmaticCost_efe_balance", - "source_line": 202, + "source_line": 206, "source_owner": "src/fep_lean/formal/compositions/core.lean", "statement": "theorem fep003_pragmaticCost_efe_balance\n (discount : ENNReal) (stageCost : ℕ → ENNReal) (horizon : ℕ)\n (epistemicValue : ENNReal)\n (hvalue : epistemicValue ≤\n fep_fep003.FEP003.fep003_pragmaticCost discount stageCost horizon) :\n fep_fep021.FEP021.fep021_expectedFreeEnergy\n (fep_fep003.FEP003.fep003_pragmaticCost discount stageCost horizon)\n epistemicValue + epistemicValue =\n fep_fep003.FEP003.fep003_pragmaticCost discount stageCost horizon", "statement_sha256": "372d8ff6fcb524916e2e02b8a852e03a02ee6def113a55e96ab2486dbb9c337f" @@ -116287,6 +127182,10 @@ "FepSketches.information_geometry", "FepSketches.markov_blanket", "FepSketches.statistical_convergence", + "FepSketches.controlled_markov", + "FepSketches.temporal_inference", + "FepSketches.path_thermodynamics", + "FepSketches.geometric_optimization", "Mathlib.Analysis.SpecialFunctions.BinaryEntropy" ], "line_coordinate_kind": "formal_resource_file", @@ -116296,11 +127195,111 @@ ], "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep004_bernoulliMetric_specialization", - "source_line": 243, + "source_line": 247, "source_owner": "src/fep_lean/formal/compositions/core.lean", "statement": "theorem fep004_bernoulliMetric_specialization (p v w : ℝ) :\n fep_fep004.FEP004.fep004_fisherMetric\n (ι := Unit)\n (fun _ => fep_fep038.FEP038.fep038_fisherInformation p)\n (fun _ => v) (fun _ => w) =\n fep_fep038.FEP038.fep038_fisherMetric p v w", "statement_sha256": "993be8f56f32f67d0374b536051468d0843e941182dce42ab56418ea4fc02d1b" }, + "FEPComposed.fep007_normalizedMessage_is_fep028_softmax": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "gamma" + ], + "role": "typed_binder", + "source": "(gamma : ℝ)", + "type_source": "ℝ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "cost" + ], + "role": "typed_binder", + "source": "(cost : Fin 10 → ℝ)", + "type_source": "Fin 10 → ℝ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "neighbors" + ], + "role": "typed_binder", + "source": "(neighbors : Finset (Fin 8))", + "type_source": "Finset (Fin 8)", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hNeighbors" + ], + "role": "typed_binder", + "source": "(hNeighbors : neighbors.Nonempty)", + "type_source": "neighbors.Nonempty", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "node" + ], + "role": "typed_binder", + "source": "(node : Fin 8)", + "type_source": "Fin 8", + "visibility": "explicit" + } + ], + "conclusion": "(∀ target : Fin 8,\n fep_fep007.FEP007.fep007_normalizedMessage\n (fun _ source =>\n Real.exp (-gamma * cost (Fin.castLE (by norm_num) source)))\n (fun _ => 1) neighbors node target =\n fep_fep028.FEP028.fep028_softmax gamma cost\n (neighbors.map ⟨Fin.castLE (by norm_num), Fin.castLE_injective _⟩)\n (Fin.castLE (by norm_num) target)) ∧\n (∑ policy ∈ neighbors.map\n ⟨Fin.castLE (by norm_num), Fin.castLE_injective _⟩,\n fep_fep028.FEP028.fep028_softmax gamma cost\n (neighbors.map ⟨Fin.castLE (by norm_num), Fin.castLE_injective _⟩)\n policy = 1)", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "Ω" + ], + "role": "typed_binder", + "source": "{Ω : Type*}", + "type_source": "Type*", + "visibility": "implicit" + } + ], + "declaration_mentions": [ + { + "identifier": "fep_fep007.FEP007.fep007_normalizedMessage_sum_one", + "qualified_name": "fep_fep007.FEP007.fep007_normalizedMessage_sum_one", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + } + ], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.fep_all", + "FepSketches.active_inference", + "FepSketches.information_geometry", + "FepSketches.markov_blanket", + "FepSketches.statistical_convergence", + "FepSketches.controlled_markov", + "FepSketches.temporal_inference", + "FepSketches.path_thermodynamics", + "FepSketches.geometric_optimization", + "Mathlib.Analysis.SpecialFunctions.BinaryEntropy" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEPComposed", + "namespace_variable_context": [ + "{Ω : Type*}" + ], + "preceding_scope_directives": [], + "qualified_name": "FEPComposed.fep007_normalizedMessage_is_fep028_softmax", + "source_line": 373, + "source_owner": "src/fep_lean/formal/compositions/core.lean", + "statement": "theorem fep007_normalizedMessage_is_fep028_softmax\n (gamma : ℝ) (cost : Fin 10 → ℝ) (neighbors : Finset (Fin 8))\n (hNeighbors : neighbors.Nonempty) (node : Fin 8) :\n (∀ target : Fin 8,\n fep_fep007.FEP007.fep007_normalizedMessage\n (fun _ source =>\n Real.exp (-gamma * cost (Fin.castLE (by norm_num) source)))\n (fun _ => 1) neighbors node target =\n fep_fep028.FEP028.fep028_softmax gamma cost\n (neighbors.map ⟨Fin.castLE (by norm_num), Fin.castLE_injective _⟩)\n (Fin.castLE (by norm_num) target)) ∧\n (∑ policy ∈ neighbors.map\n ⟨Fin.castLE (by norm_num), Fin.castLE_injective _⟩,\n fep_fep028.FEP028.fep028_softmax gamma cost\n (neighbors.map ⟨Fin.castLE (by norm_num), Fin.castLE_injective _⟩)\n policy = 1)", + "statement_sha256": "c6ec46a8f7769f48fa053643e483fc1538d6a4242cc0da632360cc3651d628b3" + }, "FEPComposed.fep012_softmax_entropyRegularizedCost_le": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ @@ -116405,6 +127404,10 @@ "FepSketches.information_geometry", "FepSketches.markov_blanket", "FepSketches.statistical_convergence", + "FepSketches.controlled_markov", + "FepSketches.temporal_inference", + "FepSketches.path_thermodynamics", + "FepSketches.geometric_optimization", "Mathlib.Analysis.SpecialFunctions.BinaryEntropy" ], "line_coordinate_kind": "formal_resource_file", @@ -116414,7 +127417,7 @@ ], "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep012_softmax_entropyRegularizedCost_le", - "source_line": 261, + "source_line": 265, "source_owner": "src/fep_lean/formal/compositions/core.lean", "statement": "theorem fep012_softmax_entropyRegularizedCost_le\n (γ : ℝ) (cost : Fin 10 → ℝ) (policies : Finset (Fin 10))\n (hne : policies.Nonempty) {temperature : ℝ} (htemperature : 0 ≤ temperature) :\n fep_fep012.FEP012.fep012_entropyRegularizedCost\n (fep_fep028.FEP028.fep028_softmax γ cost policies)\n cost temperature ≤\n fep_fep012.FEP012.fep012_expectedCost\n (fep_fep028.FEP028.fep028_softmax γ cost policies) cost", "statement_sha256": "b98488cd22c069a26d20178c62fdcf05a5a825a2678413350dc1d9cabbebf1ff" @@ -116488,6 +127491,10 @@ "FepSketches.information_geometry", "FepSketches.markov_blanket", "FepSketches.statistical_convergence", + "FepSketches.controlled_markov", + "FepSketches.temporal_inference", + "FepSketches.path_thermodynamics", + "FepSketches.geometric_optimization", "Mathlib.Analysis.SpecialFunctions.BinaryEntropy" ], "line_coordinate_kind": "formal_resource_file", @@ -116497,7 +127504,7 @@ ], "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep013_gaussianHelmholtz_derivative", - "source_line": 281, + "source_line": 285, "source_owner": "src/fep_lean/formal/compositions/core.lean", "statement": "theorem fep013_gaussianHelmholtz_derivative\n {κ T : ℝ} (hκ : 0 < κ) (hT : 0 < T) :\n HasDerivAt\n (fun t => fep_fep013.FEP013.fep013_helmholtz\n (t / 2) t (fep_fep040.FEP040.fep040_thermalEntropy κ t))\n (-fep_fep040.FEP040.fep040_thermalEntropy κ T) T", "statement_sha256": "731927a33de8d94e10b9d0b56bdc70f8f0c2540e81816b0ddb5cfe45d7085fe2" @@ -116583,6 +127590,10 @@ "FepSketches.information_geometry", "FepSketches.markov_blanket", "FepSketches.statistical_convergence", + "FepSketches.controlled_markov", + "FepSketches.temporal_inference", + "FepSketches.path_thermodynamics", + "FepSketches.geometric_optimization", "Mathlib.Analysis.SpecialFunctions.BinaryEntropy" ], "line_coordinate_kind": "formal_resource_file", @@ -116592,7 +127603,7 @@ ], "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep021_informationGain_balance", - "source_line": 189, + "source_line": 193, "source_owner": "src/fep_lean/formal/compositions/core.lean", "statement": "theorem fep021_informationGain_balance\n {State : Type*} [MeasurableSpace State]\n (posterior prior : Measure State) (pragmaticCost : ENNReal)\n (hvalue :\n fep_fep041.FEP041.fep041_informationGain posterior prior ≤ pragmaticCost) :\n fep_fep021.FEP021.fep021_expectedFreeEnergy pragmaticCost\n (fep_fep041.FEP041.fep041_informationGain posterior prior) +\n fep_fep041.FEP041.fep041_informationGain posterior prior =\n pragmaticCost", "statement_sha256": "efd86353af9fbbe31d4385b10c8436797529f46c710867ea693114d578fbdc8f" @@ -116712,6 +127723,10 @@ "FepSketches.information_geometry", "FepSketches.markov_blanket", "FepSketches.statistical_convergence", + "FepSketches.controlled_markov", + "FepSketches.temporal_inference", + "FepSketches.path_thermodynamics", + "FepSketches.geometric_optimization", "Mathlib.Analysis.SpecialFunctions.BinaryEntropy" ], "line_coordinate_kind": "formal_resource_file", @@ -116721,7 +127736,7 @@ ], "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep022_predictive_is_hierarchical_marginal", - "source_line": 93, + "source_line": 97, "source_owner": "src/fep_lean/formal/compositions/core.lean", "statement": "theorem fep022_predictive_is_hierarchical_marginal\n {𝓒 Ω 𝓧 : Type*}\n [MeasurableSpace 𝓒] [MeasurableSpace Ω] [MeasurableSpace 𝓧]\n (ν : Measure 𝓒) (posterior : Kernel 𝓒 Ω) (likelihood : Kernel Ω 𝓧)\n [SFinite ν] [IsSFiniteKernel posterior] [IsSFiniteKernel likelihood] :\n (fep_fep027.FEP027.fep027_hierarchicalJoint ν\n (fep_fep022.FEP022.fep022_posteriorPredictive posterior likelihood)).snd =\n likelihood ∘ₘ (posterior ∘ₘ ν)", "statement_sha256": "69c61db96ca65dea792e0b3d41d8b5936c4ffec1ea806b0480be691a43b8ab59" @@ -116798,6 +127813,10 @@ "FepSketches.information_geometry", "FepSketches.markov_blanket", "FepSketches.statistical_convergence", + "FepSketches.controlled_markov", + "FepSketches.temporal_inference", + "FepSketches.path_thermodynamics", + "FepSketches.geometric_optimization", "Mathlib.Analysis.SpecialFunctions.BinaryEntropy" ], "line_coordinate_kind": "formal_resource_file", @@ -116807,7 +127826,7 @@ ], "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep024_regularizer_is_fep014_kl", - "source_line": 215, + "source_line": 219, "source_owner": "src/fep_lean/formal/compositions/core.lean", "statement": "theorem fep024_regularizer_is_fep014_kl\n {α : Type*} [MeasurableSpace α]\n (base weight : ENNReal) (approximation prior : Measure α) :\n fep_fep024.FEP024.fep024_klRegularizedObjective\n base weight approximation prior =\n base + weight * InformationTheory.klDiv approximation prior ∧\n 0 ≤ InformationTheory.klDiv approximation prior", "statement_sha256": "a41c057633445e5d7321be27c17eff9897f9347809952c978488ba7be8c682c5" @@ -116884,6 +127903,10 @@ "FepSketches.information_geometry", "FepSketches.markov_blanket", "FepSketches.statistical_convergence", + "FepSketches.controlled_markov", + "FepSketches.temporal_inference", + "FepSketches.path_thermodynamics", + "FepSketches.geometric_optimization", "Mathlib.Analysis.SpecialFunctions.BinaryEntropy" ], "line_coordinate_kind": "formal_resource_file", @@ -116893,7 +127916,7 @@ ], "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep025_current_dissipation_nonneg", - "source_line": 168, + "source_line": 172, "source_owner": "src/fep_lean/formal/compositions/core.lean", "statement": "theorem fep025_current_dissipation_nonneg\n {n : ℕ} (flow : Matrix (Fin n) (Fin n) ℝ)\n (resistance : Fin n × Fin n → ℝ)\n (hresistance : ∀ edge, 0 ≤ resistance edge) :\n 0 ≤ fep_fep049.FEP049.fep049_entropyProduction resistance\n (fun edge =>\n fep_fep025.FEP025.fep025_probabilityCurrent flow edge.1 edge.2)", "statement_sha256": "90023de6dd3fa49f0c45719ad15e67c348743fa7f968f3a996972c3e79639bfc" @@ -116933,6 +127956,10 @@ "FepSketches.information_geometry", "FepSketches.markov_blanket", "FepSketches.statistical_convergence", + "FepSketches.controlled_markov", + "FepSketches.temporal_inference", + "FepSketches.path_thermodynamics", + "FepSketches.geometric_optimization", "Mathlib.Analysis.SpecialFunctions.BinaryEntropy" ], "line_coordinate_kind": "formal_resource_file", @@ -116942,7 +127969,7 @@ ], "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep026_priorComplexity_is_fep011_surprise", - "source_line": 254, + "source_line": 258, "source_owner": "src/fep_lean/formal/compositions/core.lean", "statement": "theorem fep026_priorComplexity_is_fep011_surprise (p : ℝ) :\n fep_fep026.FEP026.fep026_priorComplexity p =\n fep_fep011.FEP011.fep011_surprise p", "statement_sha256": "86d2073ba73a0b20d87e92a3d26f6811bc756048ccc7ce58d1e5af16ee051444" @@ -117042,6 +128069,10 @@ "FepSketches.information_geometry", "FepSketches.markov_blanket", "FepSketches.statistical_convergence", + "FepSketches.controlled_markov", + "FepSketches.temporal_inference", + "FepSketches.path_thermodynamics", + "FepSketches.geometric_optimization", "Mathlib.Analysis.SpecialFunctions.BinaryEntropy" ], "line_coordinate_kind": "formal_resource_file", @@ -117051,11 +128082,73 @@ ], "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep027_priorPredictive_is_fep019", - "source_line": 84, + "source_line": 88, "source_owner": "src/fep_lean/formal/compositions/core.lean", "statement": "theorem fep027_priorPredictive_is_fep019\n {α β : Type*} [MeasurableSpace α] [MeasurableSpace β]\n (μ : Measure α) (κ : Kernel α β) [SFinite μ] [IsSFiniteKernel κ] :\n (fep_fep027.FEP027.fep027_hierarchicalJoint μ κ).snd =\n fep_fep019.FEP019.fep019_priorPredictive κ μ", "statement_sha256": "770f616b5b44b5ed1ac0f74b0a1de35fda9bfa2afcc70a24285736bd22746835" }, + "FEPComposed.fep029_quadraticBregman_is_fep104_scalar_instance": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "x", + "y", + "z" + ], + "role": "typed_binder", + "source": "(x y z : ℝ)", + "type_source": "ℝ", + "visibility": "explicit" + } + ], + "conclusion": "bregmanDivergence (d := 1) (fun v => v 0 ^ 2) (fun v _ => 2 * v 0)\n (fun _ => x) (fun _ => y) =\n fep_fep029.FEP029.fep029_quadraticBregman x y ∧\n fep_fep029.FEP029.fep029_quadraticBregman x z -\n fep_fep029.FEP029.fep029_quadraticBregman x y -\n fep_fep029.FEP029.fep029_quadraticBregman y z =\n 2 * (y - z) * (x - y)", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "Ω" + ], + "role": "typed_binder", + "source": "{Ω : Type*}", + "type_source": "Type*", + "visibility": "implicit" + } + ], + "declaration_mentions": [ + { + "identifier": "fep_fep104.FEP104.fep104_mirrorDescent_threePoint_identity", + "qualified_name": "fep_fep104.FEP104.fep104_mirrorDescent_threePoint_identity", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + } + ], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.fep_all", + "FepSketches.active_inference", + "FepSketches.information_geometry", + "FepSketches.markov_blanket", + "FepSketches.statistical_convergence", + "FepSketches.controlled_markov", + "FepSketches.temporal_inference", + "FepSketches.path_thermodynamics", + "FepSketches.geometric_optimization", + "Mathlib.Analysis.SpecialFunctions.BinaryEntropy" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEPComposed", + "namespace_variable_context": [ + "{Ω : Type*}" + ], + "preceding_scope_directives": [], + "qualified_name": "FEPComposed.fep029_quadraticBregman_is_fep104_scalar_instance", + "source_line": 423, + "source_owner": "src/fep_lean/formal/compositions/core.lean", + "statement": "theorem fep029_quadraticBregman_is_fep104_scalar_instance (x y z : ℝ) :\n bregmanDivergence (d := 1) (fun v => v 0 ^ 2) (fun v _ => 2 * v 0)\n (fun _ => x) (fun _ => y) =\n fep_fep029.FEP029.fep029_quadraticBregman x y ∧\n fep_fep029.FEP029.fep029_quadraticBregman x z -\n fep_fep029.FEP029.fep029_quadraticBregman x y -\n fep_fep029.FEP029.fep029_quadraticBregman y z =\n 2 * (y - z) * (x - y)", + "statement_sha256": "cef0776c169b7097f07502c175c3e5167e4a14affdca02dd236663257153429a" + }, "FEPComposed.fep031_zeroBeta_binary_maxEntropy": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ @@ -117104,6 +128197,10 @@ "FepSketches.information_geometry", "FepSketches.markov_blanket", "FepSketches.statistical_convergence", + "FepSketches.controlled_markov", + "FepSketches.temporal_inference", + "FepSketches.path_thermodynamics", + "FepSketches.geometric_optimization", "Mathlib.Analysis.SpecialFunctions.BinaryEntropy" ], "line_coordinate_kind": "formal_resource_file", @@ -117113,7 +128210,7 @@ ], "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep031_zeroBeta_binary_maxEntropy", - "source_line": 233, + "source_line": 237, "source_owner": "src/fep_lean/formal/compositions/core.lean", "statement": "theorem fep031_zeroBeta_binary_maxEntropy (E : Fin 2 → ℝ) :\n Real.binEntropy\n (fep_fep031.FEP031.fep031_gibbsProbability\n 0 2 E Finset.univ 0) = Real.log 2", "statement_sha256": "b0d13a7410ffdc1a8d7feaf0a73ae1f30c5fcf1a34dae0dd1939c5ec51cf27db" @@ -117153,6 +128250,10 @@ "FepSketches.information_geometry", "FepSketches.markov_blanket", "FepSketches.statistical_convergence", + "FepSketches.controlled_markov", + "FepSketches.temporal_inference", + "FepSketches.path_thermodynamics", + "FepSketches.geometric_optimization", "Mathlib.Analysis.SpecialFunctions.BinaryEntropy" ], "line_coordinate_kind": "formal_resource_file", @@ -117162,7 +128263,7 @@ ], "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep031_zeroBeta_binary_uniform", - "source_line": 226, + "source_line": 230, "source_owner": "src/fep_lean/formal/compositions/core.lean", "statement": "theorem fep031_zeroBeta_binary_uniform (E : Fin 2 → ℝ) :\n fep_fep031.FEP031.fep031_gibbsProbability\n 0 2 E Finset.univ 0 = (2 : ℝ)⁻¹", "statement_sha256": "a8d7127f62599e0c21c90781a214f664f3d1b414088d55dbd6e224d97761b6e4" @@ -117205,6 +128306,10 @@ "FepSketches.information_geometry", "FepSketches.markov_blanket", "FepSketches.statistical_convergence", + "FepSketches.controlled_markov", + "FepSketches.temporal_inference", + "FepSketches.path_thermodynamics", + "FepSketches.geometric_optimization", "Mathlib.Analysis.SpecialFunctions.BinaryEntropy" ], "line_coordinate_kind": "formal_resource_file", @@ -117214,7 +128319,7 @@ ], "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep032_update_is_fep043_gradientStep", - "source_line": 298, + "source_line": 302, "source_owner": "src/fep_lean/formal/compositions/core.lean", "statement": "theorem fep032_update_is_fep043_gradientStep\n (η a center x : ℝ) :\n x - η * fep_fep043.FEP043.fep043_quadraticGradient a center x =\n fep_fep032.FEP032.fep032_quadraticUpdate (2 * a * η) center x", "statement_sha256": "3d7317556477ab24dc41501669d76c7147e571724c9edaf449b7d894e5895dbc" @@ -117341,6 +128446,10 @@ "FepSketches.information_geometry", "FepSketches.markov_blanket", "FepSketches.statistical_convergence", + "FepSketches.controlled_markov", + "FepSketches.temporal_inference", + "FepSketches.path_thermodynamics", + "FepSketches.geometric_optimization", "Mathlib.Analysis.SpecialFunctions.BinaryEntropy" ], "line_coordinate_kind": "formal_resource_file", @@ -117350,7 +128459,7 @@ ], "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep034_filter_is_fep017_posterior", - "source_line": 72, + "source_line": 76, "source_owner": "src/fep_lean/formal/compositions/core.lean", "statement": "theorem fep034_filter_is_fep017_posterior\n {Ω 𝓧 : Type*} [MeasurableSpace Ω] [MeasurableSpace 𝓧]\n (τ : Kernel Ω Ω) (κ : Kernel Ω 𝓧) (μ : Measure Ω)\n [StandardBorelSpace Ω] [Nonempty Ω]\n [IsFiniteMeasure μ] [IsFiniteKernel τ] [IsFiniteKernel κ] :\n fep_fep034.FEP034.fep034_filter τ κ μ =\n fep_fep017.FEP017.fep017_posterior κ\n (τ ∘ₘ μ)", "statement_sha256": "8b7c37d519d298bc4bcd7c9668118d36ab344ae5e890c60176738e96947f3743" @@ -117456,6 +128565,10 @@ "FepSketches.information_geometry", "FepSketches.markov_blanket", "FepSketches.statistical_convergence", + "FepSketches.controlled_markov", + "FepSketches.temporal_inference", + "FepSketches.path_thermodynamics", + "FepSketches.geometric_optimization", "Mathlib.Analysis.SpecialFunctions.BinaryEntropy" ], "line_coordinate_kind": "formal_resource_file", @@ -117465,7 +128578,7 @@ ], "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep036_empiricalPosterior_closed", - "source_line": 109, + "source_line": 113, "source_owner": "src/fep_lean/formal/compositions/core.lean", "statement": "theorem fep036_empiricalPosterior_closed\n (data : List Bool) {l₀ l₁ : ℝ} (hl₀ : 0 < l₀) (hl₁ : 0 < l₁) (b : Bool) :\n fep_fep045.FEP045.fep045_bernoulliMass\n (fep_fep045.FEP045.fep045_posteriorParameter\n (fep_fep036.FEP036.fep036_smoothedRate\n (fep_fep042.FEP042.fep042_successCount data) data.length)\n l₀ l₁) b =\n fep_fep045.FEP045.fep045_bernoulliMass\n (fep_fep036.FEP036.fep036_smoothedRate\n (fep_fep042.FEP042.fep042_successCount data) data.length) b *\n fep_fep045.FEP045.fep045_binaryLikelihood l₀ l₁ b /\n fep_fep045.FEP045.fep045_evidence\n (fep_fep036.FEP036.fep036_smoothedRate\n (fep_fep042.FEP042.fep042_successCount data) data.length)\n l₀ l₁", "statement_sha256": "c98e623d8b5bd22eac37dd18679e66caa3a0cdba1d00a049eebfcf0e609877e3" @@ -117568,6 +128681,10 @@ "FepSketches.information_geometry", "FepSketches.markov_blanket", "FepSketches.statistical_convergence", + "FepSketches.controlled_markov", + "FepSketches.temporal_inference", + "FepSketches.path_thermodynamics", + "FepSketches.geometric_optimization", "Mathlib.Analysis.SpecialFunctions.BinaryEntropy" ], "line_coordinate_kind": "formal_resource_file", @@ -117577,7 +128694,7 @@ ], "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep036_smoothedRate_strongLaw", - "source_line": 17, + "source_line": 21, "source_owner": "src/fep_lean/formal/compositions/core.lean", "statement": "theorem fep036_smoothedRate_strongLaw\n [MeasurableSpace Ω] (μ : Measure Ω) (observations : ℕ → Ω → Bool)\n (hint : Integrable (indicator observations 0) μ)\n (hindep : Pairwise (fun i j =>\n indicator observations i ⟂ᵢ[μ] indicator observations j))\n (hident : ∀ index,\n IdentDistrib (indicator observations index)\n (indicator observations 0) μ μ) :\n ∀ᵐ ω ∂μ,\n Tendsto\n (fun n =>\n fep_fep036.FEP036.fep036_smoothedRate\n (successCount observations n ω) n)\n atTop (nhds μ[indicator observations 0])", "statement_sha256": "2fed250d046a85f1381267cdacde4174cbd889b2deb945caf9d78b1d4187779f" @@ -117634,6 +128751,10 @@ "FepSketches.information_geometry", "FepSketches.markov_blanket", "FepSketches.statistical_convergence", + "FepSketches.controlled_markov", + "FepSketches.temporal_inference", + "FepSketches.path_thermodynamics", + "FepSketches.geometric_optimization", "Mathlib.Analysis.SpecialFunctions.BinaryEntropy" ], "line_coordinate_kind": "formal_resource_file", @@ -117643,7 +128764,7 @@ ], "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep037_autocorrelation_tracks_fep020", - "source_line": 179, + "source_line": 183, "source_owner": "src/fep_lean/formal/compositions/core.lean", "statement": "theorem fep037_autocorrelation_tracks_fep020 (α : ℝ) (n : ℕ) :\n 2 * (((fep_fep020.FEP020.fep020_evolve α)^[n]) 1 - 1 / 2) =\n fep_fep037.FEP037.fep037_autocorrelation α 1 n", "statement_sha256": "16121f404700d679b4ca09c6df0ea4bcff9bbba5bf0d3082dc0c4c426b02bcd1" @@ -117728,6 +128849,10 @@ "FepSketches.information_geometry", "FepSketches.markov_blanket", "FepSketches.statistical_convergence", + "FepSketches.controlled_markov", + "FepSketches.temporal_inference", + "FepSketches.path_thermodynamics", + "FepSketches.geometric_optimization", "Mathlib.Analysis.SpecialFunctions.BinaryEntropy" ], "line_coordinate_kind": "formal_resource_file", @@ -117737,7 +128862,7 @@ ], "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep038_fisherRao_separation", - "source_line": 142, + "source_line": 146, "source_owner": "src/fep_lean/formal/compositions/core.lean", "statement": "theorem fep038_fisherRao_separation\n {p q v : ℝ} (hp : p ∈ Set.Ioo (0 : ℝ) 1)\n (hq : q ∈ Set.Icc (0 : ℝ) 1) (hv : v ≠ 0) :\n (fep_fep018.FEP018.fep018_fisherRaoDistance p q = 0 ↔ p = q) ∧\n 0 < fep_fep038.FEP038.fep038_fisherMetric p v v", "statement_sha256": "22de169e1c5d28f944eccaffe03802d5b8892e521200fd0f795d92a20424d2a1" @@ -117787,6 +128912,10 @@ "FepSketches.information_geometry", "FepSketches.markov_blanket", "FepSketches.statistical_convergence", + "FepSketches.controlled_markov", + "FepSketches.temporal_inference", + "FepSketches.path_thermodynamics", + "FepSketches.geometric_optimization", "Mathlib.Analysis.SpecialFunctions.BinaryEntropy" ], "line_coordinate_kind": "formal_resource_file", @@ -117796,7 +128925,7 @@ ], "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep039_partitionEnergy_conservation", - "source_line": 315, + "source_line": 319, "source_owner": "src/fep_lean/formal/compositions/core.lean", "statement": "theorem fep039_partitionEnergy_conservation\n (assign : Fin 20 → fep_fep005.FEP005.BlkPart)\n (stateEnergy : Fin 20 → ℝ) :\n fep_fep039.FEP039.fep039_global_fe\n (fep005_blockEnergy assign stateEnergy) =\n ∑ state : Fin 20, stateEnergy state", "statement_sha256": "99eb2abe782363cfa2fc123e3cb6808a08fa0af937ec95289eb12e3e36baa691" @@ -117878,6 +129007,10 @@ "FepSketches.information_geometry", "FepSketches.markov_blanket", "FepSketches.statistical_convergence", + "FepSketches.controlled_markov", + "FepSketches.temporal_inference", + "FepSketches.path_thermodynamics", + "FepSketches.geometric_optimization", "Mathlib.Analysis.SpecialFunctions.BinaryEntropy" ], "line_coordinate_kind": "formal_resource_file", @@ -117887,11 +129020,211 @@ ], "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep041_informationGain_is_fep014_kl", - "source_line": 154, + "source_line": 158, "source_owner": "src/fep_lean/formal/compositions/core.lean", "statement": "theorem fep041_informationGain_is_fep014_kl\n {State : Type*} [MeasurableSpace State]\n (posterior prior : Measure State)\n [IsFiniteMeasure posterior] [IsFiniteMeasure prior] :\n fep_fep041.FEP041.fep041_informationGain posterior prior =\n InformationTheory.klDiv posterior prior ∧\n (fep_fep041.FEP041.fep041_informationGain posterior prior = 0 ↔\n posterior = prior)", "statement_sha256": "63ab0110391c9ac83777b99becebd113e5178b3d94be56261a93cf68f87a99b2" }, + "FEPComposed.fep046_single_break_is_fep045_bernoulli": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "p", + "l₀", + "l₁" + ], + "role": "typed_binder", + "source": "(p l₀ l₁ : ℝ)", + "type_source": "ℝ", + "visibility": "explicit" + } + ], + "conclusion": "fep_fep046.FEP046.fep046_stickWeights\n [fep_fep045.FEP045.fep045_posteriorParameter p l₀ l₁] =\n [fep_fep045.FEP045.fep045_bernoulliMass\n (fep_fep045.FEP045.fep045_posteriorParameter p l₀ l₁) true] ∧\n fep_fep046.FEP046.fep046_remainder\n [fep_fep045.FEP045.fep045_posteriorParameter p l₀ l₁] =\n fep_fep045.FEP045.fep045_bernoulliMass\n (fep_fep045.FEP045.fep045_posteriorParameter p l₀ l₁) false ∧\n ∑ b : Bool, fep_fep045.FEP045.fep045_bernoulliMass\n (fep_fep045.FEP045.fep045_posteriorParameter p l₀ l₁) b = 1", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "Ω" + ], + "role": "typed_binder", + "source": "{Ω : Type*}", + "type_source": "Type*", + "visibility": "implicit" + } + ], + "declaration_mentions": [ + { + "identifier": "fep_fep046.FEP046.fep046_mass_conservation", + "qualified_name": "fep_fep046.FEP046.fep046_mass_conservation", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + } + ], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.fep_all", + "FepSketches.active_inference", + "FepSketches.information_geometry", + "FepSketches.markov_blanket", + "FepSketches.statistical_convergence", + "FepSketches.controlled_markov", + "FepSketches.temporal_inference", + "FepSketches.path_thermodynamics", + "FepSketches.geometric_optimization", + "Mathlib.Analysis.SpecialFunctions.BinaryEntropy" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEPComposed", + "namespace_variable_context": [ + "{Ω : Type*}" + ], + "preceding_scope_directives": [], + "qualified_name": "FEPComposed.fep046_single_break_is_fep045_bernoulli", + "source_line": 334, + "source_owner": "src/fep_lean/formal/compositions/core.lean", + "statement": "theorem fep046_single_break_is_fep045_bernoulli (p l₀ l₁ : ℝ) :\n fep_fep046.FEP046.fep046_stickWeights\n [fep_fep045.FEP045.fep045_posteriorParameter p l₀ l₁] =\n [fep_fep045.FEP045.fep045_bernoulliMass\n (fep_fep045.FEP045.fep045_posteriorParameter p l₀ l₁) true] ∧\n fep_fep046.FEP046.fep046_remainder\n [fep_fep045.FEP045.fep045_posteriorParameter p l₀ l₁] =\n fep_fep045.FEP045.fep045_bernoulliMass\n (fep_fep045.FEP045.fep045_posteriorParameter p l₀ l₁) false ∧\n ∑ b : Bool, fep_fep045.FEP045.fep045_bernoulliMass\n (fep_fep045.FEP045.fep045_posteriorParameter p l₀ l₁) b = 1", + "statement_sha256": "dd982859e1b9f4470aefa5ffb441364cf3bbf433d4b2b894f97e3890f3c132e0" + }, + "FEPComposed.fep050_landauer_work_bound_from_fep049_entropy_production": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "Edge" + ], + "role": "typed_binder", + "source": "{Edge : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Edge]", + "type_source": "Fintype Edge", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "W", + "Q", + "T", + "kB" + ], + "role": "typed_binder", + "source": "{W Q T kB : ℝ}", + "type_source": "ℝ", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hT" + ], + "role": "typed_binder", + "source": "(hT : 0 < T)", + "type_source": "0 < T", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "conductance", + "force" + ], + "role": "typed_binder", + "source": "(conductance force : Edge → ℝ)", + "type_source": "Edge → ℝ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hConductance" + ], + "role": "typed_binder", + "source": "(hConductance : ∀ edge, 0 ≤ conductance edge)", + "type_source": "∀ edge, 0 ≤ conductance edge", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hBalance" + ], + "role": "typed_binder", + "source": "(hBalance : fep_fep050.FEP050.fep050_totalEntropyChange Q T kB =\n fep_fep049.FEP049.fep049_entropyProduction conductance force)", + "type_source": "fep_fep050.FEP050.fep050_totalEntropyChange Q T kB =\n fep_fep049.FEP049.fep049_entropyProduction conductance force", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hWorkHeat" + ], + "role": "typed_binder", + "source": "(hWorkHeat : Q ≤ W)", + "type_source": "Q ≤ W", + "visibility": "explicit" + } + ], + "conclusion": "fep_fep050.FEP050.fep050_landauerBound kB T ≤ W", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "Ω" + ], + "role": "typed_binder", + "source": "{Ω : Type*}", + "type_source": "Type*", + "visibility": "implicit" + } + ], + "declaration_mentions": [ + { + "identifier": "fep_fep049.FEP049.fep049_entropyProduction_nonneg", + "qualified_name": "fep_fep049.FEP049.fep049_entropyProduction_nonneg", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + }, + { + "identifier": "fep_fep050.FEP050.fep050_landauer_work_bound", + "qualified_name": "fep_fep050.FEP050.fep050_landauer_work_bound", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + } + ], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.fep_all", + "FepSketches.active_inference", + "FepSketches.information_geometry", + "FepSketches.markov_blanket", + "FepSketches.statistical_convergence", + "FepSketches.controlled_markov", + "FepSketches.temporal_inference", + "FepSketches.path_thermodynamics", + "FepSketches.geometric_optimization", + "Mathlib.Analysis.SpecialFunctions.BinaryEntropy" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEPComposed", + "namespace_variable_context": [ + "{Ω : Type*}" + ], + "preceding_scope_directives": [], + "qualified_name": "FEPComposed.fep050_landauer_work_bound_from_fep049_entropy_production", + "source_line": 450, + "source_owner": "src/fep_lean/formal/compositions/core.lean", + "statement": "theorem fep050_landauer_work_bound_from_fep049_entropy_production\n {Edge : Type*} [Fintype Edge] {W Q T kB : ℝ} (hT : 0 < T)\n (conductance force : Edge → ℝ)\n (hConductance : ∀ edge, 0 ≤ conductance edge)\n (hBalance : fep_fep050.FEP050.fep050_totalEntropyChange Q T kB =\n fep_fep049.FEP049.fep049_entropyProduction conductance force)\n (hWorkHeat : Q ≤ W) :\n fep_fep050.FEP050.fep050_landauerBound kB T ≤ W", + "statement_sha256": "82ff123cea446838c45179e6b5ad754244b725192146e1734cd271f8f1c918a0" + }, "FEPComposed.fep051_rn_reconstruction_refines_fep017": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ @@ -174512,14 +185845,7 @@ "visibility": "instance" } ], - "declaration_mentions": [ - { - "identifier": "FEP.HelmholtzAoNess.skewQuadratic_eq_zero", - "qualified_name": "FEP.HelmholtzAoNess.skewQuadratic_eq_zero", - "resolution": "exact or same-namespace source identifier", - "role": "proof_reference" - } - ], + "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ "FepSketches.helmholtz_ao_ness" @@ -174602,14 +185928,7 @@ "visibility": "instance" } ], - "declaration_mentions": [ - { - "identifier": "FEP.HelmholtzAoNess.skewTrace_eq_zero", - "qualified_name": "FEP.HelmholtzAoNess.skewTrace_eq_zero", - "resolution": "exact or same-namespace source identifier", - "role": "proof_reference" - } - ], + "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ "FepSketches.helmholtz_ao_ness" diff --git a/docs/mathematical-positioning/positioning.md b/docs/mathematical-positioning/positioning.md index ae3d0a62..426d633d 100644 --- a/docs/mathematical-positioning/positioning.md +++ b/docs/mathematical-positioning/positioning.md @@ -8,7 +8,7 @@ Package version: `1.6.0`. Source origin: `checkout`. Source hashes describe the bytes read for this analysis. -The projection contains 168 topics, 22 families, 14 overlapping domains, and 146 authored relations. +The projection contains 168 topics, 22 families, 14 overlapping domains, and 150 authored relations. ## Family coordinates @@ -19675,6 +19675,8 @@ Every edge is retained in authored order and with its original kind, rationale, - `fep-005` → `fep-009` (conceptual): The finite blanket foundation proves a normalized conditional factorization and ties each transition row to it, but neither theorem consumes fep-005's finite partition declarations or fep-009's measure-theoretic conditional-independence declarations. A formal cross-topic edge awaits an explicit carrier bridge. +- `fep-007` → `fep-028` (formal): With unit incoming messages and factor exp(-gamma * cost), fep-007's normalized sum-product message equals fep-028's support-aware softmax on the support embedded from the eight nodes into the ten policies, and fep-007's primary message-normalization theorem derives the unit sum of that softmax. The embedding and the exponential factor are explicit in the witness; no general belief-propagation or free-energy claim is made. Added 2026-10-08 (LEAN-8, issue 106). Witness: `FEPComposed.fep007_normalizedMessage_is_fep028_softmax`. + - `fep-008` → `fep-028` (conceptual): Finite argmin existence and finite softmax normalization represent deterministic and stochastic policy-selection layers. - `fep-011` → `fep-026` (formal): The composed theorem identifies self-information and scalar prior complexity as the same negative-log functional, fixing their shared sign convention. Witness: `FEPComposed.fep026_priorComplexity_is_fep011_surprise`. @@ -19701,6 +19703,8 @@ Every edge is retained in authored order and with its original kind, rationale, - `fep-029` → `fep-044` (conceptual): The explicit quadratic Bregman instance and the alpha-divergence proxy are neighboring but mathematically distinct divergence families. +- `fep-029` → `fep-104` (formal): fep-029's scalar quadratic Bregman divergence is the one-coordinate instance of the generic Bregman divergence of fep-104 with potential v0^2 and gradient 2*v0, and fep-104's mirror-descent three-point identity yields the scalar three-point law for it. Scalar case only; no claim about other potentials or the alpha-divergence proxy. Added 2026-10-08 (LEAN-8, issue 106). Witness: `FEPComposed.fep029_quadraticBregman_is_fep104_scalar_instance`. + - `fep-030` → `fep-031` (conceptual): A general constrained maximum-entropy derivation of Gibbs laws remains outside the binary zero-inverse-temperature theorem. - `fep-031` → `fep-030` (formal): The composed theorem rewrites the binary Gibbs law at zero inverse temperature to one half and invokes fep-030's entropy equality characterization. Witness: `FEPComposed.fep031_zeroBeta_binary_maxEntropy`. @@ -19723,6 +19727,10 @@ Every edge is retained in authored order and with its original kind, rationale, - `fep-042` → `fep-036` (formal): The composed theorem uses fep-042's success count to construct fep-036's smoothed empirical prior before conjugate updating. Reviewed 2026-09-22 against the primary-qualified endpoint rule. The witness carries fep-036 through its reviewed supporting theorems `fep_fep036.FEP036.fep036_smoothedRate_pos` and `fep_fep036.FEP036.fep036_smoothedRate_lt_one` rather than the primary `fep_fep036.FEP036.fep036_smoothedRate_tendsto_of_empiricalRate`; the row stands unchanged. Witness: `FEPComposed.fep036_empiricalPosterior_closed`. +- `fep-046` → `fep-045` (formal): A single stick-breaking fraction is the Bernoulli law of fep-045 (allocated weight is the true mass, residual is the false mass), and fep-046's mass-conservation theorem derives the normalization of fep-045's conjugate posterior mass function at the posterior parameter. One break only; no Dirichlet-process or infinite-series claim. Added 2026-10-08 (LEAN-8, issue 106). Witness: `FEPComposed.fep046_single_break_is_fep045_bernoulli`. + +- `fep-050` → `fep-049` (formal): Discharging fep-050's second-law premise with fep-049's nonnegative quadratic entropy production derives the Landauer work bound. The identification of the erasure's total entropy change with the constitutive-law entropy production is an explicit premise (`hBalance`) of the witness, a modelling assumption rather than a consequence of either topic. Added 2026-10-08 (LEAN-8, issue 106). Witness: `FEPComposed.fep050_landauer_work_bound_from_fep049_entropy_production`. + - `fep-051` → `fep-017` (formal_pairing): Radon--Nikodym reconstruction and posterior joint reconstruction are the measure-level reconstruction laws on either side of Bayesian inversion. Witness: `FEPComposed.fep051_rn_reconstruction_refines_fep017`. - `fep-052` → `fep-017` (formal_pairing): On a countable latent carrier, both topic surfaces certify the same predictive-almost-everywhere likelihood-ratio representation. Witness: `FEPComposed.fep052_posterior_tilt_is_fep017_posterior`. @@ -19997,14 +20005,14 @@ SHA-256 values bind the bytes read for this informational projection. They are n | `formal/active_inference.lean` | `ab5cb5df2d7a79b2265de527629858ae7fa7e2b7e94db2b6c6838943147d86c5` | | `formal/bayesian_model_reduction.lean` | `264ce160b0e29ec37f4fe3b4a10e9fe82ff3b650a96c0f0e425524fa53d99b8a` | | `formal/causal_dynamics.lean` | `5e8ec0e0bc65ab87ccc5f93685d162e744ddc43c8958b5f7fc7f6ff47cec460e` | -| `formal/collective_inference.lean` | `c073fe37fa86b8e7619af4d5ffcf0b8ba5579243b5d824ac0053df197fed55a5` | +| `formal/collective_inference.lean` | `2e419786135021c8fe884a706e3c3bf6db56254c5bc5b83c16dbbef3a7b84639` | | `formal/composed.lean` | `ee98a530a653471420cd68fe393c3d7aa4bc0f4980ad38c43b36bb3db77b1629` | | `formal/compositions/bayesian_model_reduction.lean` | `320f0faa836ca9d902646b6eb497eee28111f889ce6a81921dead50b9b0be8d0` | | `formal/compositions/causal_predictive.lean` | `6ce9bbd13722f66765537460193428d0f77003a8abbca3d16bfc3ae389f0e0a7` | | `formal/compositions/collective_learning.lean` | `dd955765c85e05b70c39847c5f439303e879717ff437b0e36d7ca1969acde4e5` | | `formal/compositions/continuous_time.lean` | `6c19c0fc1952141f3451d9da385c5d853608f36aab91bcfcda09b559c09510a8` | | `formal/compositions/control_temporal.lean` | `98ce41a805e7ac2a2eba43f7ba89664e5c77c7bbe20380c756d0bd3ff288aed2` | -| `formal/compositions/core.lean` | `2fcd89a1fd11865206fbb85afabdf6bc45d60bfae7fc72e098704364b49afad9` | +| `formal/compositions/core.lean` | `5ce07f7f61ffa33852ad55f13f5ca11ac99ce47a60f1f6a1604ccbe37da1d471` | | `formal/compositions/efe_policy_selection.lean` | `27b1b26c1af403e387850f77ddf9804467c44ee5085ab5a74b2ee75cb4ba6c7d` | | `formal/compositions/efe_time_scale_separation.lean` | `93f15c1daaa53f51634e2da4b5b080b5ffe68a8a7d15881b427c14a20891c81f` | | `formal/compositions/exponential_family.lean` | `618ef2cf9838134b1a1815410a1cac84ce2daa6c030be2ac4d4e577caa83e1d1` | @@ -20033,7 +20041,7 @@ SHA-256 values bind the bytes read for this informational projection. They are n | `formal/empirical_risk.lean` | `d1a9230237c237648c167bd677d347eb4aacbb3e70c93914bb6ab52498064067` | | `formal/exponential_family.lean` | `5d12165f38e1d18b03f03869fcc907720a41aac243589d96a99a57e41601dbc9` | | `formal/fin4_gaussian_semigroup.lean` | `a7c14d2fdeb44c61ffa4012d6eccc8d00051be916ab536e2658f4ef3652d260c` | -| `formal/finite_information.lean` | `3d52e359f9cb6a44a4b228f1353f63bfe1eb69170b653e20c1c2a8b72720bd45` | +| `formal/finite_information.lean` | `8d5cae82d2c1046056dcf8d65c0758ebf04f6afef7d2d1edb795ec1be746989d` | | `formal/finite_markov_dynamics.lean` | `5798cbfd93cddfac652bb76effc278796e549ff9124632cba00bfaecf9448f89` | | `formal/finite_posterior_learning.lean` | `c7b8e6bb97f33edc75ffb627cd03998c22943a2b2f34017d12ab5b1d24c86cc6` | | `formal/finite_probability.lean` | `eb019691997b8c9a2e3dfbe127bf3336610c5dd12bb035e559dc1d77842c9a66` | @@ -20046,7 +20054,7 @@ SHA-256 values bind the bytes read for this informational projection. They are n | `formal/gnn_document.lean` | `49bafbbf1816fb7bb65642a9595ce3a1073d5b5eb1189f331c5437025cffe57a` | | `formal/gnn_render_statements.lean` | `dd17bd9b3107c9a0f94b137b43ce3c1cf87f13c6bd8e96ff3084f3f94e0ae83c` | | `formal/h3_reference_model.lean` | `eb4f49d24fb49bfd064421d7f88e4cc554f7df5989690c28138b900adebfe47a` | -| `formal/helmholtz_ao_ness.lean` | `cc0c6172e152dcbcf6db7a128630d15003514a7fcb37bbac965d174d262f0021` | +| `formal/helmholtz_ao_ness.lean` | `79916bbc70b3388fcf39f808bef6c16d86ab42c4e08b4ea12df143ccbfd0319e` | | `formal/information_geometry.lean` | `958226855247a5658dd96594c4fd002aa07de3d81f232ff5e7cdbbf8e42e6fb6` | | `formal/law_weighted_split.lean` | `def5e9bbc82209660b18a353625799b860253d0701985bc0a2ce362bdd01dd1e` | | `formal/learning_theory.lean` | `d1d8784be113bb95ce26ba21307e5cd5e033bd888f197d1464485ecdbdeac88f` | @@ -20057,18 +20065,18 @@ SHA-256 values bind the bytes read for this informational projection. They are n | `formal/measure_bayes.lean` | `a8d81f59d449761a19960663fde0c8b5208cbc2db8966d6ddb2081175e3be133` | | `formal/native_blanket.lean` | `b6f99c2560e5c2ca9670caf7a4af887e7ea81befd465292aaacfbb7bb278bc2b` | | `formal/ness_flow.lean` | `fcf58cdd04feac36a46095b12c744f4c29683444ea56895b43531daa0b5e7de4` | -| `formal/path_thermodynamics.lean` | `bac2fde1b9e0bfafa78b3f622662aa8169c6d1510cc19ffec5a9e955dd5dbf00` | +| `formal/path_thermodynamics.lean` | `ba726b7c4bebe273092e1247cf6d67b7d78585adbf267dd8c05ff0d5e48e5c6e` | | `formal/perception_action_loop.lean` | `e0fe4b34b6c5725e3a445024183ecf62c9cb17c277e31bc93b2ff722384619e1` | | `formal/policy_tree.lean` | `2ac7813362f0c9e5c4a163ee9a56449409a6a6a08aaed0d8a5ad24220417bd88` | | `formal/posterior_convergence.lean` | `1449b1eb5eff7a709e08f96147597d4f662d0ce7b07d0c165c1d7fb0cf51ff20` | -| `formal/predictive_coding.lean` | `166d8b1394b67216d93c5290ed05ee5816a9c9e5beaeb06783f6f188a79df65a` | +| `formal/predictive_coding.lean` | `2b4589e435d281a04ac123f0289a2ffca4f6306b683a36aa2dd32b0d1d051782` | | `formal/scalar_gaussian_semigroup.lean` | `d99665db1366fd8cfa58c43313fb85fc81f68d36eb70a768b26d4c2f9570a05e` | | `formal/smooth_information_geometry.lean` | `571789ed86eb4ca7516c47621d555b4c12a467fd61f3854a009484de4debf1f8` | | `formal/statistical_convergence.lean` | `6984bb60ec822da2af08d94472bdae67ac743aaa0b6ef8dec0c83538aa60ade0` | | `formal/temporal_inference.lean` | `3672617b92818a501bb5b6e5f0082cf1713b0a272e21926186787a6945649f10` | -| `formal/variational_duality.lean` | `82697feb382e0c66599fadb1e6eabeb142ad95f1784e8d46216b939f3da4a90f` | +| `formal/variational_duality.lean` | `fdc4e5e2d22f0fc2a08cf5b1264c52b93ccd71dd25e1a72064acf632b331e8b0` | | `inputs/catalogue_metadata.yaml` | `e50020964ece9caeeb05dad04ccae7c709389d5983c386056efc975e51a4e5bd` | -| `inputs/formalism_relations.yaml` | `a071c8290d3583281e403a8270109cf49ee03a26a489a2908b91d3223134ed2e` | +| `inputs/formalism_relations.yaml` | `8665aa1c7ac5a72f7eea383c61c5719e9a5183559273b38709fa2a1d3f86cb2d` | | `inputs/positioning.yaml` | `d18b1e937babd732ac94414935f606e671ffb54a19f022de15b0dc45ed245e2d` | | `inputs/theorem_maturity.yaml` | `7f096a3b8ff8493d1759bbb0af39253bef3f34d159f4d443a9fd1c8f9618aded` | | `lean_source.py` | `8bf35005a2f360805af28eb8918dd988c48b33941c6e2dad7215d22c787b804c` | diff --git a/docs/mathematical-positioning/visual-model.json b/docs/mathematical-positioning/visual-model.json index 2b762938..c1dea80a 100644 --- a/docs/mathematical-positioning/visual-model.json +++ b/docs/mathematical-positioning/visual-model.json @@ -738,6 +738,13 @@ "source": "fep-005", "target": "fep-009" }, + { + "kind": "formal", + "rationale": "With unit incoming messages and factor exp(-gamma * cost), fep-007's normalized sum-product message equals fep-028's support-aware softmax on the support embedded from the eight nodes into the ten policies, and fep-007's primary message-normalization theorem derives the unit sum of that softmax. The embedding and the exponential factor are explicit in the witness; no general belief-propagation or free-energy claim is made. Added 2026-10-08 (LEAN-8, issue 106).", + "source": "fep-007", + "target": "fep-028", + "witness": "FEPComposed.fep007_normalizedMessage_is_fep028_softmax" + }, { "kind": "conceptual", "rationale": "Finite argmin existence and finite softmax normalization represent deterministic and stochastic policy-selection layers.", @@ -824,6 +831,13 @@ "source": "fep-029", "target": "fep-044" }, + { + "kind": "formal", + "rationale": "fep-029's scalar quadratic Bregman divergence is the one-coordinate instance of the generic Bregman divergence of fep-104 with potential v0^2 and gradient 2*v0, and fep-104's mirror-descent three-point identity yields the scalar three-point law for it. Scalar case only; no claim about other potentials or the alpha-divergence proxy. Added 2026-10-08 (LEAN-8, issue 106).", + "source": "fep-029", + "target": "fep-104", + "witness": "FEPComposed.fep029_quadraticBregman_is_fep104_scalar_instance" + }, { "kind": "conceptual", "rationale": "A general constrained maximum-entropy derivation of Gibbs laws remains outside the binary zero-inverse-temperature theorem.", @@ -899,6 +913,20 @@ "target": "fep-036", "witness": "FEPComposed.fep036_empiricalPosterior_closed" }, + { + "kind": "formal", + "rationale": "A single stick-breaking fraction is the Bernoulli law of fep-045 (allocated weight is the true mass, residual is the false mass), and fep-046's mass-conservation theorem derives the normalization of fep-045's conjugate posterior mass function at the posterior parameter. One break only; no Dirichlet-process or infinite-series claim. Added 2026-10-08 (LEAN-8, issue 106).", + "source": "fep-046", + "target": "fep-045", + "witness": "FEPComposed.fep046_single_break_is_fep045_bernoulli" + }, + { + "kind": "formal", + "rationale": "Discharging fep-050's second-law premise with fep-049's nonnegative quadratic entropy production derives the Landauer work bound. The identification of the erasure's total entropy change with the constitutive-law entropy production is an explicit premise (`hBalance`) of the witness, a modelling assumption rather than a consequence of either topic. Added 2026-10-08 (LEAN-8, issue 106).", + "source": "fep-050", + "target": "fep-049", + "witness": "FEPComposed.fep050_landauer_work_bound_from_fep049_entropy_production" + }, { "kind": "formal_pairing", "rationale": "Radon--Nikodym reconstruction and posterior joint reconstruction are the measure-level reconstruction laws on either side of Bayesian inversion.", @@ -2525,14 +2553,14 @@ } ], "counts": { - "authored_edges": 146, + "authored_edges": 150, "capabilities": 50, "domains": 14, "families": 22, "formal_modules": 71, "relation_kinds": { "conceptual": 8, - "formal": 20, + "formal": 24, "formal_pairing": 118 }, "semantic_dispositions": { @@ -8283,7 +8311,7 @@ "target": "core-active-inference" }, { - "count": 2, + "count": 3, "kind": "formal", "source": "core-active-inference", "target": "core-active-inference" @@ -8307,7 +8335,7 @@ "target": "core-bayesian-mechanics" }, { - "count": 4, + "count": 5, "kind": "formal", "source": "core-bayesian-mechanics", "target": "core-bayesian-mechanics" @@ -8360,6 +8388,12 @@ "source": "core-information-geometry", "target": "core-information-geometry" }, + { + "count": 1, + "kind": "formal", + "source": "core-information-geometry", + "target": "information-geometry-and-geometric-optimization" + }, { "count": 2, "kind": "formal", @@ -8379,7 +8413,7 @@ "target": "core-thermodynamics" }, { - "count": 2, + "count": 3, "kind": "formal", "source": "core-thermodynamics", "target": "core-thermodynamics" @@ -10570,6 +10604,13 @@ "source": "fep-005", "target": "fep-009" }, + { + "kind": "formal", + "rationale": "With unit incoming messages and factor exp(-gamma * cost), fep-007's normalized sum-product message equals fep-028's support-aware softmax on the support embedded from the eight nodes into the ten policies, and fep-007's primary message-normalization theorem derives the unit sum of that softmax. The embedding and the exponential factor are explicit in the witness; no general belief-propagation or free-energy claim is made. Added 2026-10-08 (LEAN-8, issue 106).", + "source": "fep-007", + "target": "fep-028", + "witness": "FEPComposed.fep007_normalizedMessage_is_fep028_softmax" + }, { "kind": "conceptual", "rationale": "Finite argmin existence and finite softmax normalization represent deterministic and stochastic policy-selection layers.", @@ -10656,6 +10697,13 @@ "source": "fep-029", "target": "fep-044" }, + { + "kind": "formal", + "rationale": "fep-029's scalar quadratic Bregman divergence is the one-coordinate instance of the generic Bregman divergence of fep-104 with potential v0^2 and gradient 2*v0, and fep-104's mirror-descent three-point identity yields the scalar three-point law for it. Scalar case only; no claim about other potentials or the alpha-divergence proxy. Added 2026-10-08 (LEAN-8, issue 106).", + "source": "fep-029", + "target": "fep-104", + "witness": "FEPComposed.fep029_quadraticBregman_is_fep104_scalar_instance" + }, { "kind": "conceptual", "rationale": "A general constrained maximum-entropy derivation of Gibbs laws remains outside the binary zero-inverse-temperature theorem.", @@ -10731,6 +10779,20 @@ "target": "fep-036", "witness": "FEPComposed.fep036_empiricalPosterior_closed" }, + { + "kind": "formal", + "rationale": "A single stick-breaking fraction is the Bernoulli law of fep-045 (allocated weight is the true mass, residual is the false mass), and fep-046's mass-conservation theorem derives the normalization of fep-045's conjugate posterior mass function at the posterior parameter. One break only; no Dirichlet-process or infinite-series claim. Added 2026-10-08 (LEAN-8, issue 106).", + "source": "fep-046", + "target": "fep-045", + "witness": "FEPComposed.fep046_single_break_is_fep045_bernoulli" + }, + { + "kind": "formal", + "rationale": "Discharging fep-050's second-law premise with fep-049's nonnegative quadratic entropy production derives the Landauer work bound. The identification of the erasure's total entropy change with the constitutive-law entropy production is an explicit premise (`hBalance`) of the witness, a modelling assumption rather than a consequence of either topic. Added 2026-10-08 (LEAN-8, issue 106).", + "source": "fep-050", + "target": "fep-049", + "witness": "FEPComposed.fep050_landauer_work_bound_from_fep049_entropy_production" + }, { "kind": "formal_pairing", "rationale": "Radon--Nikodym reconstruction and posterior joint reconstruction are the measure-level reconstruction laws on either side of Bayesian inversion.", @@ -11594,14 +11656,14 @@ "formal/active_inference.lean": "ab5cb5df2d7a79b2265de527629858ae7fa7e2b7e94db2b6c6838943147d86c5", "formal/bayesian_model_reduction.lean": "264ce160b0e29ec37f4fe3b4a10e9fe82ff3b650a96c0f0e425524fa53d99b8a", "formal/causal_dynamics.lean": "5e8ec0e0bc65ab87ccc5f93685d162e744ddc43c8958b5f7fc7f6ff47cec460e", - "formal/collective_inference.lean": "c073fe37fa86b8e7619af4d5ffcf0b8ba5579243b5d824ac0053df197fed55a5", + "formal/collective_inference.lean": "2e419786135021c8fe884a706e3c3bf6db56254c5bc5b83c16dbbef3a7b84639", "formal/composed.lean": "ee98a530a653471420cd68fe393c3d7aa4bc0f4980ad38c43b36bb3db77b1629", "formal/compositions/bayesian_model_reduction.lean": "320f0faa836ca9d902646b6eb497eee28111f889ce6a81921dead50b9b0be8d0", "formal/compositions/causal_predictive.lean": "6ce9bbd13722f66765537460193428d0f77003a8abbca3d16bfc3ae389f0e0a7", "formal/compositions/collective_learning.lean": "dd955765c85e05b70c39847c5f439303e879717ff437b0e36d7ca1969acde4e5", "formal/compositions/continuous_time.lean": "6c19c0fc1952141f3451d9da385c5d853608f36aab91bcfcda09b559c09510a8", "formal/compositions/control_temporal.lean": "98ce41a805e7ac2a2eba43f7ba89664e5c77c7bbe20380c756d0bd3ff288aed2", - "formal/compositions/core.lean": "2fcd89a1fd11865206fbb85afabdf6bc45d60bfae7fc72e098704364b49afad9", + "formal/compositions/core.lean": "5ce07f7f61ffa33852ad55f13f5ca11ac99ce47a60f1f6a1604ccbe37da1d471", "formal/compositions/efe_policy_selection.lean": "27b1b26c1af403e387850f77ddf9804467c44ee5085ab5a74b2ee75cb4ba6c7d", "formal/compositions/efe_time_scale_separation.lean": "93f15c1daaa53f51634e2da4b5b080b5ffe68a8a7d15881b427c14a20891c81f", "formal/compositions/exponential_family.lean": "618ef2cf9838134b1a1815410a1cac84ce2daa6c030be2ac4d4e577caa83e1d1", @@ -11630,7 +11692,7 @@ "formal/empirical_risk.lean": "d1a9230237c237648c167bd677d347eb4aacbb3e70c93914bb6ab52498064067", "formal/exponential_family.lean": "5d12165f38e1d18b03f03869fcc907720a41aac243589d96a99a57e41601dbc9", "formal/fin4_gaussian_semigroup.lean": "a7c14d2fdeb44c61ffa4012d6eccc8d00051be916ab536e2658f4ef3652d260c", - "formal/finite_information.lean": "3d52e359f9cb6a44a4b228f1353f63bfe1eb69170b653e20c1c2a8b72720bd45", + "formal/finite_information.lean": "8d5cae82d2c1046056dcf8d65c0758ebf04f6afef7d2d1edb795ec1be746989d", "formal/finite_markov_dynamics.lean": "5798cbfd93cddfac652bb76effc278796e549ff9124632cba00bfaecf9448f89", "formal/finite_posterior_learning.lean": "c7b8e6bb97f33edc75ffb627cd03998c22943a2b2f34017d12ab5b1d24c86cc6", "formal/finite_probability.lean": "eb019691997b8c9a2e3dfbe127bf3336610c5dd12bb035e559dc1d77842c9a66", @@ -11643,7 +11705,7 @@ "formal/gnn_document.lean": "49bafbbf1816fb7bb65642a9595ce3a1073d5b5eb1189f331c5437025cffe57a", "formal/gnn_render_statements.lean": "dd17bd9b3107c9a0f94b137b43ce3c1cf87f13c6bd8e96ff3084f3f94e0ae83c", "formal/h3_reference_model.lean": "eb4f49d24fb49bfd064421d7f88e4cc554f7df5989690c28138b900adebfe47a", - "formal/helmholtz_ao_ness.lean": "cc0c6172e152dcbcf6db7a128630d15003514a7fcb37bbac965d174d262f0021", + "formal/helmholtz_ao_ness.lean": "79916bbc70b3388fcf39f808bef6c16d86ab42c4e08b4ea12df143ccbfd0319e", "formal/information_geometry.lean": "958226855247a5658dd96594c4fd002aa07de3d81f232ff5e7cdbbf8e42e6fb6", "formal/law_weighted_split.lean": "def5e9bbc82209660b18a353625799b860253d0701985bc0a2ce362bdd01dd1e", "formal/learning_theory.lean": "d1d8784be113bb95ce26ba21307e5cd5e033bd888f197d1464485ecdbdeac88f", @@ -11654,18 +11716,18 @@ "formal/measure_bayes.lean": "a8d81f59d449761a19960663fde0c8b5208cbc2db8966d6ddb2081175e3be133", "formal/native_blanket.lean": "b6f99c2560e5c2ca9670caf7a4af887e7ea81befd465292aaacfbb7bb278bc2b", "formal/ness_flow.lean": "fcf58cdd04feac36a46095b12c744f4c29683444ea56895b43531daa0b5e7de4", - "formal/path_thermodynamics.lean": "bac2fde1b9e0bfafa78b3f622662aa8169c6d1510cc19ffec5a9e955dd5dbf00", + "formal/path_thermodynamics.lean": "ba726b7c4bebe273092e1247cf6d67b7d78585adbf267dd8c05ff0d5e48e5c6e", "formal/perception_action_loop.lean": "e0fe4b34b6c5725e3a445024183ecf62c9cb17c277e31bc93b2ff722384619e1", "formal/policy_tree.lean": "2ac7813362f0c9e5c4a163ee9a56449409a6a6a08aaed0d8a5ad24220417bd88", "formal/posterior_convergence.lean": "1449b1eb5eff7a709e08f96147597d4f662d0ce7b07d0c165c1d7fb0cf51ff20", - "formal/predictive_coding.lean": "166d8b1394b67216d93c5290ed05ee5816a9c9e5beaeb06783f6f188a79df65a", + "formal/predictive_coding.lean": "2b4589e435d281a04ac123f0289a2ffca4f6306b683a36aa2dd32b0d1d051782", "formal/scalar_gaussian_semigroup.lean": "d99665db1366fd8cfa58c43313fb85fc81f68d36eb70a768b26d4c2f9570a05e", "formal/smooth_information_geometry.lean": "571789ed86eb4ca7516c47621d555b4c12a467fd61f3854a009484de4debf1f8", "formal/statistical_convergence.lean": "6984bb60ec822da2af08d94472bdae67ac743aaa0b6ef8dec0c83538aa60ade0", "formal/temporal_inference.lean": "3672617b92818a501bb5b6e5f0082cf1713b0a272e21926186787a6945649f10", - "formal/variational_duality.lean": "82697feb382e0c66599fadb1e6eabeb142ad95f1784e8d46216b939f3da4a90f", + "formal/variational_duality.lean": "fdc4e5e2d22f0fc2a08cf5b1264c52b93ccd71dd25e1a72064acf632b331e8b0", "inputs/catalogue_metadata.yaml": "e50020964ece9caeeb05dad04ccae7c709389d5983c386056efc975e51a4e5bd", - "inputs/formalism_relations.yaml": "a071c8290d3583281e403a8270109cf49ee03a26a489a2908b91d3223134ed2e", + "inputs/formalism_relations.yaml": "8665aa1c7ac5a72f7eea383c61c5719e9a5183559273b38709fa2a1d3f86cb2d", "inputs/positioning.yaml": "d18b1e937babd732ac94414935f606e671ffb54a19f022de15b0dc45ed245e2d", "inputs/theorem_maturity.yaml": "7f096a3b8ff8493d1759bbb0af39253bef3f34d159f4d443a9fd1c8f9618aded", "lean_source.py": "8bf35005a2f360805af28eb8918dd988c48b33941c6e2dad7215d22c787b804c", @@ -21197,10 +21259,22 @@ "statement": "theorem sharedConditional_mixture_preserves_joint\n {Input Output : Type*} [Fintype Input] [Fintype Output]\n (weight : ℝ) (hWeightNonneg : 0 ≤ weight)\n (hWeightLeOne : weight ≤ 1)\n (left right : FiniteLaw Input) (kernel : FiniteKernel Input Output) :\n kernel.joint (mixLaw weight hWeightNonneg hWeightLeOne left right) =\n mixLaw weight hWeightNonneg hWeightLeOne\n (kernel.joint left) (kernel.joint right)", "statement_sha256": "51948fbd98a6ae7e7d700e1c234b8310f59ba795340e14482548ae8b36a59516" }, - "FEP.CollectiveInference.boolConsensus_nonzero_strict_witness": { + "FEP.CollectiveInference.asymMatrix3_nonneg": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [], - "conclusion": "beliefGap (FiniteLaw.pointMass true) (FiniteLaw.pointMass false) true = 1 ∧\n beliefGap\n (consensusLeft (FiniteLaw.pointMass true) (FiniteLaw.pointMass false))\n (consensusRight (FiniteLaw.pointMass true) (FiniteLaw.pointMass false))\n true = 1 / 2 ∧\n 0 < beliefGap\n (consensusLeft (FiniteLaw.pointMass true) (FiniteLaw.pointMass false))\n (consensusRight (FiniteLaw.pointMass true) (FiniteLaw.pointMass false))\n true ∧\n beliefGap\n (consensusLeft (FiniteLaw.pointMass true) (FiniteLaw.pointMass false))\n (consensusRight (FiniteLaw.pointMass true) (FiniteLaw.pointMass false))\n true <\n beliefGap (FiniteLaw.pointMass true) (FiniteLaw.pointMass false) true", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "i", + "j" + ], + "role": "typed_binder", + "source": "(i j : Fin 3)", + "type_source": "Fin 3", + "visibility": "explicit" + } + ], + "conclusion": "0 ≤ asymMatrix3 i j", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -21259,79 +21333,95 @@ "{State₁ State₂ Observation₁ Observation₂ : Type*}\n [Fintype State₁] [Fintype State₂]\n [Fintype Observation₁] [Fintype Observation₂]" ], "preceding_scope_directives": [], - "qualified_name": "FEP.CollectiveInference.boolConsensus_nonzero_strict_witness", - "source_line": 348, + "qualified_name": "FEP.CollectiveInference.asymMatrix3_nonneg", + "source_line": 753, "source_owner": "src/fep_lean/formal/collective_inference.lean", - "statement": "theorem boolConsensus_nonzero_strict_witness :\n beliefGap (FiniteLaw.pointMass true) (FiniteLaw.pointMass false) true = 1 ∧\n beliefGap\n (consensusLeft (FiniteLaw.pointMass true) (FiniteLaw.pointMass false))\n (consensusRight (FiniteLaw.pointMass true) (FiniteLaw.pointMass false))\n true = 1 / 2 ∧\n 0 < beliefGap\n (consensusLeft (FiniteLaw.pointMass true) (FiniteLaw.pointMass false))\n (consensusRight (FiniteLaw.pointMass true) (FiniteLaw.pointMass false))\n true ∧\n beliefGap\n (consensusLeft (FiniteLaw.pointMass true) (FiniteLaw.pointMass false))\n (consensusRight (FiniteLaw.pointMass true) (FiniteLaw.pointMass false))\n true <\n beliefGap (FiniteLaw.pointMass true) (FiniteLaw.pointMass false) true", - "statement_sha256": "afff2c981f737018efa9940423948a192d780c5feb1896eb12d2229cf53cf4e6" + "statement": "theorem asymMatrix3_nonneg (i j : Fin 3) : 0 ≤ asymMatrix3 i j", + "statement_sha256": "5e0197009f318e76cb0beffdb3c0563e042fa4313bceba311ad3e551ec159b43" }, - "FEP.CollectiveInference.collectiveVFE_additive": { + "FEP.CollectiveInference.asymMatrix3_row": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "actualLeft", - "referenceLeft" + "i" ], "role": "typed_binder", - "source": "(actualLeft referenceLeft : FiniteLaw State₁)", - "type_source": "FiniteLaw State₁", + "source": "(i : Fin 3)", + "type_source": "Fin 3", "visibility": "explicit" - }, + } + ], + "conclusion": "∑ j, asymMatrix3 i j = 1", + "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "actualRight", - "referenceRight" + "State₁", + "State₂", + "Observation₁", + "Observation₂" ], "role": "typed_binder", - "source": "(actualRight referenceRight : FiniteLaw State₂)", - "type_source": "FiniteLaw State₂", - "visibility": "explicit" + "source": "{State₁ State₂ Observation₁ Observation₂ : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "leftCost" - ], - "role": "typed_binder", - "source": "(leftCost : State₁ → ℝ)", - "type_source": "State₁ → ℝ", - "visibility": "explicit" + "names": [], + "role": "instance_requirement", + "source": "[Fintype State₁]", + "type_source": "Fintype State₁", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "rightCost" - ], - "role": "typed_binder", - "source": "(rightCost : State₂ → ℝ)", - "type_source": "State₂ → ℝ", - "visibility": "explicit" + "names": [], + "role": "instance_requirement", + "source": "[Fintype State₂]", + "type_source": "Fintype State₂", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "referenceLeftPositive" - ], - "role": "typed_binder", - "source": "(referenceLeftPositive : ∀ state, 0 < referenceLeft state)", - "type_source": "∀ state, 0 < referenceLeft state", - "visibility": "explicit" + "names": [], + "role": "instance_requirement", + "source": "[Fintype Observation₁]", + "type_source": "Fintype Observation₁", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "referenceRightPositive" - ], - "role": "typed_binder", - "source": "(referenceRightPositive : ∀ state, 0 < referenceRight state)", - "type_source": "∀ state, 0 < referenceRight state", - "visibility": "explicit" + "names": [], + "role": "instance_requirement", + "source": "[Fintype Observation₂]", + "type_source": "Fintype Observation₂", + "visibility": "instance" } ], - "conclusion": "collectiveVFE actualLeft referenceLeft actualRight referenceRight\n leftCost rightCost =\n variationalFreeEnergy actualLeft referenceLeft leftCost +\n variationalFreeEnergy actualRight referenceRight rightCost", + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.finite_information" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.CollectiveInference", + "namespace_variable_context": [ + "{State₁ State₂ Observation₁ Observation₂ : Type*}\n [Fintype State₁] [Fintype State₂]\n [Fintype Observation₁] [Fintype Observation₂]" + ], + "preceding_scope_directives": [], + "qualified_name": "FEP.CollectiveInference.asymMatrix3_row", + "source_line": 756, + "source_owner": "src/fep_lean/formal/collective_inference.lean", + "statement": "theorem asymMatrix3_row (i : Fin 3) : ∑ j, asymMatrix3 i j = 1", + "statement_sha256": "526e3ba54cda036fa921fac98d26067e33ead655f3df426d1deb57a429927c2c" + }, + "FEP.CollectiveInference.asymMatrix3_scrambling": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [], + "conclusion": "(3 / 5 : ℝ) ≤ scramblingCoefficient asymMatrix3", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -21379,14 +21469,7 @@ "visibility": "instance" } ], - "declaration_mentions": [ - { - "identifier": "productExpectedCost_additive", - "qualified_name": "FEP.CollectiveInference.productExpectedCost_additive", - "resolution": "exact or same-namespace source identifier", - "role": "proof_reference" - } - ], + "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ "FepSketches.finite_information" @@ -21397,22 +21480,27 @@ "{State₁ State₂ Observation₁ Observation₂ : Type*}\n [Fintype State₁] [Fintype State₂]\n [Fintype Observation₁] [Fintype Observation₂]" ], "preceding_scope_directives": [], - "qualified_name": "FEP.CollectiveInference.collectiveVFE_additive", - "source_line": 149, + "qualified_name": "FEP.CollectiveInference.asymMatrix3_scrambling", + "source_line": 759, "source_owner": "src/fep_lean/formal/collective_inference.lean", - "statement": "theorem collectiveVFE_additive\n (actualLeft referenceLeft : FiniteLaw State₁)\n (actualRight referenceRight : FiniteLaw State₂)\n (leftCost : State₁ → ℝ) (rightCost : State₂ → ℝ)\n (referenceLeftPositive : ∀ state, 0 < referenceLeft state)\n (referenceRightPositive : ∀ state, 0 < referenceRight state) :\n collectiveVFE actualLeft referenceLeft actualRight referenceRight\n leftCost rightCost =\n variationalFreeEnergy actualLeft referenceLeft leftCost +\n variationalFreeEnergy actualRight referenceRight rightCost", - "statement_sha256": "7daedf4ccc732c559c6fc5c3282070099419627a4094398a6b3e9eaaa3b3e4d9" + "statement": "theorem asymMatrix3_scrambling : (3 / 5 : ℝ) ≤ scramblingCoefficient asymMatrix3", + "statement_sha256": "510a7fe91bfd4a891cf10966688d2bf4d58a8d781e1382f8ca02545b8c2f9c5d" }, - "FEP.CollectiveInference.consensusIterate_gap": { + "FEP.CollectiveInference.asymMatrix3_strict_contraction": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [ + "binders": [], + "conclusion": "0 < scramblingCoefficient asymMatrix3 ∧\n 1 ≤ valueSpread (![1, 0, 0] : Fin 3 → ℝ) ∧\n valueSpread (mixStep asymMatrix3 ![1, 0, 0]) ≤\n (2 / 5 : ℝ) * valueSpread (![1, 0, 0] : Fin 3 → ℝ) ∧\n valueSpread (mixStep asymMatrix3 ![1, 0, 0]) <\n valueSpread (![1, 0, 0] : Fin 3 → ℝ)", + "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "State" + "State₁", + "State₂", + "Observation₁", + "Observation₂" ], "role": "typed_binder", - "source": "{State : Type*}", + "source": "{State₁ State₂ Observation₁ Observation₂ : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -21420,43 +21508,93 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype State]", - "type_source": "Fintype State", + "source": "[Fintype State₁]", + "type_source": "Fintype State₁", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "left", - "right" - ], - "role": "typed_binder", - "source": "(left right : FiniteLaw State)", - "type_source": "FiniteLaw State", - "visibility": "explicit" + "names": [], + "role": "instance_requirement", + "source": "[Fintype State₂]", + "type_source": "Fintype State₂", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "state" - ], - "role": "typed_binder", - "source": "(state : State)", - "type_source": "State", - "visibility": "explicit" + "names": [], + "role": "instance_requirement", + "source": "[Fintype Observation₁]", + "type_source": "Fintype Observation₁", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "iterations" - ], - "role": "typed_binder", - "source": "(iterations : ℕ)", - "type_source": "ℕ", - "visibility": "explicit" + "names": [], + "role": "instance_requirement", + "source": "[Fintype Observation₂]", + "type_source": "Fintype Observation₂", + "visibility": "instance" } ], - "conclusion": "beliefGap (consensusIterate (left, right) iterations).1\n (consensusIterate (left, right) iterations).2 state =\n (1 / 2 : ℝ) ^ iterations * beliefGap left right state", + "declaration_mentions": [ + { + "identifier": "asymMatrix3_row", + "qualified_name": "FEP.CollectiveInference.asymMatrix3_row", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + }, + { + "identifier": "asymMatrix3_scrambling", + "qualified_name": "FEP.CollectiveInference.asymMatrix3_scrambling", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + }, + { + "identifier": "sub_le_valueSpread", + "qualified_name": "FEP.CollectiveInference.sub_le_valueSpread", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + }, + { + "identifier": "valueSpread_mixStep_le", + "qualified_name": "FEP.CollectiveInference.valueSpread_mixStep_le", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + }, + { + "identifier": "valueSpread_mixStep_lt", + "qualified_name": "FEP.CollectiveInference.valueSpread_mixStep_lt", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + }, + { + "identifier": "valueSpread_nonneg", + "qualified_name": "FEP.CollectiveInference.valueSpread_nonneg", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + } + ], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.finite_information" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.CollectiveInference", + "namespace_variable_context": [ + "{State₁ State₂ Observation₁ Observation₂ : Type*}\n [Fintype State₁] [Fintype State₂]\n [Fintype Observation₁] [Fintype Observation₂]" + ], + "preceding_scope_directives": [], + "qualified_name": "FEP.CollectiveInference.asymMatrix3_strict_contraction", + "source_line": 768, + "source_owner": "src/fep_lean/formal/collective_inference.lean", + "statement": "theorem asymMatrix3_strict_contraction :\n 0 < scramblingCoefficient asymMatrix3 ∧\n 1 ≤ valueSpread (![1, 0, 0] : Fin 3 → ℝ) ∧\n valueSpread (mixStep asymMatrix3 ![1, 0, 0]) ≤\n (2 / 5 : ℝ) * valueSpread (![1, 0, 0] : Fin 3 → ℝ) ∧\n valueSpread (mixStep asymMatrix3 ![1, 0, 0]) <\n valueSpread (![1, 0, 0] : Fin 3 → ℝ)", + "statement_sha256": "307ee5935859e3f442042f409b5a5b9fa85483cf11ec4bb1adf0c5ccc399ee54" + }, + "FEP.CollectiveInference.boolConsensus_nonzero_strict_witness": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [], + "conclusion": "beliefGap (FiniteLaw.pointMass true) (FiniteLaw.pointMass false) true = 1 ∧\n beliefGap\n (consensusLeft (FiniteLaw.pointMass true) (FiniteLaw.pointMass false))\n (consensusRight (FiniteLaw.pointMass true) (FiniteLaw.pointMass false))\n true = 1 / 2 ∧\n 0 < beliefGap\n (consensusLeft (FiniteLaw.pointMass true) (FiniteLaw.pointMass false))\n (consensusRight (FiniteLaw.pointMass true) (FiniteLaw.pointMass false))\n true ∧\n beliefGap\n (consensusLeft (FiniteLaw.pointMass true) (FiniteLaw.pointMass false))\n (consensusRight (FiniteLaw.pointMass true) (FiniteLaw.pointMass false))\n true <\n beliefGap (FiniteLaw.pointMass true) (FiniteLaw.pointMass false) true", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -21504,14 +21642,7 @@ "visibility": "instance" } ], - "declaration_mentions": [ - { - "identifier": "consensus_gap_contracts", - "qualified_name": "FEP.CollectiveInference.consensus_gap_contracts", - "resolution": "exact or same-namespace source identifier", - "role": "proof_reference" - } - ], + "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ "FepSketches.finite_information" @@ -21522,56 +21653,79 @@ "{State₁ State₂ Observation₁ Observation₂ : Type*}\n [Fintype State₁] [Fintype State₂]\n [Fintype Observation₁] [Fintype Observation₂]" ], "preceding_scope_directives": [], - "qualified_name": "FEP.CollectiveInference.consensusIterate_gap", - "source_line": 310, + "qualified_name": "FEP.CollectiveInference.boolConsensus_nonzero_strict_witness", + "source_line": 348, "source_owner": "src/fep_lean/formal/collective_inference.lean", - "statement": "theorem consensusIterate_gap\n {State : Type*} [Fintype State]\n (left right : FiniteLaw State) (state : State) (iterations : ℕ) :\n beliefGap (consensusIterate (left, right) iterations).1\n (consensusIterate (left, right) iterations).2 state =\n (1 / 2 : ℝ) ^ iterations * beliefGap left right state", - "statement_sha256": "87225647979e6f544a6ab84e6e665a39bb173a737af7015af5beba6fcc2b1449" + "statement": "theorem boolConsensus_nonzero_strict_witness :\n beliefGap (FiniteLaw.pointMass true) (FiniteLaw.pointMass false) true = 1 ∧\n beliefGap\n (consensusLeft (FiniteLaw.pointMass true) (FiniteLaw.pointMass false))\n (consensusRight (FiniteLaw.pointMass true) (FiniteLaw.pointMass false))\n true = 1 / 2 ∧\n 0 < beliefGap\n (consensusLeft (FiniteLaw.pointMass true) (FiniteLaw.pointMass false))\n (consensusRight (FiniteLaw.pointMass true) (FiniteLaw.pointMass false))\n true ∧\n beliefGap\n (consensusLeft (FiniteLaw.pointMass true) (FiniteLaw.pointMass false))\n (consensusRight (FiniteLaw.pointMass true) (FiniteLaw.pointMass false))\n true <\n beliefGap (FiniteLaw.pointMass true) (FiniteLaw.pointMass false) true", + "statement_sha256": "afff2c981f737018efa9940423948a192d780c5feb1896eb12d2229cf53cf4e6" }, - "FEP.CollectiveInference.consensusMass_conserved": { + "FEP.CollectiveInference.collectiveVFE_additive": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "State" + "actualLeft", + "referenceLeft" ], "role": "typed_binder", - "source": "{State : Type*}", - "type_source": "Type*", - "visibility": "implicit" + "source": "(actualLeft referenceLeft : FiniteLaw State₁)", + "type_source": "FiniteLaw State₁", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype State]", - "type_source": "Fintype State", - "visibility": "instance" + "names": [ + "actualRight", + "referenceRight" + ], + "role": "typed_binder", + "source": "(actualRight referenceRight : FiniteLaw State₂)", + "type_source": "FiniteLaw State₂", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "left", - "right" + "leftCost" ], "role": "typed_binder", - "source": "(left right : FiniteLaw State)", - "type_source": "FiniteLaw State", + "source": "(leftCost : State₁ → ℝ)", + "type_source": "State₁ → ℝ", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "state" + "rightCost" ], "role": "typed_binder", - "source": "(state : State)", - "type_source": "State", + "source": "(rightCost : State₂ → ℝ)", + "type_source": "State₂ → ℝ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "referenceLeftPositive" + ], + "role": "typed_binder", + "source": "(referenceLeftPositive : ∀ state, 0 < referenceLeft state)", + "type_source": "∀ state, 0 < referenceLeft state", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "referenceRightPositive" + ], + "role": "typed_binder", + "source": "(referenceRightPositive : ∀ state, 0 < referenceRight state)", + "type_source": "∀ state, 0 < referenceRight state", "visibility": "explicit" } ], - "conclusion": "consensusLeft left right state + consensusRight left right state =\n left state + right state", + "conclusion": "collectiveVFE actualLeft referenceLeft actualRight referenceRight\n leftCost rightCost =\n variationalFreeEnergy actualLeft referenceLeft leftCost +\n variationalFreeEnergy actualRight referenceRight rightCost", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -21619,7 +21773,14 @@ "visibility": "instance" } ], - "declaration_mentions": [], + "declaration_mentions": [ + { + "identifier": "productExpectedCost_additive", + "qualified_name": "FEP.CollectiveInference.productExpectedCost_additive", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + } + ], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ "FepSketches.finite_information" @@ -21630,13 +21791,13 @@ "{State₁ State₂ Observation₁ Observation₂ : Type*}\n [Fintype State₁] [Fintype State₂]\n [Fintype Observation₁] [Fintype Observation₂]" ], "preceding_scope_directives": [], - "qualified_name": "FEP.CollectiveInference.consensusMass_conserved", - "source_line": 265, + "qualified_name": "FEP.CollectiveInference.collectiveVFE_additive", + "source_line": 149, "source_owner": "src/fep_lean/formal/collective_inference.lean", - "statement": "theorem consensusMass_conserved\n {State : Type*} [Fintype State]\n (left right : FiniteLaw State) (state : State) :\n consensusLeft left right state + consensusRight left right state =\n left state + right state", - "statement_sha256": "a5afefff7b8dc493bb53f0b7c2b37ecbe0eed4b9a237bfd4e8dfd798d5b11be5" + "statement": "theorem collectiveVFE_additive\n (actualLeft referenceLeft : FiniteLaw State₁)\n (actualRight referenceRight : FiniteLaw State₂)\n (leftCost : State₁ → ℝ) (rightCost : State₂ → ℝ)\n (referenceLeftPositive : ∀ state, 0 < referenceLeft state)\n (referenceRightPositive : ∀ state, 0 < referenceRight state) :\n collectiveVFE actualLeft referenceLeft actualRight referenceRight\n leftCost rightCost =\n variationalFreeEnergy actualLeft referenceLeft leftCost +\n variationalFreeEnergy actualRight referenceRight rightCost", + "statement_sha256": "7daedf4ccc732c559c6fc5c3282070099419627a4094398a6b3e9eaaa3b3e4d9" }, - "FEP.CollectiveInference.consensus_gap_contracts": { + "FEP.CollectiveInference.consensusIterate_gap": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { @@ -21677,9 +21838,19 @@ "source": "(state : State)", "type_source": "State", "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "iterations" + ], + "role": "typed_binder", + "source": "(iterations : ℕ)", + "type_source": "ℕ", + "visibility": "explicit" } ], - "conclusion": "beliefGap (consensusLeft left right) (consensusRight left right) state =\n (1 / 2 : ℝ) * beliefGap left right state", + "conclusion": "beliefGap (consensusIterate (left, right) iterations).1\n (consensusIterate (left, right) iterations).2 state =\n (1 / 2 : ℝ) ^ iterations * beliefGap left right state", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -21727,7 +21898,14 @@ "visibility": "instance" } ], - "declaration_mentions": [], + "declaration_mentions": [ + { + "identifier": "consensus_gap_contracts", + "qualified_name": "FEP.CollectiveInference.consensus_gap_contracts", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + } + ], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ "FepSketches.finite_information" @@ -21738,13 +21916,13 @@ "{State₁ State₂ Observation₁ Observation₂ : Type*}\n [Fintype State₁] [Fintype State₂]\n [Fintype Observation₁] [Fintype Observation₂]" ], "preceding_scope_directives": [], - "qualified_name": "FEP.CollectiveInference.consensus_gap_contracts", - "source_line": 281, + "qualified_name": "FEP.CollectiveInference.consensusIterate_gap", + "source_line": 310, "source_owner": "src/fep_lean/formal/collective_inference.lean", - "statement": "theorem consensus_gap_contracts\n {State : Type*} [Fintype State]\n (left right : FiniteLaw State) (state : State) :\n beliefGap (consensusLeft left right) (consensusRight left right) state =\n (1 / 2 : ℝ) * beliefGap left right state", - "statement_sha256": "f91e18928344cc02441170e64bc8aa358c83923425201b4aee3a5cfff32bc036" + "statement": "theorem consensusIterate_gap\n {State : Type*} [Fintype State]\n (left right : FiniteLaw State) (state : State) (iterations : ℕ) :\n beliefGap (consensusIterate (left, right) iterations).1\n (consensusIterate (left, right) iterations).2 state =\n (1 / 2 : ℝ) ^ iterations * beliefGap left right state", + "statement_sha256": "87225647979e6f544a6ab84e6e665a39bb173a737af7015af5beba6fcc2b1449" }, - "FEP.CollectiveInference.consensus_gap_tendsto_zero": { + "FEP.CollectiveInference.consensusMass_conserved": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { @@ -21787,7 +21965,7 @@ "visibility": "explicit" } ], - "conclusion": "Tendsto\n (fun iterations =>\n beliefGap (consensusIterate (left, right) iterations).1\n (consensusIterate (left, right) iterations).2 state)\n atTop (nhds 0)", + "conclusion": "consensusLeft left right state + consensusRight left right state =\n left state + right state", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -21835,14 +22013,7 @@ "visibility": "instance" } ], - "declaration_mentions": [ - { - "identifier": "consensusIterate_gap", - "qualified_name": "FEP.CollectiveInference.consensusIterate_gap", - "resolution": "exact or same-namespace source identifier", - "role": "proof_reference" - } - ], + "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ "FepSketches.finite_information" @@ -21853,56 +22024,28 @@ "{State₁ State₂ Observation₁ Observation₂ : Type*}\n [Fintype State₁] [Fintype State₂]\n [Fintype Observation₁] [Fintype Observation₂]" ], "preceding_scope_directives": [], - "qualified_name": "FEP.CollectiveInference.consensus_gap_tendsto_zero", - "source_line": 325, + "qualified_name": "FEP.CollectiveInference.consensusMass_conserved", + "source_line": 265, "source_owner": "src/fep_lean/formal/collective_inference.lean", - "statement": "theorem consensus_gap_tendsto_zero\n {State : Type*} [Fintype State]\n (left right : FiniteLaw State) (state : State) :\n Tendsto\n (fun iterations =>\n beliefGap (consensusIterate (left, right) iterations).1\n (consensusIterate (left, right) iterations).2 state)\n atTop (nhds 0)", - "statement_sha256": "0a6272f1a7a93a66f0c3dccb63ac210313f9290621b3c3359d693ea7cdff9c31" + "statement": "theorem consensusMass_conserved\n {State : Type*} [Fintype State]\n (left right : FiniteLaw State) (state : State) :\n consensusLeft left right state + consensusRight left right state =\n left state + right state", + "statement_sha256": "a5afefff7b8dc493bb53f0b7c2b37ecbe0eed4b9a237bfd4e8dfd798d5b11be5" }, - "FEP.CollectiveInference.coupledPotential_contracts": { + "FEP.CollectiveInference.consensusMatrix2_nonneg": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "State" - ], - "role": "typed_binder", - "source": "{State : Type*}", - "type_source": "Type*", - "visibility": "implicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype State]", - "type_source": "Fintype State", - "visibility": "instance" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "left", - "right" - ], - "role": "typed_binder", - "source": "(left right : FiniteLaw State)", - "type_source": "FiniteLaw State", - "visibility": "explicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "state" + "i", + "j" ], "role": "typed_binder", - "source": "(state : State)", - "type_source": "State", + "source": "(i j : Fin 2)", + "type_source": "Fin 2", "visibility": "explicit" } ], - "conclusion": "coupledPotential (consensusLeft left right) (consensusRight left right) state =\n (1 / 4 : ℝ) * coupledPotential left right state", + "conclusion": "0 ≤ consensusMatrix2 i j", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -21961,22 +22104,38 @@ "{State₁ State₂ Observation₁ Observation₂ : Type*}\n [Fintype State₁] [Fintype State₂]\n [Fintype Observation₁] [Fintype Observation₂]" ], "preceding_scope_directives": [], - "qualified_name": "FEP.CollectiveInference.coupledPotential_contracts", - "source_line": 374, + "qualified_name": "FEP.CollectiveInference.consensusMatrix2_nonneg", + "source_line": 710, "source_owner": "src/fep_lean/formal/collective_inference.lean", - "statement": "theorem coupledPotential_contracts\n {State : Type*} [Fintype State]\n (left right : FiniteLaw State) (state : State) :\n coupledPotential (consensusLeft left right) (consensusRight left right) state =\n (1 / 4 : ℝ) * coupledPotential left right state", - "statement_sha256": "13c78ccf4d130f9ea9794af641e3114630227328774a092039dc266cdce0bcaa" + "statement": "theorem consensusMatrix2_nonneg (i j : Fin 2) : 0 ≤ consensusMatrix2 i j", + "statement_sha256": "9c2d1870da79f0d8f5ce644e8d02f43d18aa9b517ec563f1fbd420f92d2142a3" }, - "FEP.CollectiveInference.coupledPotential_strict_descent": { + "FEP.CollectiveInference.consensusMatrix2_row": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "State" + "i" ], "role": "typed_binder", - "source": "{State : Type*}", + "source": "(i : Fin 2)", + "type_source": "Fin 2", + "visibility": "explicit" + } + ], + "conclusion": "∑ j, consensusMatrix2 i j = 1", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "State₁", + "State₂", + "Observation₁", + "Observation₂" + ], + "role": "typed_binder", + "source": "{State₁ State₂ Observation₁ Observation₂ : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -21984,43 +22143,56 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype State]", - "type_source": "Fintype State", + "source": "[Fintype State₁]", + "type_source": "Fintype State₁", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "left", - "right" - ], - "role": "typed_binder", - "source": "(left right : FiniteLaw State)", - "type_source": "FiniteLaw State", - "visibility": "explicit" + "names": [], + "role": "instance_requirement", + "source": "[Fintype State₂]", + "type_source": "Fintype State₂", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "state" - ], - "role": "typed_binder", - "source": "(state : State)", - "type_source": "State", - "visibility": "explicit" + "names": [], + "role": "instance_requirement", + "source": "[Fintype Observation₁]", + "type_source": "Fintype Observation₁", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "separated" - ], - "role": "typed_binder", - "source": "(separated : left state ≠ right state)", - "type_source": "left state ≠ right state", - "visibility": "explicit" + "names": [], + "role": "instance_requirement", + "source": "[Fintype Observation₂]", + "type_source": "Fintype Observation₂", + "visibility": "instance" } ], - "conclusion": "coupledPotential (consensusLeft left right) (consensusRight left right) state <\n coupledPotential left right state", + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.finite_information" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.CollectiveInference", + "namespace_variable_context": [ + "{State₁ State₂ Observation₁ Observation₂ : Type*}\n [Fintype State₁] [Fintype State₂]\n [Fintype Observation₁] [Fintype Observation₂]" + ], + "preceding_scope_directives": [], + "qualified_name": "FEP.CollectiveInference.consensusMatrix2_row", + "source_line": 713, + "source_owner": "src/fep_lean/formal/collective_inference.lean", + "statement": "theorem consensusMatrix2_row (i : Fin 2) : ∑ j, consensusMatrix2 i j = 1", + "statement_sha256": "8561d451e85f991ed7ea0256ff3bcbbb92c7bcae7709942f77079538f77577ca" + }, + "FEP.CollectiveInference.consensusMatrix2_scrambling": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [], + "conclusion": "(1 / 2 : ℝ) ≤ scramblingCoefficient consensusMatrix2", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -22068,14 +22240,7 @@ "visibility": "instance" } ], - "declaration_mentions": [ - { - "identifier": "coupledPotential_contracts", - "qualified_name": "FEP.CollectiveInference.coupledPotential_contracts", - "resolution": "exact or same-namespace source identifier", - "role": "proof_reference" - } - ], + "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ "FepSketches.finite_information" @@ -22086,79 +22251,56 @@ "{State₁ State₂ Observation₁ Observation₂ : Type*}\n [Fintype State₁] [Fintype State₂]\n [Fintype Observation₁] [Fintype Observation₂]" ], "preceding_scope_directives": [], - "qualified_name": "FEP.CollectiveInference.coupledPotential_strict_descent", - "source_line": 389, + "qualified_name": "FEP.CollectiveInference.consensusMatrix2_scrambling", + "source_line": 717, "source_owner": "src/fep_lean/formal/collective_inference.lean", - "statement": "theorem coupledPotential_strict_descent\n {State : Type*} [Fintype State]\n (left right : FiniteLaw State) (state : State)\n (separated : left state ≠ right state) :\n coupledPotential (consensusLeft left right) (consensusRight left right) state <\n coupledPotential left right state", - "statement_sha256": "0be9499730869dd6fe7113ae6f0ae3fc6b8d26f8285f84f51b214781a575ca3a" + "statement": "theorem consensusMatrix2_scrambling : (1 / 2 : ℝ) ≤ scramblingCoefficient consensusMatrix2", + "statement_sha256": "09e59d2a58df422fc3de6854e267e8da2910ab9f8122e6cff44feeae6e2bc1b7" }, - "FEP.CollectiveInference.independentEFE_additive": { + "FEP.CollectiveInference.consensus_gap_contracts": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "predictiveLeft", - "preferenceLeft" - ], - "role": "typed_binder", - "source": "(predictiveLeft preferenceLeft : FiniteLaw State₁)", - "type_source": "FiniteLaw State₁", - "visibility": "explicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "predictiveRight", - "preferenceRight" - ], - "role": "typed_binder", - "source": "(predictiveRight preferenceRight : FiniteLaw State₂)", - "type_source": "FiniteLaw State₂", - "visibility": "explicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "ambiguityLeft" + "State" ], "role": "typed_binder", - "source": "(ambiguityLeft : State₁ → ℝ)", - "type_source": "State₁ → ℝ", - "visibility": "explicit" + "source": "{State : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "ambiguityRight" - ], - "role": "typed_binder", - "source": "(ambiguityRight : State₂ → ℝ)", - "type_source": "State₂ → ℝ", - "visibility": "explicit" + "names": [], + "role": "instance_requirement", + "source": "[Fintype State]", + "type_source": "Fintype State", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "preferenceLeftPositive" + "left", + "right" ], "role": "typed_binder", - "source": "(preferenceLeftPositive : ∀ state, 0 < preferenceLeft state)", - "type_source": "∀ state, 0 < preferenceLeft state", + "source": "(left right : FiniteLaw State)", + "type_source": "FiniteLaw State", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "preferenceRightPositive" + "state" ], "role": "typed_binder", - "source": "(preferenceRightPositive : ∀ state, 0 < preferenceRight state)", - "type_source": "∀ state, 0 < preferenceRight state", + "source": "(state : State)", + "type_source": "State", "visibility": "explicit" } ], - "conclusion": "independentCollectiveEFE predictiveLeft preferenceLeft\n predictiveRight preferenceRight ambiguityLeft ambiguityRight =\n expectedFreeEnergy predictiveLeft preferenceLeft ambiguityLeft +\n expectedFreeEnergy predictiveRight preferenceRight ambiguityRight", + "conclusion": "beliefGap (consensusLeft left right) (consensusRight left right) state =\n (1 / 2 : ℝ) * beliefGap left right state", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -22206,14 +22348,7 @@ "visibility": "instance" } ], - "declaration_mentions": [ - { - "identifier": "productExpectedCost_additive", - "qualified_name": "FEP.CollectiveInference.productExpectedCost_additive", - "resolution": "exact or same-namespace source identifier", - "role": "proof_reference" - } - ], + "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ "FepSketches.finite_information" @@ -22224,97 +22359,56 @@ "{State₁ State₂ Observation₁ Observation₂ : Type*}\n [Fintype State₁] [Fintype State₂]\n [Fintype Observation₁] [Fintype Observation₂]" ], "preceding_scope_directives": [], - "qualified_name": "FEP.CollectiveInference.independentEFE_additive", - "source_line": 185, + "qualified_name": "FEP.CollectiveInference.consensus_gap_contracts", + "source_line": 281, "source_owner": "src/fep_lean/formal/collective_inference.lean", - "statement": "theorem independentEFE_additive\n (predictiveLeft preferenceLeft : FiniteLaw State₁)\n (predictiveRight preferenceRight : FiniteLaw State₂)\n (ambiguityLeft : State₁ → ℝ) (ambiguityRight : State₂ → ℝ)\n (preferenceLeftPositive : ∀ state, 0 < preferenceLeft state)\n (preferenceRightPositive : ∀ state, 0 < preferenceRight state) :\n independentCollectiveEFE predictiveLeft preferenceLeft\n predictiveRight preferenceRight ambiguityLeft ambiguityRight =\n expectedFreeEnergy predictiveLeft preferenceLeft ambiguityLeft +\n expectedFreeEnergy predictiveRight preferenceRight ambiguityRight", - "statement_sha256": "89e116e143c2fe3d564e47f9a0ba0ef73ac9232195e6c60073df5f54b2fde42d" + "statement": "theorem consensus_gap_contracts\n {State : Type*} [Fintype State]\n (left right : FiniteLaw State) (state : State) :\n beliefGap (consensusLeft left right) (consensusRight left right) state =\n (1 / 2 : ℝ) * beliefGap left right state", + "statement_sha256": "f91e18928344cc02441170e64bc8aa358c83923425201b4aee3a5cfff32bc036" }, - "FEP.CollectiveInference.productAgent_joint_mass": { + "FEP.CollectiveInference.consensus_gap_tendsto_zero": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "priorLeft" - ], - "role": "typed_binder", - "source": "(priorLeft : FiniteLaw State₁)", - "type_source": "FiniteLaw State₁", - "visibility": "explicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "priorRight" - ], - "role": "typed_binder", - "source": "(priorRight : FiniteLaw State₂)", - "type_source": "FiniteLaw State₂", - "visibility": "explicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "kernelLeft" - ], - "role": "typed_binder", - "source": "(kernelLeft : FiniteKernel State₁ Observation₁)", - "type_source": "FiniteKernel State₁ Observation₁", - "visibility": "explicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "kernelRight" - ], - "role": "typed_binder", - "source": "(kernelRight : FiniteKernel State₂ Observation₂)", - "type_source": "FiniteKernel State₂ Observation₂", - "visibility": "explicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "stateLeft" + "State" ], "role": "typed_binder", - "source": "(stateLeft : State₁)", - "type_source": "State₁", - "visibility": "explicit" + "source": "{State : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "stateRight" - ], - "role": "typed_binder", - "source": "(stateRight : State₂)", - "type_source": "State₂", - "visibility": "explicit" + "names": [], + "role": "instance_requirement", + "source": "[Fintype State]", + "type_source": "Fintype State", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "observationLeft" + "left", + "right" ], "role": "typed_binder", - "source": "(observationLeft : Observation₁)", - "type_source": "Observation₁", + "source": "(left right : FiniteLaw State)", + "type_source": "FiniteLaw State", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "observationRight" + "state" ], "role": "typed_binder", - "source": "(observationRight : Observation₂)", - "type_source": "Observation₂", + "source": "(state : State)", + "type_source": "State", "visibility": "explicit" } ], - "conclusion": "(productKernel kernelLeft kernelRight).joint\n (FiniteLaw.product priorLeft priorRight)\n ((stateLeft, stateRight), (observationLeft, observationRight)) =\n kernelLeft.joint priorLeft (stateLeft, observationLeft) *\n kernelRight.joint priorRight (stateRight, observationRight)", + "conclusion": "Tendsto\n (fun iterations =>\n beliefGap (consensusIterate (left, right) iterations).1\n (consensusIterate (left, right) iterations).2 state)\n atTop (nhds 0)", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -22362,7 +22456,14 @@ "visibility": "instance" } ], - "declaration_mentions": [], + "declaration_mentions": [ + { + "identifier": "consensusIterate_gap", + "qualified_name": "FEP.CollectiveInference.consensusIterate_gap", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + } + ], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ "FepSketches.finite_information" @@ -22373,57 +22474,56 @@ "{State₁ State₂ Observation₁ Observation₂ : Type*}\n [Fintype State₁] [Fintype State₂]\n [Fintype Observation₁] [Fintype Observation₂]" ], "preceding_scope_directives": [], - "qualified_name": "FEP.CollectiveInference.productAgent_joint_mass", - "source_line": 51, + "qualified_name": "FEP.CollectiveInference.consensus_gap_tendsto_zero", + "source_line": 325, "source_owner": "src/fep_lean/formal/collective_inference.lean", - "statement": "theorem productAgent_joint_mass\n (priorLeft : FiniteLaw State₁) (priorRight : FiniteLaw State₂)\n (kernelLeft : FiniteKernel State₁ Observation₁)\n (kernelRight : FiniteKernel State₂ Observation₂)\n (stateLeft : State₁) (stateRight : State₂)\n (observationLeft : Observation₁) (observationRight : Observation₂) :\n (productKernel kernelLeft kernelRight).joint\n (FiniteLaw.product priorLeft priorRight)\n ((stateLeft, stateRight), (observationLeft, observationRight)) =\n kernelLeft.joint priorLeft (stateLeft, observationLeft) *\n kernelRight.joint priorRight (stateRight, observationRight)", - "statement_sha256": "c5517c35acaa28f27dc81e250bd3079b0cbf4b02e183bafe099b9595d75490d0" + "statement": "theorem consensus_gap_tendsto_zero\n {State : Type*} [Fintype State]\n (left right : FiniteLaw State) (state : State) :\n Tendsto\n (fun iterations =>\n beliefGap (consensusIterate (left, right) iterations).1\n (consensusIterate (left, right) iterations).2 state)\n atTop (nhds 0)", + "statement_sha256": "0a6272f1a7a93a66f0c3dccb63ac210313f9290621b3c3359d693ea7cdff9c31" }, - "FEP.CollectiveInference.productExpectedCost_additive": { + "FEP.CollectiveInference.consensus_spread_le_half": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "left" + "State" ], "role": "typed_binder", - "source": "(left : FiniteLaw State₁)", - "type_source": "FiniteLaw State₁", - "visibility": "explicit" + "source": "{State : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "right" - ], - "role": "typed_binder", - "source": "(right : FiniteLaw State₂)", - "type_source": "FiniteLaw State₂", - "visibility": "explicit" + "names": [], + "role": "instance_requirement", + "source": "[Fintype State]", + "type_source": "Fintype State", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "leftCost" + "left", + "right" ], "role": "typed_binder", - "source": "(leftCost : State₁ → ℝ)", - "type_source": "State₁ → ℝ", + "source": "(left right : FiniteLaw State)", + "type_source": "FiniteLaw State", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "rightCost" + "s" ], "role": "typed_binder", - "source": "(rightCost : State₂ → ℝ)", - "type_source": "State₂ → ℝ", + "source": "(s : State)", + "type_source": "State", "visibility": "explicit" } ], - "conclusion": "expectedCost (FiniteLaw.product left right)\n (fun state => leftCost state.1 + rightCost state.2) =\n expectedCost left leftCost + expectedCost right rightCost", + "conclusion": "valueSpread ![consensusLeft left right s, consensusRight left right s] ≤\n (1 / 2 : ℝ) * valueSpread ![left s, right s]", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -22471,7 +22571,38 @@ "visibility": "instance" } ], - "declaration_mentions": [], + "declaration_mentions": [ + { + "identifier": "consensusMatrix2_row", + "qualified_name": "FEP.CollectiveInference.consensusMatrix2_row", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + }, + { + "identifier": "consensusMatrix2_scrambling", + "qualified_name": "FEP.CollectiveInference.consensusMatrix2_scrambling", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + }, + { + "identifier": "mixStep_consensusMatrix2", + "qualified_name": "FEP.CollectiveInference.mixStep_consensusMatrix2", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + }, + { + "identifier": "valueSpread_mixStep_le", + "qualified_name": "FEP.CollectiveInference.valueSpread_mixStep_le", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + }, + { + "identifier": "valueSpread_nonneg", + "qualified_name": "FEP.CollectiveInference.valueSpread_nonneg", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + } + ], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ "FepSketches.finite_information" @@ -22482,33 +22613,42 @@ "{State₁ State₂ Observation₁ Observation₂ : Type*}\n [Fintype State₁] [Fintype State₂]\n [Fintype Observation₁] [Fintype Observation₂]" ], "preceding_scope_directives": [], - "qualified_name": "FEP.CollectiveInference.productExpectedCost_additive", - "source_line": 78, + "qualified_name": "FEP.CollectiveInference.consensus_spread_le_half", + "source_line": 739, "source_owner": "src/fep_lean/formal/collective_inference.lean", - "statement": "theorem productExpectedCost_additive\n (left : FiniteLaw State₁) (right : FiniteLaw State₂)\n (leftCost : State₁ → ℝ) (rightCost : State₂ → ℝ) :\n expectedCost (FiniteLaw.product left right)\n (fun state => leftCost state.1 + rightCost state.2) =\n expectedCost left leftCost + expectedCost right rightCost", - "statement_sha256": "cc8c81683b2cf5440a7eb42bfd7fc81d11bac62b1e6c6af8d95d35134503f2f3" + "statement": "theorem consensus_spread_le_half\n {State : Type*} [Fintype State] (left right : FiniteLaw State) (s : State) :\n valueSpread ![consensusLeft left right s, consensusRight left right s] ≤\n (1 / 2 : ℝ) * valueSpread ![left s, right s]", + "statement_sha256": "c95a939eab885f9db6ebded512f2d4aeb78dcce35ed2a6db2c0fabf4e74d8499" }, - "FEP.CollectiveInference.productKernel_sum_one": { + "FEP.CollectiveInference.coupledPotential_contracts": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "left" + "State" ], "role": "typed_binder", - "source": "(left : FiniteKernel State₁ Observation₁)", - "type_source": "FiniteKernel State₁ Observation₁", - "visibility": "explicit" + "source": "{State : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype State]", + "type_source": "Fintype State", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ + "left", "right" ], "role": "typed_binder", - "source": "(right : FiniteKernel State₂ Observation₂)", - "type_source": "FiniteKernel State₂ Observation₂", + "source": "(left right : FiniteLaw State)", + "type_source": "FiniteLaw State", "visibility": "explicit" }, { @@ -22517,12 +22657,12 @@ "state" ], "role": "typed_binder", - "source": "(state : State₁ × State₂)", - "type_source": "State₁ × State₂", + "source": "(state : State)", + "type_source": "State", "visibility": "explicit" } ], - "conclusion": "∑ observation, productKernel left right state observation = 1", + "conclusion": "coupledPotential (consensusLeft left right) (consensusRight left right) state =\n (1 / 4 : ℝ) * coupledPotential left right state", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -22581,13 +22721,13 @@ "{State₁ State₂ Observation₁ Observation₂ : Type*}\n [Fintype State₁] [Fintype State₂]\n [Fintype Observation₁] [Fintype Observation₂]" ], "preceding_scope_directives": [], - "qualified_name": "FEP.CollectiveInference.productKernel_sum_one", - "source_line": 42, + "qualified_name": "FEP.CollectiveInference.coupledPotential_contracts", + "source_line": 374, "source_owner": "src/fep_lean/formal/collective_inference.lean", - "statement": "theorem productKernel_sum_one\n (left : FiniteKernel State₁ Observation₁)\n (right : FiniteKernel State₂ Observation₂)\n (state : State₁ × State₂) :\n ∑ observation, productKernel left right state observation = 1", - "statement_sha256": "4c8ee5c8df802696a428c8cb3c07f130dc4f029613a56c6cfb568bb2b189ab51" + "statement": "theorem coupledPotential_contracts\n {State : Type*} [Fintype State]\n (left right : FiniteLaw State) (state : State) :\n coupledPotential (consensusLeft left right) (consensusRight left right) state =\n (1 / 4 : ℝ) * coupledPotential left right state", + "statement_sha256": "13c78ccf4d130f9ea9794af641e3114630227328774a092039dc266cdce0bcaa" }, - "FEP.CollectiveInference.unitWeightProductOfExpertsPool_sum_one": { + "FEP.CollectiveInference.coupledPotential_strict_descent": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { @@ -22622,15 +22762,25 @@ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "normalizerPositive" + "state" ], "role": "typed_binder", - "source": "(normalizerPositive : 0 < productOfExpertsNormalizer left right)", - "type_source": "0 < productOfExpertsNormalizer left right", + "source": "(state : State)", + "type_source": "State", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "separated" + ], + "role": "typed_binder", + "source": "(separated : left state ≠ right state)", + "type_source": "left state ≠ right state", "visibility": "explicit" } ], - "conclusion": "∑ state, unitWeightProductOfExpertsPool left right normalizerPositive state = 1", + "conclusion": "coupledPotential (consensusLeft left right) (consensusRight left right) state <\n coupledPotential left right state", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -22678,7 +22828,14 @@ "visibility": "instance" } ], - "declaration_mentions": [], + "declaration_mentions": [ + { + "identifier": "coupledPotential_contracts", + "qualified_name": "FEP.CollectiveInference.coupledPotential_contracts", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + } + ], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ "FepSketches.finite_information" @@ -22689,78 +22846,78 @@ "{State₁ State₂ Observation₁ Observation₂ : Type*}\n [Fintype State₁] [Fintype State₂]\n [Fintype Observation₁] [Fintype Observation₂]" ], "preceding_scope_directives": [], - "qualified_name": "FEP.CollectiveInference.unitWeightProductOfExpertsPool_sum_one", - "source_line": 228, + "qualified_name": "FEP.CollectiveInference.coupledPotential_strict_descent", + "source_line": 389, "source_owner": "src/fep_lean/formal/collective_inference.lean", - "statement": "theorem unitWeightProductOfExpertsPool_sum_one\n {State : Type*} [Fintype State]\n (left right : FiniteLaw State)\n (normalizerPositive : 0 < productOfExpertsNormalizer left right) :\n ∑ state, unitWeightProductOfExpertsPool left right normalizerPositive state = 1", - "statement_sha256": "e0234db655db56b2eff6ef2194eb4a8f516d17be519eaa72107abb83714c0ef3" + "statement": "theorem coupledPotential_strict_descent\n {State : Type*} [Fintype State]\n (left right : FiniteLaw State) (state : State)\n (separated : left state ≠ right state) :\n coupledPotential (consensusLeft left right) (consensusRight left right) state <\n coupledPotential left right state", + "statement_sha256": "0be9499730869dd6fe7113ae6f0ae3fc6b8d26f8285f84f51b214781a575ca3a" }, - "FEP.ContinuousTimeMarkov.ActionIndexedSemigroup.selectedActionTransition_eq_sampledSemigroup": { + "FEP.CollectiveInference.crossEntropy_linearPool_left": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "indexed" + "w" ], "role": "typed_binder", - "source": "(indexed : ActionIndexedSemigroup State Action)", - "type_source": "ActionIndexedSemigroup State Action", + "source": "(w : ι → ℝ)", + "type_source": "ι → ℝ", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "model" + "hw" ], "role": "typed_binder", - "source": "(model : FEP.ActiveInference.GenerativeModel Policy State Outcome)", - "type_source": "FEP.ActiveInference.GenerativeModel Policy State Outcome", + "source": "(hw : ∀ i, 0 ≤ w i)", + "type_source": "∀ i, 0 ≤ w i", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "policyToAction" + "hsum" ], "role": "typed_binder", - "source": "(policyToAction : Policy → Action)", - "type_source": "Policy → Action", + "source": "(hsum : ∑ i, w i = 1)", + "type_source": "∑ i, w i = 1", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "transition_consistent" + "p" ], "role": "typed_binder", - "source": "(transition_consistent : ∀ policy,\n indexed.sampledKernel (policyToAction policy) = model.transition policy)", - "type_source": "∀ policy,\n indexed.sampledKernel (policyToAction policy) = model.transition policy", + "source": "(p : ι → FiniteLaw α)", + "type_source": "ι → FiniteLaw α", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "policy" + "q" ], "role": "typed_binder", - "source": "(policy : Policy)", - "type_source": "Policy", + "source": "(q : FiniteLaw α)", + "type_source": "FiniteLaw α", "visibility": "explicit" } ], - "conclusion": "(indexed.toActionInterface model policyToAction\n transition_consistent).actionTransition\n ((indexed.toActionInterface model policyToAction\n transition_consistent).policyToAction policy) =\n indexed.sampledKernel (policyToAction policy)", + "conclusion": "crossEntropy (linearPool w hw hsum p) q =\n ∑ i, w i * crossEntropy (p i) q", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Policy", - "State", - "Outcome", - "Action" + "State₁", + "State₂", + "Observation₁", + "Observation₂" ], "role": "typed_binder", - "source": "{Policy State Outcome Action : Type*}", + "source": "{State₁ State₂ Observation₁ Observation₂ : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -22768,150 +22925,202 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Policy]", - "type_source": "Fintype Policy", + "source": "[Fintype State₁]", + "type_source": "Fintype State₁", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype State]", - "type_source": "Fintype State", + "source": "[Fintype State₂]", + "type_source": "Fintype State₂", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Outcome]", - "type_source": "Fintype Outcome", + "source": "[Fintype Observation₁]", + "type_source": "Fintype Observation₁", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Action]", - "type_source": "Fintype Action", + "source": "[Fintype Observation₂]", + "type_source": "Fintype Observation₂", "visibility": "instance" }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "α", + "ι" + ], + "role": "typed_binder", + "source": "{α ι : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DecidableEq State]", - "type_source": "DecidableEq State", + "source": "[Fintype α]", + "type_source": "Fintype α", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype ι]", + "type_source": "Fintype ι", "visibility": "instance" } ], "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.finite_markov_dynamics", - "FepSketches.active_inference", - "FepSketches.decision_risk", - "FepSketches.markov_blanket", - "Mathlib.Analysis.Normed.Algebra.MatrixExponential" + "FepSketches.finite_information" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.ContinuousTimeMarkov.ActionIndexedSemigroup", + "namespace": "FEP.CollectiveInference", "namespace_variable_context": [ - "{Policy State Outcome Action : Type*}\n [Fintype Policy] [Fintype State] [Fintype Outcome] [Fintype Action]\n [DecidableEq State]" + "{State₁ State₂ Observation₁ Observation₂ : Type*}\n [Fintype State₁] [Fintype State₂]\n [Fintype Observation₁] [Fintype Observation₂]", + "{α ι : Type*} [Fintype α] [Fintype ι]" ], "preceding_scope_directives": [], - "qualified_name": "FEP.ContinuousTimeMarkov.ActionIndexedSemigroup.selectedActionTransition_eq_sampledSemigroup", - "source_line": 271, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", - "statement": "theorem selectedActionTransition_eq_sampledSemigroup\n (indexed : ActionIndexedSemigroup State Action)\n (model : FEP.ActiveInference.GenerativeModel Policy State Outcome)\n (policyToAction : Policy → Action)\n (transition_consistent : ∀ policy,\n indexed.sampledKernel (policyToAction policy) = model.transition policy)\n (policy : Policy) :\n (indexed.toActionInterface model policyToAction\n transition_consistent).actionTransition\n ((indexed.toActionInterface model policyToAction\n transition_consistent).policyToAction policy) =\n indexed.sampledKernel (policyToAction policy)", - "statement_sha256": "5e75a981f1709c2d555ffdbd0e89300e377c30685f1cff5f9bbba2927bf803cb" + "qualified_name": "FEP.CollectiveInference.crossEntropy_linearPool_left", + "source_line": 421, + "source_owner": "src/fep_lean/formal/collective_inference.lean", + "statement": "theorem crossEntropy_linearPool_left\n (w : ι → ℝ) (hw : ∀ i, 0 ≤ w i) (hsum : ∑ i, w i = 1)\n (p : ι → FiniteLaw α) (q : FiniteLaw α) :\n crossEntropy (linearPool w hw hsum p) q =\n ∑ i, w i * crossEntropy (p i) q", + "statement_sha256": "4f035f3d18bcb50d27ddd04e6aa1873f896db3b88207621ff11e8323180f9a63" }, - "FEP.ContinuousTimeMarkov.ActionIndexedSemigroup.toGenerativeModel_transition": { + "FEP.CollectiveInference.crossEntropy_self_eq_entropy": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "indexed" + "p" ], "role": "typed_binder", - "source": "(indexed : ActionIndexedSemigroup State Action)", - "type_source": "ActionIndexedSemigroup State Action", + "source": "(p : FiniteLaw α)", + "type_source": "FiniteLaw α", "visibility": "explicit" - }, + } + ], + "conclusion": "crossEntropy p p = entropy p", + "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "policyToAction" + "State₁", + "State₂", + "Observation₁", + "Observation₂" ], "role": "typed_binder", - "source": "(policyToAction : Policy → Action)", - "type_source": "Policy → Action", - "visibility": "explicit" + "source": "{State₁ State₂ Observation₁ Observation₂ : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "initialState" - ], - "role": "typed_binder", - "source": "(initialState : FiniteLaw State)", - "type_source": "FiniteLaw State", - "visibility": "explicit" + "names": [], + "role": "instance_requirement", + "source": "[Fintype State₁]", + "type_source": "Fintype State₁", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "likelihood" - ], - "role": "typed_binder", - "source": "(likelihood : FiniteKernel State Outcome)", - "type_source": "FiniteKernel State Outcome", - "visibility": "explicit" + "names": [], + "role": "instance_requirement", + "source": "[Fintype State₂]", + "type_source": "Fintype State₂", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "preferences" - ], - "role": "typed_binder", - "source": "(preferences : FiniteLaw Outcome)", - "type_source": "FiniteLaw Outcome", - "visibility": "explicit" + "names": [], + "role": "instance_requirement", + "source": "[Fintype Observation₁]", + "type_source": "Fintype Observation₁", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "policyPrior" - ], - "role": "typed_binder", - "source": "(policyPrior : FiniteLaw Policy)", - "type_source": "FiniteLaw Policy", - "visibility": "explicit" + "names": [], + "role": "instance_requirement", + "source": "[Fintype Observation₂]", + "type_source": "Fintype Observation₂", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "policy" + "α", + "ι" ], "role": "typed_binder", - "source": "(policy : Policy)", - "type_source": "Policy", - "visibility": "explicit" + "source": "{α ι : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype α]", + "type_source": "Fintype α", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype ι]", + "type_source": "Fintype ι", + "visibility": "instance" } ], - "conclusion": "(indexed.toGenerativeModel policyToAction initialState likelihood\n preferences policyPrior).transition policy =\n indexed.sampledKernel (policyToAction policy)", + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.finite_information" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.CollectiveInference", + "namespace_variable_context": [ + "{State₁ State₂ Observation₁ Observation₂ : Type*}\n [Fintype State₁] [Fintype State₂]\n [Fintype Observation₁] [Fintype Observation₂]", + "{α ι : Type*} [Fintype α] [Fintype ι]" + ], + "preceding_scope_directives": [], + "qualified_name": "FEP.CollectiveInference.crossEntropy_self_eq_entropy", + "source_line": 439, + "source_owner": "src/fep_lean/formal/collective_inference.lean", + "statement": "theorem crossEntropy_self_eq_entropy (p : FiniteLaw α) :\n crossEntropy p p = entropy p", + "statement_sha256": "f690f9bc5b7bae125cd5d149a7259a23f9f7c07c521a6b3aed1c931790a57753" + }, + "FEP.CollectiveInference.identityMixing2_no_contraction": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [], + "conclusion": "scramblingCoefficient identityMixing2 = 0 ∧\n 0 < valueSpread (![1, 0] : Fin 2 → ℝ) ∧\n valueSpread (mixStep identityMixing2 ![1, 0]) =\n valueSpread (![1, 0] : Fin 2 → ℝ)", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Policy", - "State", - "Outcome", - "Action" + "State₁", + "State₂", + "Observation₁", + "Observation₂" ], "role": "typed_binder", - "source": "{Policy State Outcome Action : Type*}", + "source": "{State₁ State₂ Observation₁ Observation₂ : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -22919,182 +23128,171 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Policy]", - "type_source": "Fintype Policy", + "source": "[Fintype State₁]", + "type_source": "Fintype State₁", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype State]", - "type_source": "Fintype State", + "source": "[Fintype State₂]", + "type_source": "Fintype State₂", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Outcome]", - "type_source": "Fintype Outcome", + "source": "[Fintype Observation₁]", + "type_source": "Fintype Observation₁", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Action]", - "type_source": "Fintype Action", + "source": "[Fintype Observation₂]", + "type_source": "Fintype Observation₂", "visibility": "instance" + } + ], + "declaration_mentions": [ + { + "identifier": "identityMixing2_nonneg", + "qualified_name": "FEP.CollectiveInference.identityMixing2_nonneg", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" }, { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[DecidableEq State]", - "type_source": "DecidableEq State", - "visibility": "instance" + "identifier": "sub_le_valueSpread", + "qualified_name": "FEP.CollectiveInference.sub_le_valueSpread", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" } ], - "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.finite_markov_dynamics", - "FepSketches.active_inference", - "FepSketches.decision_risk", - "FepSketches.markov_blanket", - "Mathlib.Analysis.Normed.Algebra.MatrixExponential" + "FepSketches.finite_information" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.ContinuousTimeMarkov.ActionIndexedSemigroup", + "namespace": "FEP.CollectiveInference", "namespace_variable_context": [ - "{Policy State Outcome Action : Type*}\n [Fintype Policy] [Fintype State] [Fintype Outcome] [Fintype Action]\n [DecidableEq State]" + "{State₁ State₂ Observation₁ Observation₂ : Type*}\n [Fintype State₁] [Fintype State₂]\n [Fintype Observation₁] [Fintype Observation₂]" ], "preceding_scope_directives": [], - "qualified_name": "FEP.ContinuousTimeMarkov.ActionIndexedSemigroup.toGenerativeModel_transition", - "source_line": 227, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", - "statement": "theorem toGenerativeModel_transition\n (indexed : ActionIndexedSemigroup State Action)\n (policyToAction : Policy → Action)\n (initialState : FiniteLaw State)\n (likelihood : FiniteKernel State Outcome)\n (preferences : FiniteLaw Outcome) (policyPrior : FiniteLaw Policy)\n (policy : Policy) :\n (indexed.toGenerativeModel policyToAction initialState likelihood\n preferences policyPrior).transition policy =\n indexed.sampledKernel (policyToAction policy)", - "statement_sha256": "035e0d5d164598e17fdc4f9b550c71b64c478bdf7f3e13c358b0ab8676203c3e" + "qualified_name": "FEP.CollectiveInference.identityMixing2_no_contraction", + "source_line": 796, + "source_owner": "src/fep_lean/formal/collective_inference.lean", + "statement": "theorem identityMixing2_no_contraction :\n scramblingCoefficient identityMixing2 = 0 ∧\n 0 < valueSpread (![1, 0] : Fin 2 → ℝ) ∧\n valueSpread (mixStep identityMixing2 ![1, 0]) =\n valueSpread (![1, 0] : Fin 2 → ℝ)", + "statement_sha256": "c24061f64dd0940d4aacb509b8b853ce187477ca31c0cbe541aa5876cb1a4a64" }, - "FEP.ContinuousTimeMarkov.FiniteMarkovSemigroup.kernel_add": { + "FEP.CollectiveInference.identityMixing2_nonneg": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "semigroup" + "i", + "j" ], "role": "typed_binder", - "source": "(semigroup : FiniteMarkovSemigroup State)", - "type_source": "FiniteMarkovSemigroup State", + "source": "(i j : Fin 2)", + "type_source": "Fin 2", "visibility": "explicit" - }, + } + ], + "conclusion": "0 ≤ identityMixing2 i j", + "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "left", - "right" + "State₁", + "State₂", + "Observation₁", + "Observation₂" ], "role": "typed_binder", - "source": "(left right : ℝ)", - "type_source": "ℝ", - "visibility": "explicit" + "source": "{State₁ State₂ Observation₁ Observation₂ : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "hLeft" - ], - "role": "typed_binder", - "source": "(hLeft : 0 ≤ left)", - "type_source": "0 ≤ left", - "visibility": "explicit" + "names": [], + "role": "instance_requirement", + "source": "[Fintype State₁]", + "type_source": "Fintype State₁", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "hRight" - ], - "role": "typed_binder", - "source": "(hRight : 0 ≤ right)", - "type_source": "0 ≤ right", - "visibility": "explicit" - } - ], - "conclusion": "semigroup.kernel (left + right) (add_nonneg hLeft hRight) =\n FiniteKernel.comp (semigroup.kernel right hRight)\n (semigroup.kernel left hLeft)", - "context_binders": [ - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "State" - ], - "role": "typed_binder", - "source": "{State : Type*}", - "type_source": "Type*", - "visibility": "implicit" + "names": [], + "role": "instance_requirement", + "source": "[Fintype State₂]", + "type_source": "Fintype State₂", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype State]", - "type_source": "Fintype State", + "source": "[Fintype Observation₁]", + "type_source": "Fintype Observation₁", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DecidableEq State]", - "type_source": "DecidableEq State", + "source": "[Fintype Observation₂]", + "type_source": "Fintype Observation₂", "visibility": "instance" } ], "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.finite_markov_dynamics", - "FepSketches.active_inference", - "FepSketches.decision_risk", - "FepSketches.markov_blanket", - "Mathlib.Analysis.Normed.Algebra.MatrixExponential" + "FepSketches.finite_information" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.ContinuousTimeMarkov.FiniteMarkovSemigroup", + "namespace": "FEP.CollectiveInference", "namespace_variable_context": [ - "{State : Type*} [Fintype State] [DecidableEq State]" + "{State₁ State₂ Observation₁ Observation₂ : Type*}\n [Fintype State₁] [Fintype State₂]\n [Fintype Observation₁] [Fintype Observation₂]" ], "preceding_scope_directives": [], - "qualified_name": "FEP.ContinuousTimeMarkov.FiniteMarkovSemigroup.kernel_add", - "source_line": 123, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", - "statement": "theorem kernel_add (semigroup : FiniteMarkovSemigroup State)\n (left right : ℝ) (hLeft : 0 ≤ left) (hRight : 0 ≤ right) :\n semigroup.kernel (left + right) (add_nonneg hLeft hRight) =\n FiniteKernel.comp (semigroup.kernel right hRight)\n (semigroup.kernel left hLeft)", - "statement_sha256": "8d7808fd446718342dc930925313fa5bda4ff7d682510e0f5d91dae965974827" + "qualified_name": "FEP.CollectiveInference.identityMixing2_nonneg", + "source_line": 788, + "source_owner": "src/fep_lean/formal/collective_inference.lean", + "statement": "theorem identityMixing2_nonneg (i j : Fin 2) : 0 ≤ identityMixing2 i j", + "statement_sha256": "abd0ea990013ca61a436c35b6e26b1c214719001fa35f6889ae1d8ebd9c168f3" }, - "FEP.ContinuousTimeMarkov.FiniteMarkovSemigroup.kernel_zero": { + "FEP.CollectiveInference.identityMixing2_row": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "semigroup" + "i" ], "role": "typed_binder", - "source": "(semigroup : FiniteMarkovSemigroup State)", - "type_source": "FiniteMarkovSemigroup State", + "source": "(i : Fin 2)", + "type_source": "Fin 2", "visibility": "explicit" } ], - "conclusion": "semigroup.kernel 0 le_rfl = FiniteKernel.identity", + "conclusion": "∑ j, identityMixing2 i j = 1", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "State" + "State₁", + "State₂", + "Observation₁", + "Observation₂" ], "role": "typed_binder", - "source": "{State : Type*}", + "source": "{State₁ State₂ Observation₁ Observation₂ : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -23102,110 +23300,130 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype State]", - "type_source": "Fintype State", + "source": "[Fintype State₁]", + "type_source": "Fintype State₁", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DecidableEq State]", - "type_source": "DecidableEq State", + "source": "[Fintype State₂]", + "type_source": "Fintype State₂", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Observation₁]", + "type_source": "Fintype Observation₁", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Observation₂]", + "type_source": "Fintype Observation₂", "visibility": "instance" } ], "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.finite_markov_dynamics", - "FepSketches.active_inference", - "FepSketches.decision_risk", - "FepSketches.markov_blanket", - "Mathlib.Analysis.Normed.Algebra.MatrixExponential" + "FepSketches.finite_information" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.ContinuousTimeMarkov.FiniteMarkovSemigroup", + "namespace": "FEP.CollectiveInference", "namespace_variable_context": [ - "{State : Type*} [Fintype State] [DecidableEq State]" + "{State₁ State₂ Observation₁ Observation₂ : Type*}\n [Fintype State₁] [Fintype State₂]\n [Fintype Observation₁] [Fintype Observation₂]" ], "preceding_scope_directives": [], - "qualified_name": "FEP.ContinuousTimeMarkov.FiniteMarkovSemigroup.kernel_zero", - "source_line": 115, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", - "statement": "theorem kernel_zero (semigroup : FiniteMarkovSemigroup State) :\n semigroup.kernel 0 le_rfl = FiniteKernel.identity", - "statement_sha256": "a13736d6b1cd4a086e6616e4bbb7f026d40448150f99d74fab5bd30d9dbb4529" + "qualified_name": "FEP.CollectiveInference.identityMixing2_row", + "source_line": 791, + "source_owner": "src/fep_lean/formal/collective_inference.lean", + "statement": "theorem identityMixing2_row (i : Fin 2) : ∑ j, identityMixing2 i j = 1", + "statement_sha256": "e045cd205bdd67deaa713a27779709450631d0034548f54c71963115beabea3f" }, - "FEP.ContinuousTimeMarkov.FiniteMarkovSemigroup.nativeKL_contraction": { + "FEP.CollectiveInference.independentEFE_additive": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[MeasurableSpace State]", - "type_source": "MeasurableSpace State", - "visibility": "instance" + "names": [ + "predictiveLeft", + "preferenceLeft" + ], + "role": "typed_binder", + "source": "(predictiveLeft preferenceLeft : FiniteLaw State₁)", + "type_source": "FiniteLaw State₁", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace State]", - "type_source": "DiscreteMeasurableSpace State", - "visibility": "instance" + "names": [ + "predictiveRight", + "preferenceRight" + ], + "role": "typed_binder", + "source": "(predictiveRight preferenceRight : FiniteLaw State₂)", + "type_source": "FiniteLaw State₂", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "semigroup" + "ambiguityLeft" ], "role": "typed_binder", - "source": "(semigroup : FiniteMarkovSemigroup State)", - "type_source": "FiniteMarkovSemigroup State", + "source": "(ambiguityLeft : State₁ → ℝ)", + "type_source": "State₁ → ℝ", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "time" + "ambiguityRight" ], "role": "typed_binder", - "source": "(time : ℝ)", - "type_source": "ℝ", + "source": "(ambiguityRight : State₂ → ℝ)", + "type_source": "State₂ → ℝ", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "hTime" + "preferenceLeftPositive" ], "role": "typed_binder", - "source": "(hTime : 0 ≤ time)", - "type_source": "0 ≤ time", + "source": "(preferenceLeftPositive : ∀ state, 0 < preferenceLeft state)", + "type_source": "∀ state, 0 < preferenceLeft state", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "actual", - "reference" + "preferenceRightPositive" ], "role": "typed_binder", - "source": "(actual reference : FiniteLaw State)", - "type_source": "FiniteLaw State", + "source": "(preferenceRightPositive : ∀ state, 0 < preferenceRight state)", + "type_source": "∀ state, 0 < preferenceRight state", "visibility": "explicit" } ], - "conclusion": "InformationTheory.klDiv\n (FEP.NativeBlanket.embeddedLaw\n ((semigroup.kernel time hTime).predictive actual))\n (FEP.NativeBlanket.embeddedLaw\n ((semigroup.kernel time hTime).predictive reference)) ≤\n InformationTheory.klDiv\n (FEP.NativeBlanket.embeddedLaw actual)\n (FEP.NativeBlanket.embeddedLaw reference)", + "conclusion": "independentCollectiveEFE predictiveLeft preferenceLeft\n predictiveRight preferenceRight ambiguityLeft ambiguityRight =\n expectedFreeEnergy predictiveLeft preferenceLeft ambiguityLeft +\n expectedFreeEnergy predictiveRight preferenceRight ambiguityRight", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "State" + "State₁", + "State₂", + "Observation₁", + "Observation₂" ], "role": "typed_binder", - "source": "{State : Type*}", + "source": "{State₁ State₂ Observation₁ Observation₂ : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -23213,127 +23431,145 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype State]", - "type_source": "Fintype State", + "source": "[Fintype State₁]", + "type_source": "Fintype State₁", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DecidableEq State]", - "type_source": "DecidableEq State", + "source": "[Fintype State₂]", + "type_source": "Fintype State₂", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Observation₁]", + "type_source": "Fintype Observation₁", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Observation₂]", + "type_source": "Fintype Observation₂", "visibility": "instance" } ], "declaration_mentions": [ { - "identifier": "FEP.NativeBlanket.embeddedPredictive_eq_comp", - "qualified_name": "FEP.NativeBlanket.embeddedPredictive_eq_comp", + "identifier": "productExpectedCost_additive", + "qualified_name": "FEP.CollectiveInference.productExpectedCost_additive", "resolution": "exact or same-namespace source identifier", "role": "proof_reference" } ], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.finite_markov_dynamics", - "FepSketches.active_inference", - "FepSketches.decision_risk", - "FepSketches.markov_blanket", - "Mathlib.Analysis.Normed.Algebra.MatrixExponential" + "FepSketches.finite_information" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.ContinuousTimeMarkov.FiniteMarkovSemigroup", + "namespace": "FEP.CollectiveInference", "namespace_variable_context": [ - "{State : Type*} [Fintype State] [DecidableEq State]" + "{State₁ State₂ Observation₁ Observation₂ : Type*}\n [Fintype State₁] [Fintype State₂]\n [Fintype Observation₁] [Fintype Observation₂]" ], "preceding_scope_directives": [], - "qualified_name": "FEP.ContinuousTimeMarkov.FiniteMarkovSemigroup.nativeKL_contraction", - "source_line": 134, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", - "statement": "theorem nativeKL_contraction [MeasurableSpace State]\n [DiscreteMeasurableSpace State]\n (semigroup : FiniteMarkovSemigroup State)\n (time : ℝ) (hTime : 0 ≤ time) (actual reference : FiniteLaw State) :\n InformationTheory.klDiv\n (FEP.NativeBlanket.embeddedLaw\n ((semigroup.kernel time hTime).predictive actual))\n (FEP.NativeBlanket.embeddedLaw\n ((semigroup.kernel time hTime).predictive reference)) ≤\n InformationTheory.klDiv\n (FEP.NativeBlanket.embeddedLaw actual)\n (FEP.NativeBlanket.embeddedLaw reference)", - "statement_sha256": "d7b3f22a1952ab41c33bd8e13ec05d09fa77e2439990e0adbf98d46b37b50bfc" + "qualified_name": "FEP.CollectiveInference.independentEFE_additive", + "source_line": 185, + "source_owner": "src/fep_lean/formal/collective_inference.lean", + "statement": "theorem independentEFE_additive\n (predictiveLeft preferenceLeft : FiniteLaw State₁)\n (predictiveRight preferenceRight : FiniteLaw State₂)\n (ambiguityLeft : State₁ → ℝ) (ambiguityRight : State₂ → ℝ)\n (preferenceLeftPositive : ∀ state, 0 < preferenceLeft state)\n (preferenceRightPositive : ∀ state, 0 < preferenceRight state) :\n independentCollectiveEFE predictiveLeft preferenceLeft\n predictiveRight preferenceRight ambiguityLeft ambiguityRight =\n expectedFreeEnergy predictiveLeft preferenceLeft ambiguityLeft +\n expectedFreeEnergy predictiveRight preferenceRight ambiguityRight", + "statement_sha256": "89e116e143c2fe3d564e47f9a0ba0ef73ac9232195e6c60073df5f54b2fde42d" }, - "FEP.ContinuousTimeMarkov.FiniteMarkovSemigroup.nativeKL_contraction_to_invariant": { + "FEP.CollectiveInference.linearPool_kl_decomposition": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[MeasurableSpace State]", - "type_source": "MeasurableSpace State", - "visibility": "instance" + "names": [ + "w" + ], + "role": "typed_binder", + "source": "(w : ι → ℝ)", + "type_source": "ι → ℝ", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace State]", - "type_source": "DiscreteMeasurableSpace State", - "visibility": "instance" + "names": [ + "hw" + ], + "role": "typed_binder", + "source": "(hw : ∀ i, 0 ≤ w i)", + "type_source": "∀ i, 0 ≤ w i", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "semigroup" + "hsum" ], "role": "typed_binder", - "source": "(semigroup : FiniteMarkovSemigroup State)", - "type_source": "FiniteMarkovSemigroup State", + "source": "(hsum : ∑ i, w i = 1)", + "type_source": "∑ i, w i = 1", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "time" + "p" ], "role": "typed_binder", - "source": "(time : ℝ)", - "type_source": "ℝ", + "source": "(p : ι → FiniteLaw α)", + "type_source": "ι → FiniteLaw α", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "hTime" + "q" ], "role": "typed_binder", - "source": "(hTime : 0 ≤ time)", - "type_source": "0 ≤ time", + "source": "(q : FiniteLaw α)", + "type_source": "FiniteLaw α", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "actual", - "invariant" + "hq" ], "role": "typed_binder", - "source": "(actual invariant : FiniteLaw State)", - "type_source": "FiniteLaw State", + "source": "(hq : ∀ x, 0 < q x)", + "type_source": "∀ x, 0 < q x", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "hInvariant" + "hpool" ], "role": "typed_binder", - "source": "(hInvariant : FEP.FiniteMarkovDynamics.IsInvariant invariant\n (semigroup.kernel time hTime))", - "type_source": "FEP.FiniteMarkovDynamics.IsInvariant invariant\n (semigroup.kernel time hTime)", + "source": "(hpool : ∀ x, 0 < linearPool w hw hsum p x)", + "type_source": "∀ x, 0 < linearPool w hw hsum p x", "visibility": "explicit" } ], - "conclusion": "InformationTheory.klDiv\n (FEP.NativeBlanket.embeddedLaw\n ((semigroup.kernel time hTime).predictive actual))\n (FEP.NativeBlanket.embeddedLaw invariant) ≤\n InformationTheory.klDiv\n (FEP.NativeBlanket.embeddedLaw actual)\n (FEP.NativeBlanket.embeddedLaw invariant)", + "conclusion": "∑ i, w i * finiteKL (p i) q =\n ∑ i, w i * finiteKL (p i) (linearPool w hw hsum p) +\n finiteKL (linearPool w hw hsum p) q", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "State" + "State₁", + "State₂", + "Observation₁", + "Observation₂" ], "role": "typed_binder", - "source": "{State : Type*}", + "source": "{State₁ State₂ Observation₁ Observation₂ : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -23341,94 +23577,187 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype State]", - "type_source": "Fintype State", + "source": "[Fintype State₁]", + "type_source": "Fintype State₁", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DecidableEq State]", - "type_source": "DecidableEq State", + "source": "[Fintype State₂]", + "type_source": "Fintype State₂", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Observation₁]", + "type_source": "Fintype Observation₁", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Observation₂]", + "type_source": "Fintype Observation₂", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "α", + "ι" + ], + "role": "typed_binder", + "source": "{α ι : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype α]", + "type_source": "Fintype α", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype ι]", + "type_source": "Fintype ι", "visibility": "instance" } ], - "declaration_mentions": [], + "declaration_mentions": [ + { + "identifier": "crossEntropy_linearPool_left", + "qualified_name": "FEP.CollectiveInference.crossEntropy_linearPool_left", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + }, + { + "identifier": "crossEntropy_self_eq_entropy", + "qualified_name": "FEP.CollectiveInference.crossEntropy_self_eq_entropy", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + }, + { + "candidates": [ + "FEP.FiniteInformation.finiteKL_eq_crossEntropy_sub_entropy" + ], + "identifier": "finiteKL_eq_crossEntropy_sub_entropy", + "resolution": "unresolved lexical scope", + "role": "proof_reference" + } + ], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.finite_markov_dynamics", - "FepSketches.active_inference", - "FepSketches.decision_risk", - "FepSketches.markov_blanket", - "Mathlib.Analysis.Normed.Algebra.MatrixExponential" + "FepSketches.finite_information" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.ContinuousTimeMarkov.FiniteMarkovSemigroup", + "namespace": "FEP.CollectiveInference", "namespace_variable_context": [ - "{State : Type*} [Fintype State] [DecidableEq State]" + "{State₁ State₂ Observation₁ Observation₂ : Type*}\n [Fintype State₁] [Fintype State₂]\n [Fintype Observation₁] [Fintype Observation₂]", + "{α ι : Type*} [Fintype α] [Fintype ι]" ], "preceding_scope_directives": [], - "qualified_name": "FEP.ContinuousTimeMarkov.FiniteMarkovSemigroup.nativeKL_contraction_to_invariant", - "source_line": 155, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", - "statement": "theorem nativeKL_contraction_to_invariant [MeasurableSpace State]\n [DiscreteMeasurableSpace State]\n (semigroup : FiniteMarkovSemigroup State)\n (time : ℝ) (hTime : 0 ≤ time) (actual invariant : FiniteLaw State)\n (hInvariant : FEP.FiniteMarkovDynamics.IsInvariant invariant\n (semigroup.kernel time hTime)) :\n InformationTheory.klDiv\n (FEP.NativeBlanket.embeddedLaw\n ((semigroup.kernel time hTime).predictive actual))\n (FEP.NativeBlanket.embeddedLaw invariant) ≤\n InformationTheory.klDiv\n (FEP.NativeBlanket.embeddedLaw actual)\n (FEP.NativeBlanket.embeddedLaw invariant)", - "statement_sha256": "eaac3d61a5c48eb4b51afa919be7ff45f3ee5db629ca3c74ba87f5f07c90e05c" + "qualified_name": "FEP.CollectiveInference.linearPool_kl_decomposition", + "source_line": 445, + "source_owner": "src/fep_lean/formal/collective_inference.lean", + "statement": "theorem linearPool_kl_decomposition\n (w : ι → ℝ) (hw : ∀ i, 0 ≤ w i) (hsum : ∑ i, w i = 1)\n (p : ι → FiniteLaw α) (q : FiniteLaw α)\n (hq : ∀ x, 0 < q x)\n (hpool : ∀ x, 0 < linearPool w hw hsum p x) :\n ∑ i, w i * finiteKL (p i) q =\n ∑ i, w i * finiteKL (p i) (linearPool w hw hsum p) +\n finiteKL (linearPool w hw hsum p) q", + "statement_sha256": "0affc35641bfd006f3714861590f1cf139ba6a92dc8659348bd383312e61bd8f" }, - "FEP.ContinuousTimeMarkov.FiniteRateGenerator.probabilityCurrent_eq_zero_of_detailedBalanced": { + "FEP.CollectiveInference.linearPool_kl_minimal": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "generator" + "w" ], "role": "typed_binder", - "source": "(generator : FiniteRateGenerator State)", - "type_source": "FiniteRateGenerator State", + "source": "(w : ι → ℝ)", + "type_source": "ι → ℝ", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "law" + "hw" ], "role": "typed_binder", - "source": "(law : FiniteLaw State)", - "type_source": "FiniteLaw State", + "source": "(hw : ∀ i, 0 ≤ w i)", + "type_source": "∀ i, 0 ≤ w i", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "hBalanced" + "hsum" ], "role": "typed_binder", - "source": "(hBalanced : generator.IsDetailedBalanced law)", - "type_source": "generator.IsDetailedBalanced law", + "source": "(hsum : ∑ i, w i = 1)", + "type_source": "∑ i, w i = 1", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "source", - "target" + "p" ], "role": "typed_binder", - "source": "(source target : State)", - "type_source": "State", + "source": "(p : ι → FiniteLaw α)", + "type_source": "ι → FiniteLaw α", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "q" + ], + "role": "typed_binder", + "source": "(q : FiniteLaw α)", + "type_source": "FiniteLaw α", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hq" + ], + "role": "typed_binder", + "source": "(hq : ∀ x, 0 < q x)", + "type_source": "∀ x, 0 < q x", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hpool" + ], + "role": "typed_binder", + "source": "(hpool : ∀ x, 0 < linearPool w hw hsum p x)", + "type_source": "∀ x, 0 < linearPool w hw hsum p x", "visibility": "explicit" } ], - "conclusion": "generator.probabilityCurrent law source target = 0", + "conclusion": "∑ i, w i * finiteKL (p i) (linearPool w hw hsum p) ≤\n ∑ i, w i * finiteKL (p i) q", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "State" + "State₁", + "State₂", + "Observation₁", + "Observation₂" ], "role": "typed_binder", - "source": "{State : Type*}", + "source": "{State₁ State₂ Observation₁ Observation₂ : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -23436,81 +23765,42 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype State]", - "type_source": "Fintype State", + "source": "[Fintype State₁]", + "type_source": "Fintype State₁", "visibility": "instance" - } - ], - "declaration_mentions": [], - "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", - "import_context": [ - "FepSketches.finite_markov_dynamics", - "FepSketches.active_inference", - "FepSketches.decision_risk", - "FepSketches.markov_blanket", - "Mathlib.Analysis.Normed.Algebra.MatrixExponential" - ], - "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.ContinuousTimeMarkov.FiniteRateGenerator", - "namespace_variable_context": [ - "{State : Type*} [Fintype State]" - ], - "preceding_scope_directives": [], - "qualified_name": "FEP.ContinuousTimeMarkov.FiniteRateGenerator.probabilityCurrent_eq_zero_of_detailedBalanced", - "source_line": 68, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", - "statement": "theorem probabilityCurrent_eq_zero_of_detailedBalanced\n (generator : FiniteRateGenerator State) (law : FiniteLaw State)\n (hBalanced : generator.IsDetailedBalanced law) (source target : State) :\n generator.probabilityCurrent law source target = 0", - "statement_sha256": "83649278183fb850a328c66db61f1db8ba15ed89dc4cce04d604d9e25e09bc86" - }, - "FEP.ContinuousTimeMarkov.TwoStateRates.benchmarkInitial_nonstationary": { - "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [], - "conclusion": "benchmarkInitial true ≠ benchmarkRates.stationaryTrue", - "context_binders": [ - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "State" - ], - "role": "typed_binder", - "source": "{State : Type*}", - "type_source": "Type*", - "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype State]", - "type_source": "Fintype State", + "source": "[Fintype State₂]", + "type_source": "Fintype State₂", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Nonempty State]", - "type_source": "Nonempty State", + "source": "[Fintype Observation₁]", + "type_source": "Fintype Observation₁", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DecidableEq State]", - "type_source": "DecidableEq State", + "source": "[Fintype Observation₂]", + "type_source": "Fintype Observation₂", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Internal", - "Sensory", - "Active", - "External" + "α", + "ι" ], "role": "typed_binder", - "source": "{Internal Sensory Active External : Type*}", + "source": "{α ι : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -23518,199 +23808,148 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Internal]", - "type_source": "Fintype Internal", - "visibility": "instance" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype Sensory]", - "type_source": "Fintype Sensory", - "visibility": "instance" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype Active]", - "type_source": "Fintype Active", - "visibility": "instance" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype External]", - "type_source": "Fintype External", - "visibility": "instance" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[DecidableEq Internal]", - "type_source": "DecidableEq Internal", - "visibility": "instance" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[DecidableEq Sensory]", - "type_source": "DecidableEq Sensory", - "visibility": "instance" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[DecidableEq Active]", - "type_source": "DecidableEq Active", - "visibility": "instance" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[DecidableEq External]", - "type_source": "DecidableEq External", - "visibility": "instance" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Nontrivial Internal]", - "type_source": "Nontrivial Internal", + "source": "[Fintype α]", + "type_source": "Fintype α", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Nontrivial Sensory]", - "type_source": "Nontrivial Sensory", + "source": "[Fintype ι]", + "type_source": "Fintype ι", "visibility": "instance" - }, + } + ], + "declaration_mentions": [ { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Nontrivial Active]", - "type_source": "Nontrivial Active", - "visibility": "instance" + "candidates": [ + "FEP.FiniteInformation.finiteKL_nonneg" + ], + "identifier": "finiteKL_nonneg", + "resolution": "unresolved lexical scope", + "role": "proof_reference" }, { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Nontrivial External]", - "type_source": "Nontrivial External", - "visibility": "instance" + "identifier": "linearPool_kl_decomposition", + "qualified_name": "FEP.CollectiveInference.linearPool_kl_decomposition", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" } ], - "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.finite_markov_dynamics", - "FepSketches.active_inference", - "FepSketches.decision_risk", - "FepSketches.markov_blanket", - "Mathlib.Analysis.Normed.Algebra.MatrixExponential" + "FepSketches.finite_information" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.ContinuousTimeMarkov.TwoStateRates", + "namespace": "FEP.CollectiveInference", "namespace_variable_context": [ - "{State : Type*} [Fintype State] [Nonempty State] [DecidableEq State]", - "{Internal Sensory Active External : Type*}\n [Fintype Internal] [Fintype Sensory] [Fintype Active] [Fintype External]\n [DecidableEq Internal] [DecidableEq Sensory] [DecidableEq Active]\n [DecidableEq External]\n [Nontrivial Internal] [Nontrivial Sensory]\n [Nontrivial Active] [Nontrivial External]" + "{State₁ State₂ Observation₁ Observation₂ : Type*}\n [Fintype State₁] [Fintype State₂]\n [Fintype Observation₁] [Fintype Observation₂]", + "{α ι : Type*} [Fintype α] [Fintype ι]" ], - "preceding_scope_directives": [ - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DecidableEq State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - }, + "preceding_scope_directives": [], + "qualified_name": "FEP.CollectiveInference.linearPool_kl_minimal", + "source_line": 470, + "source_owner": "src/fep_lean/formal/collective_inference.lean", + "statement": "theorem linearPool_kl_minimal\n (w : ι → ℝ) (hw : ∀ i, 0 ≤ w i) (hsum : ∑ i, w i = 1)\n (p : ι → FiniteLaw α) (q : FiniteLaw α)\n (hq : ∀ x, 0 < q x)\n (hpool : ∀ x, 0 < linearPool w hw hsum p x) :\n ∑ i, w i * finiteKL (p i) (linearPool w hw hsum p) ≤\n ∑ i, w i * finiteKL (p i) q", + "statement_sha256": "e670d90fcd370c97cdbbf2bb354836bf33426df3bfb0ebf22d6642d337795d6c" + }, + "FEP.CollectiveInference.linearPool_kl_unique_minimiser": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "w" + ], + "role": "typed_binder", + "source": "(w : ι → ℝ)", + "type_source": "ι → ℝ", + "visibility": "explicit" }, { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DecidableEq State] in" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hw" + ], + "role": "typed_binder", + "source": "(hw : ∀ i, 0 ≤ w i)", + "type_source": "∀ i, 0 ≤ w i", + "visibility": "explicit" }, { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DecidableEq State] in" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hsum" + ], + "role": "typed_binder", + "source": "(hsum : ∑ i, w i = 1)", + "type_source": "∑ i, w i = 1", + "visibility": "explicit" }, { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "p" + ], + "role": "typed_binder", + "source": "(p : ι → FiniteLaw α)", + "type_source": "ι → FiniteLaw α", + "visibility": "explicit" }, { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "q" + ], + "role": "typed_binder", + "source": "(q : FiniteLaw α)", + "type_source": "FiniteLaw α", + "visibility": "explicit" }, { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hq" + ], + "role": "typed_binder", + "source": "(hq : ∀ x, 0 < q x)", + "type_source": "∀ x, 0 < q x", + "visibility": "explicit" }, { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DecidableEq State] in" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hpool" + ], + "role": "typed_binder", + "source": "(hpool : ∀ x, 0 < linearPool w hw hsum p x)", + "type_source": "∀ x, 0 < linearPool w hw hsum p x", + "visibility": "explicit" }, { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hle" + ], + "role": "typed_binder", + "source": "(hle : ∑ i, w i * finiteKL (p i) q ≤\n ∑ i, w i * finiteKL (p i) (linearPool w hw hsum p))", + "type_source": "∑ i, w i * finiteKL (p i) q ≤\n ∑ i, w i * finiteKL (p i) (linearPool w hw hsum p)", + "visibility": "explicit" } ], - "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.benchmarkInitial_nonstationary", - "source_line": 1739, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", - "statement": "theorem benchmarkInitial_nonstationary :\n benchmarkInitial true ≠ benchmarkRates.stationaryTrue", - "statement_sha256": "6edb4a4865786203f9147da68c36f149f500a539cfed1fe6254d06d78019ed2c" - }, - "FEP.ContinuousTimeMarkov.TwoStateRates.benchmarkLyapunov_deriv_zero_neg": { - "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [], - "conclusion": "-2 * benchmarkRates.decayRate * benchmarkRates.lyapunov benchmarkInitial 0 < 0", + "conclusion": "q = linearPool w hw hsum p", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "State" + "State₁", + "State₂", + "Observation₁", + "Observation₂" ], "role": "typed_binder", - "source": "{State : Type*}", + "source": "{State₁ State₂ Observation₁ Observation₂ : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -23718,36 +23957,42 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype State]", - "type_source": "Fintype State", + "source": "[Fintype State₁]", + "type_source": "Fintype State₁", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Nonempty State]", - "type_source": "Nonempty State", + "source": "[Fintype State₂]", + "type_source": "Fintype State₂", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DecidableEq State]", - "type_source": "DecidableEq State", + "source": "[Fintype Observation₁]", + "type_source": "Fintype Observation₁", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Observation₂]", + "type_source": "Fintype Observation₂", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Internal", - "Sensory", - "Active", - "External" + "α", + "ι" ], "role": "typed_binder", - "source": "{Internal Sensory Active External : Type*}", + "source": "{α ι : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -23755,199 +24000,252 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Internal]", - "type_source": "Fintype Internal", + "source": "[Fintype α]", + "type_source": "Fintype α", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Sensory]", - "type_source": "Fintype Sensory", + "source": "[Fintype ι]", + "type_source": "Fintype ι", "visibility": "instance" + } + ], + "declaration_mentions": [ + { + "candidates": [ + "FEP.FiniteInformation.finiteKL_eq_zero_iff" + ], + "identifier": "finiteKL_eq_zero_iff", + "resolution": "unresolved lexical scope", + "role": "proof_reference" + }, + { + "candidates": [ + "FEP.FiniteInformation.finiteKL_nonneg" + ], + "identifier": "finiteKL_nonneg", + "resolution": "unresolved lexical scope", + "role": "proof_reference" }, + { + "identifier": "linearPool_kl_decomposition", + "qualified_name": "FEP.CollectiveInference.linearPool_kl_decomposition", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + } + ], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.finite_information" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.CollectiveInference", + "namespace_variable_context": [ + "{State₁ State₂ Observation₁ Observation₂ : Type*}\n [Fintype State₁] [Fintype State₂]\n [Fintype Observation₁] [Fintype Observation₂]", + "{α ι : Type*} [Fintype α] [Fintype ι]" + ], + "preceding_scope_directives": [], + "qualified_name": "FEP.CollectiveInference.linearPool_kl_unique_minimiser", + "source_line": 482, + "source_owner": "src/fep_lean/formal/collective_inference.lean", + "statement": "theorem linearPool_kl_unique_minimiser\n (w : ι → ℝ) (hw : ∀ i, 0 ≤ w i) (hsum : ∑ i, w i = 1)\n (p : ι → FiniteLaw α) (q : FiniteLaw α)\n (hq : ∀ x, 0 < q x)\n (hpool : ∀ x, 0 < linearPool w hw hsum p x)\n (hle : ∑ i, w i * finiteKL (p i) q ≤\n ∑ i, w i * finiteKL (p i) (linearPool w hw hsum p)) :\n q = linearPool w hw hsum p", + "statement_sha256": "3eed6706f4dec1059aa1c089fedcfe4b0cc3d90eca863484c978f2aa002d0f7a" + }, + "FEP.CollectiveInference.logPoolNormalizer_pos": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype Active]", - "type_source": "Fintype Active", - "visibility": "instance" + "names": [ + "w" + ], + "role": "typed_binder", + "source": "(w : ι → ℝ)", + "type_source": "ι → ℝ", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype External]", - "type_source": "Fintype External", - "visibility": "instance" + "names": [ + "p" + ], + "role": "typed_binder", + "source": "(p : ι → FiniteLaw α)", + "type_source": "ι → FiniteLaw α", + "visibility": "explicit" + } + ], + "conclusion": "0 < logPoolNormalizer w p", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "State₁", + "State₂", + "Observation₁", + "Observation₂" + ], + "role": "typed_binder", + "source": "{State₁ State₂ Observation₁ Observation₂ : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DecidableEq Internal]", - "type_source": "DecidableEq Internal", + "source": "[Fintype State₁]", + "type_source": "Fintype State₁", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DecidableEq Sensory]", - "type_source": "DecidableEq Sensory", + "source": "[Fintype State₂]", + "type_source": "Fintype State₂", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DecidableEq Active]", - "type_source": "DecidableEq Active", + "source": "[Fintype Observation₁]", + "type_source": "Fintype Observation₁", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DecidableEq External]", - "type_source": "DecidableEq External", + "source": "[Fintype Observation₂]", + "type_source": "Fintype Observation₂", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Nontrivial Internal]", - "type_source": "Nontrivial Internal", - "visibility": "instance" + "names": [ + "α", + "ι" + ], + "role": "typed_binder", + "source": "{α ι : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Nontrivial Sensory]", - "type_source": "Nontrivial Sensory", + "source": "[Fintype α]", + "type_source": "Fintype α", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Nontrivial Active]", - "type_source": "Nontrivial Active", + "source": "[Fintype ι]", + "type_source": "Fintype ι", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Nontrivial External]", - "type_source": "Nontrivial External", + "source": "[Nonempty α]", + "type_source": "Nonempty α", "visibility": "instance" } ], "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.finite_markov_dynamics", - "FepSketches.active_inference", - "FepSketches.decision_risk", - "FepSketches.markov_blanket", - "Mathlib.Analysis.Normed.Algebra.MatrixExponential" + "FepSketches.finite_information" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.ContinuousTimeMarkov.TwoStateRates", + "namespace": "FEP.CollectiveInference", "namespace_variable_context": [ - "{State : Type*} [Fintype State] [Nonempty State] [DecidableEq State]", - "{Internal Sensory Active External : Type*}\n [Fintype Internal] [Fintype Sensory] [Fintype Active] [Fintype External]\n [DecidableEq Internal] [DecidableEq Sensory] [DecidableEq Active]\n [DecidableEq External]\n [Nontrivial Internal] [Nontrivial Sensory]\n [Nontrivial Active] [Nontrivial External]" + "{State₁ State₂ Observation₁ Observation₂ : Type*}\n [Fintype State₁] [Fintype State₂]\n [Fintype Observation₁] [Fintype Observation₂]", + "{α ι : Type*} [Fintype α] [Fintype ι]", + "[Nonempty α]" ], - "preceding_scope_directives": [ - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DecidableEq State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DecidableEq State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DecidableEq State] in" - }, + "preceding_scope_directives": [], + "qualified_name": "FEP.CollectiveInference.logPoolNormalizer_pos", + "source_line": 507, + "source_owner": "src/fep_lean/formal/collective_inference.lean", + "statement": "theorem logPoolNormalizer_pos (w : ι → ℝ) (p : ι → FiniteLaw α) :\n 0 < logPoolNormalizer w p", + "statement_sha256": "911eb89bdb09df86db5aa894c684aa52f6657f3c621bd00bc49425a8e84897f5" + }, + "FEP.CollectiveInference.logPool_kl_decomposition": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "w" + ], + "role": "typed_binder", + "source": "(w : ι → ℝ)", + "type_source": "ι → ℝ", + "visibility": "explicit" }, { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hsum" + ], + "role": "typed_binder", + "source": "(hsum : ∑ i, w i = 1)", + "type_source": "∑ i, w i = 1", + "visibility": "explicit" }, { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "p" + ], + "role": "typed_binder", + "source": "(p : ι → FiniteLaw α)", + "type_source": "ι → FiniteLaw α", + "visibility": "explicit" }, { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DecidableEq State] in" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hp" + ], + "role": "typed_binder", + "source": "(hp : ∀ i x, 0 < p i x)", + "type_source": "∀ i x, 0 < p i x", + "visibility": "explicit" }, { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "q" + ], + "role": "typed_binder", + "source": "(q : FiniteLaw α)", + "type_source": "FiniteLaw α", + "visibility": "explicit" } ], - "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.benchmarkLyapunov_deriv_zero_neg", - "source_line": 1744, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", - "statement": "theorem benchmarkLyapunov_deriv_zero_neg :\n -2 * benchmarkRates.decayRate * benchmarkRates.lyapunov benchmarkInitial 0 < 0", - "statement_sha256": "379a706bdeb1d1e9a858290b0428e86eecd617f5bf8371c6055be409b4539b21" - }, - "FEP.ContinuousTimeMarkov.TwoStateRates.benchmarkRates_exact": { - "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [], - "conclusion": "benchmarkRates.forward = 0.7 ∧ benchmarkRates.backward = 0.3", + "conclusion": "∑ i, w i * finiteKL q (p i) =\n finiteKL q (logPool w p) - Real.log (logPoolNormalizer w p)", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "State" + "State₁", + "State₂", + "Observation₁", + "Observation₂" ], "role": "typed_binder", - "source": "{State : Type*}", + "source": "{State₁ State₂ Observation₁ Observation₂ : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -23955,36 +24253,42 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype State]", - "type_source": "Fintype State", + "source": "[Fintype State₁]", + "type_source": "Fintype State₁", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Nonempty State]", - "type_source": "Nonempty State", + "source": "[Fintype State₂]", + "type_source": "Fintype State₂", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DecidableEq State]", - "type_source": "DecidableEq State", + "source": "[Fintype Observation₁]", + "type_source": "Fintype Observation₁", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Observation₂]", + "type_source": "Fintype Observation₂", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Internal", - "Sensory", - "Active", - "External" + "α", + "ι" ], "role": "typed_binder", - "source": "{Internal Sensory Active External : Type*}", + "source": "{α ι : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -23992,210 +24296,322 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Internal]", - "type_source": "Fintype Internal", + "source": "[Fintype α]", + "type_source": "Fintype α", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Sensory]", - "type_source": "Fintype Sensory", + "source": "[Fintype ι]", + "type_source": "Fintype ι", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Active]", - "type_source": "Fintype Active", + "source": "[Nonempty α]", + "type_source": "Nonempty α", "visibility": "instance" + } + ], + "declaration_mentions": [ + { + "candidates": [ + "FEP.FiniteInformation.finiteKL_eq_crossEntropy_sub_entropy" + ], + "identifier": "finiteKL_eq_crossEntropy_sub_entropy", + "resolution": "unresolved lexical scope", + "role": "proof_reference" + }, + { + "identifier": "logPool_pos", + "qualified_name": "FEP.CollectiveInference.logPool_pos", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + }, + { + "identifier": "log_logPool", + "qualified_name": "FEP.CollectiveInference.log_logPool", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + } + ], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.finite_information" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.CollectiveInference", + "namespace_variable_context": [ + "{State₁ State₂ Observation₁ Observation₂ : Type*}\n [Fintype State₁] [Fintype State₂]\n [Fintype Observation₁] [Fintype Observation₂]", + "{α ι : Type*} [Fintype α] [Fintype ι]", + "[Nonempty α]" + ], + "preceding_scope_directives": [], + "qualified_name": "FEP.CollectiveInference.logPool_kl_decomposition", + "source_line": 533, + "source_owner": "src/fep_lean/formal/collective_inference.lean", + "statement": "theorem logPool_kl_decomposition\n (w : ι → ℝ) (hsum : ∑ i, w i = 1)\n (p : ι → FiniteLaw α) (hp : ∀ i x, 0 < p i x) (q : FiniteLaw α) :\n ∑ i, w i * finiteKL q (p i) =\n finiteKL q (logPool w p) - Real.log (logPoolNormalizer w p)", + "statement_sha256": "99f76b53a81224a069e7b5fa904fa07e66c069ff1acb1782339a258e59e824ca" + }, + "FEP.CollectiveInference.logPool_kl_minimal": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "w" + ], + "role": "typed_binder", + "source": "(w : ι → ℝ)", + "type_source": "ι → ℝ", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype External]", - "type_source": "Fintype External", - "visibility": "instance" + "names": [ + "hsum" + ], + "role": "typed_binder", + "source": "(hsum : ∑ i, w i = 1)", + "type_source": "∑ i, w i = 1", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[DecidableEq Internal]", - "type_source": "DecidableEq Internal", - "visibility": "instance" + "names": [ + "p" + ], + "role": "typed_binder", + "source": "(p : ι → FiniteLaw α)", + "type_source": "ι → FiniteLaw α", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hp" + ], + "role": "typed_binder", + "source": "(hp : ∀ i x, 0 < p i x)", + "type_source": "∀ i x, 0 < p i x", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "q" + ], + "role": "typed_binder", + "source": "(q : FiniteLaw α)", + "type_source": "FiniteLaw α", + "visibility": "explicit" + } + ], + "conclusion": "∑ i, w i * finiteKL (logPool w p) (p i) ≤ ∑ i, w i * finiteKL q (p i)", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "State₁", + "State₂", + "Observation₁", + "Observation₂" + ], + "role": "typed_binder", + "source": "{State₁ State₂ Observation₁ Observation₂ : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DecidableEq Sensory]", - "type_source": "DecidableEq Sensory", + "source": "[Fintype State₁]", + "type_source": "Fintype State₁", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DecidableEq Active]", - "type_source": "DecidableEq Active", + "source": "[Fintype State₂]", + "type_source": "Fintype State₂", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DecidableEq External]", - "type_source": "DecidableEq External", + "source": "[Fintype Observation₁]", + "type_source": "Fintype Observation₁", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Nontrivial Internal]", - "type_source": "Nontrivial Internal", + "source": "[Fintype Observation₂]", + "type_source": "Fintype Observation₂", "visibility": "instance" }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "α", + "ι" + ], + "role": "typed_binder", + "source": "{α ι : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Nontrivial Sensory]", - "type_source": "Nontrivial Sensory", + "source": "[Fintype α]", + "type_source": "Fintype α", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Nontrivial Active]", - "type_source": "Nontrivial Active", + "source": "[Fintype ι]", + "type_source": "Fintype ι", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Nontrivial External]", - "type_source": "Nontrivial External", + "source": "[Nonempty α]", + "type_source": "Nonempty α", "visibility": "instance" } ], - "declaration_mentions": [], + "declaration_mentions": [ + { + "candidates": [ + "FEP.FiniteInformation.finiteKL_nonneg" + ], + "identifier": "finiteKL_nonneg", + "resolution": "unresolved lexical scope", + "role": "proof_reference" + }, + { + "candidates": [ + "FEP.FiniteInformation.finiteKL_self" + ], + "identifier": "finiteKL_self", + "resolution": "unresolved lexical scope", + "role": "proof_reference" + }, + { + "identifier": "logPool_kl_decomposition", + "qualified_name": "FEP.CollectiveInference.logPool_kl_decomposition", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + } + ], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.finite_markov_dynamics", - "FepSketches.active_inference", - "FepSketches.decision_risk", - "FepSketches.markov_blanket", - "Mathlib.Analysis.Normed.Algebra.MatrixExponential" + "FepSketches.finite_information" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.ContinuousTimeMarkov.TwoStateRates", + "namespace": "FEP.CollectiveInference", "namespace_variable_context": [ - "{State : Type*} [Fintype State] [Nonempty State] [DecidableEq State]", - "{Internal Sensory Active External : Type*}\n [Fintype Internal] [Fintype Sensory] [Fintype Active] [Fintype External]\n [DecidableEq Internal] [DecidableEq Sensory] [DecidableEq Active]\n [DecidableEq External]\n [Nontrivial Internal] [Nontrivial Sensory]\n [Nontrivial Active] [Nontrivial External]" + "{State₁ State₂ Observation₁ Observation₂ : Type*}\n [Fintype State₁] [Fintype State₂]\n [Fintype Observation₁] [Fintype Observation₂]", + "{α ι : Type*} [Fintype α] [Fintype ι]", + "[Nonempty α]" ], - "preceding_scope_directives": [ - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DecidableEq State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DecidableEq State] in" - }, + "preceding_scope_directives": [], + "qualified_name": "FEP.CollectiveInference.logPool_kl_minimal", + "source_line": 570, + "source_owner": "src/fep_lean/formal/collective_inference.lean", + "statement": "theorem logPool_kl_minimal\n (w : ι → ℝ) (hsum : ∑ i, w i = 1)\n (p : ι → FiniteLaw α) (hp : ∀ i x, 0 < p i x) (q : FiniteLaw α) :\n ∑ i, w i * finiteKL (logPool w p) (p i) ≤ ∑ i, w i * finiteKL q (p i)", + "statement_sha256": "e2201aaab627f9ff901c5e29cf8862b3ddb0ec63ff4b3254aed256a4321d5651" + }, + "FEP.CollectiveInference.logPool_kl_unique_minimiser": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DecidableEq State] in" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "w" + ], + "role": "typed_binder", + "source": "(w : ι → ℝ)", + "type_source": "ι → ℝ", + "visibility": "explicit" }, { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hsum" + ], + "role": "typed_binder", + "source": "(hsum : ∑ i, w i = 1)", + "type_source": "∑ i, w i = 1", + "visibility": "explicit" }, { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "p" + ], + "role": "typed_binder", + "source": "(p : ι → FiniteLaw α)", + "type_source": "ι → FiniteLaw α", + "visibility": "explicit" }, { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hp" + ], + "role": "typed_binder", + "source": "(hp : ∀ i x, 0 < p i x)", + "type_source": "∀ i x, 0 < p i x", + "visibility": "explicit" }, { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DecidableEq State] in" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "q" + ], + "role": "typed_binder", + "source": "(q : FiniteLaw α)", + "type_source": "FiniteLaw α", + "visibility": "explicit" }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - } - ], - "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.benchmarkRates_exact", - "source_line": 1735, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", - "statement": "theorem benchmarkRates_exact :\n benchmarkRates.forward = 0.7 ∧ benchmarkRates.backward = 0.3", - "statement_sha256": "48bfa10290599c465dd64c6998719aeded066c6cfffafb253fbb56dbaa6434db" - }, - "FEP.ContinuousTimeMarkov.TwoStateRates.certifiedSemigroup_detailedBalanced": { - "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "rates" + "hle" ], "role": "typed_binder", - "source": "(rates : TwoStateRates)", - "type_source": "TwoStateRates", + "source": "(hle : ∑ i, w i * finiteKL q (p i) ≤\n ∑ i, w i * finiteKL (logPool w p) (p i))", + "type_source": "∑ i, w i * finiteKL q (p i) ≤\n ∑ i, w i * finiteKL (logPool w p) (p i)", "visibility": "explicit" } ], - "conclusion": "rates.certifiedSemigroup.IsDetailedBalanced rates.stationaryLaw", + "conclusion": "q = logPool w p", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "State" + "State₁", + "State₂", + "Observation₁", + "Observation₂" ], "role": "typed_binder", - "source": "{State : Type*}", + "source": "{State₁ State₂ Observation₁ Observation₂ : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -24203,36 +24619,42 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype State]", - "type_source": "Fintype State", + "source": "[Fintype State₁]", + "type_source": "Fintype State₁", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Nonempty State]", - "type_source": "Nonempty State", + "source": "[Fintype State₂]", + "type_source": "Fintype State₂", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DecidableEq State]", - "type_source": "DecidableEq State", + "source": "[Fintype Observation₁]", + "type_source": "Fintype Observation₁", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Observation₂]", + "type_source": "Fintype Observation₂", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Internal", - "Sensory", - "Active", - "External" + "α", + "ι" ], "role": "typed_binder", - "source": "{Internal Sensory Active External : Type*}", + "source": "{α ι : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -24240,230 +24662,266 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Internal]", - "type_source": "Fintype Internal", + "source": "[Fintype α]", + "type_source": "Fintype α", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Sensory]", - "type_source": "Fintype Sensory", + "source": "[Fintype ι]", + "type_source": "Fintype ι", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Active]", - "type_source": "Fintype Active", + "source": "[Nonempty α]", + "type_source": "Nonempty α", "visibility": "instance" + } + ], + "declaration_mentions": [ + { + "candidates": [ + "FEP.FiniteInformation.finiteKL_eq_zero_iff" + ], + "identifier": "finiteKL_eq_zero_iff", + "resolution": "unresolved lexical scope", + "role": "proof_reference" + }, + { + "candidates": [ + "FEP.FiniteInformation.finiteKL_nonneg" + ], + "identifier": "finiteKL_nonneg", + "resolution": "unresolved lexical scope", + "role": "proof_reference" + }, + { + "candidates": [ + "FEP.FiniteInformation.finiteKL_self" + ], + "identifier": "finiteKL_self", + "resolution": "unresolved lexical scope", + "role": "proof_reference" }, + { + "identifier": "logPool_kl_decomposition", + "qualified_name": "FEP.CollectiveInference.logPool_kl_decomposition", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + } + ], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.finite_information" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.CollectiveInference", + "namespace_variable_context": [ + "{State₁ State₂ Observation₁ Observation₂ : Type*}\n [Fintype State₁] [Fintype State₂]\n [Fintype Observation₁] [Fintype Observation₂]", + "{α ι : Type*} [Fintype α] [Fintype ι]", + "[Nonempty α]" + ], + "preceding_scope_directives": [], + "qualified_name": "FEP.CollectiveInference.logPool_kl_unique_minimiser", + "source_line": 579, + "source_owner": "src/fep_lean/formal/collective_inference.lean", + "statement": "theorem logPool_kl_unique_minimiser\n (w : ι → ℝ) (hsum : ∑ i, w i = 1)\n (p : ι → FiniteLaw α) (hp : ∀ i x, 0 < p i x) (q : FiniteLaw α)\n (hle : ∑ i, w i * finiteKL q (p i) ≤\n ∑ i, w i * finiteKL (logPool w p) (p i)) :\n q = logPool w p", + "statement_sha256": "d181459e8b73e130dbccf4814d4d922d6eaa333ba0330d910f932f9840e4ee08" + }, + "FEP.CollectiveInference.logPool_pos": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype External]", - "type_source": "Fintype External", - "visibility": "instance" + "names": [ + "w" + ], + "role": "typed_binder", + "source": "(w : ι → ℝ)", + "type_source": "ι → ℝ", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[DecidableEq Internal]", - "type_source": "DecidableEq Internal", - "visibility": "instance" + "names": [ + "p" + ], + "role": "typed_binder", + "source": "(p : ι → FiniteLaw α)", + "type_source": "ι → FiniteLaw α", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "x" + ], + "role": "typed_binder", + "source": "(x : α)", + "type_source": "α", + "visibility": "explicit" + } + ], + "conclusion": "0 < logPool w p x", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "State₁", + "State₂", + "Observation₁", + "Observation₂" + ], + "role": "typed_binder", + "source": "{State₁ State₂ Observation₁ Observation₂ : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DecidableEq Sensory]", - "type_source": "DecidableEq Sensory", + "source": "[Fintype State₁]", + "type_source": "Fintype State₁", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DecidableEq Active]", - "type_source": "DecidableEq Active", + "source": "[Fintype State₂]", + "type_source": "Fintype State₂", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DecidableEq External]", - "type_source": "DecidableEq External", + "source": "[Fintype Observation₁]", + "type_source": "Fintype Observation₁", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Nontrivial Internal]", - "type_source": "Nontrivial Internal", + "source": "[Fintype Observation₂]", + "type_source": "Fintype Observation₂", "visibility": "instance" }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "α", + "ι" + ], + "role": "typed_binder", + "source": "{α ι : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Nontrivial Sensory]", - "type_source": "Nontrivial Sensory", + "source": "[Fintype α]", + "type_source": "Fintype α", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Nontrivial Active]", - "type_source": "Nontrivial Active", + "source": "[Fintype ι]", + "type_source": "Fintype ι", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Nontrivial External]", - "type_source": "Nontrivial External", + "source": "[Nonempty α]", + "type_source": "Nonempty α", "visibility": "instance" } ], - "declaration_mentions": [], + "declaration_mentions": [ + { + "identifier": "logPoolNormalizer_pos", + "qualified_name": "FEP.CollectiveInference.logPoolNormalizer_pos", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + } + ], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.finite_markov_dynamics", - "FepSketches.active_inference", - "FepSketches.decision_risk", - "FepSketches.markov_blanket", - "Mathlib.Analysis.Normed.Algebra.MatrixExponential" + "FepSketches.finite_information" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.ContinuousTimeMarkov.TwoStateRates", + "namespace": "FEP.CollectiveInference", "namespace_variable_context": [ - "{State : Type*} [Fintype State] [Nonempty State] [DecidableEq State]", - "{Internal Sensory Active External : Type*}\n [Fintype Internal] [Fintype Sensory] [Fintype Active] [Fintype External]\n [DecidableEq Internal] [DecidableEq Sensory] [DecidableEq Active]\n [DecidableEq External]\n [Nontrivial Internal] [Nontrivial Sensory]\n [Nontrivial Active] [Nontrivial External]" - ], - "preceding_scope_directives": [ - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DecidableEq State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DecidableEq State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DecidableEq State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DecidableEq State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - } + "{State₁ State₂ Observation₁ Observation₂ : Type*}\n [Fintype State₁] [Fintype State₂]\n [Fintype Observation₁] [Fintype Observation₂]", + "{α ι : Type*} [Fintype α] [Fintype ι]", + "[Nonempty α]" ], - "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.certifiedSemigroup_detailedBalanced", - "source_line": 1668, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", - "statement": "theorem certifiedSemigroup_detailedBalanced (rates : TwoStateRates) :\n rates.certifiedSemigroup.IsDetailedBalanced rates.stationaryLaw", - "statement_sha256": "c69b598b5c04217332cf1bf4f07a1b7240ec1a7167eeec0bb85de67c5e43a89d" + "preceding_scope_directives": [], + "qualified_name": "FEP.CollectiveInference.logPool_pos", + "source_line": 519, + "source_owner": "src/fep_lean/formal/collective_inference.lean", + "statement": "theorem logPool_pos (w : ι → ℝ) (p : ι → FiniteLaw α) (x : α) :\n 0 < logPool w p x", + "statement_sha256": "4e5426c36fdc34f68adeed1584eb78816654493fd98a0e450f1c95e5865a9b44" }, - "FEP.ContinuousTimeMarkov.TwoStateRates.certifiedSemigroup_kernel_eq_kernel": { + "FEP.CollectiveInference.log_logPool": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "rates" + "w" ], "role": "typed_binder", - "source": "(rates : TwoStateRates)", - "type_source": "TwoStateRates", + "source": "(w : ι → ℝ)", + "type_source": "ι → ℝ", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "time" + "p" ], "role": "typed_binder", - "source": "(time : ℝ)", - "type_source": "ℝ", + "source": "(p : ι → FiniteLaw α)", + "type_source": "ι → FiniteLaw α", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "hTime" + "x" ], "role": "typed_binder", - "source": "(hTime : 0 ≤ time)", - "type_source": "0 ≤ time", + "source": "(x : α)", + "type_source": "α", "visibility": "explicit" } ], - "conclusion": "rates.certifiedSemigroup.kernel time hTime = rates.kernel time hTime", + "conclusion": "Real.log (logPool w p x) =\n (∑ i, w i * Real.log (p i x)) - Real.log (logPoolNormalizer w p)", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "State" + "State₁", + "State₂", + "Observation₁", + "Observation₂" ], "role": "typed_binder", - "source": "{State : Type*}", + "source": "{State₁ State₂ Observation₁ Observation₂ : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -24471,36 +24929,42 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype State]", - "type_source": "Fintype State", + "source": "[Fintype State₁]", + "type_source": "Fintype State₁", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Nonempty State]", - "type_source": "Nonempty State", + "source": "[Fintype State₂]", + "type_source": "Fintype State₂", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DecidableEq State]", - "type_source": "DecidableEq State", + "source": "[Fintype Observation₁]", + "type_source": "Fintype Observation₁", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Observation₂]", + "type_source": "Fintype Observation₂", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Internal", - "Sensory", - "Active", - "External" + "α", + "ι" ], "role": "typed_binder", - "source": "{Internal Sensory Active External : Type*}", + "source": "{α ι : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -24508,210 +24972,218 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Internal]", - "type_source": "Fintype Internal", + "source": "[Fintype α]", + "type_source": "Fintype α", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Sensory]", - "type_source": "Fintype Sensory", + "source": "[Fintype ι]", + "type_source": "Fintype ι", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Active]", - "type_source": "Fintype Active", + "source": "[Nonempty α]", + "type_source": "Nonempty α", "visibility": "instance" - }, + } + ], + "declaration_mentions": [ + { + "identifier": "logPoolNormalizer_pos", + "qualified_name": "FEP.CollectiveInference.logPoolNormalizer_pos", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + } + ], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.finite_information" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.CollectiveInference", + "namespace_variable_context": [ + "{State₁ State₂ Observation₁ Observation₂ : Type*}\n [Fintype State₁] [Fintype State₂]\n [Fintype Observation₁] [Fintype Observation₂]", + "{α ι : Type*} [Fintype α] [Fintype ι]", + "[Nonempty α]" + ], + "preceding_scope_directives": [], + "qualified_name": "FEP.CollectiveInference.log_logPool", + "source_line": 523, + "source_owner": "src/fep_lean/formal/collective_inference.lean", + "statement": "theorem log_logPool (w : ι → ℝ) (p : ι → FiniteLaw α) (x : α) :\n Real.log (logPool w p x) =\n (∑ i, w i * Real.log (p i x)) - Real.log (logPoolNormalizer w p)", + "statement_sha256": "63217818295153094f254aef640fc4c5e7e8c2504dff55dc0f734c91b190b22b" + }, + "FEP.CollectiveInference.mixStep_consensusMatrix2": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype External]", - "type_source": "Fintype External", - "visibility": "instance" + "names": [ + "State" + ], + "role": "typed_binder", + "source": "{State : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DecidableEq Internal]", - "type_source": "DecidableEq Internal", + "source": "[Fintype State]", + "type_source": "Fintype State", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[DecidableEq Sensory]", - "type_source": "DecidableEq Sensory", - "visibility": "instance" + "names": [ + "left", + "right" + ], + "role": "typed_binder", + "source": "(left right : FiniteLaw State)", + "type_source": "FiniteLaw State", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[DecidableEq Active]", - "type_source": "DecidableEq Active", - "visibility": "instance" - }, + "names": [ + "s" + ], + "role": "typed_binder", + "source": "(s : State)", + "type_source": "State", + "visibility": "explicit" + } + ], + "conclusion": "mixStep consensusMatrix2 ![left s, right s] =\n ![consensusLeft left right s, consensusRight left right s]", + "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[DecidableEq External]", - "type_source": "DecidableEq External", - "visibility": "instance" + "names": [ + "State₁", + "State₂", + "Observation₁", + "Observation₂" + ], + "role": "typed_binder", + "source": "{State₁ State₂ Observation₁ Observation₂ : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Nontrivial Internal]", - "type_source": "Nontrivial Internal", + "source": "[Fintype State₁]", + "type_source": "Fintype State₁", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Nontrivial Sensory]", - "type_source": "Nontrivial Sensory", + "source": "[Fintype State₂]", + "type_source": "Fintype State₂", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Nontrivial Active]", - "type_source": "Nontrivial Active", + "source": "[Fintype Observation₁]", + "type_source": "Fintype Observation₁", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Nontrivial External]", - "type_source": "Nontrivial External", + "source": "[Fintype Observation₂]", + "type_source": "Fintype Observation₂", "visibility": "instance" } ], "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.finite_markov_dynamics", - "FepSketches.active_inference", - "FepSketches.decision_risk", - "FepSketches.markov_blanket", - "Mathlib.Analysis.Normed.Algebra.MatrixExponential" + "FepSketches.finite_information" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.ContinuousTimeMarkov.TwoStateRates", + "namespace": "FEP.CollectiveInference", "namespace_variable_context": [ - "{State : Type*} [Fintype State] [Nonempty State] [DecidableEq State]", - "{Internal Sensory Active External : Type*}\n [Fintype Internal] [Fintype Sensory] [Fintype Active] [Fintype External]\n [DecidableEq Internal] [DecidableEq Sensory] [DecidableEq Active]\n [DecidableEq External]\n [Nontrivial Internal] [Nontrivial Sensory]\n [Nontrivial Active] [Nontrivial External]" + "{State₁ State₂ Observation₁ Observation₂ : Type*}\n [Fintype State₁] [Fintype State₂]\n [Fintype Observation₁] [Fintype Observation₂]" ], - "preceding_scope_directives": [ - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DecidableEq State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DecidableEq State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DecidableEq State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - }, + "preceding_scope_directives": [], + "qualified_name": "FEP.CollectiveInference.mixStep_consensusMatrix2", + "source_line": 726, + "source_owner": "src/fep_lean/formal/collective_inference.lean", + "statement": "theorem mixStep_consensusMatrix2\n {State : Type*} [Fintype State] (left right : FiniteLaw State) (s : State) :\n mixStep consensusMatrix2 ![left s, right s] =\n ![consensusLeft left right s, consensusRight left right s]", + "statement_sha256": "60c1e503e1a7d242734124f6978d7dbaf0882a9bdee09b309bd02044873988dd" + }, + "FEP.CollectiveInference.mixStep_diff_le": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "W" + ], + "role": "typed_binder", + "source": "(W : ι → ι → ℝ)", + "type_source": "ι → ι → ℝ", + "visibility": "explicit" }, { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hrow" + ], + "role": "typed_binder", + "source": "(hrow : ∀ i, ∑ j, W i j = 1)", + "type_source": "∀ i, ∑ j, W i j = 1", + "visibility": "explicit" }, { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DecidableEq State] in" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "x" + ], + "role": "typed_binder", + "source": "(x : ι → ℝ)", + "type_source": "ι → ℝ", + "visibility": "explicit" }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - } - ], - "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.certifiedSemigroup_kernel_eq_kernel", - "source_line": 1648, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", - "statement": "theorem certifiedSemigroup_kernel_eq_kernel (rates : TwoStateRates)\n (time : ℝ) (hTime : 0 ≤ time) :\n rates.certifiedSemigroup.kernel time hTime = rates.kernel time hTime", - "statement_sha256": "fe18e2969ed93c09933c7c534e56b88ec6e1512ab77a247d85b7f3e0da7ff210" - }, - "FEP.ContinuousTimeMarkov.TwoStateRates.certifiedSemigroup_stationary": { - "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "rates" + "i", + "j" ], "role": "typed_binder", - "source": "(rates : TwoStateRates)", - "type_source": "TwoStateRates", + "source": "(i j : ι)", + "type_source": "ι", "visibility": "explicit" } ], - "conclusion": "rates.certifiedSemigroup.IsStationary rates.stationaryLaw", + "conclusion": "mixStep W x i - mixStep W x j ≤ (1 - rowOverlap W i j) * valueSpread x", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "State" + "State₁", + "State₂", + "Observation₁", + "Observation₂" ], "role": "typed_binder", - "source": "{State : Type*}", + "source": "{State₁ State₂ Observation₁ Observation₂ : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -24719,36 +25191,41 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype State]", - "type_source": "Fintype State", + "source": "[Fintype State₁]", + "type_source": "Fintype State₁", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Nonempty State]", - "type_source": "Nonempty State", + "source": "[Fintype State₂]", + "type_source": "Fintype State₂", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DecidableEq State]", - "type_source": "DecidableEq State", + "source": "[Fintype Observation₁]", + "type_source": "Fintype Observation₁", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Observation₂]", + "type_source": "Fintype Observation₂", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Internal", - "Sensory", - "Active", - "External" + "ι" ], "role": "typed_binder", - "source": "{Internal Sensory Active External : Type*}", + "source": "{ι : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -24756,210 +25233,242 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Internal]", - "type_source": "Fintype Internal", + "source": "[Fintype ι]", + "type_source": "Fintype ι", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Sensory]", - "type_source": "Fintype Sensory", + "source": "[Nonempty ι]", + "type_source": "Nonempty ι", "visibility": "instance" + } + ], + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.finite_information" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.CollectiveInference", + "namespace_variable_context": [ + "{State₁ State₂ Observation₁ Observation₂ : Type*}\n [Fintype State₁] [Fintype State₂]\n [Fintype Observation₁] [Fintype Observation₂]", + "{ι : Type*} [Fintype ι] [Nonempty ι]" + ], + "preceding_scope_directives": [], + "qualified_name": "FEP.CollectiveInference.mixStep_diff_le", + "source_line": 630, + "source_owner": "src/fep_lean/formal/collective_inference.lean", + "statement": "theorem mixStep_diff_le\n (W : ι → ι → ℝ) (hrow : ∀ i, ∑ j, W i j = 1)\n (x : ι → ℝ) (i j : ι) :\n mixStep W x i - mixStep W x j ≤ (1 - rowOverlap W i j) * valueSpread x", + "statement_sha256": "5c3e801ddab0312b555ba710ed2d573792c939c38b4e723426d9172ae694dd91" + }, + "FEP.CollectiveInference.productAgent_joint_mass": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "priorLeft" + ], + "role": "typed_binder", + "source": "(priorLeft : FiniteLaw State₁)", + "type_source": "FiniteLaw State₁", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype Active]", - "type_source": "Fintype Active", - "visibility": "instance" + "names": [ + "priorRight" + ], + "role": "typed_binder", + "source": "(priorRight : FiniteLaw State₂)", + "type_source": "FiniteLaw State₂", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype External]", - "type_source": "Fintype External", - "visibility": "instance" + "names": [ + "kernelLeft" + ], + "role": "typed_binder", + "source": "(kernelLeft : FiniteKernel State₁ Observation₁)", + "type_source": "FiniteKernel State₁ Observation₁", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[DecidableEq Internal]", - "type_source": "DecidableEq Internal", - "visibility": "instance" + "names": [ + "kernelRight" + ], + "role": "typed_binder", + "source": "(kernelRight : FiniteKernel State₂ Observation₂)", + "type_source": "FiniteKernel State₂ Observation₂", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[DecidableEq Sensory]", - "type_source": "DecidableEq Sensory", - "visibility": "instance" + "names": [ + "stateLeft" + ], + "role": "typed_binder", + "source": "(stateLeft : State₁)", + "type_source": "State₁", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[DecidableEq Active]", - "type_source": "DecidableEq Active", - "visibility": "instance" + "names": [ + "stateRight" + ], + "role": "typed_binder", + "source": "(stateRight : State₂)", + "type_source": "State₂", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[DecidableEq External]", - "type_source": "DecidableEq External", - "visibility": "instance" + "names": [ + "observationLeft" + ], + "role": "typed_binder", + "source": "(observationLeft : Observation₁)", + "type_source": "Observation₁", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "observationRight" + ], + "role": "typed_binder", + "source": "(observationRight : Observation₂)", + "type_source": "Observation₂", + "visibility": "explicit" + } + ], + "conclusion": "(productKernel kernelLeft kernelRight).joint\n (FiniteLaw.product priorLeft priorRight)\n ((stateLeft, stateRight), (observationLeft, observationRight)) =\n kernelLeft.joint priorLeft (stateLeft, observationLeft) *\n kernelRight.joint priorRight (stateRight, observationRight)", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "State₁", + "State₂", + "Observation₁", + "Observation₂" + ], + "role": "typed_binder", + "source": "{State₁ State₂ Observation₁ Observation₂ : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Nontrivial Internal]", - "type_source": "Nontrivial Internal", + "source": "[Fintype State₁]", + "type_source": "Fintype State₁", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Nontrivial Sensory]", - "type_source": "Nontrivial Sensory", + "source": "[Fintype State₂]", + "type_source": "Fintype State₂", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Nontrivial Active]", - "type_source": "Nontrivial Active", + "source": "[Fintype Observation₁]", + "type_source": "Fintype Observation₁", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Nontrivial External]", - "type_source": "Nontrivial External", + "source": "[Fintype Observation₂]", + "type_source": "Fintype Observation₂", "visibility": "instance" } ], "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.finite_markov_dynamics", - "FepSketches.active_inference", - "FepSketches.decision_risk", - "FepSketches.markov_blanket", - "Mathlib.Analysis.Normed.Algebra.MatrixExponential" + "FepSketches.finite_information" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.ContinuousTimeMarkov.TwoStateRates", + "namespace": "FEP.CollectiveInference", "namespace_variable_context": [ - "{State : Type*} [Fintype State] [Nonempty State] [DecidableEq State]", - "{Internal Sensory Active External : Type*}\n [Fintype Internal] [Fintype Sensory] [Fintype Active] [Fintype External]\n [DecidableEq Internal] [DecidableEq Sensory] [DecidableEq Active]\n [DecidableEq External]\n [Nontrivial Internal] [Nontrivial Sensory]\n [Nontrivial Active] [Nontrivial External]" + "{State₁ State₂ Observation₁ Observation₂ : Type*}\n [Fintype State₁] [Fintype State₂]\n [Fintype Observation₁] [Fintype Observation₂]" ], - "preceding_scope_directives": [ - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DecidableEq State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DecidableEq State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DecidableEq State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - }, + "preceding_scope_directives": [], + "qualified_name": "FEP.CollectiveInference.productAgent_joint_mass", + "source_line": 51, + "source_owner": "src/fep_lean/formal/collective_inference.lean", + "statement": "theorem productAgent_joint_mass\n (priorLeft : FiniteLaw State₁) (priorRight : FiniteLaw State₂)\n (kernelLeft : FiniteKernel State₁ Observation₁)\n (kernelRight : FiniteKernel State₂ Observation₂)\n (stateLeft : State₁) (stateRight : State₂)\n (observationLeft : Observation₁) (observationRight : Observation₂) :\n (productKernel kernelLeft kernelRight).joint\n (FiniteLaw.product priorLeft priorRight)\n ((stateLeft, stateRight), (observationLeft, observationRight)) =\n kernelLeft.joint priorLeft (stateLeft, observationLeft) *\n kernelRight.joint priorRight (stateRight, observationRight)", + "statement_sha256": "c5517c35acaa28f27dc81e250bd3079b0cbf4b02e183bafe099b9595d75490d0" + }, + "FEP.CollectiveInference.productExpectedCost_additive": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "left" + ], + "role": "typed_binder", + "source": "(left : FiniteLaw State₁)", + "type_source": "FiniteLaw State₁", + "visibility": "explicit" }, { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "right" + ], + "role": "typed_binder", + "source": "(right : FiniteLaw State₂)", + "type_source": "FiniteLaw State₂", + "visibility": "explicit" }, { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DecidableEq State] in" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "leftCost" + ], + "role": "typed_binder", + "source": "(leftCost : State₁ → ℝ)", + "type_source": "State₁ → ℝ", + "visibility": "explicit" }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - } - ], - "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.certifiedSemigroup_stationary", - "source_line": 1655, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", - "statement": "theorem certifiedSemigroup_stationary (rates : TwoStateRates) :\n rates.certifiedSemigroup.IsStationary rates.stationaryLaw", - "statement_sha256": "a005724180ba826f4fe0860649ba2caa4ad7258186d4d038a574518ac0d76e55" - }, - "FEP.ContinuousTimeMarkov.TwoStateRates.decayRate_pos": { - "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "rates" + "rightCost" ], "role": "typed_binder", - "source": "(rates : TwoStateRates)", - "type_source": "TwoStateRates", + "source": "(rightCost : State₂ → ℝ)", + "type_source": "State₂ → ℝ", "visibility": "explicit" } ], - "conclusion": "0 < rates.decayRate", + "conclusion": "expectedCost (FiniteLaw.product left right)\n (fun state => leftCost state.1 + rightCost state.2) =\n expectedCost left leftCost + expectedCost right rightCost", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "State" + "State₁", + "State₂", + "Observation₁", + "Observation₂" ], "role": "typed_binder", - "source": "{State : Type*}", + "source": "{State₁ State₂ Observation₁ Observation₂ : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -24967,36 +25476,98 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype State]", - "type_source": "Fintype State", + "source": "[Fintype State₁]", + "type_source": "Fintype State₁", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Nonempty State]", - "type_source": "Nonempty State", + "source": "[Fintype State₂]", + "type_source": "Fintype State₂", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DecidableEq State]", - "type_source": "DecidableEq State", + "source": "[Fintype Observation₁]", + "type_source": "Fintype Observation₁", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Observation₂]", + "type_source": "Fintype Observation₂", "visibility": "instance" + } + ], + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.finite_information" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.CollectiveInference", + "namespace_variable_context": [ + "{State₁ State₂ Observation₁ Observation₂ : Type*}\n [Fintype State₁] [Fintype State₂]\n [Fintype Observation₁] [Fintype Observation₂]" + ], + "preceding_scope_directives": [], + "qualified_name": "FEP.CollectiveInference.productExpectedCost_additive", + "source_line": 78, + "source_owner": "src/fep_lean/formal/collective_inference.lean", + "statement": "theorem productExpectedCost_additive\n (left : FiniteLaw State₁) (right : FiniteLaw State₂)\n (leftCost : State₁ → ℝ) (rightCost : State₂ → ℝ) :\n expectedCost (FiniteLaw.product left right)\n (fun state => leftCost state.1 + rightCost state.2) =\n expectedCost left leftCost + expectedCost right rightCost", + "statement_sha256": "cc8c81683b2cf5440a7eb42bfd7fc81d11bac62b1e6c6af8d95d35134503f2f3" + }, + "FEP.CollectiveInference.productKernel_sum_one": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "left" + ], + "role": "typed_binder", + "source": "(left : FiniteKernel State₁ Observation₁)", + "type_source": "FiniteKernel State₁ Observation₁", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Internal", - "Sensory", - "Active", - "External" + "right" ], "role": "typed_binder", - "source": "{Internal Sensory Active External : Type*}", + "source": "(right : FiniteKernel State₂ Observation₂)", + "type_source": "FiniteKernel State₂ Observation₂", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "state" + ], + "role": "typed_binder", + "source": "(state : State₁ × State₂)", + "type_source": "State₁ × State₂", + "visibility": "explicit" + } + ], + "conclusion": "∑ observation, productKernel left right state observation = 1", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "State₁", + "State₂", + "Observation₁", + "Observation₂" + ], + "role": "typed_binder", + "source": "{State₁ State₂ Observation₁ Observation₂ : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -25004,231 +25575,224 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Internal]", - "type_source": "Fintype Internal", + "source": "[Fintype State₁]", + "type_source": "Fintype State₁", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Sensory]", - "type_source": "Fintype Sensory", + "source": "[Fintype State₂]", + "type_source": "Fintype State₂", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Active]", - "type_source": "Fintype Active", + "source": "[Fintype Observation₁]", + "type_source": "Fintype Observation₁", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype External]", - "type_source": "Fintype External", + "source": "[Fintype Observation₂]", + "type_source": "Fintype Observation₂", "visibility": "instance" + } + ], + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.finite_information" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.CollectiveInference", + "namespace_variable_context": [ + "{State₁ State₂ Observation₁ Observation₂ : Type*}\n [Fintype State₁] [Fintype State₂]\n [Fintype Observation₁] [Fintype Observation₂]" + ], + "preceding_scope_directives": [], + "qualified_name": "FEP.CollectiveInference.productKernel_sum_one", + "source_line": 42, + "source_owner": "src/fep_lean/formal/collective_inference.lean", + "statement": "theorem productKernel_sum_one\n (left : FiniteKernel State₁ Observation₁)\n (right : FiniteKernel State₂ Observation₂)\n (state : State₁ × State₂) :\n ∑ observation, productKernel left right state observation = 1", + "statement_sha256": "4c8ee5c8df802696a428c8cb3c07f130dc4f029613a56c6cfb568bb2b189ab51" + }, + "FEP.CollectiveInference.sub_le_valueSpread": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "x" + ], + "role": "typed_binder", + "source": "(x : ι → ℝ)", + "type_source": "ι → ℝ", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[DecidableEq Internal]", - "type_source": "DecidableEq Internal", - "visibility": "instance" + "names": [ + "i", + "j" + ], + "role": "typed_binder", + "source": "(i j : ι)", + "type_source": "ι", + "visibility": "explicit" + } + ], + "conclusion": "x i - x j ≤ valueSpread x", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "State₁", + "State₂", + "Observation₁", + "Observation₂" + ], + "role": "typed_binder", + "source": "{State₁ State₂ Observation₁ Observation₂ : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DecidableEq Sensory]", - "type_source": "DecidableEq Sensory", + "source": "[Fintype State₁]", + "type_source": "Fintype State₁", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DecidableEq Active]", - "type_source": "DecidableEq Active", + "source": "[Fintype State₂]", + "type_source": "Fintype State₂", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DecidableEq External]", - "type_source": "DecidableEq External", + "source": "[Fintype Observation₁]", + "type_source": "Fintype Observation₁", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Nontrivial Internal]", - "type_source": "Nontrivial Internal", + "source": "[Fintype Observation₂]", + "type_source": "Fintype Observation₂", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Nontrivial Sensory]", - "type_source": "Nontrivial Sensory", - "visibility": "instance" + "names": [ + "ι" + ], + "role": "typed_binder", + "source": "{ι : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Nontrivial Active]", - "type_source": "Nontrivial Active", + "source": "[Fintype ι]", + "type_source": "Fintype ι", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Nontrivial External]", - "type_source": "Nontrivial External", + "source": "[Nonempty ι]", + "type_source": "Nonempty ι", "visibility": "instance" } ], "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.finite_markov_dynamics", - "FepSketches.active_inference", - "FepSketches.decision_risk", - "FepSketches.markov_blanket", - "Mathlib.Analysis.Normed.Algebra.MatrixExponential" + "FepSketches.finite_information" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.ContinuousTimeMarkov.TwoStateRates", + "namespace": "FEP.CollectiveInference", "namespace_variable_context": [ - "{State : Type*} [Fintype State] [Nonempty State] [DecidableEq State]", - "{Internal Sensory Active External : Type*}\n [Fintype Internal] [Fintype Sensory] [Fintype Active] [Fintype External]\n [DecidableEq Internal] [DecidableEq Sensory] [DecidableEq Active]\n [DecidableEq External]\n [Nontrivial Internal] [Nontrivial Sensory]\n [Nontrivial Active] [Nontrivial External]" - ], - "preceding_scope_directives": [ - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DecidableEq State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DecidableEq State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DecidableEq State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DecidableEq State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - } + "{State₁ State₂ Observation₁ Observation₂ : Type*}\n [Fintype State₁] [Fintype State₂]\n [Fintype Observation₁] [Fintype Observation₂]", + "{ι : Type*} [Fintype ι] [Nonempty ι]" ], - "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.decayRate_pos", - "source_line": 1364, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", - "statement": "theorem decayRate_pos (rates : TwoStateRates) : 0 < rates.decayRate", - "statement_sha256": "86526d6bd8dd0f315b3524a9618f3b93437c8f7a30f1b273470c151f8cf4b9fe" + "preceding_scope_directives": [], + "qualified_name": "FEP.CollectiveInference.sub_le_valueSpread", + "source_line": 622, + "source_owner": "src/fep_lean/formal/collective_inference.lean", + "statement": "theorem sub_le_valueSpread (x : ι → ℝ) (i j : ι) : x i - x j ≤ valueSpread x", + "statement_sha256": "66b7390fdd7e50866c9a213c55fc142404135c2100fc42a453a48c0d4a71aa71" }, - "FEP.ContinuousTimeMarkov.TwoStateRates.generator_mul_transition": { + "FEP.CollectiveInference.unitWeightProductOfExpertsPool_sum_one": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "rates" + "State" ], "role": "typed_binder", - "source": "(rates : TwoStateRates)", - "type_source": "TwoStateRates", - "visibility": "explicit" + "source": "{State : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype State]", + "type_source": "Fintype State", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "time" + "left", + "right" ], "role": "typed_binder", - "source": "(time : ℝ)", - "type_source": "ℝ", + "source": "(left right : FiniteLaw State)", + "type_source": "FiniteLaw State", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "source", - "target" + "normalizerPositive" ], "role": "typed_binder", - "source": "(source target : Bool)", - "type_source": "Bool", + "source": "(normalizerPositive : 0 < productOfExpertsNormalizer left right)", + "type_source": "0 < productOfExpertsNormalizer left right", "visibility": "explicit" } ], - "conclusion": "(∑ middle,\n rates.generator source middle * rates.transition time middle target) =\n rates.transitionDerivative time source target", + "conclusion": "∑ state, unitWeightProductOfExpertsPool left right normalizerPositive state = 1", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "State" + "State₁", + "State₂", + "Observation₁", + "Observation₂" ], "role": "typed_binder", - "source": "{State : Type*}", + "source": "{State₁ State₂ Observation₁ Observation₂ : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -25236,267 +25800,257 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype State]", - "type_source": "Fintype State", + "source": "[Fintype State₁]", + "type_source": "Fintype State₁", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Nonempty State]", - "type_source": "Nonempty State", + "source": "[Fintype State₂]", + "type_source": "Fintype State₂", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DecidableEq State]", - "type_source": "DecidableEq State", + "source": "[Fintype Observation₁]", + "type_source": "Fintype Observation₁", "visibility": "instance" }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "Internal", - "Sensory", - "Active", - "External" - ], - "role": "typed_binder", - "source": "{Internal Sensory Active External : Type*}", - "type_source": "Type*", - "visibility": "implicit" - }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Internal]", - "type_source": "Fintype Internal", + "source": "[Fintype Observation₂]", + "type_source": "Fintype Observation₂", "visibility": "instance" - }, + } + ], + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.finite_information" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.CollectiveInference", + "namespace_variable_context": [ + "{State₁ State₂ Observation₁ Observation₂ : Type*}\n [Fintype State₁] [Fintype State₂]\n [Fintype Observation₁] [Fintype Observation₂]" + ], + "preceding_scope_directives": [], + "qualified_name": "FEP.CollectiveInference.unitWeightProductOfExpertsPool_sum_one", + "source_line": 228, + "source_owner": "src/fep_lean/formal/collective_inference.lean", + "statement": "theorem unitWeightProductOfExpertsPool_sum_one\n {State : Type*} [Fintype State]\n (left right : FiniteLaw State)\n (normalizerPositive : 0 < productOfExpertsNormalizer left right) :\n ∑ state, unitWeightProductOfExpertsPool left right normalizerPositive state = 1", + "statement_sha256": "e0234db655db56b2eff6ef2194eb4a8f516d17be519eaa72107abb83714c0ef3" + }, + "FEP.CollectiveInference.valueSpread_mixStep_le": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype Sensory]", - "type_source": "Fintype Sensory", - "visibility": "instance" + "names": [ + "W" + ], + "role": "typed_binder", + "source": "(W : ι → ι → ℝ)", + "type_source": "ι → ι → ℝ", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype Active]", - "type_source": "Fintype Active", - "visibility": "instance" + "names": [ + "hrow" + ], + "role": "typed_binder", + "source": "(hrow : ∀ i, ∑ j, W i j = 1)", + "type_source": "∀ i, ∑ j, W i j = 1", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype External]", - "type_source": "Fintype External", - "visibility": "instance" - }, + "names": [ + "x" + ], + "role": "typed_binder", + "source": "(x : ι → ℝ)", + "type_source": "ι → ℝ", + "visibility": "explicit" + } + ], + "conclusion": "valueSpread (mixStep W x) ≤ (1 - scramblingCoefficient W) * valueSpread x", + "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[DecidableEq Internal]", - "type_source": "DecidableEq Internal", - "visibility": "instance" + "names": [ + "State₁", + "State₂", + "Observation₁", + "Observation₂" + ], + "role": "typed_binder", + "source": "{State₁ State₂ Observation₁ Observation₂ : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DecidableEq Sensory]", - "type_source": "DecidableEq Sensory", + "source": "[Fintype State₁]", + "type_source": "Fintype State₁", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DecidableEq Active]", - "type_source": "DecidableEq Active", + "source": "[Fintype State₂]", + "type_source": "Fintype State₂", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DecidableEq External]", - "type_source": "DecidableEq External", + "source": "[Fintype Observation₁]", + "type_source": "Fintype Observation₁", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Nontrivial Internal]", - "type_source": "Nontrivial Internal", + "source": "[Fintype Observation₂]", + "type_source": "Fintype Observation₂", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Nontrivial Sensory]", - "type_source": "Nontrivial Sensory", - "visibility": "instance" + "names": [ + "ι" + ], + "role": "typed_binder", + "source": "{ι : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Nontrivial Active]", - "type_source": "Nontrivial Active", + "source": "[Fintype ι]", + "type_source": "Fintype ι", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Nontrivial External]", - "type_source": "Nontrivial External", + "source": "[Nonempty ι]", + "type_source": "Nonempty ι", "visibility": "instance" } ], - "declaration_mentions": [], + "declaration_mentions": [ + { + "identifier": "mixStep_diff_le", + "qualified_name": "FEP.CollectiveInference.mixStep_diff_le", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + }, + { + "identifier": "valueSpread_nonneg", + "qualified_name": "FEP.CollectiveInference.valueSpread_nonneg", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + } + ], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.finite_markov_dynamics", - "FepSketches.active_inference", - "FepSketches.decision_risk", - "FepSketches.markov_blanket", - "Mathlib.Analysis.Normed.Algebra.MatrixExponential" + "FepSketches.finite_information" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.ContinuousTimeMarkov.TwoStateRates", + "namespace": "FEP.CollectiveInference", "namespace_variable_context": [ - "{State : Type*} [Fintype State] [Nonempty State] [DecidableEq State]", - "{Internal Sensory Active External : Type*}\n [Fintype Internal] [Fintype Sensory] [Fintype Active] [Fintype External]\n [DecidableEq Internal] [DecidableEq Sensory] [DecidableEq Active]\n [DecidableEq External]\n [Nontrivial Internal] [Nontrivial Sensory]\n [Nontrivial Active] [Nontrivial External]" + "{State₁ State₂ Observation₁ Observation₂ : Type*}\n [Fintype State₁] [Fintype State₂]\n [Fintype Observation₁] [Fintype Observation₂]", + "{ι : Type*} [Fintype ι] [Nonempty ι]" ], - "preceding_scope_directives": [ - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DecidableEq State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DecidableEq State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DecidableEq State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - }, + "preceding_scope_directives": [], + "qualified_name": "FEP.CollectiveInference.valueSpread_mixStep_le", + "source_line": 672, + "source_owner": "src/fep_lean/formal/collective_inference.lean", + "statement": "theorem valueSpread_mixStep_le\n (W : ι → ι → ℝ) (hrow : ∀ i, ∑ j, W i j = 1)\n (x : ι → ℝ) :\n valueSpread (mixStep W x) ≤ (1 - scramblingCoefficient W) * valueSpread x", + "statement_sha256": "7fc07439f2b329fb6c75b4f3dabf139ac3f0f94de986cc6d89801237eccf96ac" + }, + "FEP.CollectiveInference.valueSpread_mixStep_lt": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "W" + ], + "role": "typed_binder", + "source": "(W : ι → ι → ℝ)", + "type_source": "ι → ι → ℝ", + "visibility": "explicit" }, { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DecidableEq State] in" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hrow" + ], + "role": "typed_binder", + "source": "(hrow : ∀ i, ∑ j, W i j = 1)", + "type_source": "∀ i, ∑ j, W i j = 1", + "visibility": "explicit" }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - } - ], - "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.generator_mul_transition", - "source_line": 1554, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", - "statement": "theorem generator_mul_transition (rates : TwoStateRates) (time : ℝ)\n (source target : Bool) :\n (∑ middle,\n rates.generator source middle * rates.transition time middle target) =\n rates.transitionDerivative time source target", - "statement_sha256": "024a9f0efa93db27adde7d5a1b56ece1f52710e68db985eca28d2b85b1753e4d" - }, - "FEP.ContinuousTimeMarkov.TwoStateRates.lyapunov_exact": { - "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "rates" + "x" ], "role": "typed_binder", - "source": "(rates : TwoStateRates)", - "type_source": "TwoStateRates", + "source": "(x : ι → ℝ)", + "type_source": "ι → ℝ", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "initial" + "hδ" ], "role": "typed_binder", - "source": "(initial : FiniteLaw Bool)", - "type_source": "FiniteLaw Bool", + "source": "(hδ : 0 < scramblingCoefficient W)", + "type_source": "0 < scramblingCoefficient W", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "time" + "hx" ], "role": "typed_binder", - "source": "(time : ℝ)", - "type_source": "ℝ", + "source": "(hx : 0 < valueSpread x)", + "type_source": "0 < valueSpread x", "visibility": "explicit" } ], - "conclusion": "rates.lyapunov initial time =\n rates.rho time ^ 2 *\n (initial true - rates.stationaryTrue) ^ 2", + "conclusion": "valueSpread (mixStep W x) < valueSpread x", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "State" + "State₁", + "State₂", + "Observation₁", + "Observation₂" ], "role": "typed_binder", - "source": "{State : Type*}", + "source": "{State₁ State₂ Observation₁ Observation₂ : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -25504,36 +26058,41 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype State]", - "type_source": "Fintype State", + "source": "[Fintype State₁]", + "type_source": "Fintype State₁", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Nonempty State]", - "type_source": "Nonempty State", + "source": "[Fintype State₂]", + "type_source": "Fintype State₂", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DecidableEq State]", - "type_source": "DecidableEq State", + "source": "[Fintype Observation₁]", + "type_source": "Fintype Observation₁", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Observation₂]", + "type_source": "Fintype Observation₂", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Internal", - "Sensory", - "Active", - "External" + "ι" ], "role": "typed_binder", - "source": "{Internal Sensory Active External : Type*}", + "source": "{ι : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -25541,233 +26100,227 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Internal]", - "type_source": "Fintype Internal", + "source": "[Fintype ι]", + "type_source": "Fintype ι", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Sensory]", - "type_source": "Fintype Sensory", + "source": "[Nonempty ι]", + "type_source": "Nonempty ι", "visibility": "instance" - }, + } + ], + "declaration_mentions": [ { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype Active]", - "type_source": "Fintype Active", - "visibility": "instance" - }, + "identifier": "valueSpread_mixStep_le", + "qualified_name": "FEP.CollectiveInference.valueSpread_mixStep_le", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + } + ], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.finite_information" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.CollectiveInference", + "namespace_variable_context": [ + "{State₁ State₂ Observation₁ Observation₂ : Type*}\n [Fintype State₁] [Fintype State₂]\n [Fintype Observation₁] [Fintype Observation₂]", + "{ι : Type*} [Fintype ι] [Nonempty ι]" + ], + "preceding_scope_directives": [], + "qualified_name": "FEP.CollectiveInference.valueSpread_mixStep_lt", + "source_line": 695, + "source_owner": "src/fep_lean/formal/collective_inference.lean", + "statement": "theorem valueSpread_mixStep_lt\n (W : ι → ι → ℝ) (hrow : ∀ i, ∑ j, W i j = 1)\n (x : ι → ℝ) (hδ : 0 < scramblingCoefficient W) (hx : 0 < valueSpread x) :\n valueSpread (mixStep W x) < valueSpread x", + "statement_sha256": "706db959a34fc8985a4ed299518818a5c2ed49ec124ff0b2a7f9a0a1c3107e90" + }, + "FEP.CollectiveInference.valueSpread_nonneg": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype External]", - "type_source": "Fintype External", - "visibility": "instance" - }, + "names": [ + "x" + ], + "role": "typed_binder", + "source": "(x : ι → ℝ)", + "type_source": "ι → ℝ", + "visibility": "explicit" + } + ], + "conclusion": "0 ≤ valueSpread x", + "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[DecidableEq Internal]", - "type_source": "DecidableEq Internal", - "visibility": "instance" + "names": [ + "State₁", + "State₂", + "Observation₁", + "Observation₂" + ], + "role": "typed_binder", + "source": "{State₁ State₂ Observation₁ Observation₂ : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DecidableEq Sensory]", - "type_source": "DecidableEq Sensory", + "source": "[Fintype State₁]", + "type_source": "Fintype State₁", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DecidableEq Active]", - "type_source": "DecidableEq Active", + "source": "[Fintype State₂]", + "type_source": "Fintype State₂", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DecidableEq External]", - "type_source": "DecidableEq External", + "source": "[Fintype Observation₁]", + "type_source": "Fintype Observation₁", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Nontrivial Internal]", - "type_source": "Nontrivial Internal", + "source": "[Fintype Observation₂]", + "type_source": "Fintype Observation₂", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Nontrivial Sensory]", - "type_source": "Nontrivial Sensory", - "visibility": "instance" + "names": [ + "ι" + ], + "role": "typed_binder", + "source": "{ι : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Nontrivial Active]", - "type_source": "Nontrivial Active", + "source": "[Fintype ι]", + "type_source": "Fintype ι", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Nontrivial External]", - "type_source": "Nontrivial External", + "source": "[Nonempty ι]", + "type_source": "Nonempty ι", "visibility": "instance" } ], "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.finite_markov_dynamics", - "FepSketches.active_inference", - "FepSketches.decision_risk", - "FepSketches.markov_blanket", - "Mathlib.Analysis.Normed.Algebra.MatrixExponential" + "FepSketches.finite_information" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.ContinuousTimeMarkov.TwoStateRates", + "namespace": "FEP.CollectiveInference", "namespace_variable_context": [ - "{State : Type*} [Fintype State] [Nonempty State] [DecidableEq State]", - "{Internal Sensory Active External : Type*}\n [Fintype Internal] [Fintype Sensory] [Fintype Active] [Fintype External]\n [DecidableEq Internal] [DecidableEq Sensory] [DecidableEq Active]\n [DecidableEq External]\n [Nontrivial Internal] [Nontrivial Sensory]\n [Nontrivial Active] [Nontrivial External]" + "{State₁ State₂ Observation₁ Observation₂ : Type*}\n [Fintype State₁] [Fintype State₂]\n [Fintype Observation₁] [Fintype Observation₂]", + "{ι : Type*} [Fintype ι] [Nonempty ι]" ], - "preceding_scope_directives": [ - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DecidableEq State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DecidableEq State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DecidableEq State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - }, + "preceding_scope_directives": [], + "qualified_name": "FEP.CollectiveInference.valueSpread_nonneg", + "source_line": 615, + "source_owner": "src/fep_lean/formal/collective_inference.lean", + "statement": "theorem valueSpread_nonneg (x : ι → ℝ) : 0 ≤ valueSpread x", + "statement_sha256": "e139878bf783a3069fba9fd24cf64bc7c27c895787d95b09975d9f8b9dfe2c36" + }, + "FEP.ContinuousTimeMarkov.ActionIndexedSemigroup.selectedActionTransition_eq_sampledSemigroup": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "indexed" + ], + "role": "typed_binder", + "source": "(indexed : ActionIndexedSemigroup State Action)", + "type_source": "ActionIndexedSemigroup State Action", + "visibility": "explicit" }, { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DecidableEq State] in" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "model" + ], + "role": "typed_binder", + "source": "(model : FEP.ActiveInference.GenerativeModel Policy State Outcome)", + "type_source": "FEP.ActiveInference.GenerativeModel Policy State Outcome", + "visibility": "explicit" }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - } - ], - "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.lyapunov_exact", - "source_line": 1702, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", - "statement": "theorem lyapunov_exact (rates : TwoStateRates)\n (initial : FiniteLaw Bool) (time : ℝ) :\n rates.lyapunov initial time =\n rates.rho time ^ 2 *\n (initial true - rates.stationaryTrue) ^ 2", - "statement_sha256": "40cd1619b3fdfb690dff2fdfd059cdfc4853ae9a24c935f93b445def145f4a09" - }, - "FEP.ContinuousTimeMarkov.TwoStateRates.lyapunov_hasDerivAt": { - "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "rates" + "policyToAction" ], "role": "typed_binder", - "source": "(rates : TwoStateRates)", - "type_source": "TwoStateRates", + "source": "(policyToAction : Policy → Action)", + "type_source": "Policy → Action", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "initial" + "transition_consistent" ], "role": "typed_binder", - "source": "(initial : FiniteLaw Bool)", - "type_source": "FiniteLaw Bool", + "source": "(transition_consistent : ∀ policy,\n indexed.sampledKernel (policyToAction policy) = model.transition policy)", + "type_source": "∀ policy,\n indexed.sampledKernel (policyToAction policy) = model.transition policy", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "time" + "policy" ], "role": "typed_binder", - "source": "(time : ℝ)", - "type_source": "ℝ", + "source": "(policy : Policy)", + "type_source": "Policy", "visibility": "explicit" } ], - "conclusion": "HasDerivAt (rates.lyapunov initial)\n (-2 * rates.decayRate * rates.lyapunov initial time) time", + "conclusion": "(indexed.toActionInterface model policyToAction\n transition_consistent).actionTransition\n ((indexed.toActionInterface model policyToAction\n transition_consistent).policyToAction policy) =\n indexed.sampledKernel (policyToAction policy)", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "State" + "Policy", + "State", + "Outcome", + "Action" ], "role": "typed_binder", - "source": "{State : Type*}", + "source": "{Policy State Outcome Action : Type*}", "type_source": "Type*", "visibility": "implicit" }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Policy]", + "type_source": "Fintype Policy", + "visibility": "instance" + }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], @@ -25780,8 +26333,16 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Nonempty State]", - "type_source": "Nonempty State", + "source": "[Fintype Outcome]", + "type_source": "Fintype Outcome", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Action]", + "type_source": "Fintype Action", "visibility": "instance" }, { @@ -25791,114 +26352,156 @@ "source": "[DecidableEq State]", "type_source": "DecidableEq State", "visibility": "instance" - }, + } + ], + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.finite_markov_dynamics", + "FepSketches.active_inference", + "FepSketches.decision_risk", + "FepSketches.markov_blanket", + "Mathlib.Analysis.Normed.Algebra.MatrixExponential" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.ContinuousTimeMarkov.ActionIndexedSemigroup", + "namespace_variable_context": [ + "{Policy State Outcome Action : Type*}\n [Fintype Policy] [Fintype State] [Fintype Outcome] [Fintype Action]\n [DecidableEq State]" + ], + "preceding_scope_directives": [], + "qualified_name": "FEP.ContinuousTimeMarkov.ActionIndexedSemigroup.selectedActionTransition_eq_sampledSemigroup", + "source_line": 271, + "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "statement": "theorem selectedActionTransition_eq_sampledSemigroup\n (indexed : ActionIndexedSemigroup State Action)\n (model : FEP.ActiveInference.GenerativeModel Policy State Outcome)\n (policyToAction : Policy → Action)\n (transition_consistent : ∀ policy,\n indexed.sampledKernel (policyToAction policy) = model.transition policy)\n (policy : Policy) :\n (indexed.toActionInterface model policyToAction\n transition_consistent).actionTransition\n ((indexed.toActionInterface model policyToAction\n transition_consistent).policyToAction policy) =\n indexed.sampledKernel (policyToAction policy)", + "statement_sha256": "5e75a981f1709c2d555ffdbd0e89300e377c30685f1cff5f9bbba2927bf803cb" + }, + "FEP.ContinuousTimeMarkov.ActionIndexedSemigroup.toGenerativeModel_transition": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Internal", - "Sensory", - "Active", - "External" + "indexed" ], "role": "typed_binder", - "source": "{Internal Sensory Active External : Type*}", - "type_source": "Type*", - "visibility": "implicit" + "source": "(indexed : ActionIndexedSemigroup State Action)", + "type_source": "ActionIndexedSemigroup State Action", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype Internal]", - "type_source": "Fintype Internal", - "visibility": "instance" + "names": [ + "policyToAction" + ], + "role": "typed_binder", + "source": "(policyToAction : Policy → Action)", + "type_source": "Policy → Action", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype Sensory]", - "type_source": "Fintype Sensory", - "visibility": "instance" + "names": [ + "initialState" + ], + "role": "typed_binder", + "source": "(initialState : FiniteLaw State)", + "type_source": "FiniteLaw State", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype Active]", - "type_source": "Fintype Active", - "visibility": "instance" + "names": [ + "likelihood" + ], + "role": "typed_binder", + "source": "(likelihood : FiniteKernel State Outcome)", + "type_source": "FiniteKernel State Outcome", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype External]", - "type_source": "Fintype External", - "visibility": "instance" + "names": [ + "preferences" + ], + "role": "typed_binder", + "source": "(preferences : FiniteLaw Outcome)", + "type_source": "FiniteLaw Outcome", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[DecidableEq Internal]", - "type_source": "DecidableEq Internal", - "visibility": "instance" + "names": [ + "policyPrior" + ], + "role": "typed_binder", + "source": "(policyPrior : FiniteLaw Policy)", + "type_source": "FiniteLaw Policy", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[DecidableEq Sensory]", - "type_source": "DecidableEq Sensory", - "visibility": "instance" - }, + "names": [ + "policy" + ], + "role": "typed_binder", + "source": "(policy : Policy)", + "type_source": "Policy", + "visibility": "explicit" + } + ], + "conclusion": "(indexed.toGenerativeModel policyToAction initialState likelihood\n preferences policyPrior).transition policy =\n indexed.sampledKernel (policyToAction policy)", + "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[DecidableEq Active]", - "type_source": "DecidableEq Active", - "visibility": "instance" + "names": [ + "Policy", + "State", + "Outcome", + "Action" + ], + "role": "typed_binder", + "source": "{Policy State Outcome Action : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DecidableEq External]", - "type_source": "DecidableEq External", + "source": "[Fintype Policy]", + "type_source": "Fintype Policy", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Nontrivial Internal]", - "type_source": "Nontrivial Internal", + "source": "[Fintype State]", + "type_source": "Fintype State", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Nontrivial Sensory]", - "type_source": "Nontrivial Sensory", + "source": "[Fintype Outcome]", + "type_source": "Fintype Outcome", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Nontrivial Active]", - "type_source": "Nontrivial Active", + "source": "[Fintype Action]", + "type_source": "Fintype Action", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Nontrivial External]", - "type_source": "Nontrivial External", + "source": "[DecidableEq State]", + "type_source": "DecidableEq State", "visibility": "instance" } ], @@ -25912,119 +26515,63 @@ "Mathlib.Analysis.Normed.Algebra.MatrixExponential" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.ContinuousTimeMarkov.TwoStateRates", + "namespace": "FEP.ContinuousTimeMarkov.ActionIndexedSemigroup", "namespace_variable_context": [ - "{State : Type*} [Fintype State] [Nonempty State] [DecidableEq State]", - "{Internal Sensory Active External : Type*}\n [Fintype Internal] [Fintype Sensory] [Fintype Active] [Fintype External]\n [DecidableEq Internal] [DecidableEq Sensory] [DecidableEq Active]\n [DecidableEq External]\n [Nontrivial Internal] [Nontrivial Sensory]\n [Nontrivial Active] [Nontrivial External]" - ], - "preceding_scope_directives": [ - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DecidableEq State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DecidableEq State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DecidableEq State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DecidableEq State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - } + "{Policy State Outcome Action : Type*}\n [Fintype Policy] [Fintype State] [Fintype Outcome] [Fintype Action]\n [DecidableEq State]" ], - "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.lyapunov_hasDerivAt", - "source_line": 1710, + "preceding_scope_directives": [], + "qualified_name": "FEP.ContinuousTimeMarkov.ActionIndexedSemigroup.toGenerativeModel_transition", + "source_line": 227, "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", - "statement": "theorem lyapunov_hasDerivAt (rates : TwoStateRates)\n (initial : FiniteLaw Bool) (time : ℝ) :\n HasDerivAt (rates.lyapunov initial)\n (-2 * rates.decayRate * rates.lyapunov initial time) time", - "statement_sha256": "c4d5dd49d78b65dd9d9a096ba4fc136e4a022cc592d339e4c4e9701e13714019" + "statement": "theorem toGenerativeModel_transition\n (indexed : ActionIndexedSemigroup State Action)\n (policyToAction : Policy → Action)\n (initialState : FiniteLaw State)\n (likelihood : FiniteKernel State Outcome)\n (preferences : FiniteLaw Outcome) (policyPrior : FiniteLaw Policy)\n (policy : Policy) :\n (indexed.toGenerativeModel policyToAction initialState likelihood\n preferences policyPrior).transition policy =\n indexed.sampledKernel (policyToAction policy)", + "statement_sha256": "035e0d5d164598e17fdc4f9b550c71b64c478bdf7f3e13c358b0ab8676203c3e" }, - "FEP.ContinuousTimeMarkov.TwoStateRates.relaxation_exact": { + "FEP.ContinuousTimeMarkov.FiniteMarkovSemigroup.kernel_add": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "rates" + "semigroup" ], "role": "typed_binder", - "source": "(rates : TwoStateRates)", - "type_source": "TwoStateRates", + "source": "(semigroup : FiniteMarkovSemigroup State)", + "type_source": "FiniteMarkovSemigroup State", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "initial" + "left", + "right" ], "role": "typed_binder", - "source": "(initial : FiniteLaw Bool)", - "type_source": "FiniteLaw Bool", + "source": "(left right : ℝ)", + "type_source": "ℝ", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "time" + "hLeft" ], "role": "typed_binder", - "source": "(time : ℝ)", - "type_source": "ℝ", + "source": "(hLeft : 0 ≤ left)", + "type_source": "0 ≤ left", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hRight" + ], + "role": "typed_binder", + "source": "(hRight : 0 ≤ right)", + "type_source": "0 ≤ right", "visibility": "explicit" } ], - "conclusion": "rates.trueMass initial time - rates.stationaryTrue =\n rates.rho time * (initial true - rates.stationaryTrue)", + "conclusion": "semigroup.kernel (left + right) (add_nonneg hLeft hRight) =\n FiniteKernel.comp (semigroup.kernel right hRight)\n (semigroup.kernel left hLeft)", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -26044,14 +26591,6 @@ "type_source": "Fintype State", "visibility": "instance" }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Nonempty State]", - "type_source": "Nonempty State", - "visibility": "instance" - }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], @@ -26059,17 +26598,52 @@ "source": "[DecidableEq State]", "type_source": "DecidableEq State", "visibility": "instance" - }, + } + ], + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.finite_markov_dynamics", + "FepSketches.active_inference", + "FepSketches.decision_risk", + "FepSketches.markov_blanket", + "Mathlib.Analysis.Normed.Algebra.MatrixExponential" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.ContinuousTimeMarkov.FiniteMarkovSemigroup", + "namespace_variable_context": [ + "{State : Type*} [Fintype State] [DecidableEq State]" + ], + "preceding_scope_directives": [], + "qualified_name": "FEP.ContinuousTimeMarkov.FiniteMarkovSemigroup.kernel_add", + "source_line": 123, + "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "statement": "theorem kernel_add (semigroup : FiniteMarkovSemigroup State)\n (left right : ℝ) (hLeft : 0 ≤ left) (hRight : 0 ≤ right) :\n semigroup.kernel (left + right) (add_nonneg hLeft hRight) =\n FiniteKernel.comp (semigroup.kernel right hRight)\n (semigroup.kernel left hLeft)", + "statement_sha256": "8d7808fd446718342dc930925313fa5bda4ff7d682510e0f5d91dae965974827" + }, + "FEP.ContinuousTimeMarkov.FiniteMarkovSemigroup.kernel_zero": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Internal", - "Sensory", - "Active", - "External" + "semigroup" ], "role": "typed_binder", - "source": "{Internal Sensory Active External : Type*}", + "source": "(semigroup : FiniteMarkovSemigroup State)", + "type_source": "FiniteMarkovSemigroup State", + "visibility": "explicit" + } + ], + "conclusion": "semigroup.kernel 0 le_rfl = FiniteKernel.identity", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "State" + ], + "role": "typed_binder", + "source": "{State : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -26077,100 +26651,138 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Internal]", - "type_source": "Fintype Internal", + "source": "[Fintype State]", + "type_source": "Fintype State", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Sensory]", - "type_source": "Fintype Sensory", + "source": "[DecidableEq State]", + "type_source": "DecidableEq State", "visibility": "instance" - }, + } + ], + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.finite_markov_dynamics", + "FepSketches.active_inference", + "FepSketches.decision_risk", + "FepSketches.markov_blanket", + "Mathlib.Analysis.Normed.Algebra.MatrixExponential" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.ContinuousTimeMarkov.FiniteMarkovSemigroup", + "namespace_variable_context": [ + "{State : Type*} [Fintype State] [DecidableEq State]" + ], + "preceding_scope_directives": [], + "qualified_name": "FEP.ContinuousTimeMarkov.FiniteMarkovSemigroup.kernel_zero", + "source_line": 115, + "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "statement": "theorem kernel_zero (semigroup : FiniteMarkovSemigroup State) :\n semigroup.kernel 0 le_rfl = FiniteKernel.identity", + "statement_sha256": "a13736d6b1cd4a086e6616e4bbb7f026d40448150f99d74fab5bd30d9dbb4529" + }, + "FEP.ContinuousTimeMarkov.FiniteMarkovSemigroup.nativeKL_contraction": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Active]", - "type_source": "Fintype Active", + "source": "[MeasurableSpace State]", + "type_source": "MeasurableSpace State", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype External]", - "type_source": "Fintype External", + "source": "[DiscreteMeasurableSpace State]", + "type_source": "DiscreteMeasurableSpace State", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[DecidableEq Internal]", - "type_source": "DecidableEq Internal", - "visibility": "instance" + "names": [ + "semigroup" + ], + "role": "typed_binder", + "source": "(semigroup : FiniteMarkovSemigroup State)", + "type_source": "FiniteMarkovSemigroup State", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[DecidableEq Sensory]", - "type_source": "DecidableEq Sensory", - "visibility": "instance" + "names": [ + "time" + ], + "role": "typed_binder", + "source": "(time : ℝ)", + "type_source": "ℝ", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[DecidableEq Active]", - "type_source": "DecidableEq Active", - "visibility": "instance" + "names": [ + "hTime" + ], + "role": "typed_binder", + "source": "(hTime : 0 ≤ time)", + "type_source": "0 ≤ time", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[DecidableEq External]", - "type_source": "DecidableEq External", - "visibility": "instance" - }, + "names": [ + "actual", + "reference" + ], + "role": "typed_binder", + "source": "(actual reference : FiniteLaw State)", + "type_source": "FiniteLaw State", + "visibility": "explicit" + } + ], + "conclusion": "InformationTheory.klDiv\n (FEP.NativeBlanket.embeddedLaw\n ((semigroup.kernel time hTime).predictive actual))\n (FEP.NativeBlanket.embeddedLaw\n ((semigroup.kernel time hTime).predictive reference)) ≤\n InformationTheory.klDiv\n (FEP.NativeBlanket.embeddedLaw actual)\n (FEP.NativeBlanket.embeddedLaw reference)", + "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Nontrivial Internal]", - "type_source": "Nontrivial Internal", - "visibility": "instance" + "names": [ + "State" + ], + "role": "typed_binder", + "source": "{State : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Nontrivial Sensory]", - "type_source": "Nontrivial Sensory", + "source": "[Fintype State]", + "type_source": "Fintype State", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Nontrivial Active]", - "type_source": "Nontrivial Active", + "source": "[DecidableEq State]", + "type_source": "DecidableEq State", "visibility": "instance" - }, + } + ], + "declaration_mentions": [ { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Nontrivial External]", - "type_source": "Nontrivial External", - "visibility": "instance" + "identifier": "FEP.NativeBlanket.embeddedPredictive_eq_comp", + "qualified_name": "FEP.NativeBlanket.embeddedPredictive_eq_comp", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" } ], - "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ "FepSketches.finite_markov_dynamics", @@ -26180,110 +26792,229 @@ "Mathlib.Analysis.Normed.Algebra.MatrixExponential" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.ContinuousTimeMarkov.TwoStateRates", + "namespace": "FEP.ContinuousTimeMarkov.FiniteMarkovSemigroup", "namespace_variable_context": [ - "{State : Type*} [Fintype State] [Nonempty State] [DecidableEq State]", - "{Internal Sensory Active External : Type*}\n [Fintype Internal] [Fintype Sensory] [Fintype Active] [Fintype External]\n [DecidableEq Internal] [DecidableEq Sensory] [DecidableEq Active]\n [DecidableEq External]\n [Nontrivial Internal] [Nontrivial Sensory]\n [Nontrivial Active] [Nontrivial External]" + "{State : Type*} [Fintype State] [DecidableEq State]" ], - "preceding_scope_directives": [ - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - }, + "preceding_scope_directives": [], + "qualified_name": "FEP.ContinuousTimeMarkov.FiniteMarkovSemigroup.nativeKL_contraction", + "source_line": 134, + "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "statement": "theorem nativeKL_contraction [MeasurableSpace State]\n [DiscreteMeasurableSpace State]\n (semigroup : FiniteMarkovSemigroup State)\n (time : ℝ) (hTime : 0 ≤ time) (actual reference : FiniteLaw State) :\n InformationTheory.klDiv\n (FEP.NativeBlanket.embeddedLaw\n ((semigroup.kernel time hTime).predictive actual))\n (FEP.NativeBlanket.embeddedLaw\n ((semigroup.kernel time hTime).predictive reference)) ≤\n InformationTheory.klDiv\n (FEP.NativeBlanket.embeddedLaw actual)\n (FEP.NativeBlanket.embeddedLaw reference)", + "statement_sha256": "d7b3f22a1952ab41c33bd8e13ec05d09fa77e2439990e0adbf98d46b37b50bfc" + }, + "FEP.ContinuousTimeMarkov.FiniteMarkovSemigroup.nativeKL_contraction_to_invariant": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DecidableEq State] in" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[MeasurableSpace State]", + "type_source": "MeasurableSpace State", + "visibility": "instance" }, { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DiscreteMeasurableSpace State]", + "type_source": "DiscreteMeasurableSpace State", + "visibility": "instance" }, { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "semigroup" + ], + "role": "typed_binder", + "source": "(semigroup : FiniteMarkovSemigroup State)", + "type_source": "FiniteMarkovSemigroup State", + "visibility": "explicit" }, { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DecidableEq State] in" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "time" + ], + "role": "typed_binder", + "source": "(time : ℝ)", + "type_source": "ℝ", + "visibility": "explicit" }, { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DecidableEq State] in" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hTime" + ], + "role": "typed_binder", + "source": "(hTime : 0 ≤ time)", + "type_source": "0 ≤ time", + "visibility": "explicit" }, { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "actual", + "invariant" + ], + "role": "typed_binder", + "source": "(actual invariant : FiniteLaw State)", + "type_source": "FiniteLaw State", + "visibility": "explicit" }, { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - }, + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hInvariant" + ], + "role": "typed_binder", + "source": "(hInvariant : FEP.FiniteMarkovDynamics.IsInvariant invariant\n (semigroup.kernel time hTime))", + "type_source": "FEP.FiniteMarkovDynamics.IsInvariant invariant\n (semigroup.kernel time hTime)", + "visibility": "explicit" + } + ], + "conclusion": "InformationTheory.klDiv\n (FEP.NativeBlanket.embeddedLaw\n ((semigroup.kernel time hTime).predictive actual))\n (FEP.NativeBlanket.embeddedLaw invariant) ≤\n InformationTheory.klDiv\n (FEP.NativeBlanket.embeddedLaw actual)\n (FEP.NativeBlanket.embeddedLaw invariant)", + "context_binders": [ { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "State" + ], + "role": "typed_binder", + "source": "{State : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DecidableEq State] in" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype State]", + "type_source": "Fintype State", + "visibility": "instance" }, { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DecidableEq State]", + "type_source": "DecidableEq State", + "visibility": "instance" } ], - "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.relaxation_exact", - "source_line": 1681, + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.finite_markov_dynamics", + "FepSketches.active_inference", + "FepSketches.decision_risk", + "FepSketches.markov_blanket", + "Mathlib.Analysis.Normed.Algebra.MatrixExponential" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.ContinuousTimeMarkov.FiniteMarkovSemigroup", + "namespace_variable_context": [ + "{State : Type*} [Fintype State] [DecidableEq State]" + ], + "preceding_scope_directives": [], + "qualified_name": "FEP.ContinuousTimeMarkov.FiniteMarkovSemigroup.nativeKL_contraction_to_invariant", + "source_line": 155, "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", - "statement": "theorem relaxation_exact (rates : TwoStateRates)\n (initial : FiniteLaw Bool) (time : ℝ) :\n rates.trueMass initial time - rates.stationaryTrue =\n rates.rho time * (initial true - rates.stationaryTrue)", - "statement_sha256": "c1fb1071a1031fa9d093663c5dca61a4ff45cb49e3beb79640d4f8ff84875174" + "statement": "theorem nativeKL_contraction_to_invariant [MeasurableSpace State]\n [DiscreteMeasurableSpace State]\n (semigroup : FiniteMarkovSemigroup State)\n (time : ℝ) (hTime : 0 ≤ time) (actual invariant : FiniteLaw State)\n (hInvariant : FEP.FiniteMarkovDynamics.IsInvariant invariant\n (semigroup.kernel time hTime)) :\n InformationTheory.klDiv\n (FEP.NativeBlanket.embeddedLaw\n ((semigroup.kernel time hTime).predictive actual))\n (FEP.NativeBlanket.embeddedLaw invariant) ≤\n InformationTheory.klDiv\n (FEP.NativeBlanket.embeddedLaw actual)\n (FEP.NativeBlanket.embeddedLaw invariant)", + "statement_sha256": "eaac3d61a5c48eb4b51afa919be7ff45f3ee5db629ca3c74ba87f5f07c90e05c" }, - "FEP.ContinuousTimeMarkov.TwoStateRates.rho_add": { + "FEP.ContinuousTimeMarkov.FiniteRateGenerator.probabilityCurrent_eq_zero_of_detailedBalanced": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "rates" + "generator" ], "role": "typed_binder", - "source": "(rates : TwoStateRates)", - "type_source": "TwoStateRates", + "source": "(generator : FiniteRateGenerator State)", + "type_source": "FiniteRateGenerator State", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "left", - "right" + "law" ], "role": "typed_binder", - "source": "(left right : ℝ)", - "type_source": "ℝ", + "source": "(law : FiniteLaw State)", + "type_source": "FiniteLaw State", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hBalanced" + ], + "role": "typed_binder", + "source": "(hBalanced : generator.IsDetailedBalanced law)", + "type_source": "generator.IsDetailedBalanced law", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "source", + "target" + ], + "role": "typed_binder", + "source": "(source target : State)", + "type_source": "State", "visibility": "explicit" } ], - "conclusion": "rates.rho (left + right) = rates.rho left * rates.rho right", + "conclusion": "generator.probabilityCurrent law source target = 0", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "State" + ], + "role": "typed_binder", + "source": "{State : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype State]", + "type_source": "Fintype State", + "visibility": "instance" + } + ], + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.finite_markov_dynamics", + "FepSketches.active_inference", + "FepSketches.decision_risk", + "FepSketches.markov_blanket", + "Mathlib.Analysis.Normed.Algebra.MatrixExponential" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.ContinuousTimeMarkov.FiniteRateGenerator", + "namespace_variable_context": [ + "{State : Type*} [Fintype State]" + ], + "preceding_scope_directives": [], + "qualified_name": "FEP.ContinuousTimeMarkov.FiniteRateGenerator.probabilityCurrent_eq_zero_of_detailedBalanced", + "source_line": 68, + "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "statement": "theorem probabilityCurrent_eq_zero_of_detailedBalanced\n (generator : FiniteRateGenerator State) (law : FiniteLaw State)\n (hBalanced : generator.IsDetailedBalanced law) (source target : State) :\n generator.probabilityCurrent law source target = 0", + "statement_sha256": "83649278183fb850a328c66db61f1db8ba15ed89dc4cce04d604d9e25e09bc86" + }, + "FEP.ContinuousTimeMarkov.TwoStateRates.benchmarkInitial_nonstationary": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [], + "conclusion": "benchmarkInitial true ≠ benchmarkRates.stationaryTrue", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -26511,37 +27242,16 @@ "source": "omit [Nonempty State] in" } ], - "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.rho_add", - "source_line": 1423, + "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.benchmarkInitial_nonstationary", + "source_line": 1739, "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", - "statement": "theorem rho_add (rates : TwoStateRates) (left right : ℝ) :\n rates.rho (left + right) = rates.rho left * rates.rho right", - "statement_sha256": "459246d3eeefb51ad0a13e46a5a55a8efd48d7ac59e13ac046d3a326a8ded121" + "statement": "theorem benchmarkInitial_nonstationary :\n benchmarkInitial true ≠ benchmarkRates.stationaryTrue", + "statement_sha256": "6edb4a4865786203f9147da68c36f149f500a539cfed1fe6254d06d78019ed2c" }, - "FEP.ContinuousTimeMarkov.TwoStateRates.rho_hasDerivAt": { + "FEP.ContinuousTimeMarkov.TwoStateRates.benchmarkLyapunov_deriv_zero_neg": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [ - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "rates" - ], - "role": "typed_binder", - "source": "(rates : TwoStateRates)", - "type_source": "TwoStateRates", - "visibility": "explicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "time" - ], - "role": "typed_binder", - "source": "(time : ℝ)", - "type_source": "ℝ", - "visibility": "explicit" - } - ], - "conclusion": "HasDerivAt rates.rho (-rates.decayRate * rates.rho time) time", + "binders": [], + "conclusion": "-2 * benchmarkRates.decayRate * benchmarkRates.lyapunov benchmarkInitial 0 < 0", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -26769,47 +27479,16 @@ "source": "omit [Nonempty State] in" } ], - "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.rho_hasDerivAt", - "source_line": 1509, + "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.benchmarkLyapunov_deriv_zero_neg", + "source_line": 1744, "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", - "statement": "theorem rho_hasDerivAt (rates : TwoStateRates) (time : ℝ) :\n HasDerivAt rates.rho (-rates.decayRate * rates.rho time) time", - "statement_sha256": "a2cb1f62491b5bbb30c4ec4a3ee76830442adf06b78931345ac5a0043522fe9c" + "statement": "theorem benchmarkLyapunov_deriv_zero_neg :\n -2 * benchmarkRates.decayRate * benchmarkRates.lyapunov benchmarkInitial 0 < 0", + "statement_sha256": "379a706bdeb1d1e9a858290b0428e86eecd617f5bf8371c6055be409b4539b21" }, - "FEP.ContinuousTimeMarkov.TwoStateRates.rho_le_one": { + "FEP.ContinuousTimeMarkov.TwoStateRates.benchmarkRates_exact": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [ - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "rates" - ], - "role": "typed_binder", - "source": "(rates : TwoStateRates)", - "type_source": "TwoStateRates", - "visibility": "explicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "time" - ], - "role": "typed_binder", - "source": "{time : ℝ}", - "type_source": "ℝ", - "visibility": "implicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "hTime" - ], - "role": "typed_binder", - "source": "(hTime : 0 ≤ time)", - "type_source": "0 ≤ time", - "visibility": "explicit" - } - ], - "conclusion": "rates.rho time ≤ 1", + "binders": [], + "conclusion": "benchmarkRates.forward = 0.7 ∧ benchmarkRates.backward = 0.3", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -27037,13 +27716,13 @@ "source": "omit [Nonempty State] in" } ], - "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.rho_le_one", - "source_line": 1413, + "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.benchmarkRates_exact", + "source_line": 1735, "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", - "statement": "theorem rho_le_one (rates : TwoStateRates) {time : ℝ} (hTime : 0 ≤ time) :\n rates.rho time ≤ 1", - "statement_sha256": "dd6e5935e9503d37c529d2dcfc0cdd12c694517c759c2c5526f846cd95bc3b06" + "statement": "theorem benchmarkRates_exact :\n benchmarkRates.forward = 0.7 ∧ benchmarkRates.backward = 0.3", + "statement_sha256": "48bfa10290599c465dd64c6998719aeded066c6cfffafb253fbb56dbaa6434db" }, - "FEP.ContinuousTimeMarkov.TwoStateRates.rho_pos": { + "FEP.ContinuousTimeMarkov.TwoStateRates.certifiedSemigroup_detailedBalanced": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { @@ -27055,19 +27734,9 @@ "source": "(rates : TwoStateRates)", "type_source": "TwoStateRates", "visibility": "explicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "time" - ], - "role": "typed_binder", - "source": "(time : ℝ)", - "type_source": "ℝ", - "visibility": "explicit" } ], - "conclusion": "0 < rates.rho time", + "conclusion": "rates.certifiedSemigroup.IsDetailedBalanced rates.stationaryLaw", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -27295,13 +27964,13 @@ "source": "omit [Nonempty State] in" } ], - "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.rho_pos", - "source_line": 1410, + "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.certifiedSemigroup_detailedBalanced", + "source_line": 1668, "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", - "statement": "theorem rho_pos (rates : TwoStateRates) (time : ℝ) : 0 < rates.rho time", - "statement_sha256": "e5f6cd42b07398ea67800ad81f0ae399452c7fd665a7f72c32bfbb7e39493521" + "statement": "theorem certifiedSemigroup_detailedBalanced (rates : TwoStateRates) :\n rates.certifiedSemigroup.IsDetailedBalanced rates.stationaryLaw", + "statement_sha256": "c69b598b5c04217332cf1bf4f07a1b7240ec1a7167eeec0bb85de67c5e43a89d" }, - "FEP.ContinuousTimeMarkov.TwoStateRates.rho_zero": { + "FEP.ContinuousTimeMarkov.TwoStateRates.certifiedSemigroup_kernel_eq_kernel": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { @@ -27313,9 +27982,29 @@ "source": "(rates : TwoStateRates)", "type_source": "TwoStateRates", "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "time" + ], + "role": "typed_binder", + "source": "(time : ℝ)", + "type_source": "ℝ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hTime" + ], + "role": "typed_binder", + "source": "(hTime : 0 ≤ time)", + "type_source": "0 ≤ time", + "visibility": "explicit" } ], - "conclusion": "rates.rho 0 = 1", + "conclusion": "rates.certifiedSemigroup.kernel time hTime = rates.kernel time hTime", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -27543,13 +28232,13 @@ "source": "omit [Nonempty State] in" } ], - "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.rho_zero", - "source_line": 1420, + "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.certifiedSemigroup_kernel_eq_kernel", + "source_line": 1648, "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", - "statement": "theorem rho_zero (rates : TwoStateRates) : rates.rho 0 = 1", - "statement_sha256": "fbeee211efd611dee89d1f646cb96f45b9988671b651582ac691c518b57a5ee1" + "statement": "theorem certifiedSemigroup_kernel_eq_kernel (rates : TwoStateRates)\n (time : ℝ) (hTime : 0 ≤ time) :\n rates.certifiedSemigroup.kernel time hTime = rates.kernel time hTime", + "statement_sha256": "fe18e2969ed93c09933c7c534e56b88ec6e1512ab77a247d85b7f3e0da7ff210" }, - "FEP.ContinuousTimeMarkov.TwoStateRates.stationaryFalse_mul_decayRate": { + "FEP.ContinuousTimeMarkov.TwoStateRates.certifiedSemigroup_stationary": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { @@ -27563,7 +28252,7 @@ "visibility": "explicit" } ], - "conclusion": "rates.stationaryFalse * rates.decayRate = rates.backward", + "conclusion": "rates.certifiedSemigroup.IsStationary rates.stationaryLaw", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -27791,13 +28480,13 @@ "source": "omit [Nonempty State] in" } ], - "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.stationaryFalse_mul_decayRate", - "source_line": 1392, + "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.certifiedSemigroup_stationary", + "source_line": 1655, "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", - "statement": "theorem stationaryFalse_mul_decayRate (rates : TwoStateRates) :\n rates.stationaryFalse * rates.decayRate = rates.backward", - "statement_sha256": "a04b2f39b752f608835b86f11e7cad46f2143089bf1bb8361a2b878915adb338" + "statement": "theorem certifiedSemigroup_stationary (rates : TwoStateRates) :\n rates.certifiedSemigroup.IsStationary rates.stationaryLaw", + "statement_sha256": "a005724180ba826f4fe0860649ba2caa4ad7258186d4d038a574518ac0d76e55" }, - "FEP.ContinuousTimeMarkov.TwoStateRates.stationaryFalse_pos": { + "FEP.ContinuousTimeMarkov.TwoStateRates.decayRate_pos": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { @@ -27811,7 +28500,7 @@ "visibility": "explicit" } ], - "conclusion": "0 < rates.stationaryFalse", + "conclusion": "0 < rates.decayRate", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -28039,13 +28728,13 @@ "source": "omit [Nonempty State] in" } ], - "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.stationaryFalse_pos", - "source_line": 1373, + "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.decayRate_pos", + "source_line": 1364, "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", - "statement": "theorem stationaryFalse_pos (rates : TwoStateRates) :\n 0 < rates.stationaryFalse", - "statement_sha256": "64d3b283272edfca45f72342fd19c3ef2bface483f4ef6b0798078f2d39c2b45" + "statement": "theorem decayRate_pos (rates : TwoStateRates) : 0 < rates.decayRate", + "statement_sha256": "86526d6bd8dd0f315b3524a9618f3b93437c8f7a30f1b273470c151f8cf4b9fe" }, - "FEP.ContinuousTimeMarkov.TwoStateRates.stationaryTrue_mul_decayRate": { + "FEP.ContinuousTimeMarkov.TwoStateRates.generator_mul_transition": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { @@ -28057,9 +28746,30 @@ "source": "(rates : TwoStateRates)", "type_source": "TwoStateRates", "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "time" + ], + "role": "typed_binder", + "source": "(time : ℝ)", + "type_source": "ℝ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "source", + "target" + ], + "role": "typed_binder", + "source": "(source target : Bool)", + "type_source": "Bool", + "visibility": "explicit" } ], - "conclusion": "rates.stationaryTrue * rates.decayRate = rates.forward", + "conclusion": "(∑ middle,\n rates.generator source middle * rates.transition time middle target) =\n rates.transitionDerivative time source target", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -28287,13 +28997,13 @@ "source": "omit [Nonempty State] in" } ], - "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.stationaryTrue_mul_decayRate", - "source_line": 1387, + "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.generator_mul_transition", + "source_line": 1554, "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", - "statement": "theorem stationaryTrue_mul_decayRate (rates : TwoStateRates) :\n rates.stationaryTrue * rates.decayRate = rates.forward", - "statement_sha256": "6874f27edadb61de648647d5586caed64736bca58c82900f3286986297a4cc8b" + "statement": "theorem generator_mul_transition (rates : TwoStateRates) (time : ℝ)\n (source target : Bool) :\n (∑ middle,\n rates.generator source middle * rates.transition time middle target) =\n rates.transitionDerivative time source target", + "statement_sha256": "024a9f0efa93db27adde7d5a1b56ece1f52710e68db985eca28d2b85b1753e4d" }, - "FEP.ContinuousTimeMarkov.TwoStateRates.stationaryTrue_pos": { + "FEP.ContinuousTimeMarkov.TwoStateRates.lyapunov_exact": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { @@ -28305,9 +29015,29 @@ "source": "(rates : TwoStateRates)", "type_source": "TwoStateRates", "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "initial" + ], + "role": "typed_binder", + "source": "(initial : FiniteLaw Bool)", + "type_source": "FiniteLaw Bool", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "time" + ], + "role": "typed_binder", + "source": "(time : ℝ)", + "type_source": "ℝ", + "visibility": "explicit" } ], - "conclusion": "0 < rates.stationaryTrue", + "conclusion": "rates.lyapunov initial time =\n rates.rho time ^ 2 *\n (initial true - rates.stationaryTrue) ^ 2", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -28535,13 +29265,13 @@ "source": "omit [Nonempty State] in" } ], - "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.stationaryTrue_pos", - "source_line": 1377, + "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.lyapunov_exact", + "source_line": 1702, "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", - "statement": "theorem stationaryTrue_pos (rates : TwoStateRates) :\n 0 < rates.stationaryTrue", - "statement_sha256": "9c32db44caf1eda456b54b9ea03da912b58cfa5e907e8b726cf539f9c5ffea83" + "statement": "theorem lyapunov_exact (rates : TwoStateRates)\n (initial : FiniteLaw Bool) (time : ℝ) :\n rates.lyapunov initial time =\n rates.rho time ^ 2 *\n (initial true - rates.stationaryTrue) ^ 2", + "statement_sha256": "40cd1619b3fdfb690dff2fdfd059cdfc4853ae9a24c935f93b445def145f4a09" }, - "FEP.ContinuousTimeMarkov.TwoStateRates.stationary_sum_one": { + "FEP.ContinuousTimeMarkov.TwoStateRates.lyapunov_hasDerivAt": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { @@ -28553,9 +29283,29 @@ "source": "(rates : TwoStateRates)", "type_source": "TwoStateRates", "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "initial" + ], + "role": "typed_binder", + "source": "(initial : FiniteLaw Bool)", + "type_source": "FiniteLaw Bool", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "time" + ], + "role": "typed_binder", + "source": "(time : ℝ)", + "type_source": "ℝ", + "visibility": "explicit" } ], - "conclusion": "rates.stationaryFalse + rates.stationaryTrue = 1", + "conclusion": "HasDerivAt (rates.lyapunov initial)\n (-2 * rates.decayRate * rates.lyapunov initial time) time", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -28783,13 +29533,13 @@ "source": "omit [Nonempty State] in" } ], - "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.stationary_sum_one", - "source_line": 1381, + "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.lyapunov_hasDerivAt", + "source_line": 1710, "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", - "statement": "theorem stationary_sum_one (rates : TwoStateRates) :\n rates.stationaryFalse + rates.stationaryTrue = 1", - "statement_sha256": "0b0dca5d0c9c9a6aec202781397067ae842eb93ca24e80d458ed1dcee14d3b32" + "statement": "theorem lyapunov_hasDerivAt (rates : TwoStateRates)\n (initial : FiniteLaw Bool) (time : ℝ) :\n HasDerivAt (rates.lyapunov initial)\n (-2 * rates.decayRate * rates.lyapunov initial time) time", + "statement_sha256": "c4d5dd49d78b65dd9d9a096ba4fc136e4a022cc592d339e4c4e9701e13714019" }, - "FEP.ContinuousTimeMarkov.TwoStateRates.transition_add": { + "FEP.ContinuousTimeMarkov.TwoStateRates.relaxation_exact": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { @@ -28805,27 +29555,25 @@ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "left", - "right" + "initial" ], "role": "typed_binder", - "source": "(left right : ℝ)", - "type_source": "ℝ", + "source": "(initial : FiniteLaw Bool)", + "type_source": "FiniteLaw Bool", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "source", - "target" + "time" ], "role": "typed_binder", - "source": "(source target : Bool)", - "type_source": "Bool", + "source": "(time : ℝ)", + "type_source": "ℝ", "visibility": "explicit" } ], - "conclusion": "rates.transition (left + right) source target =\n ∑ middle,\n rates.transition left source middle *\n rates.transition right middle target", + "conclusion": "rates.trueMass initial time - rates.stationaryTrue =\n rates.rho time * (initial true - rates.stationaryTrue)", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -29053,13 +29801,13 @@ "source": "omit [Nonempty State] in" } ], - "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.transition_add", - "source_line": 1479, + "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.relaxation_exact", + "source_line": 1681, "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", - "statement": "theorem transition_add (rates : TwoStateRates) (left right : ℝ)\n (source target : Bool) :\n rates.transition (left + right) source target =\n ∑ middle,\n rates.transition left source middle *\n rates.transition right middle target", - "statement_sha256": "325462b357135b7a21d4cc956541d5de4653f28ad3f9cf5fd0e35d21f148bc09" + "statement": "theorem relaxation_exact (rates : TwoStateRates)\n (initial : FiniteLaw Bool) (time : ℝ) :\n rates.trueMass initial time - rates.stationaryTrue =\n rates.rho time * (initial true - rates.stationaryTrue)", + "statement_sha256": "c1fb1071a1031fa9d093663c5dca61a4ff45cb49e3beb79640d4f8ff84875174" }, - "FEP.ContinuousTimeMarkov.TwoStateRates.transition_detailedBalance": { + "FEP.ContinuousTimeMarkov.TwoStateRates.rho_add": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { @@ -29075,26 +29823,16 @@ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "time" + "left", + "right" ], "role": "typed_binder", - "source": "(time : ℝ)", + "source": "(left right : ℝ)", "type_source": "ℝ", "visibility": "explicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "source", - "target" - ], - "role": "typed_binder", - "source": "(source target : Bool)", - "type_source": "Bool", - "visibility": "explicit" } ], - "conclusion": "rates.stationaryLaw source * rates.transition time source target =\n rates.stationaryLaw target * rates.transition time target source", + "conclusion": "rates.rho (left + right) = rates.rho left * rates.rho right", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -29322,13 +30060,13 @@ "source": "omit [Nonempty State] in" } ], - "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.transition_detailedBalance", - "source_line": 1612, + "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.rho_add", + "source_line": 1423, "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", - "statement": "theorem transition_detailedBalance (rates : TwoStateRates) (time : ℝ)\n (source target : Bool) :\n rates.stationaryLaw source * rates.transition time source target =\n rates.stationaryLaw target * rates.transition time target source", - "statement_sha256": "07db66ba8009c7acd70b4e4571362335dc39be1c4a1e36f9590887a1740f5a4a" + "statement": "theorem rho_add (rates : TwoStateRates) (left right : ℝ) :\n rates.rho (left + right) = rates.rho left * rates.rho right", + "statement_sha256": "459246d3eeefb51ad0a13e46a5a55a8efd48d7ac59e13ac046d3a326a8ded121" }, - "FEP.ContinuousTimeMarkov.TwoStateRates.transition_hasDerivAt": { + "FEP.ContinuousTimeMarkov.TwoStateRates.rho_hasDerivAt": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { @@ -29350,20 +30088,9 @@ "source": "(time : ℝ)", "type_source": "ℝ", "visibility": "explicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "source", - "target" - ], - "role": "typed_binder", - "source": "(source target : Bool)", - "type_source": "Bool", - "visibility": "explicit" } ], - "conclusion": "HasDerivAt (fun candidate ↦ rates.transition candidate source target)\n (rates.transitionDerivative time source target) time", + "conclusion": "HasDerivAt rates.rho (-rates.decayRate * rates.rho time) time", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -29591,13 +30318,13 @@ "source": "omit [Nonempty State] in" } ], - "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.transition_hasDerivAt", - "source_line": 1517, + "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.rho_hasDerivAt", + "source_line": 1509, "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", - "statement": "theorem transition_hasDerivAt (rates : TwoStateRates) (time : ℝ)\n (source target : Bool) :\n HasDerivAt (fun candidate ↦ rates.transition candidate source target)\n (rates.transitionDerivative time source target) time", - "statement_sha256": "b633ae5b862d29b27c2a97947738026b81cb5a7be71c1510f1366f8359d4a181" + "statement": "theorem rho_hasDerivAt (rates : TwoStateRates) (time : ℝ) :\n HasDerivAt rates.rho (-rates.decayRate * rates.rho time) time", + "statement_sha256": "a2cb1f62491b5bbb30c4ec4a3ee76830442adf06b78931345ac5a0043522fe9c" }, - "FEP.ContinuousTimeMarkov.TwoStateRates.transition_masterEquation": { + "FEP.ContinuousTimeMarkov.TwoStateRates.rho_le_one": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { @@ -29616,23 +30343,22 @@ "time" ], "role": "typed_binder", - "source": "(time : ℝ)", + "source": "{time : ℝ}", "type_source": "ℝ", - "visibility": "explicit" + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "source", - "target" + "hTime" ], "role": "typed_binder", - "source": "(source target : Bool)", - "type_source": "Bool", + "source": "(hTime : 0 ≤ time)", + "type_source": "0 ≤ time", "visibility": "explicit" } ], - "conclusion": "HasDerivAt (fun candidate ↦ rates.transition candidate source target)\n (∑ middle,\n rates.generator source middle * rates.transition time middle target)\n time ∧\n HasDerivAt (fun candidate ↦ rates.transition candidate source target)\n (∑ middle,\n rates.transition time source middle * rates.generator middle target)\n time", + "conclusion": "rates.rho time ≤ 1", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -29860,13 +30586,13 @@ "source": "omit [Nonempty State] in" } ], - "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.transition_masterEquation", - "source_line": 1583, + "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.rho_le_one", + "source_line": 1413, "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", - "statement": "theorem transition_masterEquation (rates : TwoStateRates) (time : ℝ)\n (source target : Bool) :\n HasDerivAt (fun candidate ↦ rates.transition candidate source target)\n (∑ middle,\n rates.generator source middle * rates.transition time middle target)\n time ∧\n HasDerivAt (fun candidate ↦ rates.transition candidate source target)\n (∑ middle,\n rates.transition time source middle * rates.generator middle target)\n time", - "statement_sha256": "9282b5d04e86b83dde4766d0afcee3e18dc3117ab084fc5f933300bf9fb42bda" + "statement": "theorem rho_le_one (rates : TwoStateRates) {time : ℝ} (hTime : 0 ≤ time) :\n rates.rho time ≤ 1", + "statement_sha256": "dd6e5935e9503d37c529d2dcfc0cdd12c694517c759c2c5526f846cd95bc3b06" }, - "FEP.ContinuousTimeMarkov.TwoStateRates.transition_mul_generator": { + "FEP.ContinuousTimeMarkov.TwoStateRates.rho_pos": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { @@ -29888,20 +30614,9 @@ "source": "(time : ℝ)", "type_source": "ℝ", "visibility": "explicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "source", - "target" - ], - "role": "typed_binder", - "source": "(source target : Bool)", - "type_source": "Bool", - "visibility": "explicit" } ], - "conclusion": "(∑ middle,\n rates.transition time source middle * rates.generator middle target) =\n rates.transitionDerivative time source target", + "conclusion": "0 < rates.rho time", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -30129,13 +30844,13 @@ "source": "omit [Nonempty State] in" } ], - "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.transition_mul_generator", - "source_line": 1568, + "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.rho_pos", + "source_line": 1410, "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", - "statement": "theorem transition_mul_generator (rates : TwoStateRates) (time : ℝ)\n (source target : Bool) :\n (∑ middle,\n rates.transition time source middle * rates.generator middle target) =\n rates.transitionDerivative time source target", - "statement_sha256": "41c62ed7032347701fdfd4271aa801147c655c7aefa7c56e9b691d487af96576" + "statement": "theorem rho_pos (rates : TwoStateRates) (time : ℝ) : 0 < rates.rho time", + "statement_sha256": "e5f6cd42b07398ea67800ad81f0ae399452c7fd665a7f72c32bfbb7e39493521" }, - "FEP.ContinuousTimeMarkov.TwoStateRates.transition_nonneg": { + "FEP.ContinuousTimeMarkov.TwoStateRates.rho_zero": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { @@ -30147,40 +30862,9 @@ "source": "(rates : TwoStateRates)", "type_source": "TwoStateRates", "visibility": "explicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "time" - ], - "role": "typed_binder", - "source": "{time : ℝ}", - "type_source": "ℝ", - "visibility": "implicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "hTime" - ], - "role": "typed_binder", - "source": "(hTime : 0 ≤ time)", - "type_source": "0 ≤ time", - "visibility": "explicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "source", - "target" - ], - "role": "typed_binder", - "source": "(source target : Bool)", - "type_source": "Bool", - "visibility": "explicit" } ], - "conclusion": "0 ≤ rates.transition time source target", + "conclusion": "rates.rho 0 = 1", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -30408,13 +31092,13 @@ "source": "omit [Nonempty State] in" } ], - "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.transition_nonneg", - "source_line": 1453, + "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.rho_zero", + "source_line": 1420, "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", - "statement": "theorem transition_nonneg (rates : TwoStateRates) {time : ℝ}\n (hTime : 0 ≤ time) (source target : Bool) :\n 0 ≤ rates.transition time source target", - "statement_sha256": "cac6a1ddf34635a16290a644ab5a691e1cc7918ef3c3af1fcacf7f3127d43270" + "statement": "theorem rho_zero (rates : TwoStateRates) : rates.rho 0 = 1", + "statement_sha256": "fbeee211efd611dee89d1f646cb96f45b9988671b651582ac691c518b57a5ee1" }, - "FEP.ContinuousTimeMarkov.TwoStateRates.transition_rowSum": { + "FEP.ContinuousTimeMarkov.TwoStateRates.stationaryFalse_mul_decayRate": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { @@ -30426,29 +31110,9 @@ "source": "(rates : TwoStateRates)", "type_source": "TwoStateRates", "visibility": "explicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "time" - ], - "role": "typed_binder", - "source": "(time : ℝ)", - "type_source": "ℝ", - "visibility": "explicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "source" - ], - "role": "typed_binder", - "source": "(source : Bool)", - "type_source": "Bool", - "visibility": "explicit" } ], - "conclusion": "∑ target, rates.transition time source target = 1", + "conclusion": "rates.stationaryFalse * rates.decayRate = rates.backward", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -30676,13 +31340,13 @@ "source": "omit [Nonempty State] in" } ], - "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.transition_rowSum", - "source_line": 1438, + "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.stationaryFalse_mul_decayRate", + "source_line": 1392, "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", - "statement": "theorem transition_rowSum (rates : TwoStateRates) (time : ℝ)\n (source : Bool) :\n ∑ target, rates.transition time source target = 1", - "statement_sha256": "bedc322c219ded41fee7307211cabac1adce9ed8d89dff2aa22628ef352165e9" + "statement": "theorem stationaryFalse_mul_decayRate (rates : TwoStateRates) :\n rates.stationaryFalse * rates.decayRate = rates.backward", + "statement_sha256": "a04b2f39b752f608835b86f11e7cad46f2143089bf1bb8361a2b878915adb338" }, - "FEP.ContinuousTimeMarkov.TwoStateRates.transition_stationary": { + "FEP.ContinuousTimeMarkov.TwoStateRates.stationaryFalse_pos": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { @@ -30694,29 +31358,9 @@ "source": "(rates : TwoStateRates)", "type_source": "TwoStateRates", "visibility": "explicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "time" - ], - "role": "typed_binder", - "source": "(time : ℝ)", - "type_source": "ℝ", - "visibility": "explicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "target" - ], - "role": "typed_binder", - "source": "(target : Bool)", - "type_source": "Bool", - "visibility": "explicit" } ], - "conclusion": "(∑ source,\n rates.stationaryLaw source * rates.transition time source target) =\n rates.stationaryLaw target", + "conclusion": "0 < rates.stationaryFalse", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -30944,13 +31588,13 @@ "source": "omit [Nonempty State] in" } ], - "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.transition_stationary", - "source_line": 1599, + "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.stationaryFalse_pos", + "source_line": 1373, "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", - "statement": "theorem transition_stationary (rates : TwoStateRates) (time : ℝ)\n (target : Bool) :\n (∑ source,\n rates.stationaryLaw source * rates.transition time source target) =\n rates.stationaryLaw target", - "statement_sha256": "a37c1f499f3bf4e9bcf4c24ddf46607bc66ff92da98e0cb52d8a815a68e4b322" + "statement": "theorem stationaryFalse_pos (rates : TwoStateRates) :\n 0 < rates.stationaryFalse", + "statement_sha256": "64d3b283272edfca45f72342fd19c3ef2bface483f4ef6b0798078f2d39c2b45" }, - "FEP.ContinuousTimeMarkov.TwoStateRates.transition_zero": { + "FEP.ContinuousTimeMarkov.TwoStateRates.stationaryTrue_mul_decayRate": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { @@ -30962,20 +31606,9 @@ "source": "(rates : TwoStateRates)", "type_source": "TwoStateRates", "visibility": "explicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "source", - "target" - ], - "role": "typed_binder", - "source": "(source target : Bool)", - "type_source": "Bool", - "visibility": "explicit" } ], - "conclusion": "rates.transition 0 source target = if source = target then 1 else 0", + "conclusion": "rates.stationaryTrue * rates.decayRate = rates.forward", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -31203,27 +31836,27 @@ "source": "omit [Nonempty State] in" } ], - "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.transition_zero", - "source_line": 1473, + "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.stationaryTrue_mul_decayRate", + "source_line": 1387, "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", - "statement": "theorem transition_zero (rates : TwoStateRates) (source target : Bool) :\n rates.transition 0 source target = if source = target then 1 else 0", - "statement_sha256": "9c37229f1c6d2241af38cd84f4487736db8693de29bd149ea345918f00b80738" + "statement": "theorem stationaryTrue_mul_decayRate (rates : TwoStateRates) :\n rates.stationaryTrue * rates.decayRate = rates.forward", + "statement_sha256": "6874f27edadb61de648647d5586caed64736bca58c82900f3286986297a4cc8b" }, - "FEP.ContinuousTimeMarkov.blanketPointMass_ne_uniform": { + "FEP.ContinuousTimeMarkov.TwoStateRates.stationaryTrue_pos": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "chosen" + "rates" ], "role": "typed_binder", - "source": "(chosen : FEP.MarkovBlanket.DynamicState\n Internal Sensory Active External)", - "type_source": "FEP.MarkovBlanket.DynamicState\n Internal Sensory Active External", + "source": "(rates : TwoStateRates)", + "type_source": "TwoStateRates", "visibility": "explicit" } ], - "conclusion": "FiniteLaw.pointMass chosen ≠\n (FiniteLaw.uniform : FiniteLaw\n (FEP.MarkovBlanket.DynamicState Internal Sensory Active External))", + "conclusion": "0 < rates.stationaryTrue", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -31379,7 +32012,7 @@ "Mathlib.Analysis.Normed.Algebra.MatrixExponential" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.ContinuousTimeMarkov", + "namespace": "FEP.ContinuousTimeMarkov.TwoStateRates", "namespace_variable_context": [ "{State : Type*} [Fintype State] [Nonempty State] [DecidableEq State]", "{Internal Sensory Active External : Type*}\n [Fintype Internal] [Fintype Sensory] [Fintype Active] [Fintype External]\n [DecidableEq Internal] [DecidableEq Sensory] [DecidableEq Active]\n [DecidableEq External]\n [Nontrivial Internal] [Nontrivial Sensory]\n [Nontrivial Active] [Nontrivial External]" @@ -31451,48 +32084,27 @@ "source": "omit [Nonempty State] in" } ], - "qualified_name": "FEP.ContinuousTimeMarkov.blanketPointMass_ne_uniform", - "source_line": 921, + "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.stationaryTrue_pos", + "source_line": 1377, "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", - "statement": "theorem blanketPointMass_ne_uniform\n (chosen : FEP.MarkovBlanket.DynamicState\n Internal Sensory Active External) :\n FiniteLaw.pointMass chosen ≠\n (FiniteLaw.uniform : FiniteLaw\n (FEP.MarkovBlanket.DynamicState Internal Sensory Active External))", - "statement_sha256": "52fb9db371ef7f292a40297ab4e4b2f4fce0edfbceda07b91fd239cdc8939bd8" + "statement": "theorem stationaryTrue_pos (rates : TwoStateRates) :\n 0 < rates.stationaryTrue", + "statement_sha256": "9c32db44caf1eda456b54b9ea03da912b58cfa5e907e8b726cf539f9c5ffea83" }, - "FEP.ContinuousTimeMarkov.blanketRefreshSemigroup_transition_pos": { + "FEP.ContinuousTimeMarkov.TwoStateRates.stationary_sum_one": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "time" - ], - "role": "typed_binder", - "source": "{time : ℝ}", - "type_source": "ℝ", - "visibility": "implicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "hTime" - ], - "role": "typed_binder", - "source": "(hTime : 0 < time)", - "type_source": "0 < time", - "visibility": "explicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "source", - "target" + "rates" ], "role": "typed_binder", - "source": "(source target :\n FEP.MarkovBlanket.DynamicState Internal Sensory Active External)", - "type_source": "FEP.MarkovBlanket.DynamicState Internal Sensory Active External", + "source": "(rates : TwoStateRates)", + "type_source": "TwoStateRates", "visibility": "explicit" } ], - "conclusion": "0 < blanketRefreshSemigroup.transition time source target", + "conclusion": "rates.stationaryFalse + rates.stationaryTrue = 1", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -31638,14 +32250,7 @@ "visibility": "instance" } ], - "declaration_mentions": [ - { - "identifier": "refreshTransition_pos", - "qualified_name": "FEP.ContinuousTimeMarkov.refreshTransition_pos", - "resolution": "exact or same-namespace source identifier", - "role": "proof_reference" - } - ], + "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ "FepSketches.finite_markov_dynamics", @@ -31655,7 +32260,7 @@ "Mathlib.Analysis.Normed.Algebra.MatrixExponential" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.ContinuousTimeMarkov", + "namespace": "FEP.ContinuousTimeMarkov.TwoStateRates", "namespace_variable_context": [ "{State : Type*} [Fintype State] [Nonempty State] [DecidableEq State]", "{Internal Sensory Active External : Type*}\n [Fintype Internal] [Fintype Sensory] [Fintype Active] [Fintype External]\n [DecidableEq Internal] [DecidableEq Sensory] [DecidableEq Active]\n [DecidableEq External]\n [Nontrivial Internal] [Nontrivial Sensory]\n [Nontrivial Active] [Nontrivial External]" @@ -31727,16 +32332,49 @@ "source": "omit [Nonempty State] in" } ], - "qualified_name": "FEP.ContinuousTimeMarkov.blanketRefreshSemigroup_transition_pos", - "source_line": 912, + "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.stationary_sum_one", + "source_line": 1381, "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", - "statement": "theorem blanketRefreshSemigroup_transition_pos\n {time : ℝ} (hTime : 0 < time)\n (source target :\n FEP.MarkovBlanket.DynamicState Internal Sensory Active External) :\n 0 < blanketRefreshSemigroup.transition time source target", - "statement_sha256": "d85149a1fdda5a8fc5e417e256a5728416a18aee1980a9d4deeb61c68a9dbd29" + "statement": "theorem stationary_sum_one (rates : TwoStateRates) :\n rates.stationaryFalse + rates.stationaryTrue = 1", + "statement_sha256": "0b0dca5d0c9c9a6aec202781397067ae842eb93ca24e80d458ed1dcee14d3b32" }, - "FEP.ContinuousTimeMarkov.boolBlanketActionIndexedSemigroup_false_kernel": { + "FEP.ContinuousTimeMarkov.TwoStateRates.transition_add": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [], - "conclusion": "boolBlanketActionIndexedSemigroup.sampledKernel false =\n (FiniteKernel.identity : FiniteKernel BoolBlanketState BoolBlanketState)", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "rates" + ], + "role": "typed_binder", + "source": "(rates : TwoStateRates)", + "type_source": "TwoStateRates", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "left", + "right" + ], + "role": "typed_binder", + "source": "(left right : ℝ)", + "type_source": "ℝ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "source", + "target" + ], + "role": "typed_binder", + "source": "(source target : Bool)", + "type_source": "Bool", + "visibility": "explicit" + } + ], + "conclusion": "rates.transition (left + right) source target =\n ∑ middle,\n rates.transition left source middle *\n rates.transition right middle target", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -31882,14 +32520,7 @@ "visibility": "instance" } ], - "declaration_mentions": [ - { - "identifier": "FiniteMarkovSemigroup.kernel_zero", - "qualified_name": "FEP.ContinuousTimeMarkov.FiniteMarkovSemigroup.kernel_zero", - "resolution": "exact or same-namespace source identifier", - "role": "proof_reference" - } - ], + "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ "FepSketches.finite_markov_dynamics", @@ -31899,7 +32530,7 @@ "Mathlib.Analysis.Normed.Algebra.MatrixExponential" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.ContinuousTimeMarkov", + "namespace": "FEP.ContinuousTimeMarkov.TwoStateRates", "namespace_variable_context": [ "{State : Type*} [Fintype State] [Nonempty State] [DecidableEq State]", "{Internal Sensory Active External : Type*}\n [Fintype Internal] [Fintype Sensory] [Fintype Active] [Fintype External]\n [DecidableEq Internal] [DecidableEq Sensory] [DecidableEq Active]\n [DecidableEq External]\n [Nontrivial Internal] [Nontrivial Sensory]\n [Nontrivial Active] [Nontrivial External]" @@ -31971,16 +32602,48 @@ "source": "omit [Nonempty State] in" } ], - "qualified_name": "FEP.ContinuousTimeMarkov.boolBlanketActionIndexedSemigroup_false_kernel", - "source_line": 1108, + "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.transition_add", + "source_line": 1479, "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", - "statement": "theorem boolBlanketActionIndexedSemigroup_false_kernel :\n boolBlanketActionIndexedSemigroup.sampledKernel false =\n (FiniteKernel.identity : FiniteKernel BoolBlanketState BoolBlanketState)", - "statement_sha256": "4dbf85e7471957be555df67a78a97e2fdd7d87d429b7b5b4e91d15f5d42144d0" + "statement": "theorem transition_add (rates : TwoStateRates) (left right : ℝ)\n (source target : Bool) :\n rates.transition (left + right) source target =\n ∑ middle,\n rates.transition left source middle *\n rates.transition right middle target", + "statement_sha256": "325462b357135b7a21d4cc956541d5de4653f28ad3f9cf5fd0e35d21f148bc09" }, - "FEP.ContinuousTimeMarkov.boolBlanketActionIndexedSemigroup_kernels_ne": { + "FEP.ContinuousTimeMarkov.TwoStateRates.transition_detailedBalance": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [], - "conclusion": "boolBlanketActionIndexedSemigroup.sampledKernel false ≠\n boolBlanketActionIndexedSemigroup.sampledKernel true", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "rates" + ], + "role": "typed_binder", + "source": "(rates : TwoStateRates)", + "type_source": "TwoStateRates", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "time" + ], + "role": "typed_binder", + "source": "(time : ℝ)", + "type_source": "ℝ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "source", + "target" + ], + "role": "typed_binder", + "source": "(source target : Bool)", + "type_source": "Bool", + "visibility": "explicit" + } + ], + "conclusion": "rates.stationaryLaw source * rates.transition time source target =\n rates.stationaryLaw target * rates.transition time target source", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -32126,26 +32789,7 @@ "visibility": "instance" } ], - "declaration_mentions": [ - { - "identifier": "blanketRefreshSemigroup_transition_pos", - "qualified_name": "FEP.ContinuousTimeMarkov.blanketRefreshSemigroup_transition_pos", - "resolution": "exact or same-namespace source identifier", - "role": "proof_reference" - }, - { - "identifier": "boolBlanketActionIndexedSemigroup_false_kernel", - "qualified_name": "FEP.ContinuousTimeMarkov.boolBlanketActionIndexedSemigroup_false_kernel", - "resolution": "exact or same-namespace source identifier", - "role": "proof_reference" - }, - { - "identifier": "boolBlanketActionIndexedSemigroup_true_kernel", - "qualified_name": "FEP.ContinuousTimeMarkov.boolBlanketActionIndexedSemigroup_true_kernel", - "resolution": "exact or same-namespace source identifier", - "role": "proof_reference" - } - ], + "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ "FepSketches.finite_markov_dynamics", @@ -32155,7 +32799,7 @@ "Mathlib.Analysis.Normed.Algebra.MatrixExponential" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.ContinuousTimeMarkov", + "namespace": "FEP.ContinuousTimeMarkov.TwoStateRates", "namespace_variable_context": [ "{State : Type*} [Fintype State] [Nonempty State] [DecidableEq State]", "{Internal Sensory Active External : Type*}\n [Fintype Internal] [Fintype Sensory] [Fintype Active] [Fintype External]\n [DecidableEq Internal] [DecidableEq Sensory] [DecidableEq Active]\n [DecidableEq External]\n [Nontrivial Internal] [Nontrivial Sensory]\n [Nontrivial Active] [Nontrivial External]" @@ -32227,16 +32871,48 @@ "source": "omit [Nonempty State] in" } ], - "qualified_name": "FEP.ContinuousTimeMarkov.boolBlanketActionIndexedSemigroup_kernels_ne", - "source_line": 1126, + "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.transition_detailedBalance", + "source_line": 1612, "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", - "statement": "theorem boolBlanketActionIndexedSemigroup_kernels_ne :\n boolBlanketActionIndexedSemigroup.sampledKernel false ≠\n boolBlanketActionIndexedSemigroup.sampledKernel true", - "statement_sha256": "4f0cbc5b25a66f6fd128892dcfe1e86361747bdccaac7fe73a536f81d14220e0" + "statement": "theorem transition_detailedBalance (rates : TwoStateRates) (time : ℝ)\n (source target : Bool) :\n rates.stationaryLaw source * rates.transition time source target =\n rates.stationaryLaw target * rates.transition time target source", + "statement_sha256": "07db66ba8009c7acd70b4e4571362335dc39be1c4a1e36f9590887a1740f5a4a" }, - "FEP.ContinuousTimeMarkov.boolBlanketActionIndexedSemigroup_true_kernel": { + "FEP.ContinuousTimeMarkov.TwoStateRates.transition_hasDerivAt": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [], - "conclusion": "boolBlanketActionIndexedSemigroup.sampledKernel true =\n boolBlanketRefreshKernel", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "rates" + ], + "role": "typed_binder", + "source": "(rates : TwoStateRates)", + "type_source": "TwoStateRates", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "time" + ], + "role": "typed_binder", + "source": "(time : ℝ)", + "type_source": "ℝ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "source", + "target" + ], + "role": "typed_binder", + "source": "(source target : Bool)", + "type_source": "Bool", + "visibility": "explicit" + } + ], + "conclusion": "HasDerivAt (fun candidate ↦ rates.transition candidate source target)\n (rates.transitionDerivative time source target) time", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -32392,7 +33068,7 @@ "Mathlib.Analysis.Normed.Algebra.MatrixExponential" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.ContinuousTimeMarkov", + "namespace": "FEP.ContinuousTimeMarkov.TwoStateRates", "namespace_variable_context": [ "{State : Type*} [Fintype State] [Nonempty State] [DecidableEq State]", "{Internal Sensory Active External : Type*}\n [Fintype Internal] [Fintype Sensory] [Fintype Active] [Fintype External]\n [DecidableEq Internal] [DecidableEq Sensory] [DecidableEq Active]\n [DecidableEq External]\n [Nontrivial Internal] [Nontrivial Sensory]\n [Nontrivial Active] [Nontrivial External]" @@ -32464,27 +33140,48 @@ "source": "omit [Nonempty State] in" } ], - "qualified_name": "FEP.ContinuousTimeMarkov.boolBlanketActionIndexedSemigroup_true_kernel", - "source_line": 1118, + "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.transition_hasDerivAt", + "source_line": 1517, "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", - "statement": "theorem boolBlanketActionIndexedSemigroup_true_kernel :\n boolBlanketActionIndexedSemigroup.sampledKernel true =\n boolBlanketRefreshKernel", - "statement_sha256": "931507902df4e6634c1cf8649baf521fae523af09cfcf70e61c19b64c1dba684" + "statement": "theorem transition_hasDerivAt (rates : TwoStateRates) (time : ℝ)\n (source target : Bool) :\n HasDerivAt (fun candidate ↦ rates.transition candidate source target)\n (rates.transitionDerivative time source target) time", + "statement_sha256": "b633ae5b862d29b27c2a97947738026b81cb5a7be71c1510f1366f8359d4a181" }, - "FEP.ContinuousTimeMarkov.boolBlanketActionSampleTime_nonneg": { + "FEP.ContinuousTimeMarkov.TwoStateRates.transition_masterEquation": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "action" + "rates" ], "role": "typed_binder", - "source": "(action : Bool)", + "source": "(rates : TwoStateRates)", + "type_source": "TwoStateRates", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "time" + ], + "role": "typed_binder", + "source": "(time : ℝ)", + "type_source": "ℝ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "source", + "target" + ], + "role": "typed_binder", + "source": "(source target : Bool)", "type_source": "Bool", "visibility": "explicit" } ], - "conclusion": "0 ≤ boolBlanketActionSampleTime action", + "conclusion": "HasDerivAt (fun candidate ↦ rates.transition candidate source target)\n (∑ middle,\n rates.generator source middle * rates.transition time middle target)\n time ∧\n HasDerivAt (fun candidate ↦ rates.transition candidate source target)\n (∑ middle,\n rates.transition time source middle * rates.generator middle target)\n time", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -32640,7 +33337,7 @@ "Mathlib.Analysis.Normed.Algebra.MatrixExponential" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.ContinuousTimeMarkov", + "namespace": "FEP.ContinuousTimeMarkov.TwoStateRates", "namespace_variable_context": [ "{State : Type*} [Fintype State] [Nonempty State] [DecidableEq State]", "{Internal Sensory Active External : Type*}\n [Fintype Internal] [Fintype Sensory] [Fintype Active] [Fintype External]\n [DecidableEq Internal] [DecidableEq Sensory] [DecidableEq Active]\n [DecidableEq External]\n [Nontrivial Internal] [Nontrivial Sensory]\n [Nontrivial Active] [Nontrivial External]" @@ -32712,68 +33409,48 @@ "source": "omit [Nonempty State] in" } ], - "qualified_name": "FEP.ContinuousTimeMarkov.boolBlanketActionSampleTime_nonneg", - "source_line": 1084, + "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.transition_masterEquation", + "source_line": 1583, "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", - "statement": "theorem boolBlanketActionSampleTime_nonneg (action : Bool) :\n 0 ≤ boolBlanketActionSampleTime action", - "statement_sha256": "7e7a28ee87d4cc90e36682c92e7ac68f70087b31aa740c4c538b148bfdcf8f47" + "statement": "theorem transition_masterEquation (rates : TwoStateRates) (time : ℝ)\n (source target : Bool) :\n HasDerivAt (fun candidate ↦ rates.transition candidate source target)\n (∑ middle,\n rates.generator source middle * rates.transition time middle target)\n time ∧\n HasDerivAt (fun candidate ↦ rates.transition candidate source target)\n (∑ middle,\n rates.transition time source middle * rates.generator middle target)\n time", + "statement_sha256": "9282b5d04e86b83dde4766d0afcee3e18dc3117ab084fc5f933300bf9fb42bda" }, - "FEP.ContinuousTimeMarkov.boolBlanketGenerativeModel_false_posteriorState": { + "FEP.ContinuousTimeMarkov.TwoStateRates.transition_mul_generator": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "internal" - ], - "role": "typed_binder", - "source": "(internal : FiniteLaw Bool)", - "type_source": "FiniteLaw Bool", - "visibility": "explicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "likelihood" + "rates" ], "role": "typed_binder", - "source": "(likelihood : FiniteKernel Bool Bool)", - "type_source": "FiniteKernel Bool Bool", + "source": "(rates : TwoStateRates)", + "type_source": "TwoStateRates", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "preferences", - "policyPrior" + "time" ], "role": "typed_binder", - "source": "(preferences policyPrior : FiniteLaw Bool)", - "type_source": "FiniteLaw Bool", + "source": "(time : ℝ)", + "type_source": "ℝ", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "observation" + "source", + "target" ], "role": "typed_binder", - "source": "(observation : Bool)", + "source": "(source target : Bool)", "type_source": "Bool", "visibility": "explicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "hEvidence" - ], - "role": "typed_binder", - "source": "(hEvidence : 0 < likelihood.predictive internal observation)", - "type_source": "0 < likelihood.predictive internal observation", - "visibility": "explicit" } ], - "conclusion": "FEP.ActiveInference.posteriorState\n (boolBlanketGenerativeModel (liftInternalLaw internal)\n (liftInternalLikelihood likelihood) preferences policyPrior)\n false observation\n (by\n rw [boolBlanketGenerativeModel_false_predictedOutcome]\n exact hEvidence) =\n liftInternalLaw\n (likelihood.posterior internal observation hEvidence)", + "conclusion": "(∑ middle,\n rates.transition time source middle * rates.generator middle target) =\n rates.transitionDerivative time source target", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -32919,26 +33596,7 @@ "visibility": "instance" } ], - "declaration_mentions": [ - { - "identifier": "boolBlanketGenerativeModel_false_predictedOutcome", - "qualified_name": "FEP.ContinuousTimeMarkov.boolBlanketGenerativeModel_false_predictedOutcome", - "resolution": "exact or same-namespace source identifier", - "role": "statement_reference" - }, - { - "identifier": "boolBlanketActionIndexedSemigroup_false_kernel", - "qualified_name": "FEP.ContinuousTimeMarkov.boolBlanketActionIndexedSemigroup_false_kernel", - "resolution": "exact or same-namespace source identifier", - "role": "proof_reference" - }, - { - "identifier": "liftInternalLikelihood_predictive_liftInternalLaw", - "qualified_name": "FEP.ContinuousTimeMarkov.liftInternalLikelihood_predictive_liftInternalLaw", - "resolution": "exact or same-namespace source identifier", - "role": "proof_reference" - } - ], + "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ "FepSketches.finite_markov_dynamics", @@ -32948,7 +33606,7 @@ "Mathlib.Analysis.Normed.Algebra.MatrixExponential" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.ContinuousTimeMarkov", + "namespace": "FEP.ContinuousTimeMarkov.TwoStateRates", "namespace_variable_context": [ "{State : Type*} [Fintype State] [Nonempty State] [DecidableEq State]", "{Internal Sensory Active External : Type*}\n [Fintype Internal] [Fintype Sensory] [Fintype Active] [Fintype External]\n [DecidableEq Internal] [DecidableEq Sensory] [DecidableEq Active]\n [DecidableEq External]\n [Nontrivial Internal] [Nontrivial Sensory]\n [Nontrivial Active] [Nontrivial External]" @@ -33020,48 +33678,58 @@ "source": "omit [Nonempty State] in" } ], - "qualified_name": "FEP.ContinuousTimeMarkov.boolBlanketGenerativeModel_false_posteriorState", - "source_line": 1201, + "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.transition_mul_generator", + "source_line": 1568, "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", - "statement": "theorem boolBlanketGenerativeModel_false_posteriorState\n (internal : FiniteLaw Bool) (likelihood : FiniteKernel Bool Bool)\n (preferences policyPrior : FiniteLaw Bool) (observation : Bool)\n (hEvidence : 0 < likelihood.predictive internal observation) :\n FEP.ActiveInference.posteriorState\n (boolBlanketGenerativeModel (liftInternalLaw internal)\n (liftInternalLikelihood likelihood) preferences policyPrior)\n false observation\n (by\n rw [boolBlanketGenerativeModel_false_predictedOutcome]\n exact hEvidence) =\n liftInternalLaw\n (likelihood.posterior internal observation hEvidence)", - "statement_sha256": "f8e52f9b30de1aec657e4dfbe2635cc9d075903537d9f64ba58e9e880b50b4b3" + "statement": "theorem transition_mul_generator (rates : TwoStateRates) (time : ℝ)\n (source target : Bool) :\n (∑ middle,\n rates.transition time source middle * rates.generator middle target) =\n rates.transitionDerivative time source target", + "statement_sha256": "41c62ed7032347701fdfd4271aa801147c655c7aefa7c56e9b691d487af96576" }, - "FEP.ContinuousTimeMarkov.boolBlanketGenerativeModel_false_predictedOutcome": { + "FEP.ContinuousTimeMarkov.TwoStateRates.transition_nonneg": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "internal" + "rates" ], "role": "typed_binder", - "source": "(internal : FiniteLaw Bool)", - "type_source": "FiniteLaw Bool", + "source": "(rates : TwoStateRates)", + "type_source": "TwoStateRates", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "likelihood" + "time" ], "role": "typed_binder", - "source": "(likelihood : FiniteKernel Bool Bool)", - "type_source": "FiniteKernel Bool Bool", + "source": "{time : ℝ}", + "type_source": "ℝ", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hTime" + ], + "role": "typed_binder", + "source": "(hTime : 0 ≤ time)", + "type_source": "0 ≤ time", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "preferences", - "policyPrior" + "source", + "target" ], "role": "typed_binder", - "source": "(preferences policyPrior : FiniteLaw Bool)", - "type_source": "FiniteLaw Bool", + "source": "(source target : Bool)", + "type_source": "Bool", "visibility": "explicit" } ], - "conclusion": "FEP.ActiveInference.predictedOutcome\n (boolBlanketGenerativeModel (liftInternalLaw internal)\n (liftInternalLikelihood likelihood) preferences policyPrior) false =\n likelihood.predictive internal", + "conclusion": "0 ≤ rates.transition time source target", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -33207,20 +33875,7 @@ "visibility": "instance" } ], - "declaration_mentions": [ - { - "identifier": "boolBlanketActionIndexedSemigroup_false_kernel", - "qualified_name": "FEP.ContinuousTimeMarkov.boolBlanketActionIndexedSemigroup_false_kernel", - "resolution": "exact or same-namespace source identifier", - "role": "proof_reference" - }, - { - "identifier": "liftInternalLikelihood_predictive_liftInternalLaw", - "qualified_name": "FEP.ContinuousTimeMarkov.liftInternalLikelihood_predictive_liftInternalLaw", - "resolution": "exact or same-namespace source identifier", - "role": "proof_reference" - } - ], + "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ "FepSketches.finite_markov_dynamics", @@ -33230,7 +33885,7 @@ "Mathlib.Analysis.Normed.Algebra.MatrixExponential" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.ContinuousTimeMarkov", + "namespace": "FEP.ContinuousTimeMarkov.TwoStateRates", "namespace_variable_context": [ "{State : Type*} [Fintype State] [Nonempty State] [DecidableEq State]", "{Internal Sensory Active External : Type*}\n [Fintype Internal] [Fintype Sensory] [Fintype Active] [Fintype External]\n [DecidableEq Internal] [DecidableEq Sensory] [DecidableEq Active]\n [DecidableEq External]\n [Nontrivial Internal] [Nontrivial Sensory]\n [Nontrivial Active] [Nontrivial External]" @@ -33302,58 +33957,47 @@ "source": "omit [Nonempty State] in" } ], - "qualified_name": "FEP.ContinuousTimeMarkov.boolBlanketGenerativeModel_false_predictedOutcome", - "source_line": 1183, + "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.transition_nonneg", + "source_line": 1453, "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", - "statement": "theorem boolBlanketGenerativeModel_false_predictedOutcome\n (internal : FiniteLaw Bool) (likelihood : FiniteKernel Bool Bool)\n (preferences policyPrior : FiniteLaw Bool) :\n FEP.ActiveInference.predictedOutcome\n (boolBlanketGenerativeModel (liftInternalLaw internal)\n (liftInternalLikelihood likelihood) preferences policyPrior) false =\n likelihood.predictive internal", - "statement_sha256": "90fce4300140ec6104c12275b7d990d081d3d08f43e78c56a8474502fa24cfdf" + "statement": "theorem transition_nonneg (rates : TwoStateRates) {time : ℝ}\n (hTime : 0 ≤ time) (source target : Bool) :\n 0 ≤ rates.transition time source target", + "statement_sha256": "cac6a1ddf34635a16290a644ab5a691e1cc7918ef3c3af1fcacf7f3127d43270" }, - "FEP.ContinuousTimeMarkov.boolBlanketGenerativeModel_transition": { + "FEP.ContinuousTimeMarkov.TwoStateRates.transition_rowSum": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "initialState" - ], - "role": "typed_binder", - "source": "(initialState : FiniteLaw BoolBlanketState)", - "type_source": "FiniteLaw BoolBlanketState", - "visibility": "explicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "likelihood" + "rates" ], "role": "typed_binder", - "source": "(likelihood : FiniteKernel BoolBlanketState Bool)", - "type_source": "FiniteKernel BoolBlanketState Bool", + "source": "(rates : TwoStateRates)", + "type_source": "TwoStateRates", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "preferences", - "policyPrior" + "time" ], "role": "typed_binder", - "source": "(preferences policyPrior : FiniteLaw Bool)", - "type_source": "FiniteLaw Bool", + "source": "(time : ℝ)", + "type_source": "ℝ", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "action" + "source" ], "role": "typed_binder", - "source": "(action : Bool)", + "source": "(source : Bool)", "type_source": "Bool", "visibility": "explicit" } ], - "conclusion": "(boolBlanketGenerativeModel initialState likelihood preferences\n policyPrior).transition action =\n boolBlanketActionIndexedSemigroup.sampledKernel action", + "conclusion": "∑ target, rates.transition time source target = 1", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -33509,7 +34153,7 @@ "Mathlib.Analysis.Normed.Algebra.MatrixExponential" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.ContinuousTimeMarkov", + "namespace": "FEP.ContinuousTimeMarkov.TwoStateRates", "namespace_variable_context": [ "{State : Type*} [Fintype State] [Nonempty State] [DecidableEq State]", "{Internal Sensory Active External : Type*}\n [Fintype Internal] [Fintype Sensory] [Fintype Active] [Fintype External]\n [DecidableEq Internal] [DecidableEq Sensory] [DecidableEq Active]\n [DecidableEq External]\n [Nontrivial Internal] [Nontrivial Sensory]\n [Nontrivial Active] [Nontrivial External]" @@ -33581,16 +34225,47 @@ "source": "omit [Nonempty State] in" } ], - "qualified_name": "FEP.ContinuousTimeMarkov.boolBlanketGenerativeModel_transition", - "source_line": 1161, + "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.transition_rowSum", + "source_line": 1438, "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", - "statement": "theorem boolBlanketGenerativeModel_transition\n (initialState : FiniteLaw BoolBlanketState)\n (likelihood : FiniteKernel BoolBlanketState Bool)\n (preferences policyPrior : FiniteLaw Bool) (action : Bool) :\n (boolBlanketGenerativeModel initialState likelihood preferences\n policyPrior).transition action =\n boolBlanketActionIndexedSemigroup.sampledKernel action", - "statement_sha256": "b57f3327cbcf3cc294a8916abaa64927b928187a96df3784a8a829c224eba80a" + "statement": "theorem transition_rowSum (rates : TwoStateRates) (time : ℝ)\n (source : Bool) :\n ∑ target, rates.transition time source target = 1", + "statement_sha256": "bedc322c219ded41fee7307211cabac1adce9ed8d89dff2aa22628ef352165e9" }, - "FEP.ContinuousTimeMarkov.boolBlanketInitial_ne_uniform": { + "FEP.ContinuousTimeMarkov.TwoStateRates.transition_stationary": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [], - "conclusion": "boolBlanketInitialLaw ≠\n (FiniteLaw.uniform : FiniteLaw\n (FEP.MarkovBlanket.DynamicState Bool Bool Bool Bool))", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "rates" + ], + "role": "typed_binder", + "source": "(rates : TwoStateRates)", + "type_source": "TwoStateRates", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "time" + ], + "role": "typed_binder", + "source": "(time : ℝ)", + "type_source": "ℝ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "target" + ], + "role": "typed_binder", + "source": "(target : Bool)", + "type_source": "Bool", + "visibility": "explicit" + } + ], + "conclusion": "(∑ source,\n rates.stationaryLaw source * rates.transition time source target) =\n rates.stationaryLaw target", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -33736,14 +34411,7 @@ "visibility": "instance" } ], - "declaration_mentions": [ - { - "identifier": "blanketPointMass_ne_uniform", - "qualified_name": "FEP.ContinuousTimeMarkov.blanketPointMass_ne_uniform", - "resolution": "exact or same-namespace source identifier", - "role": "proof_reference" - } - ], + "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ "FepSketches.finite_markov_dynamics", @@ -33753,7 +34421,7 @@ "Mathlib.Analysis.Normed.Algebra.MatrixExponential" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.ContinuousTimeMarkov", + "namespace": "FEP.ContinuousTimeMarkov.TwoStateRates", "namespace_variable_context": [ "{State : Type*} [Fintype State] [Nonempty State] [DecidableEq State]", "{Internal Sensory Active External : Type*}\n [Fintype Internal] [Fintype Sensory] [Fintype Active] [Fintype External]\n [DecidableEq Internal] [DecidableEq Sensory] [DecidableEq Active]\n [DecidableEq External]\n [Nontrivial Internal] [Nontrivial Sensory]\n [Nontrivial Active] [Nontrivial External]" @@ -33825,16 +34493,38 @@ "source": "omit [Nonempty State] in" } ], - "qualified_name": "FEP.ContinuousTimeMarkov.boolBlanketInitial_ne_uniform", - "source_line": 1061, + "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.transition_stationary", + "source_line": 1599, "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", - "statement": "theorem boolBlanketInitial_ne_uniform :\n boolBlanketInitialLaw ≠\n (FiniteLaw.uniform : FiniteLaw\n (FEP.MarkovBlanket.DynamicState Bool Bool Bool Bool))", - "statement_sha256": "c790b9a15b55bbd1b3167ff266f30cdfe2250f79c5578d5a9dd62f518e633cf0" + "statement": "theorem transition_stationary (rates : TwoStateRates) (time : ℝ)\n (target : Bool) :\n (∑ source,\n rates.stationaryLaw source * rates.transition time source target) =\n rates.stationaryLaw target", + "statement_sha256": "a37c1f499f3bf4e9bcf4c24ddf46607bc66ff92da98e0cb52d8a815a68e4b322" }, - "FEP.ContinuousTimeMarkov.boolBlanketInitial_not_invariant": { + "FEP.ContinuousTimeMarkov.TwoStateRates.transition_zero": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [], - "conclusion": "¬FEP.FiniteMarkovDynamics.IsInvariant\n boolBlanketInitialLaw boolBlanketRefreshKernel", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "rates" + ], + "role": "typed_binder", + "source": "(rates : TwoStateRates)", + "type_source": "TwoStateRates", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "source", + "target" + ], + "role": "typed_binder", + "source": "(source target : Bool)", + "type_source": "Bool", + "visibility": "explicit" + } + ], + "conclusion": "rates.transition 0 source target = if source = target then 1 else 0", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -33980,14 +34670,7 @@ "visibility": "instance" } ], - "declaration_mentions": [ - { - "identifier": "boolBlanket_finiteKL_strict_decrease", - "qualified_name": "FEP.ContinuousTimeMarkov.boolBlanket_finiteKL_strict_decrease", - "resolution": "exact or same-namespace source identifier", - "role": "proof_reference" - } - ], + "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ "FepSketches.finite_markov_dynamics", @@ -33997,7 +34680,7 @@ "Mathlib.Analysis.Normed.Algebra.MatrixExponential" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.ContinuousTimeMarkov", + "namespace": "FEP.ContinuousTimeMarkov.TwoStateRates", "namespace_variable_context": [ "{State : Type*} [Fintype State] [Nonempty State] [DecidableEq State]", "{Internal Sensory Active External : Type*}\n [Fintype Internal] [Fintype Sensory] [Fintype Active] [Fintype External]\n [DecidableEq Internal] [DecidableEq Sensory] [DecidableEq Active]\n [DecidableEq External]\n [Nontrivial Internal] [Nontrivial Sensory]\n [Nontrivial Active] [Nontrivial External]" @@ -34069,16 +34752,27 @@ "source": "omit [Nonempty State] in" } ], - "qualified_name": "FEP.ContinuousTimeMarkov.boolBlanketInitial_not_invariant", - "source_line": 1323, + "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.transition_zero", + "source_line": 1473, "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", - "statement": "theorem boolBlanketInitial_not_invariant :\n ¬FEP.FiniteMarkovDynamics.IsInvariant\n boolBlanketInitialLaw boolBlanketRefreshKernel", - "statement_sha256": "93c978b39afbd8030708e2546f8cd1b30b39f1b0405a7a1d78a57bfc93018878" + "statement": "theorem transition_zero (rates : TwoStateRates) (source target : Bool) :\n rates.transition 0 source target = if source = target then 1 else 0", + "statement_sha256": "9c37229f1c6d2241af38cd84f4487736db8693de29bd149ea345918f00b80738" }, - "FEP.ContinuousTimeMarkov.boolBlanketState_card": { + "FEP.ContinuousTimeMarkov.blanketPointMass_ne_uniform": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [], - "conclusion": "Fintype.card BoolBlanketState = 16", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "chosen" + ], + "role": "typed_binder", + "source": "(chosen : FEP.MarkovBlanket.DynamicState\n Internal Sensory Active External)", + "type_source": "FEP.MarkovBlanket.DynamicState\n Internal Sensory Active External", + "visibility": "explicit" + } + ], + "conclusion": "FiniteLaw.pointMass chosen ≠\n (FiniteLaw.uniform : FiniteLaw\n (FEP.MarkovBlanket.DynamicState Internal Sensory Active External))", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -34306,16 +35000,48 @@ "source": "omit [Nonempty State] in" } ], - "qualified_name": "FEP.ContinuousTimeMarkov.boolBlanketState_card", - "source_line": 943, + "qualified_name": "FEP.ContinuousTimeMarkov.blanketPointMass_ne_uniform", + "source_line": 921, "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", - "statement": "theorem boolBlanketState_card :\n Fintype.card BoolBlanketState = 16", - "statement_sha256": "16849fddcbcfdc25ac716796f3ce344894a4495b6d05f213dbbaa0bee5fb158f" + "statement": "theorem blanketPointMass_ne_uniform\n (chosen : FEP.MarkovBlanket.DynamicState\n Internal Sensory Active External) :\n FiniteLaw.pointMass chosen ≠\n (FiniteLaw.uniform : FiniteLaw\n (FEP.MarkovBlanket.DynamicState Internal Sensory Active External))", + "statement_sha256": "52fb9db371ef7f292a40297ab4e4b2f4fce0edfbceda07b91fd239cdc8939bd8" }, - "FEP.ContinuousTimeMarkov.boolBlanketStationaryLaw_isStationary": { + "FEP.ContinuousTimeMarkov.blanketRefreshSemigroup_transition_pos": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [], - "conclusion": "(blanketRefreshSemigroup\n (Internal := Bool) (Sensory := Bool) (Active := Bool)\n (External := Bool)).IsStationary boolBlanketStationaryLaw", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "time" + ], + "role": "typed_binder", + "source": "{time : ℝ}", + "type_source": "ℝ", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hTime" + ], + "role": "typed_binder", + "source": "(hTime : 0 < time)", + "type_source": "0 < time", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "source", + "target" + ], + "role": "typed_binder", + "source": "(source target :\n FEP.MarkovBlanket.DynamicState Internal Sensory Active External)", + "type_source": "FEP.MarkovBlanket.DynamicState Internal Sensory Active External", + "visibility": "explicit" + } + ], + "conclusion": "0 < blanketRefreshSemigroup.transition time source target", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -34463,8 +35189,8 @@ ], "declaration_mentions": [ { - "identifier": "refreshSemigroup_uniform_stationary", - "qualified_name": "FEP.ContinuousTimeMarkov.refreshSemigroup_uniform_stationary", + "identifier": "refreshTransition_pos", + "qualified_name": "FEP.ContinuousTimeMarkov.refreshTransition_pos", "resolution": "exact or same-namespace source identifier", "role": "proof_reference" } @@ -34550,16 +35276,16 @@ "source": "omit [Nonempty State] in" } ], - "qualified_name": "FEP.ContinuousTimeMarkov.boolBlanketStationaryLaw_isStationary", - "source_line": 1242, + "qualified_name": "FEP.ContinuousTimeMarkov.blanketRefreshSemigroup_transition_pos", + "source_line": 912, "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", - "statement": "theorem boolBlanketStationaryLaw_isStationary :\n (blanketRefreshSemigroup\n (Internal := Bool) (Sensory := Bool) (Active := Bool)\n (External := Bool)).IsStationary boolBlanketStationaryLaw", - "statement_sha256": "fd3a5f4618d693ee6cdfef7f7541ab18cae65629238e63ea4350fe19a3e30c1e" + "statement": "theorem blanketRefreshSemigroup_transition_pos\n {time : ℝ} (hTime : 0 < time)\n (source target :\n FEP.MarkovBlanket.DynamicState Internal Sensory Active External) :\n 0 < blanketRefreshSemigroup.transition time source target", + "statement_sha256": "d85149a1fdda5a8fc5e417e256a5728416a18aee1980a9d4deeb61c68a9dbd29" }, - "FEP.ContinuousTimeMarkov.boolBlanket_finiteKL_strict_decrease": { + "FEP.ContinuousTimeMarkov.boolBlanketActionIndexedSemigroup_false_kernel": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [], - "conclusion": "finiteKL boolBlanketEvolvedLaw boolBlanketStationaryLaw <\n finiteKL boolBlanketInitialLaw boolBlanketStationaryLaw", + "conclusion": "boolBlanketActionIndexedSemigroup.sampledKernel false =\n (FiniteKernel.identity : FiniteKernel BoolBlanketState BoolBlanketState)", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -34707,11 +35433,9 @@ ], "declaration_mentions": [ { - "candidates": [ - "FEP.FiniteInformation.finiteKL_eq_crossEntropy_sub_entropy" - ], - "identifier": "finiteKL_eq_crossEntropy_sub_entropy", - "resolution": "unresolved lexical scope", + "identifier": "FiniteMarkovSemigroup.kernel_zero", + "qualified_name": "FEP.ContinuousTimeMarkov.FiniteMarkovSemigroup.kernel_zero", + "resolution": "exact or same-namespace source identifier", "role": "proof_reference" } ], @@ -34796,16 +35520,16 @@ "source": "omit [Nonempty State] in" } ], - "qualified_name": "FEP.ContinuousTimeMarkov.boolBlanket_finiteKL_strict_decrease", - "source_line": 1303, + "qualified_name": "FEP.ContinuousTimeMarkov.boolBlanketActionIndexedSemigroup_false_kernel", + "source_line": 1108, "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", - "statement": "theorem boolBlanket_finiteKL_strict_decrease :\n finiteKL boolBlanketEvolvedLaw boolBlanketStationaryLaw <\n finiteKL boolBlanketInitialLaw boolBlanketStationaryLaw", - "statement_sha256": "7f47bddac2de0dd928d08818ce5452a5f169562d253f6a939f361c8b97be5330" + "statement": "theorem boolBlanketActionIndexedSemigroup_false_kernel :\n boolBlanketActionIndexedSemigroup.sampledKernel false =\n (FiniteKernel.identity : FiniteKernel BoolBlanketState BoolBlanketState)", + "statement_sha256": "4dbf85e7471957be555df67a78a97e2fdd7d87d429b7b5b4e91d15f5d42144d0" }, - "FEP.ContinuousTimeMarkov.boolBlanket_nativeKL_strict_decrease": { + "FEP.ContinuousTimeMarkov.boolBlanketActionIndexedSemigroup_kernels_ne": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [], - "conclusion": "InformationTheory.klDiv\n (FEP.NativeBlanket.embeddedLaw boolBlanketEvolvedLaw)\n (FEP.NativeBlanket.embeddedLaw boolBlanketStationaryLaw) <\n InformationTheory.klDiv\n (FEP.NativeBlanket.embeddedLaw boolBlanketInitialLaw)\n (FEP.NativeBlanket.embeddedLaw boolBlanketStationaryLaw)", + "conclusion": "boolBlanketActionIndexedSemigroup.sampledKernel false ≠\n boolBlanketActionIndexedSemigroup.sampledKernel true", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -34953,23 +35677,21 @@ ], "declaration_mentions": [ { - "identifier": "FEP.DecisionRisk.weightedDirac_klDiv_eq_finiteKL_of_fullSupport", - "qualified_name": "FEP.DecisionRisk.weightedDirac_klDiv_eq_finiteKL_of_fullSupport", + "identifier": "blanketRefreshSemigroup_transition_pos", + "qualified_name": "FEP.ContinuousTimeMarkov.blanketRefreshSemigroup_transition_pos", "resolution": "exact or same-namespace source identifier", "role": "proof_reference" }, { - "identifier": "boolBlanket_finiteKL_strict_decrease", - "qualified_name": "FEP.ContinuousTimeMarkov.boolBlanket_finiteKL_strict_decrease", + "identifier": "boolBlanketActionIndexedSemigroup_false_kernel", + "qualified_name": "FEP.ContinuousTimeMarkov.boolBlanketActionIndexedSemigroup_false_kernel", "resolution": "exact or same-namespace source identifier", "role": "proof_reference" }, { - "candidates": [ - "FEP.FiniteInformation.finiteKL_nonneg" - ], - "identifier": "finiteKL_nonneg", - "resolution": "unresolved lexical scope", + "identifier": "boolBlanketActionIndexedSemigroup_true_kernel", + "qualified_name": "FEP.ContinuousTimeMarkov.boolBlanketActionIndexedSemigroup_true_kernel", + "resolution": "exact or same-namespace source identifier", "role": "proof_reference" } ], @@ -35054,27 +35776,16 @@ "source": "omit [Nonempty State] in" } ], - "qualified_name": "FEP.ContinuousTimeMarkov.boolBlanket_nativeKL_strict_decrease", - "source_line": 1335, + "qualified_name": "FEP.ContinuousTimeMarkov.boolBlanketActionIndexedSemigroup_kernels_ne", + "source_line": 1126, "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", - "statement": "theorem boolBlanket_nativeKL_strict_decrease :\n InformationTheory.klDiv\n (FEP.NativeBlanket.embeddedLaw boolBlanketEvolvedLaw)\n (FEP.NativeBlanket.embeddedLaw boolBlanketStationaryLaw) <\n InformationTheory.klDiv\n (FEP.NativeBlanket.embeddedLaw boolBlanketInitialLaw)\n (FEP.NativeBlanket.embeddedLaw boolBlanketStationaryLaw)", - "statement_sha256": "97b2198a9d8083297de7db36fcb1369f7f43b985df7ec9e7ec02a6c95a0dc73b" + "statement": "theorem boolBlanketActionIndexedSemigroup_kernels_ne :\n boolBlanketActionIndexedSemigroup.sampledKernel false ≠\n boolBlanketActionIndexedSemigroup.sampledKernel true", + "statement_sha256": "4f0cbc5b25a66f6fd128892dcfe1e86361747bdccaac7fe73a536f81d14220e0" }, - "FEP.ContinuousTimeMarkov.liftInternalLaw_fstMarginal": { + "FEP.ContinuousTimeMarkov.boolBlanketActionIndexedSemigroup_true_kernel": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [ - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "internal" - ], - "role": "typed_binder", - "source": "(internal : FiniteLaw Bool)", - "type_source": "FiniteLaw Bool", - "visibility": "explicit" - } - ], - "conclusion": "(liftInternalLaw internal).fstMarginal = internal", + "binders": [], + "conclusion": "boolBlanketActionIndexedSemigroup.sampledKernel true =\n boolBlanketRefreshKernel", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -35302,37 +36013,27 @@ "source": "omit [Nonempty State] in" } ], - "qualified_name": "FEP.ContinuousTimeMarkov.liftInternalLaw_fstMarginal", - "source_line": 955, + "qualified_name": "FEP.ContinuousTimeMarkov.boolBlanketActionIndexedSemigroup_true_kernel", + "source_line": 1118, "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", - "statement": "theorem liftInternalLaw_fstMarginal (internal : FiniteLaw Bool) :\n (liftInternalLaw internal).fstMarginal = internal", - "statement_sha256": "ce0f9609e77db5d5a2d22b07ca6d72b0d6deddb6cde341add03fe7f5189d0b61" + "statement": "theorem boolBlanketActionIndexedSemigroup_true_kernel :\n boolBlanketActionIndexedSemigroup.sampledKernel true =\n boolBlanketRefreshKernel", + "statement_sha256": "931507902df4e6634c1cf8649baf521fae523af09cfcf70e61c19b64c1dba684" }, - "FEP.ContinuousTimeMarkov.liftInternalLaw_ne_uniform_of_ne_uniform": { + "FEP.ContinuousTimeMarkov.boolBlanketActionSampleTime_nonneg": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "internal" - ], - "role": "typed_binder", - "source": "(internal : FiniteLaw Bool)", - "type_source": "FiniteLaw Bool", - "visibility": "explicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "hInternal" + "action" ], "role": "typed_binder", - "source": "(hInternal : internal ≠ (FiniteLaw.uniform : FiniteLaw Bool))", - "type_source": "internal ≠ (FiniteLaw.uniform : FiniteLaw Bool)", + "source": "(action : Bool)", + "type_source": "Bool", "visibility": "explicit" } ], - "conclusion": "liftInternalLaw internal ≠\n (FiniteLaw.uniform : FiniteLaw BoolBlanketState)", + "conclusion": "0 ≤ boolBlanketActionSampleTime action", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -35560,51 +36261,44 @@ "source": "omit [Nonempty State] in" } ], - "qualified_name": "FEP.ContinuousTimeMarkov.liftInternalLaw_ne_uniform_of_ne_uniform", - "source_line": 964, + "qualified_name": "FEP.ContinuousTimeMarkov.boolBlanketActionSampleTime_nonneg", + "source_line": 1084, "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", - "statement": "theorem liftInternalLaw_ne_uniform_of_ne_uniform\n (internal : FiniteLaw Bool)\n (hInternal : internal ≠ (FiniteLaw.uniform : FiniteLaw Bool)) :\n liftInternalLaw internal ≠\n (FiniteLaw.uniform : FiniteLaw BoolBlanketState)", - "statement_sha256": "c0b14587aacd7feac17d55c6226500231723ea7f11353230621640b4090d79c4" + "statement": "theorem boolBlanketActionSampleTime_nonneg (action : Bool) :\n 0 ≤ boolBlanketActionSampleTime action", + "statement_sha256": "7e7a28ee87d4cc90e36682c92e7ac68f70087b31aa740c4c538b148bfdcf8f47" }, - "FEP.ContinuousTimeMarkov.liftInternalLikelihood_posterior_liftInternalLaw": { + "FEP.ContinuousTimeMarkov.boolBlanketGenerativeModel_false_posteriorState": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Outcome" + "internal" ], "role": "typed_binder", - "source": "{Outcome : Type*}", - "type_source": "Type*", - "visibility": "implicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype Outcome]", - "type_source": "Fintype Outcome", - "visibility": "instance" + "source": "(internal : FiniteLaw Bool)", + "type_source": "FiniteLaw Bool", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "internal" + "likelihood" ], "role": "typed_binder", - "source": "(internal : FiniteLaw Bool)", - "type_source": "FiniteLaw Bool", + "source": "(likelihood : FiniteKernel Bool Bool)", + "type_source": "FiniteKernel Bool Bool", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "likelihood" + "preferences", + "policyPrior" ], "role": "typed_binder", - "source": "(likelihood : FiniteKernel Bool Outcome)", - "type_source": "FiniteKernel Bool Outcome", + "source": "(preferences policyPrior : FiniteLaw Bool)", + "type_source": "FiniteLaw Bool", "visibility": "explicit" }, { @@ -35613,8 +36307,8 @@ "observation" ], "role": "typed_binder", - "source": "(observation : Outcome)", - "type_source": "Outcome", + "source": "(observation : Bool)", + "type_source": "Bool", "visibility": "explicit" }, { @@ -35628,7 +36322,7 @@ "visibility": "explicit" } ], - "conclusion": "(liftInternalLikelihood likelihood).posterior (liftInternalLaw internal)\n observation\n (by\n rw [liftInternalLikelihood_predictive_liftInternalLaw]\n exact hEvidence) =\n liftInternalLaw\n (likelihood.posterior internal observation hEvidence)", + "conclusion": "FEP.ActiveInference.posteriorState\n (boolBlanketGenerativeModel (liftInternalLaw internal)\n (liftInternalLikelihood likelihood) preferences policyPrior)\n false observation\n (by\n rw [boolBlanketGenerativeModel_false_predictedOutcome]\n exact hEvidence) =\n liftInternalLaw\n (likelihood.posterior internal observation hEvidence)", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -35776,11 +36470,17 @@ ], "declaration_mentions": [ { - "identifier": "liftInternalLikelihood_predictive_liftInternalLaw", - "qualified_name": "FEP.ContinuousTimeMarkov.liftInternalLikelihood_predictive_liftInternalLaw", + "identifier": "boolBlanketGenerativeModel_false_predictedOutcome", + "qualified_name": "FEP.ContinuousTimeMarkov.boolBlanketGenerativeModel_false_predictedOutcome", "resolution": "exact or same-namespace source identifier", "role": "statement_reference" }, + { + "identifier": "boolBlanketActionIndexedSemigroup_false_kernel", + "qualified_name": "FEP.ContinuousTimeMarkov.boolBlanketActionIndexedSemigroup_false_kernel", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + }, { "identifier": "liftInternalLikelihood_predictive_liftInternalLaw", "qualified_name": "FEP.ContinuousTimeMarkov.liftInternalLikelihood_predictive_liftInternalLaw", @@ -35869,55 +36569,48 @@ "source": "omit [Nonempty State] in" } ], - "qualified_name": "FEP.ContinuousTimeMarkov.liftInternalLikelihood_posterior_liftInternalLaw", - "source_line": 1026, + "qualified_name": "FEP.ContinuousTimeMarkov.boolBlanketGenerativeModel_false_posteriorState", + "source_line": 1201, "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", - "statement": "theorem liftInternalLikelihood_posterior_liftInternalLaw\n {Outcome : Type*} [Fintype Outcome]\n (internal : FiniteLaw Bool) (likelihood : FiniteKernel Bool Outcome)\n (observation : Outcome)\n (hEvidence : 0 < likelihood.predictive internal observation) :\n (liftInternalLikelihood likelihood).posterior (liftInternalLaw internal)\n observation\n (by\n rw [liftInternalLikelihood_predictive_liftInternalLaw]\n exact hEvidence) =\n liftInternalLaw\n (likelihood.posterior internal observation hEvidence)", - "statement_sha256": "4155dc68ec57027af49132df50ca64c46dc5ccdcf67960151f16b1dc20cb9198" + "statement": "theorem boolBlanketGenerativeModel_false_posteriorState\n (internal : FiniteLaw Bool) (likelihood : FiniteKernel Bool Bool)\n (preferences policyPrior : FiniteLaw Bool) (observation : Bool)\n (hEvidence : 0 < likelihood.predictive internal observation) :\n FEP.ActiveInference.posteriorState\n (boolBlanketGenerativeModel (liftInternalLaw internal)\n (liftInternalLikelihood likelihood) preferences policyPrior)\n false observation\n (by\n rw [boolBlanketGenerativeModel_false_predictedOutcome]\n exact hEvidence) =\n liftInternalLaw\n (likelihood.posterior internal observation hEvidence)", + "statement_sha256": "f8e52f9b30de1aec657e4dfbe2635cc9d075903537d9f64ba58e9e880b50b4b3" }, - "FEP.ContinuousTimeMarkov.liftInternalLikelihood_predictive_liftInternalLaw": { + "FEP.ContinuousTimeMarkov.boolBlanketGenerativeModel_false_predictedOutcome": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Outcome" + "internal" ], "role": "typed_binder", - "source": "{Outcome : Type*}", - "type_source": "Type*", - "visibility": "implicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype Outcome]", - "type_source": "Fintype Outcome", - "visibility": "instance" + "source": "(internal : FiniteLaw Bool)", + "type_source": "FiniteLaw Bool", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "internal" + "likelihood" ], "role": "typed_binder", - "source": "(internal : FiniteLaw Bool)", - "type_source": "FiniteLaw Bool", + "source": "(likelihood : FiniteKernel Bool Bool)", + "type_source": "FiniteKernel Bool Bool", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "likelihood" + "preferences", + "policyPrior" ], "role": "typed_binder", - "source": "(likelihood : FiniteKernel Bool Outcome)", - "type_source": "FiniteKernel Bool Outcome", + "source": "(preferences policyPrior : FiniteLaw Bool)", + "type_source": "FiniteLaw Bool", "visibility": "explicit" } ], - "conclusion": "(liftInternalLikelihood likelihood).predictive (liftInternalLaw internal) =\n likelihood.predictive internal", + "conclusion": "FEP.ActiveInference.predictedOutcome\n (boolBlanketGenerativeModel (liftInternalLaw internal)\n (liftInternalLikelihood likelihood) preferences policyPrior) false =\n likelihood.predictive internal", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -36063,157 +36756,20 @@ "visibility": "instance" } ], - "declaration_mentions": [], - "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", - "import_context": [ - "FepSketches.finite_markov_dynamics", - "FepSketches.active_inference", - "FepSketches.decision_risk", - "FepSketches.markov_blanket", - "Mathlib.Analysis.Normed.Algebra.MatrixExponential" - ], - "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.ContinuousTimeMarkov", - "namespace_variable_context": [ - "{State : Type*} [Fintype State] [Nonempty State] [DecidableEq State]", - "{Internal Sensory Active External : Type*}\n [Fintype Internal] [Fintype Sensory] [Fintype Active] [Fintype External]\n [DecidableEq Internal] [DecidableEq Sensory] [DecidableEq Active]\n [DecidableEq External]\n [Nontrivial Internal] [Nontrivial Sensory]\n [Nontrivial Active] [Nontrivial External]" - ], - "preceding_scope_directives": [ - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DecidableEq State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DecidableEq State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DecidableEq State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DecidableEq State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - } - ], - "qualified_name": "FEP.ContinuousTimeMarkov.liftInternalLikelihood_predictive_liftInternalLaw", - "source_line": 991, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", - "statement": "theorem liftInternalLikelihood_predictive_liftInternalLaw\n {Outcome : Type*} [Fintype Outcome]\n (internal : FiniteLaw Bool) (likelihood : FiniteKernel Bool Outcome) :\n (liftInternalLikelihood likelihood).predictive (liftInternalLaw internal) =\n likelihood.predictive internal", - "statement_sha256": "a95be87e2bc9e1640f6091fb5d4f458fa9b77a9d69c4c117486ab76619cee343" - }, - "FEP.ContinuousTimeMarkov.refreshGenerator_mul_transition": { - "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [ - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "time" - ], - "role": "typed_binder", - "source": "(time : ℝ)", - "type_source": "ℝ", - "visibility": "explicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "source", - "target" - ], - "role": "typed_binder", - "source": "(source target : State)", - "type_source": "State", - "visibility": "explicit" - } - ], - "conclusion": "(∑ middle,\n refreshRateGenerator source middle *\n refreshTransition time middle target) =\n refreshTransitionDerivative time source target", - "context_binders": [ - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "State" - ], - "role": "typed_binder", - "source": "{State : Type*}", - "type_source": "Type*", - "visibility": "implicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype State]", - "type_source": "Fintype State", - "visibility": "instance" - }, + "declaration_mentions": [ { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Nonempty State]", - "type_source": "Nonempty State", - "visibility": "instance" + "identifier": "boolBlanketActionIndexedSemigroup_false_kernel", + "qualified_name": "FEP.ContinuousTimeMarkov.boolBlanketActionIndexedSemigroup_false_kernel", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" }, { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[DecidableEq State]", - "type_source": "DecidableEq State", - "visibility": "instance" + "identifier": "liftInternalLikelihood_predictive_liftInternalLaw", + "qualified_name": "FEP.ContinuousTimeMarkov.liftInternalLikelihood_predictive_liftInternalLaw", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" } ], - "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ "FepSketches.finite_markov_dynamics", @@ -36225,7 +36781,8 @@ "line_coordinate_kind": "formal_resource_file", "namespace": "FEP.ContinuousTimeMarkov", "namespace_variable_context": [ - "{State : Type*} [Fintype State] [Nonempty State] [DecidableEq State]" + "{State : Type*} [Fintype State] [Nonempty State] [DecidableEq State]", + "{Internal Sensory Active External : Type*}\n [Fintype Internal] [Fintype Sensory] [Fintype Active] [Fintype External]\n [DecidableEq Internal] [DecidableEq Sensory] [DecidableEq Active]\n [DecidableEq External]\n [Nontrivial Internal] [Nontrivial Sensory]\n [Nontrivial Active] [Nontrivial External]" ], "preceding_scope_directives": [ { @@ -36273,63 +36830,79 @@ "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", "source": "omit [Nonempty State] in" }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DecidableEq State] in" + }, { "directive": "omit", "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", "source": "omit [Nonempty State] in" } ], - "qualified_name": "FEP.ContinuousTimeMarkov.refreshGenerator_mul_transition", - "source_line": 556, + "qualified_name": "FEP.ContinuousTimeMarkov.boolBlanketGenerativeModel_false_predictedOutcome", + "source_line": 1183, "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", - "statement": "theorem refreshGenerator_mul_transition (time : ℝ)\n (source target : State) :\n (∑ middle,\n refreshRateGenerator source middle *\n refreshTransition time middle target) =\n refreshTransitionDerivative time source target", - "statement_sha256": "50d351aac41f424026e5f7afd468e6e267172da647d5ab88af54b1fafbdaaccc" + "statement": "theorem boolBlanketGenerativeModel_false_predictedOutcome\n (internal : FiniteLaw Bool) (likelihood : FiniteKernel Bool Bool)\n (preferences policyPrior : FiniteLaw Bool) :\n FEP.ActiveInference.predictedOutcome\n (boolBlanketGenerativeModel (liftInternalLaw internal)\n (liftInternalLikelihood likelihood) preferences policyPrior) false =\n likelihood.predictive internal", + "statement_sha256": "90fce4300140ec6104c12275b7d990d081d3d08f43e78c56a8474502fa24cfdf" }, - "FEP.ContinuousTimeMarkov.refreshSemigroup_finiteKL_strict_decrease_of_ne_uniform": { + "FEP.ContinuousTimeMarkov.boolBlanketGenerativeModel_transition": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "law" + "initialState" ], "role": "typed_binder", - "source": "(law : FiniteLaw State)", - "type_source": "FiniteLaw State", + "source": "(initialState : FiniteLaw BoolBlanketState)", + "type_source": "FiniteLaw BoolBlanketState", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "time" + "likelihood" ], "role": "typed_binder", - "source": "{time : ℝ}", - "type_source": "ℝ", - "visibility": "implicit" + "source": "(likelihood : FiniteKernel BoolBlanketState Bool)", + "type_source": "FiniteKernel BoolBlanketState Bool", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "hTime" + "preferences", + "policyPrior" ], "role": "typed_binder", - "source": "(hTime : 0 < time)", - "type_source": "0 < time", + "source": "(preferences policyPrior : FiniteLaw Bool)", + "type_source": "FiniteLaw Bool", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "hLaw" + "action" ], "role": "typed_binder", - "source": "(hLaw : law ≠ (FiniteLaw.uniform : FiniteLaw State))", - "type_source": "law ≠ (FiniteLaw.uniform : FiniteLaw State)", + "source": "(action : Bool)", + "type_source": "Bool", "visibility": "explicit" } ], - "conclusion": "finiteKL\n ((refreshSemigroup.kernel time hTime.le).predictive law)\n (FiniteLaw.uniform : FiniteLaw State) <\n finiteKL law (FiniteLaw.uniform : FiniteLaw State)", + "conclusion": "(boolBlanketGenerativeModel initialState likelihood preferences\n policyPrior).transition action =\n boolBlanketActionIndexedSemigroup.sampledKernel action", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -36364,48 +36937,118 @@ "source": "[DecidableEq State]", "type_source": "DecidableEq State", "visibility": "instance" - } - ], - "declaration_mentions": [ + }, { - "candidates": [ - "FEP.FiniteInformation.finiteKL_eq_crossEntropy_sub_entropy" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "Internal", + "Sensory", + "Active", + "External" ], - "identifier": "finiteKL_eq_crossEntropy_sub_entropy", - "resolution": "unresolved lexical scope", - "role": "proof_reference" + "role": "typed_binder", + "source": "{Internal Sensory Active External : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { - "candidates": [ - "FEP.FiniteInformation.finiteKL_eq_zero_iff" - ], - "identifier": "finiteKL_eq_zero_iff", - "resolution": "unresolved lexical scope", - "role": "proof_reference" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Internal]", + "type_source": "Fintype Internal", + "visibility": "instance" }, { - "candidates": [ - "FEP.FiniteInformation.finiteKL_nonneg" - ], - "identifier": "finiteKL_nonneg", - "resolution": "unresolved lexical scope", - "role": "proof_reference" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Sensory]", + "type_source": "Fintype Sensory", + "visibility": "instance" }, { - "candidates": [ - "FEP.FiniteInformation.finiteKL_self" - ], - "identifier": "finiteKL_self", - "resolution": "unresolved lexical scope", - "role": "proof_reference" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Active]", + "type_source": "Fintype Active", + "visibility": "instance" }, { - "identifier": "refreshSemigroup_predictive_mass", - "qualified_name": "FEP.ContinuousTimeMarkov.refreshSemigroup_predictive_mass", - "resolution": "exact or same-namespace source identifier", - "role": "proof_reference" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype External]", + "type_source": "Fintype External", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DecidableEq Internal]", + "type_source": "DecidableEq Internal", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DecidableEq Sensory]", + "type_source": "DecidableEq Sensory", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DecidableEq Active]", + "type_source": "DecidableEq Active", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DecidableEq External]", + "type_source": "DecidableEq External", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Nontrivial Internal]", + "type_source": "Nontrivial Internal", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Nontrivial Sensory]", + "type_source": "Nontrivial Sensory", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Nontrivial Active]", + "type_source": "Nontrivial Active", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Nontrivial External]", + "type_source": "Nontrivial External", + "visibility": "instance" } ], + "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ "FepSketches.finite_markov_dynamics", @@ -36417,7 +37060,8 @@ "line_coordinate_kind": "formal_resource_file", "namespace": "FEP.ContinuousTimeMarkov", "namespace_variable_context": [ - "{State : Type*} [Fintype State] [Nonempty State] [DecidableEq State]" + "{State : Type*} [Fintype State] [Nonempty State] [DecidableEq State]", + "{Internal Sensory Active External : Type*}\n [Fintype Internal] [Fintype Sensory] [Fintype Active] [Fintype External]\n [DecidableEq Internal] [DecidableEq Sensory] [DecidableEq Active]\n [DecidableEq External]\n [Nontrivial Internal] [Nontrivial Sensory]\n [Nontrivial Active] [Nontrivial External]" ], "preceding_scope_directives": [ { @@ -36479,129 +37123,172 @@ "directive": "omit", "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", "source": "omit [DecidableEq State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" } ], - "qualified_name": "FEP.ContinuousTimeMarkov.refreshSemigroup_finiteKL_strict_decrease_of_ne_uniform", - "source_line": 760, + "qualified_name": "FEP.ContinuousTimeMarkov.boolBlanketGenerativeModel_transition", + "source_line": 1161, "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", - "statement": "theorem refreshSemigroup_finiteKL_strict_decrease_of_ne_uniform\n (law : FiniteLaw State) {time : ℝ} (hTime : 0 < time)\n (hLaw : law ≠ (FiniteLaw.uniform : FiniteLaw State)) :\n finiteKL\n ((refreshSemigroup.kernel time hTime.le).predictive law)\n (FiniteLaw.uniform : FiniteLaw State) <\n finiteKL law (FiniteLaw.uniform : FiniteLaw State)", - "statement_sha256": "39cb0ec01c6a2dfd88e4774990dd40a9bf658040588d351bac948094861f1595" + "statement": "theorem boolBlanketGenerativeModel_transition\n (initialState : FiniteLaw BoolBlanketState)\n (likelihood : FiniteKernel BoolBlanketState Bool)\n (preferences policyPrior : FiniteLaw Bool) (action : Bool) :\n (boolBlanketGenerativeModel initialState likelihood preferences\n policyPrior).transition action =\n boolBlanketActionIndexedSemigroup.sampledKernel action", + "statement_sha256": "b57f3327cbcf3cc294a8916abaa64927b928187a96df3784a8a829c224eba80a" }, - "FEP.ContinuousTimeMarkov.refreshSemigroup_nativeKL_strict_decrease_of_ne_uniform": { + "FEP.ContinuousTimeMarkov.boolBlanketInitial_ne_uniform": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [ + "binders": [], + "conclusion": "boolBlanketInitialLaw ≠\n (FiniteLaw.uniform : FiniteLaw\n (FEP.MarkovBlanket.DynamicState Bool Bool Bool Bool))", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "State" + ], + "role": "typed_binder", + "source": "{State : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[MeasurableSpace State]", - "type_source": "MeasurableSpace State", + "source": "[Fintype State]", + "type_source": "Fintype State", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace State]", - "type_source": "DiscreteMeasurableSpace State", + "source": "[Nonempty State]", + "type_source": "Nonempty State", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "law" - ], - "role": "typed_binder", - "source": "(law : FiniteLaw State)", - "type_source": "FiniteLaw State", - "visibility": "explicit" + "names": [], + "role": "instance_requirement", + "source": "[DecidableEq State]", + "type_source": "DecidableEq State", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "time" + "Internal", + "Sensory", + "Active", + "External" ], "role": "typed_binder", - "source": "{time : ℝ}", - "type_source": "ℝ", + "source": "{Internal Sensory Active External : Type*}", + "type_source": "Type*", "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "hTime" - ], - "role": "typed_binder", - "source": "(hTime : 0 < time)", - "type_source": "0 < time", - "visibility": "explicit" + "names": [], + "role": "instance_requirement", + "source": "[Fintype Internal]", + "type_source": "Fintype Internal", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "hLaw" - ], - "role": "typed_binder", - "source": "(hLaw : law ≠ (FiniteLaw.uniform : FiniteLaw State))", - "type_source": "law ≠ (FiniteLaw.uniform : FiniteLaw State)", - "visibility": "explicit" - } - ], - "conclusion": "InformationTheory.klDiv\n (FEP.NativeBlanket.embeddedLaw\n ((refreshSemigroup.kernel time hTime.le).predictive law))\n (FEP.NativeBlanket.embeddedLaw\n (FiniteLaw.uniform : FiniteLaw State)) <\n InformationTheory.klDiv\n (FEP.NativeBlanket.embeddedLaw law)\n (FEP.NativeBlanket.embeddedLaw\n (FiniteLaw.uniform : FiniteLaw State))", - "context_binders": [ + "names": [], + "role": "instance_requirement", + "source": "[Fintype Sensory]", + "type_source": "Fintype Sensory", + "visibility": "instance" + }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "State" - ], - "role": "typed_binder", - "source": "{State : Type*}", - "type_source": "Type*", - "visibility": "implicit" + "names": [], + "role": "instance_requirement", + "source": "[Fintype Active]", + "type_source": "Fintype Active", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype State]", - "type_source": "Fintype State", + "source": "[Fintype External]", + "type_source": "Fintype External", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Nonempty State]", - "type_source": "Nonempty State", + "source": "[DecidableEq Internal]", + "type_source": "DecidableEq Internal", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DecidableEq State]", - "type_source": "DecidableEq State", + "source": "[DecidableEq Sensory]", + "type_source": "DecidableEq Sensory", "visibility": "instance" - } - ], - "declaration_mentions": [ + }, { - "identifier": "FEP.DecisionRisk.weightedDirac_klDiv_eq_finiteKL_of_fullSupport", - "qualified_name": "FEP.DecisionRisk.weightedDirac_klDiv_eq_finiteKL_of_fullSupport", - "resolution": "exact or same-namespace source identifier", - "role": "proof_reference" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DecidableEq Active]", + "type_source": "DecidableEq Active", + "visibility": "instance" }, { - "candidates": [ - "FEP.FiniteInformation.finiteKL_nonneg" - ], - "identifier": "finiteKL_nonneg", - "resolution": "unresolved lexical scope", - "role": "proof_reference" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DecidableEq External]", + "type_source": "DecidableEq External", + "visibility": "instance" }, { - "identifier": "refreshSemigroup_finiteKL_strict_decrease_of_ne_uniform", - "qualified_name": "FEP.ContinuousTimeMarkov.refreshSemigroup_finiteKL_strict_decrease_of_ne_uniform", + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Nontrivial Internal]", + "type_source": "Nontrivial Internal", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Nontrivial Sensory]", + "type_source": "Nontrivial Sensory", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Nontrivial Active]", + "type_source": "Nontrivial Active", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Nontrivial External]", + "type_source": "Nontrivial External", + "visibility": "instance" + } + ], + "declaration_mentions": [ + { + "identifier": "blanketPointMass_ne_uniform", + "qualified_name": "FEP.ContinuousTimeMarkov.blanketPointMass_ne_uniform", "resolution": "exact or same-namespace source identifier", "role": "proof_reference" } @@ -36617,7 +37304,8 @@ "line_coordinate_kind": "formal_resource_file", "namespace": "FEP.ContinuousTimeMarkov", "namespace_variable_context": [ - "{State : Type*} [Fintype State] [Nonempty State] [DecidableEq State]" + "{State : Type*} [Fintype State] [Nonempty State] [DecidableEq State]", + "{Internal Sensory Active External : Type*}\n [Fintype Internal] [Fintype Sensory] [Fintype Active] [Fintype External]\n [DecidableEq Internal] [DecidableEq Sensory] [DecidableEq Active]\n [DecidableEq External]\n [Nontrivial Internal] [Nontrivial Sensory]\n [Nontrivial Active] [Nontrivial External]" ], "preceding_scope_directives": [ { @@ -36679,67 +37367,68 @@ "directive": "omit", "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", "source": "omit [DecidableEq State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" } ], - "qualified_name": "FEP.ContinuousTimeMarkov.refreshSemigroup_nativeKL_strict_decrease_of_ne_uniform", - "source_line": 857, + "qualified_name": "FEP.ContinuousTimeMarkov.boolBlanketInitial_ne_uniform", + "source_line": 1061, "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", - "statement": "theorem refreshSemigroup_nativeKL_strict_decrease_of_ne_uniform\n [MeasurableSpace State] [DiscreteMeasurableSpace State]\n (law : FiniteLaw State) {time : ℝ} (hTime : 0 < time)\n (hLaw : law ≠ (FiniteLaw.uniform : FiniteLaw State)) :\n InformationTheory.klDiv\n (FEP.NativeBlanket.embeddedLaw\n ((refreshSemigroup.kernel time hTime.le).predictive law))\n (FEP.NativeBlanket.embeddedLaw\n (FiniteLaw.uniform : FiniteLaw State)) <\n InformationTheory.klDiv\n (FEP.NativeBlanket.embeddedLaw law)\n (FEP.NativeBlanket.embeddedLaw\n (FiniteLaw.uniform : FiniteLaw State))", - "statement_sha256": "49b2c06a8ec96e883a4dc749fd8bb015f4c572c25430586078834bb86e1d6a7d" + "statement": "theorem boolBlanketInitial_ne_uniform :\n boolBlanketInitialLaw ≠\n (FiniteLaw.uniform : FiniteLaw\n (FEP.MarkovBlanket.DynamicState Bool Bool Bool Bool))", + "statement_sha256": "c790b9a15b55bbd1b3167ff266f30cdfe2250f79c5578d5a9dd62f518e633cf0" }, - "FEP.ContinuousTimeMarkov.refreshSemigroup_predictive_mass": { + "FEP.ContinuousTimeMarkov.boolBlanketInitial_not_invariant": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [ + "binders": [], + "conclusion": "¬FEP.FiniteMarkovDynamics.IsInvariant\n boolBlanketInitialLaw boolBlanketRefreshKernel", + "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "law" + "State" ], "role": "typed_binder", - "source": "(law : FiniteLaw State)", - "type_source": "FiniteLaw State", - "visibility": "explicit" + "source": "{State : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "time" - ], - "role": "typed_binder", - "source": "{time : ℝ}", - "type_source": "ℝ", - "visibility": "implicit" + "names": [], + "role": "instance_requirement", + "source": "[Fintype State]", + "type_source": "Fintype State", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "hTime" - ], - "role": "typed_binder", - "source": "(hTime : 0 ≤ time)", - "type_source": "0 ≤ time", - "visibility": "explicit" + "names": [], + "role": "instance_requirement", + "source": "[Nonempty State]", + "type_source": "Nonempty State", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "target" - ], - "role": "typed_binder", - "source": "(target : State)", - "type_source": "State", - "visibility": "explicit" - } - ], - "conclusion": "(refreshSemigroup.kernel time hTime).predictive law target =\n refreshRho time * law target +\n (1 - refreshRho time) *\n (FiniteLaw.uniform : FiniteLaw State) target", - "context_binders": [ + "names": [], + "role": "instance_requirement", + "source": "[DecidableEq State]", + "type_source": "DecidableEq State", + "visibility": "instance" + }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "State" + "Internal", + "Sensory", + "Active", + "External" ], "role": "typed_binder", - "source": "{State : Type*}", + "source": "{Internal Sensory Active External : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -36747,28 +37436,107 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype State]", - "type_source": "Fintype State", + "source": "[Fintype Internal]", + "type_source": "Fintype Internal", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Nonempty State]", - "type_source": "Nonempty State", + "source": "[Fintype Sensory]", + "type_source": "Fintype Sensory", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DecidableEq State]", - "type_source": "DecidableEq State", + "source": "[Fintype Active]", + "type_source": "Fintype Active", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype External]", + "type_source": "Fintype External", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DecidableEq Internal]", + "type_source": "DecidableEq Internal", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DecidableEq Sensory]", + "type_source": "DecidableEq Sensory", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DecidableEq Active]", + "type_source": "DecidableEq Active", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DecidableEq External]", + "type_source": "DecidableEq External", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Nontrivial Internal]", + "type_source": "Nontrivial Internal", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Nontrivial Sensory]", + "type_source": "Nontrivial Sensory", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Nontrivial Active]", + "type_source": "Nontrivial Active", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Nontrivial External]", + "type_source": "Nontrivial External", "visibility": "instance" } ], - "declaration_mentions": [], + "declaration_mentions": [ + { + "identifier": "boolBlanket_finiteKL_strict_decrease", + "qualified_name": "FEP.ContinuousTimeMarkov.boolBlanket_finiteKL_strict_decrease", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + } + ], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ "FepSketches.finite_markov_dynamics", @@ -36780,7 +37548,8 @@ "line_coordinate_kind": "formal_resource_file", "namespace": "FEP.ContinuousTimeMarkov", "namespace_variable_context": [ - "{State : Type*} [Fintype State] [Nonempty State] [DecidableEq State]" + "{State : Type*} [Fintype State] [Nonempty State] [DecidableEq State]", + "{Internal Sensory Active External : Type*}\n [Fintype Internal] [Fintype Sensory] [Fintype Active] [Fintype External]\n [DecidableEq Internal] [DecidableEq Sensory] [DecidableEq Active]\n [DecidableEq External]\n [Nontrivial Internal] [Nontrivial Sensory]\n [Nontrivial Active] [Nontrivial External]" ], "preceding_scope_directives": [ { @@ -36828,22 +37597,37 @@ "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", "source": "omit [Nonempty State] in" }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DecidableEq State] in" + }, { "directive": "omit", "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", "source": "omit [Nonempty State] in" } ], - "qualified_name": "FEP.ContinuousTimeMarkov.refreshSemigroup_predictive_mass", - "source_line": 650, + "qualified_name": "FEP.ContinuousTimeMarkov.boolBlanketInitial_not_invariant", + "source_line": 1323, "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", - "statement": "theorem refreshSemigroup_predictive_mass (law : FiniteLaw State)\n {time : ℝ} (hTime : 0 ≤ time) (target : State) :\n (refreshSemigroup.kernel time hTime).predictive law target =\n refreshRho time * law target +\n (1 - refreshRho time) *\n (FiniteLaw.uniform : FiniteLaw State) target", - "statement_sha256": "b4e4b94c289647b7d229f024211b926d2026498d63444458bf5c12863d4455a5" + "statement": "theorem boolBlanketInitial_not_invariant :\n ¬FEP.FiniteMarkovDynamics.IsInvariant\n boolBlanketInitialLaw boolBlanketRefreshKernel", + "statement_sha256": "93c978b39afbd8030708e2546f8cd1b30b39f1b0405a7a1d78a57bfc93018878" }, - "FEP.ContinuousTimeMarkov.refreshSemigroup_uniform_stationary": { + "FEP.ContinuousTimeMarkov.boolBlanketState_card": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [], - "conclusion": "refreshSemigroup.IsStationary (FiniteLaw.uniform : FiniteLaw State)", + "conclusion": "Fintype.card BoolBlanketState = 16", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -36878,140 +37662,114 @@ "source": "[DecidableEq State]", "type_source": "DecidableEq State", "visibility": "instance" - } - ], - "declaration_mentions": [], - "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", - "import_context": [ - "FepSketches.finite_markov_dynamics", - "FepSketches.active_inference", - "FepSketches.decision_risk", - "FepSketches.markov_blanket", - "Mathlib.Analysis.Normed.Algebra.MatrixExponential" - ], - "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.ContinuousTimeMarkov", - "namespace_variable_context": [ - "{State : Type*} [Fintype State] [Nonempty State] [DecidableEq State]" - ], - "preceding_scope_directives": [ - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" }, { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DecidableEq State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "Internal", + "Sensory", + "Active", + "External" + ], + "role": "typed_binder", + "source": "{Internal Sensory Active External : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Internal]", + "type_source": "Fintype Internal", + "visibility": "instance" }, { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Sensory]", + "type_source": "Fintype Sensory", + "visibility": "instance" }, { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Active]", + "type_source": "Fintype Active", + "visibility": "instance" }, { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DecidableEq State] in" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype External]", + "type_source": "Fintype External", + "visibility": "instance" }, { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DecidableEq State] in" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DecidableEq Internal]", + "type_source": "DecidableEq Internal", + "visibility": "instance" }, { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DecidableEq Sensory]", + "type_source": "DecidableEq Sensory", + "visibility": "instance" }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - } - ], - "qualified_name": "FEP.ContinuousTimeMarkov.refreshSemigroup_uniform_stationary", - "source_line": 715, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", - "statement": "theorem refreshSemigroup_uniform_stationary :\n refreshSemigroup.IsStationary (FiniteLaw.uniform : FiniteLaw State)", - "statement_sha256": "fd08a300d83b75b24f3268b2a0b88780c22e4cb4cd0614f7072597e5fe0025fc" - }, - "FEP.ContinuousTimeMarkov.refreshTransition_add": { - "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "left", - "right" - ], - "role": "typed_binder", - "source": "(left right : ℝ)", - "type_source": "ℝ", - "visibility": "explicit" + "names": [], + "role": "instance_requirement", + "source": "[DecidableEq Active]", + "type_source": "DecidableEq Active", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "source", - "target" - ], - "role": "typed_binder", - "source": "(source target : State)", - "type_source": "State", - "visibility": "explicit" - } - ], - "conclusion": "refreshTransition (left + right) source target =\n ∑ middle,\n refreshTransition left source middle *\n refreshTransition right middle target", - "context_binders": [ + "names": [], + "role": "instance_requirement", + "source": "[DecidableEq External]", + "type_source": "DecidableEq External", + "visibility": "instance" + }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "State" - ], - "role": "typed_binder", - "source": "{State : Type*}", - "type_source": "Type*", - "visibility": "implicit" + "names": [], + "role": "instance_requirement", + "source": "[Nontrivial Internal]", + "type_source": "Nontrivial Internal", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype State]", - "type_source": "Fintype State", + "source": "[Nontrivial Sensory]", + "type_source": "Nontrivial Sensory", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Nonempty State]", - "type_source": "Nonempty State", + "source": "[Nontrivial Active]", + "type_source": "Nontrivial Active", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DecidableEq State]", - "type_source": "DecidableEq State", + "source": "[Nontrivial External]", + "type_source": "Nontrivial External", "visibility": "instance" } ], @@ -37027,7 +37785,8 @@ "line_coordinate_kind": "formal_resource_file", "namespace": "FEP.ContinuousTimeMarkov", "namespace_variable_context": [ - "{State : Type*} [Fintype State] [Nonempty State] [DecidableEq State]" + "{State : Type*} [Fintype State] [Nonempty State] [DecidableEq State]", + "{Internal Sensory Active External : Type*}\n [Fintype Internal] [Fintype Sensory] [Fintype Active] [Fintype External]\n [DecidableEq Internal] [DecidableEq Sensory] [DecidableEq Active]\n [DecidableEq External]\n [Nontrivial Internal] [Nontrivial Sensory]\n [Nontrivial Active] [Nontrivial External]" ], "preceding_scope_directives": [ { @@ -37074,40 +37833,38 @@ "directive": "omit", "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", "source": "omit [Nonempty State] in" - } - ], - "qualified_name": "FEP.ContinuousTimeMarkov.refreshTransition_add", - "source_line": 487, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", - "statement": "theorem refreshTransition_add (left right : ℝ) (source target : State) :\n refreshTransition (left + right) source target =\n ∑ middle,\n refreshTransition left source middle *\n refreshTransition right middle target", - "statement_sha256": "5b7335611916435d94c2745987632f009e3f0656371105a3def4c7efe31c0382" - }, - "FEP.ContinuousTimeMarkov.refreshTransition_hasDerivAt": { - "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [ + }, { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "time" - ], - "role": "typed_binder", - "source": "(time : ℝ)", - "type_source": "ℝ", - "visibility": "explicit" + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" }, { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "source", - "target" - ], - "role": "typed_binder", - "source": "(source target : State)", - "type_source": "State", - "visibility": "explicit" + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DecidableEq State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" } ], - "conclusion": "HasDerivAt (fun candidate ↦ refreshTransition candidate source target)\n (refreshTransitionDerivative time source target) time", + "qualified_name": "FEP.ContinuousTimeMarkov.boolBlanketState_card", + "source_line": 943, + "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "statement": "theorem boolBlanketState_card :\n Fintype.card BoolBlanketState = 16", + "statement_sha256": "16849fddcbcfdc25ac716796f3ce344894a4495b6d05f213dbbaa0bee5fb158f" + }, + "FEP.ContinuousTimeMarkov.boolBlanketStationaryLaw_isStationary": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [], + "conclusion": "(blanketRefreshSemigroup\n (Internal := Bool) (Sensory := Bool) (Active := Bool)\n (External := Bool)).IsStationary boolBlanketStationaryLaw", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -37142,143 +37899,125 @@ "source": "[DecidableEq State]", "type_source": "DecidableEq State", "visibility": "instance" - } - ], - "declaration_mentions": [], - "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", - "import_context": [ - "FepSketches.finite_markov_dynamics", - "FepSketches.active_inference", - "FepSketches.decision_risk", - "FepSketches.markov_blanket", - "Mathlib.Analysis.Normed.Algebra.MatrixExponential" - ], - "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.ContinuousTimeMarkov", - "namespace_variable_context": [ - "{State : Type*} [Fintype State] [Nonempty State] [DecidableEq State]" - ], - "preceding_scope_directives": [ - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DecidableEq State] in" }, { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "Internal", + "Sensory", + "Active", + "External" + ], + "role": "typed_binder", + "source": "{Internal Sensory Active External : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Internal]", + "type_source": "Fintype Internal", + "visibility": "instance" }, { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Sensory]", + "type_source": "Fintype Sensory", + "visibility": "instance" }, { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Active]", + "type_source": "Fintype Active", + "visibility": "instance" }, { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DecidableEq State] in" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype External]", + "type_source": "Fintype External", + "visibility": "instance" }, { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DecidableEq State] in" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DecidableEq Internal]", + "type_source": "DecidableEq Internal", + "visibility": "instance" }, { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DecidableEq Sensory]", + "type_source": "DecidableEq Sensory", + "visibility": "instance" }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty State] in" - } - ], - "qualified_name": "FEP.ContinuousTimeMarkov.refreshTransition_hasDerivAt", - "source_line": 544, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", - "statement": "theorem refreshTransition_hasDerivAt (time : ℝ)\n (source target : State) :\n HasDerivAt (fun candidate ↦ refreshTransition candidate source target)\n (refreshTransitionDerivative time source target) time", - "statement_sha256": "4059368ac72f5f1bf5418b9b445953e45e8084e246f7bf8cf822f8d41b93ee36" - }, - "FEP.ContinuousTimeMarkov.refreshTransition_mul_generator": { - "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "time" - ], - "role": "typed_binder", - "source": "(time : ℝ)", - "type_source": "ℝ", - "visibility": "explicit" + "names": [], + "role": "instance_requirement", + "source": "[DecidableEq Active]", + "type_source": "DecidableEq Active", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "source", - "target" - ], - "role": "typed_binder", - "source": "(source target : State)", - "type_source": "State", - "visibility": "explicit" - } - ], - "conclusion": "(∑ middle,\n refreshTransition time source middle *\n refreshRateGenerator middle target) =\n refreshTransitionDerivative time source target", - "context_binders": [ + "names": [], + "role": "instance_requirement", + "source": "[DecidableEq External]", + "type_source": "DecidableEq External", + "visibility": "instance" + }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "State" - ], - "role": "typed_binder", - "source": "{State : Type*}", - "type_source": "Type*", - "visibility": "implicit" + "names": [], + "role": "instance_requirement", + "source": "[Nontrivial Internal]", + "type_source": "Nontrivial Internal", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype State]", - "type_source": "Fintype State", + "source": "[Nontrivial Sensory]", + "type_source": "Nontrivial Sensory", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Nonempty State]", - "type_source": "Nonempty State", + "source": "[Nontrivial Active]", + "type_source": "Nontrivial Active", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DecidableEq State]", - "type_source": "DecidableEq State", + "source": "[Nontrivial External]", + "type_source": "Nontrivial External", "visibility": "instance" } ], - "declaration_mentions": [], + "declaration_mentions": [ + { + "identifier": "refreshSemigroup_uniform_stationary", + "qualified_name": "FEP.ContinuousTimeMarkov.refreshSemigroup_uniform_stationary", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + } + ], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ "FepSketches.finite_markov_dynamics", @@ -37290,7 +38029,8 @@ "line_coordinate_kind": "formal_resource_file", "namespace": "FEP.ContinuousTimeMarkov", "namespace_variable_context": [ - "{State : Type*} [Fintype State] [Nonempty State] [DecidableEq State]" + "{State : Type*} [Fintype State] [Nonempty State] [DecidableEq State]", + "{Internal Sensory Active External : Type*}\n [Fintype Internal] [Fintype Sensory] [Fintype Active] [Fintype External]\n [DecidableEq Internal] [DecidableEq Sensory] [DecidableEq Active]\n [DecidableEq External]\n [Nontrivial Internal] [Nontrivial Sensory]\n [Nontrivial Active] [Nontrivial External]" ], "preceding_scope_directives": [ { @@ -37342,50 +38082,33 @@ "directive": "omit", "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", "source": "omit [Nonempty State] in" - } - ], - "qualified_name": "FEP.ContinuousTimeMarkov.refreshTransition_mul_generator", - "source_line": 594, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", - "statement": "theorem refreshTransition_mul_generator (time : ℝ)\n (source target : State) :\n (∑ middle,\n refreshTransition time source middle *\n refreshRateGenerator middle target) =\n refreshTransitionDerivative time source target", - "statement_sha256": "4031a4221a1a8a3fdd15b427112d706572cc2fbbde2bede10a7643d1572e2de3" - }, - "FEP.ContinuousTimeMarkov.refreshTransition_nonneg": { - "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [ + }, { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "time" - ], - "role": "typed_binder", - "source": "{time : ℝ}", - "type_source": "ℝ", - "visibility": "implicit" + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" }, { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "hTime" - ], - "role": "typed_binder", - "source": "(hTime : 0 ≤ time)", - "type_source": "0 ≤ time", - "visibility": "explicit" + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DecidableEq State] in" }, { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "source", - "target" - ], - "role": "typed_binder", - "source": "(source target : State)", - "type_source": "State", - "visibility": "explicit" + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" } ], - "conclusion": "0 ≤ refreshTransition time source target", + "qualified_name": "FEP.ContinuousTimeMarkov.boolBlanketStationaryLaw_isStationary", + "source_line": 1242, + "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "statement": "theorem boolBlanketStationaryLaw_isStationary :\n (blanketRefreshSemigroup\n (Internal := Bool) (Sensory := Bool) (Active := Bool)\n (External := Bool)).IsStationary boolBlanketStationaryLaw", + "statement_sha256": "fd3a5f4618d693ee6cdfef7f7541ab18cae65629238e63ea4350fe19a3e30c1e" + }, + "FEP.ContinuousTimeMarkov.boolBlanket_finiteKL_strict_decrease": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [], + "conclusion": "finiteKL boolBlanketEvolvedLaw boolBlanketStationaryLaw <\n finiteKL boolBlanketInitialLaw boolBlanketStationaryLaw", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -37420,12 +38143,138 @@ "source": "[DecidableEq State]", "type_source": "DecidableEq State", "visibility": "instance" - } - ], - "declaration_mentions": [], - "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", - "import_context": [ - "FepSketches.finite_markov_dynamics", + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "Internal", + "Sensory", + "Active", + "External" + ], + "role": "typed_binder", + "source": "{Internal Sensory Active External : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Internal]", + "type_source": "Fintype Internal", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Sensory]", + "type_source": "Fintype Sensory", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Active]", + "type_source": "Fintype Active", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype External]", + "type_source": "Fintype External", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DecidableEq Internal]", + "type_source": "DecidableEq Internal", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DecidableEq Sensory]", + "type_source": "DecidableEq Sensory", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DecidableEq Active]", + "type_source": "DecidableEq Active", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DecidableEq External]", + "type_source": "DecidableEq External", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Nontrivial Internal]", + "type_source": "Nontrivial Internal", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Nontrivial Sensory]", + "type_source": "Nontrivial Sensory", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Nontrivial Active]", + "type_source": "Nontrivial Active", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Nontrivial External]", + "type_source": "Nontrivial External", + "visibility": "instance" + } + ], + "declaration_mentions": [ + { + "candidates": [ + "FEP.FiniteInformation.crossEntropy_uniform" + ], + "identifier": "crossEntropy_uniform", + "resolution": "unresolved lexical scope", + "role": "proof_reference" + }, + { + "candidates": [ + "FEP.FiniteInformation.finiteKL_eq_crossEntropy_sub_entropy" + ], + "identifier": "finiteKL_eq_crossEntropy_sub_entropy", + "resolution": "unresolved lexical scope", + "role": "proof_reference" + } + ], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.finite_markov_dynamics", "FepSketches.active_inference", "FepSketches.decision_risk", "FepSketches.markov_blanket", @@ -37434,7 +38283,8 @@ "line_coordinate_kind": "formal_resource_file", "namespace": "FEP.ContinuousTimeMarkov", "namespace_variable_context": [ - "{State : Type*} [Fintype State] [Nonempty State] [DecidableEq State]" + "{State : Type*} [Fintype State] [Nonempty State] [DecidableEq State]", + "{Internal Sensory Active External : Type*}\n [Fintype Internal] [Fintype Sensory] [Fintype Active] [Fintype External]\n [DecidableEq Internal] [DecidableEq Sensory] [DecidableEq Active]\n [DecidableEq External]\n [Nontrivial Internal] [Nontrivial Sensory]\n [Nontrivial Active] [Nontrivial External]" ], "preceding_scope_directives": [ { @@ -37476,58 +38326,88 @@ "directive": "omit", "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", "source": "omit [DecidableEq State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DecidableEq State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" } ], - "qualified_name": "FEP.ContinuousTimeMarkov.refreshTransition_nonneg", - "source_line": 443, + "qualified_name": "FEP.ContinuousTimeMarkov.boolBlanket_finiteKL_strict_decrease", + "source_line": 1303, "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", - "statement": "theorem refreshTransition_nonneg {time : ℝ} (hTime : 0 ≤ time)\n (source target : State) : 0 ≤ refreshTransition time source target", - "statement_sha256": "28b171e34c63676011c12bf1ac2e0c182cf9ace636810148ad276652c2957331" + "statement": "theorem boolBlanket_finiteKL_strict_decrease :\n finiteKL boolBlanketEvolvedLaw boolBlanketStationaryLaw <\n finiteKL boolBlanketInitialLaw boolBlanketStationaryLaw", + "statement_sha256": "7f47bddac2de0dd928d08818ce5452a5f169562d253f6a939f361c8b97be5330" }, - "FEP.ContinuousTimeMarkov.refreshTransition_pos": { + "FEP.ContinuousTimeMarkov.boolBlanket_nativeKL_strict_decrease": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [ + "binders": [], + "conclusion": "InformationTheory.klDiv\n (FEP.NativeBlanket.embeddedLaw boolBlanketEvolvedLaw)\n (FEP.NativeBlanket.embeddedLaw boolBlanketStationaryLaw) <\n InformationTheory.klDiv\n (FEP.NativeBlanket.embeddedLaw boolBlanketInitialLaw)\n (FEP.NativeBlanket.embeddedLaw boolBlanketStationaryLaw)", + "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "time" + "State" ], "role": "typed_binder", - "source": "{time : ℝ}", - "type_source": "ℝ", + "source": "{State : Type*}", + "type_source": "Type*", "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "hTime" - ], - "role": "typed_binder", - "source": "(hTime : 0 < time)", - "type_source": "0 < time", - "visibility": "explicit" + "names": [], + "role": "instance_requirement", + "source": "[Fintype State]", + "type_source": "Fintype State", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "source", - "target" - ], - "role": "typed_binder", - "source": "(source target : State)", - "type_source": "State", - "visibility": "explicit" - } - ], - "conclusion": "0 < refreshTransition time source target", - "context_binders": [ + "names": [], + "role": "instance_requirement", + "source": "[Nonempty State]", + "type_source": "Nonempty State", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DecidableEq State]", + "type_source": "DecidableEq State", + "visibility": "instance" + }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "State" + "Internal", + "Sensory", + "Active", + "External" ], "role": "typed_binder", - "source": "{State : Type*}", + "source": "{Internal Sensory Active External : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -37535,28 +38415,121 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype State]", - "type_source": "Fintype State", + "source": "[Fintype Internal]", + "type_source": "Fintype Internal", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Nonempty State]", - "type_source": "Nonempty State", + "source": "[Fintype Sensory]", + "type_source": "Fintype Sensory", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DecidableEq State]", - "type_source": "DecidableEq State", + "source": "[Fintype Active]", + "type_source": "Fintype Active", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype External]", + "type_source": "Fintype External", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DecidableEq Internal]", + "type_source": "DecidableEq Internal", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DecidableEq Sensory]", + "type_source": "DecidableEq Sensory", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DecidableEq Active]", + "type_source": "DecidableEq Active", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DecidableEq External]", + "type_source": "DecidableEq External", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Nontrivial Internal]", + "type_source": "Nontrivial Internal", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Nontrivial Sensory]", + "type_source": "Nontrivial Sensory", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Nontrivial Active]", + "type_source": "Nontrivial Active", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Nontrivial External]", + "type_source": "Nontrivial External", "visibility": "instance" } ], - "declaration_mentions": [], + "declaration_mentions": [ + { + "identifier": "FEP.DecisionRisk.weightedDirac_klDiv_eq_finiteKL_of_fullSupport", + "qualified_name": "FEP.DecisionRisk.weightedDirac_klDiv_eq_finiteKL_of_fullSupport", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + }, + { + "identifier": "boolBlanket_finiteKL_strict_decrease", + "qualified_name": "FEP.ContinuousTimeMarkov.boolBlanket_finiteKL_strict_decrease", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + }, + { + "candidates": [ + "FEP.FiniteInformation.finiteKL_nonneg" + ], + "identifier": "finiteKL_nonneg", + "resolution": "unresolved lexical scope", + "role": "proof_reference" + } + ], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ "FepSketches.finite_markov_dynamics", @@ -37568,7 +38541,8 @@ "line_coordinate_kind": "formal_resource_file", "namespace": "FEP.ContinuousTimeMarkov", "namespace_variable_context": [ - "{State : Type*} [Fintype State] [Nonempty State] [DecidableEq State]" + "{State : Type*} [Fintype State] [Nonempty State] [DecidableEq State]", + "{Internal Sensory Active External : Type*}\n [Fintype Internal] [Fintype Sensory] [Fintype Active] [Fintype External]\n [DecidableEq Internal] [DecidableEq Sensory] [DecidableEq Active]\n [DecidableEq External]\n [Nontrivial Internal] [Nontrivial Sensory]\n [Nontrivial Active] [Nontrivial External]" ], "preceding_scope_directives": [ { @@ -37610,39 +38584,54 @@ "directive": "omit", "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", "source": "omit [DecidableEq State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DecidableEq State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" } ], - "qualified_name": "FEP.ContinuousTimeMarkov.refreshTransition_pos", - "source_line": 456, + "qualified_name": "FEP.ContinuousTimeMarkov.boolBlanket_nativeKL_strict_decrease", + "source_line": 1335, "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", - "statement": "theorem refreshTransition_pos {time : ℝ} (hTime : 0 < time)\n (source target : State) : 0 < refreshTransition time source target", - "statement_sha256": "ab02c9dbcd76eb448aa1fe5e96569f64dcf2c3f46dd6d056aa2212963cdf9c9c" + "statement": "theorem boolBlanket_nativeKL_strict_decrease :\n InformationTheory.klDiv\n (FEP.NativeBlanket.embeddedLaw boolBlanketEvolvedLaw)\n (FEP.NativeBlanket.embeddedLaw boolBlanketStationaryLaw) <\n InformationTheory.klDiv\n (FEP.NativeBlanket.embeddedLaw boolBlanketInitialLaw)\n (FEP.NativeBlanket.embeddedLaw boolBlanketStationaryLaw)", + "statement_sha256": "97b2198a9d8083297de7db36fcb1369f7f43b985df7ec9e7ec02a6c95a0dc73b" }, - "FEP.ContinuousTimeMarkov.refreshTransition_sum_one": { + "FEP.ContinuousTimeMarkov.liftInternalLaw_fstMarginal": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "time" - ], - "role": "typed_binder", - "source": "(time : ℝ)", - "type_source": "ℝ", - "visibility": "explicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "source" + "internal" ], "role": "typed_binder", - "source": "(source : State)", - "type_source": "State", + "source": "(internal : FiniteLaw Bool)", + "type_source": "FiniteLaw Bool", "visibility": "explicit" } ], - "conclusion": "∑ target, refreshTransition time source target = 1", + "conclusion": "(liftInternalLaw internal).fstMarginal = internal", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -37677,6 +38666,115 @@ "source": "[DecidableEq State]", "type_source": "DecidableEq State", "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "Internal", + "Sensory", + "Active", + "External" + ], + "role": "typed_binder", + "source": "{Internal Sensory Active External : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Internal]", + "type_source": "Fintype Internal", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Sensory]", + "type_source": "Fintype Sensory", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Active]", + "type_source": "Fintype Active", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype External]", + "type_source": "Fintype External", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DecidableEq Internal]", + "type_source": "DecidableEq Internal", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DecidableEq Sensory]", + "type_source": "DecidableEq Sensory", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DecidableEq Active]", + "type_source": "DecidableEq Active", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DecidableEq External]", + "type_source": "DecidableEq External", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Nontrivial Internal]", + "type_source": "Nontrivial Internal", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Nontrivial Sensory]", + "type_source": "Nontrivial Sensory", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Nontrivial Active]", + "type_source": "Nontrivial Active", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Nontrivial External]", + "type_source": "Nontrivial External", + "visibility": "instance" } ], "declaration_mentions": [], @@ -37691,7 +38789,8 @@ "line_coordinate_kind": "formal_resource_file", "namespace": "FEP.ContinuousTimeMarkov", "namespace_variable_context": [ - "{State : Type*} [Fintype State] [Nonempty State] [DecidableEq State]" + "{State : Type*} [Fintype State] [Nonempty State] [DecidableEq State]", + "{Internal Sensory Active External : Type*}\n [Fintype Internal] [Fintype Sensory] [Fintype Active] [Fintype External]\n [DecidableEq Internal] [DecidableEq Sensory] [DecidableEq Active]\n [DecidableEq External]\n [Nontrivial Internal] [Nontrivial Sensory]\n [Nontrivial Active] [Nontrivial External]" ], "preceding_scope_directives": [ { @@ -37733,30 +38832,64 @@ "directive": "omit", "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", "source": "omit [DecidableEq State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DecidableEq State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" } ], - "qualified_name": "FEP.ContinuousTimeMarkov.refreshTransition_sum_one", - "source_line": 471, + "qualified_name": "FEP.ContinuousTimeMarkov.liftInternalLaw_fstMarginal", + "source_line": 955, "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", - "statement": "theorem refreshTransition_sum_one (time : ℝ) (source : State) :\n ∑ target, refreshTransition time source target = 1", - "statement_sha256": "febb83b782fc8823ec37c5487fbdb0a75b2ef23e06a80bffd7584e68fa82beaa" + "statement": "theorem liftInternalLaw_fstMarginal (internal : FiniteLaw Bool) :\n (liftInternalLaw internal).fstMarginal = internal", + "statement_sha256": "ce0f9609e77db5d5a2d22b07ca6d72b0d6deddb6cde341add03fe7f5189d0b61" }, - "FEP.ContinuousTimeMarkov.refreshTransition_zero": { + "FEP.ContinuousTimeMarkov.liftInternalLaw_ne_uniform_of_ne_uniform": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "source", - "target" + "internal" ], "role": "typed_binder", - "source": "(source target : State)", - "type_source": "State", + "source": "(internal : FiniteLaw Bool)", + "type_source": "FiniteLaw Bool", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hInternal" + ], + "role": "typed_binder", + "source": "(hInternal : internal ≠ (FiniteLaw.uniform : FiniteLaw Bool))", + "type_source": "internal ≠ (FiniteLaw.uniform : FiniteLaw Bool)", "visibility": "explicit" } ], - "conclusion": "refreshTransition 0 source target =\n if source = target then 1 else 0", + "conclusion": "liftInternalLaw internal ≠\n (FiniteLaw.uniform : FiniteLaw BoolBlanketState)", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -37791,6 +38924,115 @@ "source": "[DecidableEq State]", "type_source": "DecidableEq State", "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "Internal", + "Sensory", + "Active", + "External" + ], + "role": "typed_binder", + "source": "{Internal Sensory Active External : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Internal]", + "type_source": "Fintype Internal", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Sensory]", + "type_source": "Fintype Sensory", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Active]", + "type_source": "Fintype Active", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype External]", + "type_source": "Fintype External", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DecidableEq Internal]", + "type_source": "DecidableEq Internal", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DecidableEq Sensory]", + "type_source": "DecidableEq Sensory", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DecidableEq Active]", + "type_source": "DecidableEq Active", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DecidableEq External]", + "type_source": "DecidableEq External", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Nontrivial Internal]", + "type_source": "Nontrivial Internal", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Nontrivial Sensory]", + "type_source": "Nontrivial Sensory", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Nontrivial Active]", + "type_source": "Nontrivial Active", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Nontrivial External]", + "type_source": "Nontrivial External", + "visibility": "instance" } ], "declaration_mentions": [], @@ -37805,7 +39047,8 @@ "line_coordinate_kind": "formal_resource_file", "namespace": "FEP.ContinuousTimeMarkov", "namespace_variable_context": [ - "{State : Type*} [Fintype State] [Nonempty State] [DecidableEq State]" + "{State : Type*} [Fintype State] [Nonempty State] [DecidableEq State]", + "{Internal Sensory Active External : Type*}\n [Fintype Internal] [Fintype Sensory] [Fintype Active] [Fintype External]\n [DecidableEq Internal] [DecidableEq Sensory] [DecidableEq Active]\n [DecidableEq External]\n [Nontrivial Internal] [Nontrivial Sensory]\n [Nontrivial Active] [Nontrivial External]" ], "preceding_scope_directives": [ { @@ -37852,158 +39095,73 @@ "directive": "omit", "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", "source": "omit [Nonempty State] in" - } - ], - "qualified_name": "FEP.ContinuousTimeMarkov.refreshTransition_zero", - "source_line": 481, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", - "statement": "theorem refreshTransition_zero (source target : State) :\n refreshTransition 0 source target =\n if source = target then 1 else 0", - "statement_sha256": "2a90db7283b1abaf66bd3f7475d93e685e2441c47e7a4d9ce7663e704c6b8440" - }, - "FEP.ContinuousTimeMarkov.threeCycle_current_zero_one": { - "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [], - "conclusion": "threeCycleGenerator.probabilityCurrent threeCycleStationaryLaw\n (0 : Fin 3) (1 : Fin 3) = 1 / 3", - "context_binders": [], - "declaration_mentions": [], - "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", - "import_context": [ - "FepSketches.finite_markov_dynamics", - "FepSketches.active_inference", - "FepSketches.decision_risk", - "FepSketches.markov_blanket", - "Mathlib.Analysis.Normed.Algebra.MatrixExponential" - ], - "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.ContinuousTimeMarkov", - "namespace_variable_context": [], - "preceding_scope_directives": [], - "qualified_name": "FEP.ContinuousTimeMarkov.threeCycle_current_zero_one", - "source_line": 318, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", - "statement": "theorem threeCycle_current_zero_one :\n threeCycleGenerator.probabilityCurrent threeCycleStationaryLaw\n (0 : Fin 3) (1 : Fin 3) = 1 / 3", - "statement_sha256": "25403a2c47fa7a5980050ee56d296d3f943821ca1d9065edef7af206f3d0bf3c" - }, - "FEP.ContinuousTimeMarkov.threeCycle_current_zero_one_ne_zero": { - "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [], - "conclusion": "threeCycleGenerator.probabilityCurrent threeCycleStationaryLaw\n (0 : Fin 3) (1 : Fin 3) ≠ 0", - "context_binders": [], - "declaration_mentions": [ + }, { - "identifier": "threeCycle_current_zero_one", - "qualified_name": "FEP.ContinuousTimeMarkov.threeCycle_current_zero_one", - "resolution": "exact or same-namespace source identifier", - "role": "proof_reference" + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DecidableEq State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" } ], - "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", - "import_context": [ - "FepSketches.finite_markov_dynamics", - "FepSketches.active_inference", - "FepSketches.decision_risk", - "FepSketches.markov_blanket", - "Mathlib.Analysis.Normed.Algebra.MatrixExponential" - ], - "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.ContinuousTimeMarkov", - "namespace_variable_context": [], - "preceding_scope_directives": [], - "qualified_name": "FEP.ContinuousTimeMarkov.threeCycle_current_zero_one_ne_zero", - "source_line": 324, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", - "statement": "theorem threeCycle_current_zero_one_ne_zero :\n threeCycleGenerator.probabilityCurrent threeCycleStationaryLaw\n (0 : Fin 3) (1 : Fin 3) ≠ 0", - "statement_sha256": "a400813f0250f34be4432d7dc282316e9a4464319cf416e6e977ee2e9d8cc326" - }, - "FEP.ContinuousTimeMarkov.threeCycle_not_detailedBalanced": { - "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [], - "conclusion": "¬threeCycleGenerator.IsDetailedBalanced threeCycleStationaryLaw", - "context_binders": [], - "declaration_mentions": [], - "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", - "import_context": [ - "FepSketches.finite_markov_dynamics", - "FepSketches.active_inference", - "FepSketches.decision_risk", - "FepSketches.markov_blanket", - "Mathlib.Analysis.Normed.Algebra.MatrixExponential" - ], - "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.ContinuousTimeMarkov", - "namespace_variable_context": [], - "preceding_scope_directives": [], - "qualified_name": "FEP.ContinuousTimeMarkov.threeCycle_not_detailedBalanced", - "source_line": 311, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", - "statement": "theorem threeCycle_not_detailedBalanced :\n ¬threeCycleGenerator.IsDetailedBalanced threeCycleStationaryLaw", - "statement_sha256": "d68ee5298d04dbc9d2507ce54751c41b74dcbbab3a9455afc74f798a0ade8079" - }, - "FEP.ContinuousTimeMarkov.threeCycle_stationary": { - "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [], - "conclusion": "threeCycleGenerator.IsStationary threeCycleStationaryLaw", - "context_binders": [], - "declaration_mentions": [], - "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", - "import_context": [ - "FepSketches.finite_markov_dynamics", - "FepSketches.active_inference", - "FepSketches.decision_risk", - "FepSketches.markov_blanket", - "Mathlib.Analysis.Normed.Algebra.MatrixExponential" - ], - "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.ContinuousTimeMarkov", - "namespace_variable_context": [], - "preceding_scope_directives": [], - "qualified_name": "FEP.ContinuousTimeMarkov.threeCycle_stationary", - "source_line": 304, + "qualified_name": "FEP.ContinuousTimeMarkov.liftInternalLaw_ne_uniform_of_ne_uniform", + "source_line": 964, "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", - "statement": "theorem threeCycle_stationary :\n threeCycleGenerator.IsStationary threeCycleStationaryLaw", - "statement_sha256": "7c32dcaaed73f4de9b4f453b9d1c065a53c7b3079d28305723d7885d565ff3e6" + "statement": "theorem liftInternalLaw_ne_uniform_of_ne_uniform\n (internal : FiniteLaw Bool)\n (hInternal : internal ≠ (FiniteLaw.uniform : FiniteLaw Bool)) :\n liftInternalLaw internal ≠\n (FiniteLaw.uniform : FiniteLaw BoolBlanketState)", + "statement_sha256": "c0b14587aacd7feac17d55c6226500231723ea7f11353230621640b4090d79c4" }, - "FEP.ControlledMarkov.actionBeliefUpdate_reconstruction": { + "FEP.ContinuousTimeMarkov.liftInternalLikelihood_posterior_liftInternalLaw": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "prior" + "Outcome" ], "role": "typed_binder", - "source": "(prior : FiniteLaw State)", - "type_source": "FiniteLaw State", - "visibility": "explicit" + "source": "{Outcome : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "transition" - ], - "role": "typed_binder", - "source": "(transition : ControlledKernel State Action)", - "type_source": "ControlledKernel State Action", - "visibility": "explicit" + "names": [], + "role": "instance_requirement", + "source": "[Fintype Outcome]", + "type_source": "Fintype Outcome", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "emission" + "internal" ], "role": "typed_binder", - "source": "(emission : FiniteKernel State Observation)", - "type_source": "FiniteKernel State Observation", + "source": "(internal : FiniteLaw Bool)", + "type_source": "FiniteLaw Bool", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "action" + "likelihood" ], "role": "typed_binder", - "source": "(action : Action)", - "type_source": "Action", + "source": "(likelihood : FiniteKernel Bool Outcome)", + "type_source": "FiniteKernel Bool Outcome", "visibility": "explicit" }, { @@ -38012,8 +39170,8 @@ "observation" ], "role": "typed_binder", - "source": "(observation : Observation)", - "type_source": "Observation", + "source": "(observation : Outcome)", + "type_source": "Outcome", "visibility": "explicit" }, { @@ -38022,33 +39180,20 @@ "hEvidence" ], "role": "typed_binder", - "source": "(hEvidence : 0 < actionEvidence prior transition emission action observation)", - "type_source": "0 < actionEvidence prior transition emission action observation", - "visibility": "explicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "state" - ], - "role": "typed_binder", - "source": "(state : State)", - "type_source": "State", + "source": "(hEvidence : 0 < likelihood.predictive internal observation)", + "type_source": "0 < likelihood.predictive internal observation", "visibility": "explicit" } ], - "conclusion": "actionBeliefUpdate prior transition emission action observation hEvidence state *\n actionEvidence prior transition emission action observation =\n actionPrediction prior transition action state * emission state observation", + "conclusion": "(liftInternalLikelihood likelihood).posterior (liftInternalLaw internal)\n observation\n (by\n rw [liftInternalLikelihood_predictive_liftInternalLaw]\n exact hEvidence) =\n liftInternalLaw\n (likelihood.posterior internal observation hEvidence)", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "State", - "Action", - "Observation", - "Belief" + "State" ], "role": "typed_binder", - "source": "{State Action Observation Belief : Type*}", + "source": "{State : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -38064,249 +39209,280 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Action]", - "type_source": "Fintype Action", + "source": "[Nonempty State]", + "type_source": "Nonempty State", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Observation]", - "type_source": "Fintype Observation", + "source": "[DecidableEq State]", + "type_source": "DecidableEq State", "visibility": "instance" }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "Internal", + "Sensory", + "Active", + "External" + ], + "role": "typed_binder", + "source": "{Internal Sensory Active External : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Belief]", - "type_source": "Fintype Belief", + "source": "[Fintype Internal]", + "type_source": "Fintype Internal", "visibility": "instance" - } - ], - "declaration_mentions": [], - "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", - "import_context": [ - "FepSketches.active_inference" - ], - "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.ControlledMarkov", - "namespace_variable_context": [ - "{State Action Observation Belief : Type*}\n [Fintype State] [Fintype Action] [Fintype Observation] [Fintype Belief]" - ], - "preceding_scope_directives": [], - "qualified_name": "FEP.ControlledMarkov.actionBeliefUpdate_reconstruction", - "source_line": 65, - "source_owner": "src/fep_lean/formal/controlled_markov.lean", - "statement": "theorem actionBeliefUpdate_reconstruction (prior : FiniteLaw State)\n (transition : ControlledKernel State Action)\n (emission : FiniteKernel State Observation) (action : Action)\n (observation : Observation)\n (hEvidence : 0 < actionEvidence prior transition emission action observation)\n (state : State) :\n actionBeliefUpdate prior transition emission action observation hEvidence state *\n actionEvidence prior transition emission action observation =\n actionPrediction prior transition action state * emission state observation", - "statement_sha256": "648350fcdda30c983feb84cb54f20408f9560cbf38598f50e90204e4781f143a" - }, - "FEP.ControlledMarkov.actionBeliefUpdate_sum_one": { - "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [ + }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "prior" - ], - "role": "typed_binder", - "source": "(prior : FiniteLaw State)", - "type_source": "FiniteLaw State", - "visibility": "explicit" + "names": [], + "role": "instance_requirement", + "source": "[Fintype Sensory]", + "type_source": "Fintype Sensory", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "transition" - ], - "role": "typed_binder", - "source": "(transition : ControlledKernel State Action)", - "type_source": "ControlledKernel State Action", - "visibility": "explicit" + "names": [], + "role": "instance_requirement", + "source": "[Fintype Active]", + "type_source": "Fintype Active", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "emission" - ], - "role": "typed_binder", - "source": "(emission : FiniteKernel State Observation)", - "type_source": "FiniteKernel State Observation", - "visibility": "explicit" + "names": [], + "role": "instance_requirement", + "source": "[Fintype External]", + "type_source": "Fintype External", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "action" - ], - "role": "typed_binder", - "source": "(action : Action)", - "type_source": "Action", - "visibility": "explicit" + "names": [], + "role": "instance_requirement", + "source": "[DecidableEq Internal]", + "type_source": "DecidableEq Internal", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "observation" - ], - "role": "typed_binder", - "source": "(observation : Observation)", - "type_source": "Observation", - "visibility": "explicit" + "names": [], + "role": "instance_requirement", + "source": "[DecidableEq Sensory]", + "type_source": "DecidableEq Sensory", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "hEvidence" - ], - "role": "typed_binder", - "source": "(hEvidence : 0 < actionEvidence prior transition emission action observation)", - "type_source": "0 < actionEvidence prior transition emission action observation", - "visibility": "explicit" - } - ], - "conclusion": "∑ state,\n actionBeliefUpdate prior transition emission action observation hEvidence state =\n 1", - "context_binders": [ + "names": [], + "role": "instance_requirement", + "source": "[DecidableEq Active]", + "type_source": "DecidableEq Active", + "visibility": "instance" + }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "State", - "Action", - "Observation", - "Belief" - ], - "role": "typed_binder", - "source": "{State Action Observation Belief : Type*}", - "type_source": "Type*", - "visibility": "implicit" + "names": [], + "role": "instance_requirement", + "source": "[DecidableEq External]", + "type_source": "DecidableEq External", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype State]", - "type_source": "Fintype State", + "source": "[Nontrivial Internal]", + "type_source": "Nontrivial Internal", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Action]", - "type_source": "Fintype Action", + "source": "[Nontrivial Sensory]", + "type_source": "Nontrivial Sensory", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Observation]", - "type_source": "Fintype Observation", + "source": "[Nontrivial Active]", + "type_source": "Nontrivial Active", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Belief]", - "type_source": "Fintype Belief", + "source": "[Nontrivial External]", + "type_source": "Nontrivial External", "visibility": "instance" } ], - "declaration_mentions": [], - "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", - "import_context": [ - "FepSketches.active_inference" - ], - "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.ControlledMarkov", - "namespace_variable_context": [ - "{State Action Observation Belief : Type*}\n [Fintype State] [Fintype Action] [Fintype Observation] [Fintype Belief]" - ], - "preceding_scope_directives": [], - "qualified_name": "FEP.ControlledMarkov.actionBeliefUpdate_sum_one", - "source_line": 78, - "source_owner": "src/fep_lean/formal/controlled_markov.lean", - "statement": "theorem actionBeliefUpdate_sum_one (prior : FiniteLaw State)\n (transition : ControlledKernel State Action)\n (emission : FiniteKernel State Observation) (action : Action)\n (observation : Observation)\n (hEvidence : 0 < actionEvidence prior transition emission action observation) :\n ∑ state,\n actionBeliefUpdate prior transition emission action observation hEvidence state =\n 1", - "statement_sha256": "3faa8e383e7f126e949c2be63abf5a31dce769891785edffe34df1828047e118" - }, - "FEP.ControlledMarkov.actionEvidence_zero_boundary": { - "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [ + "declaration_mentions": [ { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "prior" - ], - "role": "typed_binder", - "source": "(prior : FiniteLaw State)", - "type_source": "FiniteLaw State", - "visibility": "explicit" + "identifier": "liftInternalLikelihood_predictive_liftInternalLaw", + "qualified_name": "FEP.ContinuousTimeMarkov.liftInternalLikelihood_predictive_liftInternalLaw", + "resolution": "exact or same-namespace source identifier", + "role": "statement_reference" }, { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "transition" - ], - "role": "typed_binder", - "source": "(transition : ControlledKernel State Action)", - "type_source": "ControlledKernel State Action", - "visibility": "explicit" + "identifier": "liftInternalLikelihood_predictive_liftInternalLaw", + "qualified_name": "FEP.ContinuousTimeMarkov.liftInternalLikelihood_predictive_liftInternalLaw", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + } + ], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.finite_markov_dynamics", + "FepSketches.active_inference", + "FepSketches.decision_risk", + "FepSketches.markov_blanket", + "Mathlib.Analysis.Normed.Algebra.MatrixExponential" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.ContinuousTimeMarkov", + "namespace_variable_context": [ + "{State : Type*} [Fintype State] [Nonempty State] [DecidableEq State]", + "{Internal Sensory Active External : Type*}\n [Fintype Internal] [Fintype Sensory] [Fintype Active] [Fintype External]\n [DecidableEq Internal] [DecidableEq Sensory] [DecidableEq Active]\n [DecidableEq External]\n [Nontrivial Internal] [Nontrivial Sensory]\n [Nontrivial Active] [Nontrivial External]" + ], + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DecidableEq State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DecidableEq State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DecidableEq State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DecidableEq State] in" }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + } + ], + "qualified_name": "FEP.ContinuousTimeMarkov.liftInternalLikelihood_posterior_liftInternalLaw", + "source_line": 1026, + "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "statement": "theorem liftInternalLikelihood_posterior_liftInternalLaw\n {Outcome : Type*} [Fintype Outcome]\n (internal : FiniteLaw Bool) (likelihood : FiniteKernel Bool Outcome)\n (observation : Outcome)\n (hEvidence : 0 < likelihood.predictive internal observation) :\n (liftInternalLikelihood likelihood).posterior (liftInternalLaw internal)\n observation\n (by\n rw [liftInternalLikelihood_predictive_liftInternalLaw]\n exact hEvidence) =\n liftInternalLaw\n (likelihood.posterior internal observation hEvidence)", + "statement_sha256": "4155dc68ec57027af49132df50ca64c46dc5ccdcf67960151f16b1dc20cb9198" + }, + "FEP.ContinuousTimeMarkov.liftInternalLikelihood_predictive_liftInternalLaw": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "emission" + "Outcome" ], "role": "typed_binder", - "source": "(emission : FiniteKernel State Observation)", - "type_source": "FiniteKernel State Observation", - "visibility": "explicit" + "source": "{Outcome : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "action" - ], - "role": "typed_binder", - "source": "(action : Action)", - "type_source": "Action", - "visibility": "explicit" + "names": [], + "role": "instance_requirement", + "source": "[Fintype Outcome]", + "type_source": "Fintype Outcome", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "observation" + "internal" ], "role": "typed_binder", - "source": "(observation : Observation)", - "type_source": "Observation", + "source": "(internal : FiniteLaw Bool)", + "type_source": "FiniteLaw Bool", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "hZero" + "likelihood" ], "role": "typed_binder", - "source": "(hZero : actionEvidence prior transition emission action observation = 0)", - "type_source": "actionEvidence prior transition emission action observation = 0", + "source": "(likelihood : FiniteKernel Bool Outcome)", + "type_source": "FiniteKernel Bool Outcome", "visibility": "explicit" } ], - "conclusion": "¬0 < actionEvidence prior transition emission action observation", + "conclusion": "(liftInternalLikelihood likelihood).predictive (liftInternalLaw internal) =\n likelihood.predictive internal", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "State", - "Action", - "Observation", - "Belief" + "State" ], "role": "typed_binder", - "source": "{State Action Observation Belief : Type*}", + "source": "{State : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -38322,80 +39498,28 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Action]", - "type_source": "Fintype Action", - "visibility": "instance" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype Observation]", - "type_source": "Fintype Observation", + "source": "[Nonempty State]", + "type_source": "Nonempty State", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Belief]", - "type_source": "Fintype Belief", + "source": "[DecidableEq State]", + "type_source": "DecidableEq State", "visibility": "instance" - } - ], - "declaration_mentions": [], - "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", - "import_context": [ - "FepSketches.active_inference" - ], - "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.ControlledMarkov", - "namespace_variable_context": [ - "{State Action Observation Belief : Type*}\n [Fintype State] [Fintype Action] [Fintype Observation] [Fintype Belief]" - ], - "preceding_scope_directives": [], - "qualified_name": "FEP.ControlledMarkov.actionEvidence_zero_boundary", - "source_line": 90, - "source_owner": "src/fep_lean/formal/controlled_markov.lean", - "statement": "theorem actionEvidence_zero_boundary (prior : FiniteLaw State)\n (transition : ControlledKernel State Action)\n (emission : FiniteKernel State Observation) (action : Action)\n (observation : Observation)\n (hZero : actionEvidence prior transition emission action observation = 0) :\n ¬0 < actionEvidence prior transition emission action observation", - "statement_sha256": "415fb679ce24f661eb014638826e2a74896ba05d6222de33724b3c6aa6c2ff54" - }, - "FEP.ControlledMarkov.boltzmannPartition_pos": { - "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [ - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "prior" - ], - "role": "typed_binder", - "source": "(prior : FiniteLaw Action)", - "type_source": "FiniteLaw Action", - "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "energy" - ], - "role": "typed_binder", - "source": "(energy : Action → ℝ)", - "type_source": "Action → ℝ", - "visibility": "explicit" - } - ], - "conclusion": "0 < boltzmannPartition prior energy", - "context_binders": [ - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "State", - "Action", - "Observation", - "Belief" + "Internal", + "Sensory", + "Active", + "External" ], "role": "typed_binder", - "source": "{State Action Observation Belief : Type*}", + "source": "{Internal Sensory Active External : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -38403,275 +39527,221 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype State]", - "type_source": "Fintype State", + "source": "[Fintype Internal]", + "type_source": "Fintype Internal", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Action]", - "type_source": "Fintype Action", + "source": "[Fintype Sensory]", + "type_source": "Fintype Sensory", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Observation]", - "type_source": "Fintype Observation", + "source": "[Fintype Active]", + "type_source": "Fintype Active", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Belief]", - "type_source": "Fintype Belief", + "source": "[Fintype External]", + "type_source": "Fintype External", "visibility": "instance" - } - ], - "declaration_mentions": [], - "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", - "import_context": [ - "FepSketches.active_inference" - ], - "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.ControlledMarkov", - "namespace_variable_context": [ - "{State Action Observation Belief : Type*}\n [Fintype State] [Fintype Action] [Fintype Observation] [Fintype Belief]" - ], - "preceding_scope_directives": [], - "qualified_name": "FEP.ControlledMarkov.boltzmannPartition_pos", - "source_line": 208, - "source_owner": "src/fep_lean/formal/controlled_markov.lean", - "statement": "theorem boltzmannPartition_pos (prior : FiniteLaw Action)\n (energy : Action → ℝ) :\n 0 < boltzmannPartition prior energy", - "statement_sha256": "dc197afe4714fbcc8ffd33f117a8144a46326cef7402aaed09abbaf267925961" - }, - "FEP.ControlledMarkov.boltzmannPosterior_mul_partition": { - "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [ - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "prior" - ], - "role": "typed_binder", - "source": "(prior : FiniteLaw Action)", - "type_source": "FiniteLaw Action", - "visibility": "explicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "energy" - ], - "role": "typed_binder", - "source": "(energy : Action → ℝ)", - "type_source": "Action → ℝ", - "visibility": "explicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "action" - ], - "role": "typed_binder", - "source": "(action : Action)", - "type_source": "Action", - "visibility": "explicit" - } - ], - "conclusion": "boltzmannPosterior prior energy action * boltzmannPartition prior energy =\n boltzmannWeight prior energy action", - "context_binders": [ - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "State", - "Action", - "Observation", - "Belief" - ], - "role": "typed_binder", - "source": "{State Action Observation Belief : Type*}", - "type_source": "Type*", - "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype State]", - "type_source": "Fintype State", + "source": "[DecidableEq Internal]", + "type_source": "DecidableEq Internal", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Action]", - "type_source": "Fintype Action", + "source": "[DecidableEq Sensory]", + "type_source": "DecidableEq Sensory", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Observation]", - "type_source": "Fintype Observation", + "source": "[DecidableEq Active]", + "type_source": "DecidableEq Active", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Belief]", - "type_source": "Fintype Belief", + "source": "[DecidableEq External]", + "type_source": "DecidableEq External", "visibility": "instance" - } - ], - "declaration_mentions": [ - { - "identifier": "boltzmannPartition_pos", - "qualified_name": "FEP.ControlledMarkov.boltzmannPartition_pos", - "resolution": "exact or same-namespace source identifier", - "role": "proof_reference" - } - ], - "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", - "import_context": [ - "FepSketches.active_inference" - ], - "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.ControlledMarkov", - "namespace_variable_context": [ - "{State Action Observation Belief : Type*}\n [Fintype State] [Fintype Action] [Fintype Observation] [Fintype Belief]" - ], - "preceding_scope_directives": [], - "qualified_name": "FEP.ControlledMarkov.boltzmannPosterior_mul_partition", - "source_line": 235, - "source_owner": "src/fep_lean/formal/controlled_markov.lean", - "statement": "theorem boltzmannPosterior_mul_partition (prior : FiniteLaw Action)\n (energy : Action → ℝ) (action : Action) :\n boltzmannPosterior prior energy action * boltzmannPartition prior energy =\n boltzmannWeight prior energy action", - "statement_sha256": "39e289779c1061cf8454de8d6080d57de6ca73441b8cf1e9d121178418de93a6" - }, - "FEP.ControlledMarkov.boltzmannPosterior_zero_energy": { - "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [ - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "prior" - ], - "role": "typed_binder", - "source": "(prior : FiniteLaw Action)", - "type_source": "FiniteLaw Action", - "visibility": "explicit" - } - ], - "conclusion": "boltzmannPosterior prior (fun _ => 0) = prior", - "context_binders": [ - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "State", - "Action", - "Observation", - "Belief" - ], - "role": "typed_binder", - "source": "{State Action Observation Belief : Type*}", - "type_source": "Type*", - "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype State]", - "type_source": "Fintype State", + "source": "[Nontrivial Internal]", + "type_source": "Nontrivial Internal", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Action]", - "type_source": "Fintype Action", + "source": "[Nontrivial Sensory]", + "type_source": "Nontrivial Sensory", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Observation]", - "type_source": "Fintype Observation", + "source": "[Nontrivial Active]", + "type_source": "Nontrivial Active", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Belief]", - "type_source": "Fintype Belief", + "source": "[Nontrivial External]", + "type_source": "Nontrivial External", "visibility": "instance" } ], "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.active_inference" + "FepSketches.finite_markov_dynamics", + "FepSketches.active_inference", + "FepSketches.decision_risk", + "FepSketches.markov_blanket", + "Mathlib.Analysis.Normed.Algebra.MatrixExponential" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.ControlledMarkov", + "namespace": "FEP.ContinuousTimeMarkov", "namespace_variable_context": [ - "{State Action Observation Belief : Type*}\n [Fintype State] [Fintype Action] [Fintype Observation] [Fintype Belief]" + "{State : Type*} [Fintype State] [Nonempty State] [DecidableEq State]", + "{Internal Sensory Active External : Type*}\n [Fintype Internal] [Fintype Sensory] [Fintype Active] [Fintype External]\n [DecidableEq Internal] [DecidableEq Sensory] [DecidableEq Active]\n [DecidableEq External]\n [Nontrivial Internal] [Nontrivial Sensory]\n [Nontrivial Active] [Nontrivial External]" ], - "preceding_scope_directives": [], - "qualified_name": "FEP.ControlledMarkov.boltzmannPosterior_zero_energy", - "source_line": 242, - "source_owner": "src/fep_lean/formal/controlled_markov.lean", - "statement": "theorem boltzmannPosterior_zero_energy (prior : FiniteLaw Action) :\n boltzmannPosterior prior (fun _ => 0) = prior", - "statement_sha256": "f1a170f6370e7d4dbc2d641310ba40b811200b66ac1584bdcb38469ee6b7b467" + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DecidableEq State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DecidableEq State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DecidableEq State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DecidableEq State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + } + ], + "qualified_name": "FEP.ContinuousTimeMarkov.liftInternalLikelihood_predictive_liftInternalLaw", + "source_line": 991, + "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "statement": "theorem liftInternalLikelihood_predictive_liftInternalLaw\n {Outcome : Type*} [Fintype Outcome]\n (internal : FiniteLaw Bool) (likelihood : FiniteKernel Bool Outcome) :\n (liftInternalLikelihood likelihood).predictive (liftInternalLaw internal) =\n likelihood.predictive internal", + "statement_sha256": "a95be87e2bc9e1640f6091fb5d4f458fa9b77a9d69c4c117486ab76619cee343" }, - "FEP.ControlledMarkov.boolReachablePOMDP_update_sound": { + "FEP.ContinuousTimeMarkov.refreshGenerator_mul_transition": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "belief", - "action", - "observation" + "time" ], "role": "typed_binder", - "source": "(belief action observation : Bool)", - "type_source": "Bool", + "source": "(time : ℝ)", + "type_source": "ℝ", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "hEvidence" + "source", + "target" ], "role": "typed_binder", - "source": "(hEvidence : 0 < actionEvidence\n (boolReachablePOMDP.interpret belief) boolReachablePOMDP.transition\n boolReachablePOMDP.emission action observation)", - "type_source": "0 < actionEvidence\n (boolReachablePOMDP.interpret belief) boolReachablePOMDP.transition\n boolReachablePOMDP.emission action observation", + "source": "(source target : State)", + "type_source": "State", "visibility": "explicit" } ], - "conclusion": "boolReachablePOMDP.interpret\n (boolReachablePOMDP.update belief action observation) =\n actionBeliefUpdate (boolReachablePOMDP.interpret belief)\n boolReachablePOMDP.transition boolReachablePOMDP.emission action observation\n hEvidence", + "conclusion": "(∑ middle,\n refreshRateGenerator source middle *\n refreshTransition time middle target) =\n refreshTransitionDerivative time source target", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "State", - "Action", - "Observation", - "Belief" + "State" ], "role": "typed_binder", - "source": "{State Action Observation Belief : Type*}", + "source": "{State : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -38687,88 +39757,144 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Action]", - "type_source": "Fintype Action", - "visibility": "instance" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype Observation]", - "type_source": "Fintype Observation", + "source": "[Nonempty State]", + "type_source": "Nonempty State", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Belief]", - "type_source": "Fintype Belief", + "source": "[DecidableEq State]", + "type_source": "DecidableEq State", "visibility": "instance" } ], "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.active_inference" + "FepSketches.finite_markov_dynamics", + "FepSketches.active_inference", + "FepSketches.decision_risk", + "FepSketches.markov_blanket", + "Mathlib.Analysis.Normed.Algebra.MatrixExponential" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.ControlledMarkov", + "namespace": "FEP.ContinuousTimeMarkov", "namespace_variable_context": [ - "{State Action Observation Belief : Type*}\n [Fintype State] [Fintype Action] [Fintype Observation] [Fintype Belief]" + "{State : Type*} [Fintype State] [Nonempty State] [DecidableEq State]" ], "preceding_scope_directives": [ { "directive": "omit", "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Fintype State] in" + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DecidableEq State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DecidableEq State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DecidableEq State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" } ], - "qualified_name": "FEP.ControlledMarkov.boolReachablePOMDP_update_sound", - "source_line": 582, - "source_owner": "src/fep_lean/formal/controlled_markov.lean", - "statement": "theorem boolReachablePOMDP_update_sound (belief action observation : Bool)\n (hEvidence : 0 < actionEvidence\n (boolReachablePOMDP.interpret belief) boolReachablePOMDP.transition\n boolReachablePOMDP.emission action observation) :\n boolReachablePOMDP.interpret\n (boolReachablePOMDP.update belief action observation) =\n actionBeliefUpdate (boolReachablePOMDP.interpret belief)\n boolReachablePOMDP.transition boolReachablePOMDP.emission action observation\n hEvidence", - "statement_sha256": "991cdf5d71c884e0fef75bea235957b474e215e58993c85728aa8501f51a03fc" + "qualified_name": "FEP.ContinuousTimeMarkov.refreshGenerator_mul_transition", + "source_line": 556, + "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "statement": "theorem refreshGenerator_mul_transition (time : ℝ)\n (source target : State) :\n (∑ middle,\n refreshRateGenerator source middle *\n refreshTransition time middle target) =\n refreshTransitionDerivative time source target", + "statement_sha256": "50d351aac41f424026e5f7afd468e6e267172da647d5ab88af54b1fafbdaaccc" }, - "FEP.ControlledMarkov.bool_actionBeliefUpdate_eq": { + "FEP.ContinuousTimeMarkov.refreshSemigroup_finiteKL_strict_decrease_of_ne_uniform": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "belief", - "action", - "observation" + "law" ], "role": "typed_binder", - "source": "(belief action observation : Bool)", - "type_source": "Bool", + "source": "(law : FiniteLaw State)", + "type_source": "FiniteLaw State", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "hEvidence" + "time" ], "role": "typed_binder", - "source": "(hEvidence : 0 < actionEvidence (boolBeliefInterpret belief)\n boolActionTransition boolObservationKernel action observation)", - "type_source": "0 < actionEvidence (boolBeliefInterpret belief)\n boolActionTransition boolObservationKernel action observation", + "source": "{time : ℝ}", + "type_source": "ℝ", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hTime" + ], + "role": "typed_binder", + "source": "(hTime : 0 < time)", + "type_source": "0 < time", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hLaw" + ], + "role": "typed_binder", + "source": "(hLaw : law ≠ (FiniteLaw.uniform : FiniteLaw State))", + "type_source": "law ≠ (FiniteLaw.uniform : FiniteLaw State)", "visibility": "explicit" } ], - "conclusion": "actionBeliefUpdate (boolBeliefInterpret belief) boolActionTransition\n boolObservationKernel action observation hEvidence =\n boolBeliefInterpret (boolBeliefUpdate belief action observation)", + "conclusion": "finiteKL\n ((refreshSemigroup.kernel time hTime.le).predictive law)\n (FiniteLaw.uniform : FiniteLaw State) <\n finiteKL law (FiniteLaw.uniform : FiniteLaw State)", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "State", - "Action", - "Observation", - "Belief" + "State" ], "role": "typed_binder", - "source": "{State Action Observation Belief : Type*}", + "source": "{State : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -38784,103 +39910,217 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Action]", - "type_source": "Fintype Action", - "visibility": "instance" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype Observation]", - "type_source": "Fintype Observation", + "source": "[Nonempty State]", + "type_source": "Nonempty State", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Belief]", - "type_source": "Fintype Belief", + "source": "[DecidableEq State]", + "type_source": "DecidableEq State", "visibility": "instance" } ], "declaration_mentions": [ { - "identifier": "actionBeliefUpdate_reconstruction", - "qualified_name": "FEP.ControlledMarkov.actionBeliefUpdate_reconstruction", - "resolution": "exact or same-namespace source identifier", + "candidates": [ + "FEP.FiniteInformation.crossEntropy_uniform" + ], + "identifier": "crossEntropy_uniform", + "resolution": "unresolved lexical scope", "role": "proof_reference" }, { - "identifier": "bool_actionEvidence_eq", - "qualified_name": "FEP.ControlledMarkov.bool_actionEvidence_eq", - "resolution": "exact or same-namespace source identifier", + "candidates": [ + "FEP.FiniteInformation.finiteKL_eq_crossEntropy_sub_entropy" + ], + "identifier": "finiteKL_eq_crossEntropy_sub_entropy", + "resolution": "unresolved lexical scope", "role": "proof_reference" }, { - "identifier": "bool_actionPrediction_eq", - "qualified_name": "FEP.ControlledMarkov.bool_actionPrediction_eq", - "resolution": "exact or same-namespace source identifier", + "candidates": [ + "FEP.FiniteInformation.finiteKL_eq_zero_iff" + ], + "identifier": "finiteKL_eq_zero_iff", + "resolution": "unresolved lexical scope", "role": "proof_reference" }, { - "identifier": "bool_positiveEvidence_observation_eq_action", - "qualified_name": "FEP.ControlledMarkov.bool_positiveEvidence_observation_eq_action", + "candidates": [ + "FEP.FiniteInformation.finiteKL_nonneg" + ], + "identifier": "finiteKL_nonneg", + "resolution": "unresolved lexical scope", + "role": "proof_reference" + }, + { + "candidates": [ + "FEP.FiniteInformation.finiteKL_self" + ], + "identifier": "finiteKL_self", + "resolution": "unresolved lexical scope", + "role": "proof_reference" + }, + { + "identifier": "refreshSemigroup_predictive_mass", + "qualified_name": "FEP.ContinuousTimeMarkov.refreshSemigroup_predictive_mass", "resolution": "exact or same-namespace source identifier", "role": "proof_reference" } ], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.active_inference" + "FepSketches.finite_markov_dynamics", + "FepSketches.active_inference", + "FepSketches.decision_risk", + "FepSketches.markov_blanket", + "Mathlib.Analysis.Normed.Algebra.MatrixExponential" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.ControlledMarkov", + "namespace": "FEP.ContinuousTimeMarkov", "namespace_variable_context": [ - "{State Action Observation Belief : Type*}\n [Fintype State] [Fintype Action] [Fintype Observation] [Fintype Belief]" + "{State : Type*} [Fintype State] [Nonempty State] [DecidableEq State]" ], "preceding_scope_directives": [ { "directive": "omit", "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Fintype State] in" + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DecidableEq State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DecidableEq State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DecidableEq State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DecidableEq State] in" } ], - "qualified_name": "FEP.ControlledMarkov.bool_actionBeliefUpdate_eq", - "source_line": 538, - "source_owner": "src/fep_lean/formal/controlled_markov.lean", - "statement": "theorem bool_actionBeliefUpdate_eq (belief action observation : Bool)\n (hEvidence : 0 < actionEvidence (boolBeliefInterpret belief)\n boolActionTransition boolObservationKernel action observation) :\n actionBeliefUpdate (boolBeliefInterpret belief) boolActionTransition\n boolObservationKernel action observation hEvidence =\n boolBeliefInterpret (boolBeliefUpdate belief action observation)", - "statement_sha256": "b44d25715b746539dca26347931594f583114bcc78682b49d50bf43ce0053467" + "qualified_name": "FEP.ContinuousTimeMarkov.refreshSemigroup_finiteKL_strict_decrease_of_ne_uniform", + "source_line": 760, + "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "statement": "theorem refreshSemigroup_finiteKL_strict_decrease_of_ne_uniform\n (law : FiniteLaw State) {time : ℝ} (hTime : 0 < time)\n (hLaw : law ≠ (FiniteLaw.uniform : FiniteLaw State)) :\n finiteKL\n ((refreshSemigroup.kernel time hTime.le).predictive law)\n (FiniteLaw.uniform : FiniteLaw State) <\n finiteKL law (FiniteLaw.uniform : FiniteLaw State)", + "statement_sha256": "39cb0ec01c6a2dfd88e4774990dd40a9bf658040588d351bac948094861f1595" }, - "FEP.ControlledMarkov.bool_actionEvidence_eq": { + "FEP.ContinuousTimeMarkov.refreshSemigroup_nativeKL_strict_decrease_of_ne_uniform": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[MeasurableSpace State]", + "type_source": "MeasurableSpace State", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DiscreteMeasurableSpace State]", + "type_source": "DiscreteMeasurableSpace State", + "visibility": "instance" + }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "belief", - "action", - "observation" + "law" ], "role": "typed_binder", - "source": "(belief action observation : Bool)", - "type_source": "Bool", + "source": "(law : FiniteLaw State)", + "type_source": "FiniteLaw State", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "time" + ], + "role": "typed_binder", + "source": "{time : ℝ}", + "type_source": "ℝ", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hTime" + ], + "role": "typed_binder", + "source": "(hTime : 0 < time)", + "type_source": "0 < time", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hLaw" + ], + "role": "typed_binder", + "source": "(hLaw : law ≠ (FiniteLaw.uniform : FiniteLaw State))", + "type_source": "law ≠ (FiniteLaw.uniform : FiniteLaw State)", "visibility": "explicit" } ], - "conclusion": "actionEvidence (boolBeliefInterpret belief) boolActionTransition\n boolObservationKernel action observation =\n if observation = action then 1 else 0", + "conclusion": "InformationTheory.klDiv\n (FEP.NativeBlanket.embeddedLaw\n ((refreshSemigroup.kernel time hTime.le).predictive law))\n (FEP.NativeBlanket.embeddedLaw\n (FiniteLaw.uniform : FiniteLaw State)) <\n InformationTheory.klDiv\n (FEP.NativeBlanket.embeddedLaw law)\n (FEP.NativeBlanket.embeddedLaw\n (FiniteLaw.uniform : FiniteLaw State))", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "State", - "Action", - "Observation", - "Belief" + "State" ], "role": "typed_binder", - "source": "{State Action Observation Belief : Type*}", + "source": "{State : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -38896,84 +40136,175 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Action]", - "type_source": "Fintype Action", - "visibility": "instance" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype Observation]", - "type_source": "Fintype Observation", + "source": "[Nonempty State]", + "type_source": "Nonempty State", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Belief]", - "type_source": "Fintype Belief", + "source": "[DecidableEq State]", + "type_source": "DecidableEq State", "visibility": "instance" } ], "declaration_mentions": [ { - "identifier": "bool_actionPrediction_eq", - "qualified_name": "FEP.ControlledMarkov.bool_actionPrediction_eq", + "identifier": "FEP.DecisionRisk.weightedDirac_klDiv_eq_finiteKL_of_fullSupport", + "qualified_name": "FEP.DecisionRisk.weightedDirac_klDiv_eq_finiteKL_of_fullSupport", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + }, + { + "candidates": [ + "FEP.FiniteInformation.finiteKL_nonneg" + ], + "identifier": "finiteKL_nonneg", + "resolution": "unresolved lexical scope", + "role": "proof_reference" + }, + { + "identifier": "refreshSemigroup_finiteKL_strict_decrease_of_ne_uniform", + "qualified_name": "FEP.ContinuousTimeMarkov.refreshSemigroup_finiteKL_strict_decrease_of_ne_uniform", "resolution": "exact or same-namespace source identifier", "role": "proof_reference" } ], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.active_inference" + "FepSketches.finite_markov_dynamics", + "FepSketches.active_inference", + "FepSketches.decision_risk", + "FepSketches.markov_blanket", + "Mathlib.Analysis.Normed.Algebra.MatrixExponential" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.ControlledMarkov", + "namespace": "FEP.ContinuousTimeMarkov", "namespace_variable_context": [ - "{State Action Observation Belief : Type*}\n [Fintype State] [Fintype Action] [Fintype Observation] [Fintype Belief]" + "{State : Type*} [Fintype State] [Nonempty State] [DecidableEq State]" ], "preceding_scope_directives": [ { "directive": "omit", "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Fintype State] in" + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DecidableEq State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DecidableEq State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DecidableEq State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DecidableEq State] in" } ], - "qualified_name": "FEP.ControlledMarkov.bool_actionEvidence_eq", - "source_line": 516, - "source_owner": "src/fep_lean/formal/controlled_markov.lean", - "statement": "theorem bool_actionEvidence_eq (belief action observation : Bool) :\n actionEvidence (boolBeliefInterpret belief) boolActionTransition\n boolObservationKernel action observation =\n if observation = action then 1 else 0", - "statement_sha256": "4be1324ea537ccda2a8f6a808a772a35c0bedb282d1686aa09cbe0ca124c4796" + "qualified_name": "FEP.ContinuousTimeMarkov.refreshSemigroup_nativeKL_strict_decrease_of_ne_uniform", + "source_line": 857, + "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "statement": "theorem refreshSemigroup_nativeKL_strict_decrease_of_ne_uniform\n [MeasurableSpace State] [DiscreteMeasurableSpace State]\n (law : FiniteLaw State) {time : ℝ} (hTime : 0 < time)\n (hLaw : law ≠ (FiniteLaw.uniform : FiniteLaw State)) :\n InformationTheory.klDiv\n (FEP.NativeBlanket.embeddedLaw\n ((refreshSemigroup.kernel time hTime.le).predictive law))\n (FEP.NativeBlanket.embeddedLaw\n (FiniteLaw.uniform : FiniteLaw State)) <\n InformationTheory.klDiv\n (FEP.NativeBlanket.embeddedLaw law)\n (FEP.NativeBlanket.embeddedLaw\n (FiniteLaw.uniform : FiniteLaw State))", + "statement_sha256": "49b2c06a8ec96e883a4dc749fd8bb015f4c572c25430586078834bb86e1d6a7d" }, - "FEP.ControlledMarkov.bool_actionPrediction_eq": { + "FEP.ContinuousTimeMarkov.refreshSemigroup_predictive_mass": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "belief", - "action" + "law" ], "role": "typed_binder", - "source": "(belief action : Bool)", - "type_source": "Bool", + "source": "(law : FiniteLaw State)", + "type_source": "FiniteLaw State", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "time" + ], + "role": "typed_binder", + "source": "{time : ℝ}", + "type_source": "ℝ", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hTime" + ], + "role": "typed_binder", + "source": "(hTime : 0 ≤ time)", + "type_source": "0 ≤ time", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "target" + ], + "role": "typed_binder", + "source": "(target : State)", + "type_source": "State", "visibility": "explicit" } ], - "conclusion": "actionPrediction (boolBeliefInterpret belief) boolActionTransition action =\n FiniteLaw.pointMass action", + "conclusion": "(refreshSemigroup.kernel time hTime).predictive law target =\n refreshRho time * law target +\n (1 - refreshRho time) *\n (FiniteLaw.uniform : FiniteLaw State) target", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "State", - "Action", - "Observation", - "Belief" + "State" ], "role": "typed_binder", - "source": "{State Action Observation Belief : Type*}", + "source": "{State : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -38989,88 +40320,103 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Action]", - "type_source": "Fintype Action", - "visibility": "instance" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype Observation]", - "type_source": "Fintype Observation", + "source": "[Nonempty State]", + "type_source": "Nonempty State", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Belief]", - "type_source": "Fintype Belief", + "source": "[DecidableEq State]", + "type_source": "DecidableEq State", "visibility": "instance" } ], "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.active_inference" - ], - "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.ControlledMarkov", + "FepSketches.finite_markov_dynamics", + "FepSketches.active_inference", + "FepSketches.decision_risk", + "FepSketches.markov_blanket", + "Mathlib.Analysis.Normed.Algebra.MatrixExponential" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.ContinuousTimeMarkov", "namespace_variable_context": [ - "{State Action Observation Belief : Type*}\n [Fintype State] [Fintype Action] [Fintype Observation] [Fintype Belief]" + "{State : Type*} [Fintype State] [Nonempty State] [DecidableEq State]" ], "preceding_scope_directives": [ { "directive": "omit", "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Fintype State] in" - } - ], - "qualified_name": "FEP.ControlledMarkov.bool_actionPrediction_eq", - "source_line": 505, - "source_owner": "src/fep_lean/formal/controlled_markov.lean", - "statement": "theorem bool_actionPrediction_eq (belief action : Bool) :\n actionPrediction (boolBeliefInterpret belief) boolActionTransition action =\n FiniteLaw.pointMass action", - "statement_sha256": "bc8fea5d13d052d808fb89d3ca2414494fbead026236a8e2bc42c16630f54174" - }, - "FEP.ControlledMarkov.bool_positiveEvidence_observation_eq_action": { - "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [ + "source": "omit [Nonempty State] in" + }, { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "belief", - "action", - "observation" - ], - "role": "typed_binder", - "source": "(belief action observation : Bool)", - "type_source": "Bool", - "visibility": "explicit" + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DecidableEq State] in" }, { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "hEvidence" - ], - "role": "typed_binder", - "source": "(hEvidence : 0 < actionEvidence (boolBeliefInterpret belief)\n boolActionTransition boolObservationKernel action observation)", - "type_source": "0 < actionEvidence (boolBeliefInterpret belief)\n boolActionTransition boolObservationKernel action observation", - "visibility": "explicit" + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DecidableEq State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DecidableEq State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" } ], - "conclusion": "observation = action", + "qualified_name": "FEP.ContinuousTimeMarkov.refreshSemigroup_predictive_mass", + "source_line": 650, + "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "statement": "theorem refreshSemigroup_predictive_mass (law : FiniteLaw State)\n {time : ℝ} (hTime : 0 ≤ time) (target : State) :\n (refreshSemigroup.kernel time hTime).predictive law target =\n refreshRho time * law target +\n (1 - refreshRho time) *\n (FiniteLaw.uniform : FiniteLaw State) target", + "statement_sha256": "b4e4b94c289647b7d229f024211b926d2026498d63444458bf5c12863d4455a5" + }, + "FEP.ContinuousTimeMarkov.refreshSemigroup_uniform_stationary": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [], + "conclusion": "refreshSemigroup.IsStationary (FiniteLaw.uniform : FiniteLaw State)", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "State", - "Action", - "Observation", - "Belief" + "State" ], "role": "typed_binder", - "source": "{State Action Observation Belief : Type*}", + "source": "{State : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -39086,103 +40432,126 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Action]", - "type_source": "Fintype Action", - "visibility": "instance" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype Observation]", - "type_source": "Fintype Observation", + "source": "[Nonempty State]", + "type_source": "Nonempty State", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Belief]", - "type_source": "Fintype Belief", + "source": "[DecidableEq State]", + "type_source": "DecidableEq State", "visibility": "instance" } ], - "declaration_mentions": [ - { - "identifier": "bool_actionEvidence_eq", - "qualified_name": "FEP.ControlledMarkov.bool_actionEvidence_eq", - "resolution": "exact or same-namespace source identifier", - "role": "proof_reference" - } - ], + "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.active_inference" + "FepSketches.finite_markov_dynamics", + "FepSketches.active_inference", + "FepSketches.decision_risk", + "FepSketches.markov_blanket", + "Mathlib.Analysis.Normed.Algebra.MatrixExponential" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.ControlledMarkov", + "namespace": "FEP.ContinuousTimeMarkov", "namespace_variable_context": [ - "{State Action Observation Belief : Type*}\n [Fintype State] [Fintype Action] [Fintype Observation] [Fintype Belief]" + "{State : Type*} [Fintype State] [Nonempty State] [DecidableEq State]" ], "preceding_scope_directives": [ { "directive": "omit", "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Fintype State] in" + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DecidableEq State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DecidableEq State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DecidableEq State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" } ], - "qualified_name": "FEP.ControlledMarkov.bool_positiveEvidence_observation_eq_action", - "source_line": 527, - "source_owner": "src/fep_lean/formal/controlled_markov.lean", - "statement": "theorem bool_positiveEvidence_observation_eq_action\n (belief action observation : Bool)\n (hEvidence : 0 < actionEvidence (boolBeliefInterpret belief)\n boolActionTransition boolObservationKernel action observation) :\n observation = action", - "statement_sha256": "37876acc8b32e3603dbc7636b8e854dfbc274f5abd9b04699c3301103fc8e620" + "qualified_name": "FEP.ContinuousTimeMarkov.refreshSemigroup_uniform_stationary", + "source_line": 715, + "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "statement": "theorem refreshSemigroup_uniform_stationary :\n refreshSemigroup.IsStationary (FiniteLaw.uniform : FiniteLaw State)", + "statement_sha256": "fd08a300d83b75b24f3268b2a0b88780c22e4cb4cd0614f7072597e5fe0025fc" }, - "FEP.ControlledMarkov.controlPosterior_sum_one": { + "FEP.ContinuousTimeMarkov.refreshTransition_add": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "prior" - ], - "role": "typed_binder", - "source": "(prior : FiniteLaw Action)", - "type_source": "FiniteLaw Action", - "visibility": "explicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "precision" + "left", + "right" ], "role": "typed_binder", - "source": "(precision : ℝ)", + "source": "(left right : ℝ)", "type_source": "ℝ", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "cost" + "source", + "target" ], "role": "typed_binder", - "source": "(cost : Action → ℝ)", - "type_source": "Action → ℝ", + "source": "(source target : State)", + "type_source": "State", "visibility": "explicit" } ], - "conclusion": "∑ action, controlPosterior prior precision cost action = 1", + "conclusion": "refreshTransition (left + right) source target =\n ∑ middle,\n refreshTransition left source middle *\n refreshTransition right middle target", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "State", - "Action", - "Observation", - "Belief" + "State" ], "role": "typed_binder", - "source": "{State Action Observation Belief : Type*}", + "source": "{State : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -39198,80 +40567,120 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Action]", - "type_source": "Fintype Action", - "visibility": "instance" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype Observation]", - "type_source": "Fintype Observation", + "source": "[Nonempty State]", + "type_source": "Nonempty State", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Belief]", - "type_source": "Fintype Belief", + "source": "[DecidableEq State]", + "type_source": "DecidableEq State", "visibility": "instance" } ], "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.active_inference" + "FepSketches.finite_markov_dynamics", + "FepSketches.active_inference", + "FepSketches.decision_risk", + "FepSketches.markov_blanket", + "Mathlib.Analysis.Normed.Algebra.MatrixExponential" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.ControlledMarkov", + "namespace": "FEP.ContinuousTimeMarkov", "namespace_variable_context": [ - "{State Action Observation Belief : Type*}\n [Fintype State] [Fintype Action] [Fintype Observation] [Fintype Belief]" + "{State : Type*} [Fintype State] [Nonempty State] [DecidableEq State]" ], - "preceding_scope_directives": [], - "qualified_name": "FEP.ControlledMarkov.controlPosterior_sum_one", - "source_line": 255, - "source_owner": "src/fep_lean/formal/controlled_markov.lean", - "statement": "theorem controlPosterior_sum_one (prior : FiniteLaw Action)\n (precision : ℝ) (cost : Action → ℝ) :\n ∑ action, controlPosterior prior precision cost action = 1", - "statement_sha256": "57519db825237ef574843f4dcac281be27fe9a93f36c4448e0a08f7fb238eb65" + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DecidableEq State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DecidableEq State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DecidableEq State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + } + ], + "qualified_name": "FEP.ContinuousTimeMarkov.refreshTransition_add", + "source_line": 487, + "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "statement": "theorem refreshTransition_add (left right : ℝ) (source target : State) :\n refreshTransition (left + right) source target =\n ∑ middle,\n refreshTransition left source middle *\n refreshTransition right middle target", + "statement_sha256": "5b7335611916435d94c2745987632f009e3f0656371105a3def4c7efe31c0382" }, - "FEP.ControlledMarkov.controlPosterior_zero_cost": { + "FEP.ContinuousTimeMarkov.refreshTransition_hasDerivAt": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "prior" + "time" ], "role": "typed_binder", - "source": "(prior : FiniteLaw Action)", - "type_source": "FiniteLaw Action", + "source": "(time : ℝ)", + "type_source": "ℝ", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "precision" + "source", + "target" ], "role": "typed_binder", - "source": "(precision : ℝ)", - "type_source": "ℝ", + "source": "(source target : State)", + "type_source": "State", "visibility": "explicit" } ], - "conclusion": "controlPosterior prior precision (fun _ => 0) = prior", + "conclusion": "HasDerivAt (fun candidate ↦ refreshTransition candidate source target)\n (refreshTransitionDerivative time source target) time", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "State", - "Action", - "Observation", - "Belief" + "State" ], "role": "typed_binder", - "source": "{State Action Observation Belief : Type*}", + "source": "{State : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -39287,97 +40696,125 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Action]", - "type_source": "Fintype Action", - "visibility": "instance" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype Observation]", - "type_source": "Fintype Observation", + "source": "[Nonempty State]", + "type_source": "Nonempty State", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Belief]", - "type_source": "Fintype Belief", + "source": "[DecidableEq State]", + "type_source": "DecidableEq State", "visibility": "instance" } ], - "declaration_mentions": [ - { - "identifier": "boltzmannPosterior_zero_energy", - "qualified_name": "FEP.ControlledMarkov.boltzmannPosterior_zero_energy", - "resolution": "exact or same-namespace source identifier", - "role": "proof_reference" - } - ], + "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.active_inference" + "FepSketches.finite_markov_dynamics", + "FepSketches.active_inference", + "FepSketches.decision_risk", + "FepSketches.markov_blanket", + "Mathlib.Analysis.Normed.Algebra.MatrixExponential" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.ControlledMarkov", + "namespace": "FEP.ContinuousTimeMarkov", "namespace_variable_context": [ - "{State Action Observation Belief : Type*}\n [Fintype State] [Fintype Action] [Fintype Observation] [Fintype Belief]" + "{State : Type*} [Fintype State] [Nonempty State] [DecidableEq State]" ], - "preceding_scope_directives": [], - "qualified_name": "FEP.ControlledMarkov.controlPosterior_zero_cost", - "source_line": 261, - "source_owner": "src/fep_lean/formal/controlled_markov.lean", - "statement": "theorem controlPosterior_zero_cost (prior : FiniteLaw Action)\n (precision : ℝ) :\n controlPosterior prior precision (fun _ => 0) = prior", - "statement_sha256": "85e81a42b7a9b06510458da4c6db5188805f198e081b1be5419a092b3007db26" + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DecidableEq State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DecidableEq State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DecidableEq State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + } + ], + "qualified_name": "FEP.ContinuousTimeMarkov.refreshTransition_hasDerivAt", + "source_line": 544, + "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "statement": "theorem refreshTransition_hasDerivAt (time : ℝ)\n (source target : State) :\n HasDerivAt (fun candidate ↦ refreshTransition candidate source target)\n (refreshTransitionDerivative time source target) time", + "statement_sha256": "4059368ac72f5f1bf5418b9b445953e45e8084e246f7bf8cf822f8d41b93ee36" }, - "FEP.ControlledMarkov.controlledKernel_sum_one": { + "FEP.ContinuousTimeMarkov.refreshTransition_mul_generator": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "transition" - ], - "role": "typed_binder", - "source": "(transition : ControlledKernel State Action)", - "type_source": "ControlledKernel State Action", - "visibility": "explicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "action" + "time" ], "role": "typed_binder", - "source": "(action : Action)", - "type_source": "Action", + "source": "(time : ℝ)", + "type_source": "ℝ", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "state" + "source", + "target" ], "role": "typed_binder", - "source": "(state : State)", + "source": "(source target : State)", "type_source": "State", "visibility": "explicit" } ], - "conclusion": "∑ nextState, transition action state nextState = 1", + "conclusion": "(∑ middle,\n refreshTransition time source middle *\n refreshRateGenerator middle target) =\n refreshTransitionDerivative time source target", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "State", - "Action", - "Observation", - "Belief" + "State" ], "role": "typed_binder", - "source": "{State Action Observation Belief : Type*}", + "source": "{State : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -39393,101 +40830,135 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Action]", - "type_source": "Fintype Action", - "visibility": "instance" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype Observation]", - "type_source": "Fintype Observation", + "source": "[Nonempty State]", + "type_source": "Nonempty State", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Belief]", - "type_source": "Fintype Belief", + "source": "[DecidableEq State]", + "type_source": "DecidableEq State", "visibility": "instance" } ], "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.active_inference" + "FepSketches.finite_markov_dynamics", + "FepSketches.active_inference", + "FepSketches.decision_risk", + "FepSketches.markov_blanket", + "Mathlib.Analysis.Normed.Algebra.MatrixExponential" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.ControlledMarkov", + "namespace": "FEP.ContinuousTimeMarkov", "namespace_variable_context": [ - "{State Action Observation Belief : Type*}\n [Fintype State] [Fintype Action] [Fintype Observation] [Fintype Belief]" + "{State : Type*} [Fintype State] [Nonempty State] [DecidableEq State]" ], - "preceding_scope_directives": [], - "qualified_name": "FEP.ControlledMarkov.controlledKernel_sum_one", - "source_line": 28, - "source_owner": "src/fep_lean/formal/controlled_markov.lean", - "statement": "theorem controlledKernel_sum_one\n (transition : ControlledKernel State Action)\n (action : Action) (state : State) :\n ∑ nextState, transition action state nextState = 1", - "statement_sha256": "1c306d8e03c1016377701655161709999c39111bda5dd9d2c713554cc8598f8b" + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DecidableEq State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DecidableEq State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DecidableEq State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + } + ], + "qualified_name": "FEP.ContinuousTimeMarkov.refreshTransition_mul_generator", + "source_line": 594, + "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "statement": "theorem refreshTransition_mul_generator (time : ℝ)\n (source target : State) :\n (∑ middle,\n refreshTransition time source middle *\n refreshRateGenerator middle target) =\n refreshTransitionDerivative time source target", + "statement_sha256": "4031a4221a1a8a3fdd15b427112d706572cc2fbbde2bede10a7643d1572e2de3" }, - "FEP.ControlledMarkov.desirabilityStep_nonneg": { + "FEP.ContinuousTimeMarkov.refreshTransition_nonneg": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "passive" - ], - "role": "typed_binder", - "source": "(passive : FiniteKernel State State)", - "type_source": "FiniteKernel State State", - "visibility": "explicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "stateCost", - "desirability" + "time" ], "role": "typed_binder", - "source": "(stateCost desirability : State → ℝ)", - "type_source": "State → ℝ", - "visibility": "explicit" + "source": "{time : ℝ}", + "type_source": "ℝ", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "hDesirability" + "hTime" ], "role": "typed_binder", - "source": "(hDesirability : ∀ state, 0 ≤ desirability state)", - "type_source": "∀ state, 0 ≤ desirability state", + "source": "(hTime : 0 ≤ time)", + "type_source": "0 ≤ time", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "state" + "source", + "target" ], "role": "typed_binder", - "source": "(state : State)", + "source": "(source target : State)", "type_source": "State", "visibility": "explicit" } ], - "conclusion": "0 ≤ desirabilityStep passive stateCost desirability state", + "conclusion": "0 ≤ refreshTransition time source target", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "State", - "Action", - "Observation", - "Belief" + "State" ], "role": "typed_binder", - "source": "{State Action Observation Belief : Type*}", + "source": "{State : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -39503,86 +40974,125 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Action]", - "type_source": "Fintype Action", - "visibility": "instance" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype Observation]", - "type_source": "Fintype Observation", + "source": "[Nonempty State]", + "type_source": "Nonempty State", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Belief]", - "type_source": "Fintype Belief", + "source": "[DecidableEq State]", + "type_source": "DecidableEq State", "visibility": "instance" } ], "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.active_inference" + "FepSketches.finite_markov_dynamics", + "FepSketches.active_inference", + "FepSketches.decision_risk", + "FepSketches.markov_blanket", + "Mathlib.Analysis.Normed.Algebra.MatrixExponential" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.ControlledMarkov", + "namespace": "FEP.ContinuousTimeMarkov", "namespace_variable_context": [ - "{State Action Observation Belief : Type*}\n [Fintype State] [Fintype Action] [Fintype Observation] [Fintype Belief]" + "{State : Type*} [Fintype State] [Nonempty State] [DecidableEq State]" ], "preceding_scope_directives": [ { "directive": "omit", "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Fintype State] in" + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DecidableEq State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DecidableEq State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DecidableEq State] in" } ], - "qualified_name": "FEP.ControlledMarkov.desirabilityStep_nonneg", - "source_line": 375, - "source_owner": "src/fep_lean/formal/controlled_markov.lean", - "statement": "theorem desirabilityStep_nonneg (passive : FiniteKernel State State)\n (stateCost desirability : State → ℝ)\n (hDesirability : ∀ state, 0 ≤ desirability state) (state : State) :\n 0 ≤ desirabilityStep passive stateCost desirability state", - "statement_sha256": "f0940293feb1d7c36ca769ac86fcaf0a6dfda02d31418a46e99a32319a203458" + "qualified_name": "FEP.ContinuousTimeMarkov.refreshTransition_nonneg", + "source_line": 443, + "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "statement": "theorem refreshTransition_nonneg {time : ℝ} (hTime : 0 ≤ time)\n (source target : State) : 0 ≤ refreshTransition time source target", + "statement_sha256": "28b171e34c63676011c12bf1ac2e0c182cf9ace636810148ad276652c2957331" }, - "FEP.ControlledMarkov.desirabilityStep_zero_cost_one": { + "FEP.ContinuousTimeMarkov.refreshTransition_pos": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "passive" + "time" ], "role": "typed_binder", - "source": "(passive : FiniteKernel State State)", - "type_source": "FiniteKernel State State", + "source": "{time : ℝ}", + "type_source": "ℝ", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hTime" + ], + "role": "typed_binder", + "source": "(hTime : 0 < time)", + "type_source": "0 < time", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "state" + "source", + "target" ], "role": "typed_binder", - "source": "(state : State)", + "source": "(source target : State)", "type_source": "State", "visibility": "explicit" } ], - "conclusion": "desirabilityStep passive (fun _ => 0) (fun _ => 1) state = 1", + "conclusion": "0 < refreshTransition time source target", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "State", - "Action", - "Observation", - "Belief" + "State" ], "role": "typed_binder", - "source": "{State Action Observation Belief : Type*}", + "source": "{State : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -39598,102 +41108,114 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Action]", - "type_source": "Fintype Action", - "visibility": "instance" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype Observation]", - "type_source": "Fintype Observation", + "source": "[Nonempty State]", + "type_source": "Nonempty State", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Belief]", - "type_source": "Fintype Belief", + "source": "[DecidableEq State]", + "type_source": "DecidableEq State", "visibility": "instance" } ], "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.active_inference" + "FepSketches.finite_markov_dynamics", + "FepSketches.active_inference", + "FepSketches.decision_risk", + "FepSketches.markov_blanket", + "Mathlib.Analysis.Normed.Algebra.MatrixExponential" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.ControlledMarkov", + "namespace": "FEP.ContinuousTimeMarkov", "namespace_variable_context": [ - "{State Action Observation Belief : Type*}\n [Fintype State] [Fintype Action] [Fintype Observation] [Fintype Belief]" + "{State : Type*} [Fintype State] [Nonempty State] [DecidableEq State]" ], "preceding_scope_directives": [ { "directive": "omit", "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Fintype State] in" + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DecidableEq State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DecidableEq State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DecidableEq State] in" } ], - "qualified_name": "FEP.ControlledMarkov.desirabilityStep_zero_cost_one", - "source_line": 386, - "source_owner": "src/fep_lean/formal/controlled_markov.lean", - "statement": "theorem desirabilityStep_zero_cost_one (passive : FiniteKernel State State)\n (state : State) :\n desirabilityStep passive (fun _ => 0) (fun _ => 1) state = 1", - "statement_sha256": "4dca41fe0a826905de41f969a8f5baeeef42a264aad4b4d198789a7f796f804c" + "qualified_name": "FEP.ContinuousTimeMarkov.refreshTransition_pos", + "source_line": 456, + "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "statement": "theorem refreshTransition_pos {time : ℝ} (hTime : 0 < time)\n (source target : State) : 0 < refreshTransition time source target", + "statement_sha256": "ab02c9dbcd76eb448aa1fe5e96569f64dcf2c3f46dd6d056aa2212963cdf9c9c" }, - "FEP.ControlledMarkov.exists_finite_minimizer": { + "FEP.ContinuousTimeMarkov.refreshTransition_sum_one": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "ι" + "time" ], "role": "typed_binder", - "source": "{ι : Type*}", - "type_source": "Type*", - "visibility": "implicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype ι]", - "type_source": "Fintype ι", - "visibility": "instance" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Nonempty ι]", - "type_source": "Nonempty ι", - "visibility": "instance" + "source": "(time : ℝ)", + "type_source": "ℝ", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "objective" + "source" ], "role": "typed_binder", - "source": "(objective : ι → ℝ)", - "type_source": "ι → ℝ", + "source": "(source : State)", + "type_source": "State", "visibility": "explicit" } ], - "conclusion": "∃ minimizer, ∀ alternative, objective minimizer ≤ objective alternative", + "conclusion": "∑ target, refreshTransition time source target = 1", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "State", - "Action", - "Observation", - "Belief" + "State" ], "role": "typed_binder", - "source": "{State Action Observation Belief : Type*}", + "source": "{State : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -39709,112 +41231,105 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Action]", - "type_source": "Fintype Action", - "visibility": "instance" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype Observation]", - "type_source": "Fintype Observation", + "source": "[Nonempty State]", + "type_source": "Nonempty State", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Belief]", - "type_source": "Fintype Belief", + "source": "[DecidableEq State]", + "type_source": "DecidableEq State", "visibility": "instance" } ], "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.active_inference" + "FepSketches.finite_markov_dynamics", + "FepSketches.active_inference", + "FepSketches.decision_risk", + "FepSketches.markov_blanket", + "Mathlib.Analysis.Normed.Algebra.MatrixExponential" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.ControlledMarkov", + "namespace": "FEP.ContinuousTimeMarkov", "namespace_variable_context": [ - "{State Action Observation Belief : Type*}\n [Fintype State] [Fintype Action] [Fintype Observation] [Fintype Belief]" + "{State : Type*} [Fintype State] [Nonempty State] [DecidableEq State]" ], "preceding_scope_directives": [ { "directive": "omit", "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Fintype State] in" - } - ], - "qualified_name": "FEP.ControlledMarkov.exists_finite_minimizer", - "source_line": 395, - "source_owner": "src/fep_lean/formal/controlled_markov.lean", - "statement": "theorem exists_finite_minimizer {ι : Type*} [Fintype ι] [Nonempty ι]\n (objective : ι → ℝ) :\n ∃ minimizer, ∀ alternative, objective minimizer ≤ objective alternative", - "statement_sha256": "15f6d60894af56c03b0d782710b64bca417bccd7b5b4094d94b0c1764875c3cb" - }, - "FEP.ControlledMarkov.finiteArgmin_le": { - "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [ + "source": "omit [Nonempty State] in" + }, { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "ι" - ], - "role": "typed_binder", - "source": "{ι : Type*}", - "type_source": "Type*", - "visibility": "implicit" + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DecidableEq State] in" }, { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype ι]", - "type_source": "Fintype ι", - "visibility": "instance" + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" }, { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Nonempty ι]", - "type_source": "Nonempty ι", - "visibility": "instance" + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" }, { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "objective" - ], - "role": "typed_binder", - "source": "(objective : ι → ℝ)", - "type_source": "ι → ℝ", - "visibility": "explicit" + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DecidableEq State] in" }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DecidableEq State] in" + } + ], + "qualified_name": "FEP.ContinuousTimeMarkov.refreshTransition_sum_one", + "source_line": 471, + "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "statement": "theorem refreshTransition_sum_one (time : ℝ) (source : State) :\n ∑ target, refreshTransition time source target = 1", + "statement_sha256": "febb83b782fc8823ec37c5487fbdb0a75b2ef23e06a80bffd7584e68fa82beaa" + }, + "FEP.ContinuousTimeMarkov.refreshTransition_zero": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "alternative" + "source", + "target" ], "role": "typed_binder", - "source": "(alternative : ι)", - "type_source": "ι", + "source": "(source target : State)", + "type_source": "State", "visibility": "explicit" } ], - "conclusion": "objective (finiteArgmin objective) ≤ objective alternative", + "conclusion": "refreshTransition 0 source target =\n if source = target then 1 else 0", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "State", - "Action", - "Observation", - "Belief" + "State" ], "role": "typed_binder", - "source": "{State Action Observation Belief : Type*}", + "source": "{State : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -39830,223 +41345,250 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Action]", - "type_source": "Fintype Action", - "visibility": "instance" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype Observation]", - "type_source": "Fintype Observation", + "source": "[Nonempty State]", + "type_source": "Nonempty State", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Belief]", - "type_source": "Fintype Belief", + "source": "[DecidableEq State]", + "type_source": "DecidableEq State", "visibility": "instance" } ], - "declaration_mentions": [ - { - "identifier": "exists_finite_minimizer", - "qualified_name": "FEP.ControlledMarkov.exists_finite_minimizer", - "resolution": "exact or same-namespace source identifier", - "role": "proof_reference" - } - ], + "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.active_inference" + "FepSketches.finite_markov_dynamics", + "FepSketches.active_inference", + "FepSketches.decision_risk", + "FepSketches.markov_blanket", + "Mathlib.Analysis.Normed.Algebra.MatrixExponential" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.ControlledMarkov", + "namespace": "FEP.ContinuousTimeMarkov", "namespace_variable_context": [ - "{State Action Observation Belief : Type*}\n [Fintype State] [Fintype Action] [Fintype Observation] [Fintype Belief]" + "{State : Type*} [Fintype State] [Nonempty State] [DecidableEq State]" ], "preceding_scope_directives": [ { "directive": "omit", "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Fintype State] in" - } - ], - "qualified_name": "FEP.ControlledMarkov.finiteArgmin_le", - "source_line": 412, - "source_owner": "src/fep_lean/formal/controlled_markov.lean", - "statement": "theorem finiteArgmin_le {ι : Type*} [Fintype ι] [Nonempty ι]\n (objective : ι → ℝ) (alternative : ι) :\n objective (finiteArgmin objective) ≤ objective alternative", - "statement_sha256": "5a5d8669c3d09d4e2b8ca33716a681ecd1fdff7638184b108b6c05def20121f8" - }, - "FEP.ControlledMarkov.reachableBelief_policyValue_eq": { - "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [ - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[DecidableEq Belief]", - "type_source": "DecidableEq Belief", - "visibility": "instance" + "source": "omit [Nonempty State] in" }, { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "model" - ], - "role": "typed_binder", - "source": "(model : ReachableBeliefPOMDP Belief State Action Observation)", - "type_source": "ReachableBeliefPOMDP Belief State Action Observation", - "visibility": "explicit" + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DecidableEq State] in" }, { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "stateCost" - ], - "role": "typed_binder", - "source": "(stateCost : State → Action → ℝ)", - "type_source": "State → Action → ℝ", - "visibility": "explicit" + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" }, { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "policy" - ], - "role": "typed_binder", - "source": "(policy : ℕ → Belief → Action)", - "type_source": "ℕ → Belief → Action", - "visibility": "explicit" + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" }, { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "horizon" - ], - "role": "typed_binder", - "source": "(horizon : ℕ)", - "type_source": "ℕ", - "visibility": "explicit" + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" }, { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "belief" - ], - "role": "typed_binder", - "source": "(belief : Belief)", - "type_source": "Belief", - "visibility": "explicit" - } - ], - "conclusion": "reducedPolicyValue model stateCost policy horizon belief =\n interpretedPolicyValue model stateCost policy horizon belief", - "context_binders": [ - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "State", - "Action", - "Observation", - "Belief" - ], - "role": "typed_binder", - "source": "{State Action Observation Belief : Type*}", - "type_source": "Type*", - "visibility": "implicit" + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" }, { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype State]", - "type_source": "Fintype State", - "visibility": "instance" + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DecidableEq State] in" }, { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype Action]", - "type_source": "Fintype Action", - "visibility": "instance" + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DecidableEq State] in" }, { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype Observation]", - "type_source": "Fintype Observation", - "visibility": "instance" - }, + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty State] in" + } + ], + "qualified_name": "FEP.ContinuousTimeMarkov.refreshTransition_zero", + "source_line": 481, + "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "statement": "theorem refreshTransition_zero (source target : State) :\n refreshTransition 0 source target =\n if source = target then 1 else 0", + "statement_sha256": "2a90db7283b1abaf66bd3f7475d93e685e2441c47e7a4d9ce7663e704c6b8440" + }, + "FEP.ContinuousTimeMarkov.threeCycle_current_zero_one": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [], + "conclusion": "threeCycleGenerator.probabilityCurrent threeCycleStationaryLaw\n (0 : Fin 3) (1 : Fin 3) = 1 / 3", + "context_binders": [], + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.finite_markov_dynamics", + "FepSketches.active_inference", + "FepSketches.decision_risk", + "FepSketches.markov_blanket", + "Mathlib.Analysis.Normed.Algebra.MatrixExponential" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.ContinuousTimeMarkov", + "namespace_variable_context": [], + "preceding_scope_directives": [], + "qualified_name": "FEP.ContinuousTimeMarkov.threeCycle_current_zero_one", + "source_line": 318, + "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "statement": "theorem threeCycle_current_zero_one :\n threeCycleGenerator.probabilityCurrent threeCycleStationaryLaw\n (0 : Fin 3) (1 : Fin 3) = 1 / 3", + "statement_sha256": "25403a2c47fa7a5980050ee56d296d3f943821ca1d9065edef7af206f3d0bf3c" + }, + "FEP.ContinuousTimeMarkov.threeCycle_current_zero_one_ne_zero": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [], + "conclusion": "threeCycleGenerator.probabilityCurrent threeCycleStationaryLaw\n (0 : Fin 3) (1 : Fin 3) ≠ 0", + "context_binders": [], + "declaration_mentions": [ { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype Belief]", - "type_source": "Fintype Belief", - "visibility": "instance" + "identifier": "threeCycle_current_zero_one", + "qualified_name": "FEP.ContinuousTimeMarkov.threeCycle_current_zero_one", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" } ], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.finite_markov_dynamics", + "FepSketches.active_inference", + "FepSketches.decision_risk", + "FepSketches.markov_blanket", + "Mathlib.Analysis.Normed.Algebra.MatrixExponential" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.ContinuousTimeMarkov", + "namespace_variable_context": [], + "preceding_scope_directives": [], + "qualified_name": "FEP.ContinuousTimeMarkov.threeCycle_current_zero_one_ne_zero", + "source_line": 324, + "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "statement": "theorem threeCycle_current_zero_one_ne_zero :\n threeCycleGenerator.probabilityCurrent threeCycleStationaryLaw\n (0 : Fin 3) (1 : Fin 3) ≠ 0", + "statement_sha256": "a400813f0250f34be4432d7dc282316e9a4464319cf416e6e977ee2e9d8cc326" + }, + "FEP.ContinuousTimeMarkov.threeCycle_not_detailedBalanced": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [], + "conclusion": "¬threeCycleGenerator.IsDetailedBalanced threeCycleStationaryLaw", + "context_binders": [], "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.active_inference" + "FepSketches.finite_markov_dynamics", + "FepSketches.active_inference", + "FepSketches.decision_risk", + "FepSketches.markov_blanket", + "Mathlib.Analysis.Normed.Algebra.MatrixExponential" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.ControlledMarkov", - "namespace_variable_context": [ - "{State Action Observation Belief : Type*}\n [Fintype State] [Fintype Action] [Fintype Observation] [Fintype Belief]" + "namespace": "FEP.ContinuousTimeMarkov", + "namespace_variable_context": [], + "preceding_scope_directives": [], + "qualified_name": "FEP.ContinuousTimeMarkov.threeCycle_not_detailedBalanced", + "source_line": 311, + "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "statement": "theorem threeCycle_not_detailedBalanced :\n ¬threeCycleGenerator.IsDetailedBalanced threeCycleStationaryLaw", + "statement_sha256": "d68ee5298d04dbc9d2507ce54751c41b74dcbbab3a9455afc74f798a0ade8079" + }, + "FEP.ContinuousTimeMarkov.threeCycle_stationary": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [], + "conclusion": "threeCycleGenerator.IsStationary threeCycleStationaryLaw", + "context_binders": [], + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.finite_markov_dynamics", + "FepSketches.active_inference", + "FepSketches.decision_risk", + "FepSketches.markov_blanket", + "Mathlib.Analysis.Normed.Algebra.MatrixExponential" ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.ContinuousTimeMarkov", + "namespace_variable_context": [], "preceding_scope_directives": [], - "qualified_name": "FEP.ControlledMarkov.reachableBelief_policyValue_eq", - "source_line": 171, - "source_owner": "src/fep_lean/formal/controlled_markov.lean", - "statement": "theorem reachableBelief_policyValue_eq [DecidableEq Belief]\n (model : ReachableBeliefPOMDP Belief State Action Observation)\n (stateCost : State → Action → ℝ) (policy : ℕ → Belief → Action)\n (horizon : ℕ) (belief : Belief) :\n reducedPolicyValue model stateCost policy horizon belief =\n interpretedPolicyValue model stateCost policy horizon belief", - "statement_sha256": "2933a0e9dcfa32545c630a3a24543934ecf17f9a63bf045e03a1d5cadf0aa92f" + "qualified_name": "FEP.ContinuousTimeMarkov.threeCycle_stationary", + "source_line": 304, + "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "statement": "theorem threeCycle_stationary :\n threeCycleGenerator.IsStationary threeCycleStationaryLaw", + "statement_sha256": "7c32dcaaed73f4de9b4f453b9d1c065a53c7b3079d28305723d7885d565ff3e6" }, - "FEP.ControlledMarkov.softBellmanPartition_pos": { + "FEP.ControlledMarkov.actionBeliefUpdate_reconstruction": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Nonempty Action]", - "type_source": "Nonempty Action", - "visibility": "instance" + "names": [ + "prior" + ], + "role": "typed_binder", + "source": "(prior : FiniteLaw State)", + "type_source": "FiniteLaw State", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "temperature" + "transition" ], "role": "typed_binder", - "source": "(temperature : ℝ)", - "type_source": "ℝ", + "source": "(transition : ControlledKernel State Action)", + "type_source": "ControlledKernel State Action", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "stageCost" + "emission" ], "role": "typed_binder", - "source": "(stageCost : State → Action → ℝ)", - "type_source": "State → Action → ℝ", + "source": "(emission : FiniteKernel State Observation)", + "type_source": "FiniteKernel State Observation", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "continuation" + "action" ], "role": "typed_binder", - "source": "(continuation : Action → ℝ)", - "type_source": "Action → ℝ", + "source": "(action : Action)", + "type_source": "Action", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "observation" + ], + "role": "typed_binder", + "source": "(observation : Observation)", + "type_source": "Observation", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hEvidence" + ], + "role": "typed_binder", + "source": "(hEvidence : 0 < actionEvidence prior transition emission action observation)", + "type_source": "0 < actionEvidence prior transition emission action observation", "visibility": "explicit" }, { @@ -40060,7 +41602,7 @@ "visibility": "explicit" } ], - "conclusion": "0 < softBellmanPartition temperature stageCost continuation state", + "conclusion": "actionBeliefUpdate prior transition emission action observation hEvidence state *\n actionEvidence prior transition emission action observation =\n actionPrediction prior transition action state * emission state observation", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -40118,102 +41660,78 @@ "namespace_variable_context": [ "{State Action Observation Belief : Type*}\n [Fintype State] [Fintype Action] [Fintype Observation] [Fintype Belief]" ], - "preceding_scope_directives": [ - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Fintype State] in" - } - ], - "qualified_name": "FEP.ControlledMarkov.softBellmanPartition_pos", - "source_line": 275, + "preceding_scope_directives": [], + "qualified_name": "FEP.ControlledMarkov.actionBeliefUpdate_reconstruction", + "source_line": 65, "source_owner": "src/fep_lean/formal/controlled_markov.lean", - "statement": "theorem softBellmanPartition_pos [Nonempty Action] (temperature : ℝ)\n (stageCost : State → Action → ℝ) (continuation : Action → ℝ)\n (state : State) :\n 0 < softBellmanPartition temperature stageCost continuation state", - "statement_sha256": "6e579a39415379f1406120bf8add41052db22a6db3aa0f2aa45fc7a52a70a0da" + "statement": "theorem actionBeliefUpdate_reconstruction (prior : FiniteLaw State)\n (transition : ControlledKernel State Action)\n (emission : FiniteKernel State Observation) (action : Action)\n (observation : Observation)\n (hEvidence : 0 < actionEvidence prior transition emission action observation)\n (state : State) :\n actionBeliefUpdate prior transition emission action observation hEvidence state *\n actionEvidence prior transition emission action observation =\n actionPrediction prior transition action state * emission state observation", + "statement_sha256": "648350fcdda30c983feb84cb54f20408f9560cbf38598f50e90204e4781f143a" }, - "FEP.ControlledMarkov.softBellmanValue_le_actionEnergy": { + "FEP.ControlledMarkov.actionBeliefUpdate_sum_one": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Nonempty Action]", - "type_source": "Nonempty Action", - "visibility": "instance" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "temperature" - ], - "role": "typed_binder", - "source": "(temperature : ℝ)", - "type_source": "ℝ", - "visibility": "explicit" - }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "hTemperature" + "prior" ], "role": "typed_binder", - "source": "(hTemperature : 0 < temperature)", - "type_source": "0 < temperature", + "source": "(prior : FiniteLaw State)", + "type_source": "FiniteLaw State", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "stageCost" + "transition" ], "role": "typed_binder", - "source": "(stageCost : State → Action → ℝ)", - "type_source": "State → Action → ℝ", + "source": "(transition : ControlledKernel State Action)", + "type_source": "ControlledKernel State Action", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "transition" + "emission" ], "role": "typed_binder", - "source": "(transition : ControlledKernel State Action)", - "type_source": "ControlledKernel State Action", + "source": "(emission : FiniteKernel State Observation)", + "type_source": "FiniteKernel State Observation", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "horizon" + "action" ], "role": "typed_binder", - "source": "(horizon : ℕ)", - "type_source": "ℕ", + "source": "(action : Action)", + "type_source": "Action", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "state" + "observation" ], "role": "typed_binder", - "source": "(state : State)", - "type_source": "State", + "source": "(observation : Observation)", + "type_source": "Observation", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "action" + "hEvidence" ], "role": "typed_binder", - "source": "(action : Action)", - "type_source": "Action", + "source": "(hEvidence : 0 < actionEvidence prior transition emission action observation)", + "type_source": "0 < actionEvidence prior transition emission action observation", "visibility": "explicit" } ], - "conclusion": "softBellmanValue temperature stageCost transition (horizon + 1) state ≤\n softBellmanActionEnergy temperature stageCost transition\n horizon state action", + "conclusion": "∑ state,\n actionBeliefUpdate prior transition emission action observation hEvidence state =\n 1", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -40261,14 +41779,7 @@ "visibility": "instance" } ], - "declaration_mentions": [ - { - "identifier": "softBellmanValue_succ", - "qualified_name": "FEP.ControlledMarkov.softBellmanValue_succ", - "resolution": "exact or same-namespace source identifier", - "role": "proof_reference" - } - ], + "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ "FepSketches.active_inference" @@ -40278,82 +41789,78 @@ "namespace_variable_context": [ "{State Action Observation Belief : Type*}\n [Fintype State] [Fintype Action] [Fintype Observation] [Fintype Belief]" ], - "preceding_scope_directives": [ - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Fintype State] in" - } - ], - "qualified_name": "FEP.ControlledMarkov.softBellmanValue_le_actionEnergy", - "source_line": 336, + "preceding_scope_directives": [], + "qualified_name": "FEP.ControlledMarkov.actionBeliefUpdate_sum_one", + "source_line": 78, "source_owner": "src/fep_lean/formal/controlled_markov.lean", - "statement": "theorem softBellmanValue_le_actionEnergy [Nonempty Action]\n (temperature : ℝ) (hTemperature : 0 < temperature)\n (stageCost : State → Action → ℝ)\n (transition : ControlledKernel State Action)\n (horizon : ℕ) (state : State) (action : Action) :\n softBellmanValue temperature stageCost transition (horizon + 1) state ≤\n softBellmanActionEnergy temperature stageCost transition\n horizon state action", - "statement_sha256": "ee17f7aba190973748f8c83c71915d3f4c7a023d973404d8c7a6348632f8794b" + "statement": "theorem actionBeliefUpdate_sum_one (prior : FiniteLaw State)\n (transition : ControlledKernel State Action)\n (emission : FiniteKernel State Observation) (action : Action)\n (observation : Observation)\n (hEvidence : 0 < actionEvidence prior transition emission action observation) :\n ∑ state,\n actionBeliefUpdate prior transition emission action observation hEvidence state =\n 1", + "statement_sha256": "3faa8e383e7f126e949c2be63abf5a31dce769891785edffe34df1828047e118" }, - "FEP.ControlledMarkov.softBellmanValue_partition_pos": { + "FEP.ControlledMarkov.actionEvidence_zero_boundary": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Nonempty Action]", - "type_source": "Nonempty Action", - "visibility": "instance" + "names": [ + "prior" + ], + "role": "typed_binder", + "source": "(prior : FiniteLaw State)", + "type_source": "FiniteLaw State", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "temperature" + "transition" ], "role": "typed_binder", - "source": "(temperature : ℝ)", - "type_source": "ℝ", + "source": "(transition : ControlledKernel State Action)", + "type_source": "ControlledKernel State Action", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "stageCost" + "emission" ], "role": "typed_binder", - "source": "(stageCost : State → Action → ℝ)", - "type_source": "State → Action → ℝ", + "source": "(emission : FiniteKernel State Observation)", + "type_source": "FiniteKernel State Observation", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "transition" + "action" ], "role": "typed_binder", - "source": "(transition : ControlledKernel State Action)", - "type_source": "ControlledKernel State Action", + "source": "(action : Action)", + "type_source": "Action", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "horizon" + "observation" ], "role": "typed_binder", - "source": "(horizon : ℕ)", - "type_source": "ℕ", + "source": "(observation : Observation)", + "type_source": "Observation", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "state" + "hZero" ], "role": "typed_binder", - "source": "(state : State)", - "type_source": "State", + "source": "(hZero : actionEvidence prior transition emission action observation = 0)", + "type_source": "actionEvidence prior transition emission action observation = 0", "visibility": "explicit" } ], - "conclusion": "0 < ∑ action,\n Real.exp (-((softBellmanActionEnergy temperature stageCost transition\n horizon state action) / temperature))", + "conclusion": "¬0 < actionEvidence prior transition emission action observation", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -40411,74 +41918,38 @@ "namespace_variable_context": [ "{State Action Observation Belief : Type*}\n [Fintype State] [Fintype Action] [Fintype Observation] [Fintype Belief]" ], - "preceding_scope_directives": [ - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Fintype State] in" - } - ], - "qualified_name": "FEP.ControlledMarkov.softBellmanValue_partition_pos", - "source_line": 321, + "preceding_scope_directives": [], + "qualified_name": "FEP.ControlledMarkov.actionEvidence_zero_boundary", + "source_line": 90, "source_owner": "src/fep_lean/formal/controlled_markov.lean", - "statement": "theorem softBellmanValue_partition_pos [Nonempty Action]\n (temperature : ℝ) (stageCost : State → Action → ℝ)\n (transition : ControlledKernel State Action)\n (horizon : ℕ) (state : State) :\n 0 < ∑ action,\n Real.exp (-((softBellmanActionEnergy temperature stageCost transition\n horizon state action) / temperature))", - "statement_sha256": "fcbe7195340c0c874d777f2f773de200650d1a1c780001e11e3b9f3a9565d256" + "statement": "theorem actionEvidence_zero_boundary (prior : FiniteLaw State)\n (transition : ControlledKernel State Action)\n (emission : FiniteKernel State Observation) (action : Action)\n (observation : Observation)\n (hZero : actionEvidence prior transition emission action observation = 0) :\n ¬0 < actionEvidence prior transition emission action observation", + "statement_sha256": "415fb679ce24f661eb014638826e2a74896ba05d6222de33724b3c6aa6c2ff54" }, - "FEP.ControlledMarkov.softBellmanValue_succ": { + "FEP.ControlledMarkov.boltzmannPartition_pos": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "temperature" - ], - "role": "typed_binder", - "source": "(temperature : ℝ)", - "type_source": "ℝ", - "visibility": "explicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "stageCost" - ], - "role": "typed_binder", - "source": "(stageCost : State → Action → ℝ)", - "type_source": "State → Action → ℝ", - "visibility": "explicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "transition" - ], - "role": "typed_binder", - "source": "(transition : ControlledKernel State Action)", - "type_source": "ControlledKernel State Action", - "visibility": "explicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "horizon" + "prior" ], "role": "typed_binder", - "source": "(horizon : ℕ)", - "type_source": "ℕ", + "source": "(prior : FiniteLaw Action)", + "type_source": "FiniteLaw Action", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "state" + "energy" ], "role": "typed_binder", - "source": "(state : State)", - "type_source": "State", + "source": "(energy : Action → ℝ)", + "type_source": "Action → ℝ", "visibility": "explicit" } ], - "conclusion": "softBellmanValue temperature stageCost transition (horizon + 1) state =\n -temperature * Real.log\n (∑ action,\n Real.exp (-((softBellmanActionEnergy temperature stageCost transition\n horizon state action) / temperature)))", + "conclusion": "0 < boltzmannPartition prior energy", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -40536,72 +42007,48 @@ "namespace_variable_context": [ "{State Action Observation Belief : Type*}\n [Fintype State] [Fintype Action] [Fintype Observation] [Fintype Belief]" ], - "preceding_scope_directives": [ - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Fintype State] in" - } - ], - "qualified_name": "FEP.ControlledMarkov.softBellmanValue_succ", - "source_line": 308, + "preceding_scope_directives": [], + "qualified_name": "FEP.ControlledMarkov.boltzmannPartition_pos", + "source_line": 208, "source_owner": "src/fep_lean/formal/controlled_markov.lean", - "statement": "theorem softBellmanValue_succ (temperature : ℝ)\n (stageCost : State → Action → ℝ)\n (transition : ControlledKernel State Action)\n (horizon : ℕ) (state : State) :\n softBellmanValue temperature stageCost transition (horizon + 1) state =\n -temperature * Real.log\n (∑ action,\n Real.exp (-((softBellmanActionEnergy temperature stageCost transition\n horizon state action) / temperature)))", - "statement_sha256": "4bb5613752da6955623d918024ac88c0e8cba6a6024a1e31b69f5b2bf466c8f2" + "statement": "theorem boltzmannPartition_pos (prior : FiniteLaw Action)\n (energy : Action → ℝ) :\n 0 < boltzmannPartition prior energy", + "statement_sha256": "dc197afe4714fbcc8ffd33f117a8144a46326cef7402aaed09abbaf267925961" }, - "FEP.ControlledMarkov.sophisticatedEFEAction_le": { + "FEP.ControlledMarkov.boltzmannPosterior_mul_partition": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Nonempty Action]", - "type_source": "Nonempty Action", - "visibility": "instance" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "model" - ], - "role": "typed_binder", - "source": "(model : SophisticatedEFEModel Belief Action Observation)", - "type_source": "SophisticatedEFEModel Belief Action Observation", - "visibility": "explicit" - }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "horizon" + "prior" ], "role": "typed_binder", - "source": "(horizon : ℕ)", - "type_source": "ℕ", + "source": "(prior : FiniteLaw Action)", + "type_source": "FiniteLaw Action", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "belief" + "energy" ], "role": "typed_binder", - "source": "(belief : Belief)", - "type_source": "Belief", + "source": "(energy : Action → ℝ)", + "type_source": "Action → ℝ", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "alternative" + "action" ], "role": "typed_binder", - "source": "(alternative : Action)", + "source": "(action : Action)", "type_source": "Action", "visibility": "explicit" } ], - "conclusion": "model.stageEFE horizon belief (sophisticatedEFEAction model horizon belief) +\n ∑ observation,\n model.observationLaw belief (sophisticatedEFEAction model horizon belief)\n observation *\n sophisticatedEFEValue model horizon\n (model.update belief (sophisticatedEFEAction model horizon belief)\n observation) ≤\n model.stageEFE horizon belief alternative +\n ∑ observation, model.observationLaw belief alternative observation *\n sophisticatedEFEValue model horizon\n (model.update belief alternative observation)", + "conclusion": "boltzmannPosterior prior energy action * boltzmannPartition prior energy =\n boltzmannWeight prior energy action", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -40651,8 +42098,8 @@ ], "declaration_mentions": [ { - "identifier": "finiteArgmin_le", - "qualified_name": "FEP.ControlledMarkov.finiteArgmin_le", + "identifier": "boltzmannPartition_pos", + "qualified_name": "FEP.ControlledMarkov.boltzmannPartition_pos", "resolution": "exact or same-namespace source identifier", "role": "proof_reference" } @@ -40666,62 +42113,28 @@ "namespace_variable_context": [ "{State Action Observation Belief : Type*}\n [Fintype State] [Fintype Action] [Fintype Observation] [Fintype Belief]" ], - "preceding_scope_directives": [ - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Fintype State] in" - } - ], - "qualified_name": "FEP.ControlledMarkov.sophisticatedEFEAction_le", - "source_line": 464, + "preceding_scope_directives": [], + "qualified_name": "FEP.ControlledMarkov.boltzmannPosterior_mul_partition", + "source_line": 235, "source_owner": "src/fep_lean/formal/controlled_markov.lean", - "statement": "theorem sophisticatedEFEAction_le [Nonempty Action]\n (model : SophisticatedEFEModel Belief Action Observation)\n (horizon : ℕ) (belief : Belief) (alternative : Action) :\n model.stageEFE horizon belief (sophisticatedEFEAction model horizon belief) +\n ∑ observation,\n model.observationLaw belief (sophisticatedEFEAction model horizon belief)\n observation *\n sophisticatedEFEValue model horizon\n (model.update belief (sophisticatedEFEAction model horizon belief)\n observation) ≤\n model.stageEFE horizon belief alternative +\n ∑ observation, model.observationLaw belief alternative observation *\n sophisticatedEFEValue model horizon\n (model.update belief alternative observation)", - "statement_sha256": "f16289f57f1639a01f6fe6d303b4e613e715c62f5bacfca350a2fb4e7433b423" + "statement": "theorem boltzmannPosterior_mul_partition (prior : FiniteLaw Action)\n (energy : Action → ℝ) (action : Action) :\n boltzmannPosterior prior energy action * boltzmannPartition prior energy =\n boltzmannWeight prior energy action", + "statement_sha256": "39e289779c1061cf8454de8d6080d57de6ca73441b8cf1e9d121178418de93a6" }, - "FEP.ControlledMarkov.sophisticatedEFEValue_succ": { + "FEP.ControlledMarkov.boltzmannPosterior_zero_energy": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Nonempty Action]", - "type_source": "Nonempty Action", - "visibility": "instance" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "model" - ], - "role": "typed_binder", - "source": "(model : SophisticatedEFEModel Belief Action Observation)", - "type_source": "SophisticatedEFEModel Belief Action Observation", - "visibility": "explicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "horizon" - ], - "role": "typed_binder", - "source": "(horizon : ℕ)", - "type_source": "ℕ", - "visibility": "explicit" - }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "belief" + "prior" ], "role": "typed_binder", - "source": "(belief : Belief)", - "type_source": "Belief", + "source": "(prior : FiniteLaw Action)", + "type_source": "FiniteLaw Action", "visibility": "explicit" } ], - "conclusion": "sophisticatedEFEValue model (horizon + 1) belief =\n model.stageEFE horizon belief (sophisticatedEFEAction model horizon belief) +\n ∑ observation,\n model.observationLaw belief (sophisticatedEFEAction model horizon belief)\n observation *\n sophisticatedEFEValue model horizon\n (model.update belief (sophisticatedEFEAction model horizon belief)\n observation)", + "conclusion": "boltzmannPosterior prior (fun _ => 0) = prior", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -40779,23 +42192,40 @@ "namespace_variable_context": [ "{State Action Observation Belief : Type*}\n [Fintype State] [Fintype Action] [Fintype Observation] [Fintype Belief]" ], - "preceding_scope_directives": [ - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Fintype State] in" - } - ], - "qualified_name": "FEP.ControlledMarkov.sophisticatedEFEValue_succ", - "source_line": 449, + "preceding_scope_directives": [], + "qualified_name": "FEP.ControlledMarkov.boltzmannPosterior_zero_energy", + "source_line": 242, "source_owner": "src/fep_lean/formal/controlled_markov.lean", - "statement": "theorem sophisticatedEFEValue_succ [Nonempty Action]\n (model : SophisticatedEFEModel Belief Action Observation)\n (horizon : ℕ) (belief : Belief) :\n sophisticatedEFEValue model (horizon + 1) belief =\n model.stageEFE horizon belief (sophisticatedEFEAction model horizon belief) +\n ∑ observation,\n model.observationLaw belief (sophisticatedEFEAction model horizon belief)\n observation *\n sophisticatedEFEValue model horizon\n (model.update belief (sophisticatedEFEAction model horizon belief)\n observation)", - "statement_sha256": "649418f0ebd46bc65ad52e975c7eb03bd06b9828827f47045871fbc6de7dce69" + "statement": "theorem boltzmannPosterior_zero_energy (prior : FiniteLaw Action) :\n boltzmannPosterior prior (fun _ => 0) = prior", + "statement_sha256": "f1a170f6370e7d4dbc2d641310ba40b811200b66ac1584bdcb38469ee6b7b467" }, - "FEP.ControlledMarkov.twoStageFeedbackExpectedCost_zero": { + "FEP.ControlledMarkov.boolReachablePOMDP_update_sound": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [], - "conclusion": "twoStageFeedbackExpectedCost = 0", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "belief", + "action", + "observation" + ], + "role": "typed_binder", + "source": "(belief action observation : Bool)", + "type_source": "Bool", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hEvidence" + ], + "role": "typed_binder", + "source": "(hEvidence : 0 < actionEvidence\n (boolReachablePOMDP.interpret belief) boolReachablePOMDP.transition\n boolReachablePOMDP.emission action observation)", + "type_source": "0 < actionEvidence\n (boolReachablePOMDP.interpret belief) boolReachablePOMDP.transition\n boolReachablePOMDP.emission action observation", + "visibility": "explicit" + } + ], + "conclusion": "boolReachablePOMDP.interpret\n (boolReachablePOMDP.update belief action observation) =\n actionBeliefUpdate (boolReachablePOMDP.interpret belief)\n boolReachablePOMDP.transition boolReachablePOMDP.emission action observation\n hEvidence", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -40843,14 +42273,7 @@ "visibility": "instance" } ], - "declaration_mentions": [ - { - "identifier": "twoStageFeedback_eq_observation", - "qualified_name": "FEP.ControlledMarkov.twoStageFeedback_eq_observation", - "resolution": "exact or same-namespace source identifier", - "role": "proof_reference" - } - ], + "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ "FepSketches.active_inference" @@ -40867,27 +42290,39 @@ "source": "omit [Fintype State] in" } ], - "qualified_name": "FEP.ControlledMarkov.twoStageFeedbackExpectedCost_zero", - "source_line": 631, + "qualified_name": "FEP.ControlledMarkov.boolReachablePOMDP_update_sound", + "source_line": 582, "source_owner": "src/fep_lean/formal/controlled_markov.lean", - "statement": "theorem twoStageFeedbackExpectedCost_zero :\n twoStageFeedbackExpectedCost = 0", - "statement_sha256": "3cacca59e7d5f417f22ecf1f79153cea0037e5964c576f83a837aee958a852e2" + "statement": "theorem boolReachablePOMDP_update_sound (belief action observation : Bool)\n (hEvidence : 0 < actionEvidence\n (boolReachablePOMDP.interpret belief) boolReachablePOMDP.transition\n boolReachablePOMDP.emission action observation) :\n boolReachablePOMDP.interpret\n (boolReachablePOMDP.update belief action observation) =\n actionBeliefUpdate (boolReachablePOMDP.interpret belief)\n boolReachablePOMDP.transition boolReachablePOMDP.emission action observation\n hEvidence", + "statement_sha256": "991cdf5d71c884e0fef75bea235957b474e215e58993c85728aa8501f51a03fc" }, - "FEP.ControlledMarkov.twoStageFeedback_beats_openLoop": { + "FEP.ControlledMarkov.bool_actionBeliefUpdate_eq": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "action" + "belief", + "action", + "observation" ], "role": "typed_binder", - "source": "(action : Bool)", + "source": "(belief action observation : Bool)", "type_source": "Bool", "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hEvidence" + ], + "role": "typed_binder", + "source": "(hEvidence : 0 < actionEvidence (boolBeliefInterpret belief)\n boolActionTransition boolObservationKernel action observation)", + "type_source": "0 < actionEvidence (boolBeliefInterpret belief)\n boolActionTransition boolObservationKernel action observation", + "visibility": "explicit" } ], - "conclusion": "twoStageFeedbackExpectedCost < twoStageOpenLoopExpectedCost action", + "conclusion": "actionBeliefUpdate (boolBeliefInterpret belief) boolActionTransition\n boolObservationKernel action observation hEvidence =\n boolBeliefInterpret (boolBeliefUpdate belief action observation)", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -40937,14 +42372,26 @@ ], "declaration_mentions": [ { - "identifier": "twoStageFeedbackExpectedCost_zero", - "qualified_name": "FEP.ControlledMarkov.twoStageFeedbackExpectedCost_zero", + "identifier": "actionBeliefUpdate_reconstruction", + "qualified_name": "FEP.ControlledMarkov.actionBeliefUpdate_reconstruction", "resolution": "exact or same-namespace source identifier", "role": "proof_reference" }, { - "identifier": "twoStageOpenLoopExpectedCost_eq_half", - "qualified_name": "FEP.ControlledMarkov.twoStageOpenLoopExpectedCost_eq_half", + "identifier": "bool_actionEvidence_eq", + "qualified_name": "FEP.ControlledMarkov.bool_actionEvidence_eq", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + }, + { + "identifier": "bool_actionPrediction_eq", + "qualified_name": "FEP.ControlledMarkov.bool_actionPrediction_eq", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + }, + { + "identifier": "bool_positiveEvidence_observation_eq_action", + "qualified_name": "FEP.ControlledMarkov.bool_positiveEvidence_observation_eq_action", "resolution": "exact or same-namespace source identifier", "role": "proof_reference" } @@ -40965,16 +42412,29 @@ "source": "omit [Fintype State] in" } ], - "qualified_name": "FEP.ControlledMarkov.twoStageFeedback_beats_openLoop", - "source_line": 645, + "qualified_name": "FEP.ControlledMarkov.bool_actionBeliefUpdate_eq", + "source_line": 538, "source_owner": "src/fep_lean/formal/controlled_markov.lean", - "statement": "theorem twoStageFeedback_beats_openLoop (action : Bool) :\n twoStageFeedbackExpectedCost < twoStageOpenLoopExpectedCost action", - "statement_sha256": "ee5ff03790b8e6de8b267d703520a5a550bb31f848aa64ef72a23772615b8960" + "statement": "theorem bool_actionBeliefUpdate_eq (belief action observation : Bool)\n (hEvidence : 0 < actionEvidence (boolBeliefInterpret belief)\n boolActionTransition boolObservationKernel action observation) :\n actionBeliefUpdate (boolBeliefInterpret belief) boolActionTransition\n boolObservationKernel action observation hEvidence =\n boolBeliefInterpret (boolBeliefUpdate belief action observation)", + "statement_sha256": "b44d25715b746539dca26347931594f583114bcc78682b49d50bf43ce0053467" }, - "FEP.ControlledMarkov.twoStageFeedback_changes_action": { + "FEP.ControlledMarkov.bool_actionEvidence_eq": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [], - "conclusion": "twoStageFeedback false ≠ twoStageFeedback true", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "belief", + "action", + "observation" + ], + "role": "typed_binder", + "source": "(belief action observation : Bool)", + "type_source": "Bool", + "visibility": "explicit" + } + ], + "conclusion": "actionEvidence (boolBeliefInterpret belief) boolActionTransition\n boolObservationKernel action observation =\n if observation = action then 1 else 0", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -41024,8 +42484,8 @@ ], "declaration_mentions": [ { - "identifier": "twoStageFeedback_eq_observation", - "qualified_name": "FEP.ControlledMarkov.twoStageFeedback_eq_observation", + "identifier": "bool_actionPrediction_eq", + "qualified_name": "FEP.ControlledMarkov.bool_actionPrediction_eq", "resolution": "exact or same-namespace source identifier", "role": "proof_reference" } @@ -41046,27 +42506,28 @@ "source": "omit [Fintype State] in" } ], - "qualified_name": "FEP.ControlledMarkov.twoStageFeedback_changes_action", - "source_line": 613, + "qualified_name": "FEP.ControlledMarkov.bool_actionEvidence_eq", + "source_line": 516, "source_owner": "src/fep_lean/formal/controlled_markov.lean", - "statement": "theorem twoStageFeedback_changes_action :\n twoStageFeedback false ≠ twoStageFeedback true", - "statement_sha256": "88c9fb5cd85736a29fcf86e9f20b5593d3bbae6170faa8dd11ca52dd41217929" + "statement": "theorem bool_actionEvidence_eq (belief action observation : Bool) :\n actionEvidence (boolBeliefInterpret belief) boolActionTransition\n boolObservationKernel action observation =\n if observation = action then 1 else 0", + "statement_sha256": "4be1324ea537ccda2a8f6a808a772a35c0bedb282d1686aa09cbe0ca124c4796" }, - "FEP.ControlledMarkov.twoStageFeedback_eq_observation": { + "FEP.ControlledMarkov.bool_actionPrediction_eq": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "observation" + "belief", + "action" ], "role": "typed_binder", - "source": "(observation : Bool)", + "source": "(belief action : Bool)", "type_source": "Bool", "visibility": "explicit" } ], - "conclusion": "twoStageFeedback observation = observation", + "conclusion": "actionPrediction (boolBeliefInterpret belief) boolActionTransition action =\n FiniteLaw.pointMass action", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -41114,14 +42575,7 @@ "visibility": "instance" } ], - "declaration_mentions": [ - { - "identifier": "finiteArgmin_le", - "qualified_name": "FEP.ControlledMarkov.finiteArgmin_le", - "resolution": "exact or same-namespace source identifier", - "role": "proof_reference" - } - ], + "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ "FepSketches.active_inference" @@ -41138,27 +42592,39 @@ "source": "omit [Fintype State] in" } ], - "qualified_name": "FEP.ControlledMarkov.twoStageFeedback_eq_observation", - "source_line": 603, + "qualified_name": "FEP.ControlledMarkov.bool_actionPrediction_eq", + "source_line": 505, "source_owner": "src/fep_lean/formal/controlled_markov.lean", - "statement": "theorem twoStageFeedback_eq_observation (observation : Bool) :\n twoStageFeedback observation = observation", - "statement_sha256": "75f89290630a57d012e136cd01d1d94240a16367a659e62fb2bbd61234173b13" + "statement": "theorem bool_actionPrediction_eq (belief action : Bool) :\n actionPrediction (boolBeliefInterpret belief) boolActionTransition action =\n FiniteLaw.pointMass action", + "statement_sha256": "bc8fea5d13d052d808fb89d3ca2414494fbead026236a8e2bc42c16630f54174" }, - "FEP.ControlledMarkov.twoStageOpenLoopExpectedCost_eq_half": { + "FEP.ControlledMarkov.bool_positiveEvidence_observation_eq_action": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "action" + "belief", + "action", + "observation" ], "role": "typed_binder", - "source": "(action : Bool)", + "source": "(belief action observation : Bool)", "type_source": "Bool", "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hEvidence" + ], + "role": "typed_binder", + "source": "(hEvidence : 0 < actionEvidence (boolBeliefInterpret belief)\n boolActionTransition boolObservationKernel action observation)", + "type_source": "0 < actionEvidence (boolBeliefInterpret belief)\n boolActionTransition boolObservationKernel action observation", + "visibility": "explicit" } ], - "conclusion": "twoStageOpenLoopExpectedCost action = 1 / 2", + "conclusion": "observation = action", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -41206,7 +42672,14 @@ "visibility": "instance" } ], - "declaration_mentions": [], + "declaration_mentions": [ + { + "identifier": "bool_actionEvidence_eq", + "qualified_name": "FEP.ControlledMarkov.bool_actionEvidence_eq", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + } + ], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ "FepSketches.active_inference" @@ -41223,174 +42696,147 @@ "source": "omit [Fintype State] in" } ], - "qualified_name": "FEP.ControlledMarkov.twoStageOpenLoopExpectedCost_eq_half", - "source_line": 637, + "qualified_name": "FEP.ControlledMarkov.bool_positiveEvidence_observation_eq_action", + "source_line": 527, "source_owner": "src/fep_lean/formal/controlled_markov.lean", - "statement": "theorem twoStageOpenLoopExpectedCost_eq_half (action : Bool) :\n twoStageOpenLoopExpectedCost action = 1 / 2", - "statement_sha256": "cba609e57d77d1c26d861358a99fd1290dd33469780229e9f63a86b39fc70b5b" + "statement": "theorem bool_positiveEvidence_observation_eq_action\n (belief action observation : Bool)\n (hEvidence : 0 < actionEvidence (boolBeliefInterpret belief)\n boolActionTransition boolObservationKernel action observation) :\n observation = action", + "statement_sha256": "37876acc8b32e3603dbc7636b8e854dfbc274f5abd9b04699c3301103fc8e620" }, - "FEP.DecisionRisk.bayesRisk_mono_under_observationGarbling": { + "FEP.ControlledMarkov.controlPosterior_sum_one": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "loss" - ], - "role": "typed_binder", - "source": "(loss : Θ → Decision → ℝ≥0∞)", - "type_source": "Θ → Decision → ℝ≥0∞", - "visibility": "explicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "experiment" + "prior" ], "role": "typed_binder", - "source": "(experiment : Kernel Θ Observation)", - "type_source": "Kernel Θ Observation", + "source": "(prior : FiniteLaw Action)", + "type_source": "FiniteLaw Action", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "prior" + "precision" ], "role": "typed_binder", - "source": "(prior : Measure Θ)", - "type_source": "Measure Θ", + "source": "(precision : ℝ)", + "type_source": "ℝ", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "garbling" + "cost" ], "role": "typed_binder", - "source": "(garbling : Kernel Observation Garbled)", - "type_source": "Kernel Observation Garbled", + "source": "(cost : Action → ℝ)", + "type_source": "Action → ℝ", "visibility": "explicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[IsMarkovKernel garbling]", - "type_source": "IsMarkovKernel garbling", - "visibility": "instance" } ], - "conclusion": "ProbabilityTheory.bayesRisk loss experiment prior ≤\n ProbabilityTheory.bayesRisk loss (garbling ∘ₖ experiment) prior", + "conclusion": "∑ action, controlPosterior prior precision cost action = 1", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Θ", + "State", + "Action", "Observation", - "Garbled", - "Decision" + "Belief" ], "role": "typed_binder", - "source": "{Θ Observation Garbled Decision : Type*}", + "source": "{State Action Observation Belief : Type*}", "type_source": "Type*", "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "mΘ" - ], - "role": "typed_binder", - "source": "{mΘ : MeasurableSpace Θ}", - "type_source": "MeasurableSpace Θ", - "visibility": "implicit" + "names": [], + "role": "instance_requirement", + "source": "[Fintype State]", + "type_source": "Fintype State", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "mObservation" - ], - "role": "typed_binder", - "source": "{mObservation : MeasurableSpace Observation}", - "type_source": "MeasurableSpace Observation", - "visibility": "implicit" + "names": [], + "role": "instance_requirement", + "source": "[Fintype Action]", + "type_source": "Fintype Action", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "mGarbled" - ], - "role": "typed_binder", - "source": "{mGarbled : MeasurableSpace Garbled}", - "type_source": "MeasurableSpace Garbled", - "visibility": "implicit" + "names": [], + "role": "instance_requirement", + "source": "[Fintype Observation]", + "type_source": "Fintype Observation", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "mDecision" - ], - "role": "typed_binder", - "source": "{mDecision : MeasurableSpace Decision}", - "type_source": "MeasurableSpace Decision", - "visibility": "implicit" + "names": [], + "role": "instance_requirement", + "source": "[Fintype Belief]", + "type_source": "Fintype Belief", + "visibility": "instance" } ], "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.native_blanket", - "FepSketches.finite_information", - "Mathlib.InformationTheory.KullbackLeibler.DataProcessing", - "Mathlib.Probability.Decision.BayesEstimator", - "Mathlib.Probability.Decision.Risk.Basic" + "FepSketches.active_inference" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.DecisionRisk", + "namespace": "FEP.ControlledMarkov", "namespace_variable_context": [ - "{Θ Observation Garbled Decision : Type*}\n {mΘ : MeasurableSpace Θ} {mObservation : MeasurableSpace Observation}\n {mGarbled : MeasurableSpace Garbled} {mDecision : MeasurableSpace Decision}" + "{State Action Observation Belief : Type*}\n [Fintype State] [Fintype Action] [Fintype Observation] [Fintype Belief]" ], - "preceding_scope_directives": [ - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DiscreteMeasurableSpace α] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [MeasurableSpace α] [MeasurableSpace β]" - }, + "preceding_scope_directives": [], + "qualified_name": "FEP.ControlledMarkov.controlPosterior_sum_one", + "source_line": 255, + "source_owner": "src/fep_lean/formal/controlled_markov.lean", + "statement": "theorem controlPosterior_sum_one (prior : FiniteLaw Action)\n (precision : ℝ) (cost : Action → ℝ) :\n ∑ action, controlPosterior prior precision cost action = 1", + "statement_sha256": "57519db825237ef574843f4dcac281be27fe9a93f36c4448e0a08f7fb238eb65" + }, + "FEP.ControlledMarkov.controlPosterior_zero_cost": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [MeasurableSpace α] [MeasurableSpace β]" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "prior" + ], + "role": "typed_binder", + "source": "(prior : FiniteLaw Action)", + "type_source": "FiniteLaw Action", + "visibility": "explicit" }, { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [MeasurableSpace α] [MeasurableSpace β]" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "precision" + ], + "role": "typed_binder", + "source": "(precision : ℝ)", + "type_source": "ℝ", + "visibility": "explicit" } ], - "qualified_name": "FEP.DecisionRisk.bayesRisk_mono_under_observationGarbling", - "source_line": 416, - "source_owner": "src/fep_lean/formal/decision_risk.lean", - "statement": "theorem bayesRisk_mono_under_observationGarbling\n (loss : Θ → Decision → ℝ≥0∞) (experiment : Kernel Θ Observation)\n (prior : Measure Θ) (garbling : Kernel Observation Garbled)\n [IsMarkovKernel garbling] :\n ProbabilityTheory.bayesRisk loss experiment prior ≤\n ProbabilityTheory.bayesRisk loss (garbling ∘ₖ experiment) prior", - "statement_sha256": "9791b44afe63a080ae0c81f6856c1815f729c1a7ce9529c1050fdd840d298fa3" - }, - "FEP.DecisionRisk.boolPointMass_klDiv_eq_top": { - "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [], - "conclusion": "InformationTheory.klDiv\n (embeddedLaw (FiniteLaw.pointMass true))\n (embeddedLaw (FiniteLaw.pointMass false)) = ∞", + "conclusion": "controlPosterior prior precision (fun _ => 0) = prior", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "α" + "State", + "Action", + "Observation", + "Belief" ], "role": "typed_binder", - "source": "{α : Type*}", + "source": "{State Action Observation Belief : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -41398,326 +42844,310 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype α]", - "type_source": "Fintype α", + "source": "[Fintype State]", + "type_source": "Fintype State", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[MeasurableSpace α]", - "type_source": "MeasurableSpace α", + "source": "[Fintype Action]", + "type_source": "Fintype Action", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace α]", - "type_source": "DiscreteMeasurableSpace α", + "source": "[Fintype Observation]", + "type_source": "Fintype Observation", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Belief]", + "type_source": "Fintype Belief", "visibility": "instance" } ], "declaration_mentions": [ { - "candidates": [ - "FEP.NativeBlanket.embeddedLaw_apply_singleton" - ], - "identifier": "embeddedLaw_apply_singleton", - "resolution": "unresolved lexical scope", - "role": "proof_reference" - }, - { - "identifier": "weightedDirac_klDiv_eq_top_of_not_absolutelyContinuous", - "qualified_name": "FEP.DecisionRisk.weightedDirac_klDiv_eq_top_of_not_absolutelyContinuous", + "identifier": "boltzmannPosterior_zero_energy", + "qualified_name": "FEP.ControlledMarkov.boltzmannPosterior_zero_energy", "resolution": "exact or same-namespace source identifier", "role": "proof_reference" } ], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.native_blanket", - "FepSketches.finite_information", - "Mathlib.InformationTheory.KullbackLeibler.DataProcessing", - "Mathlib.Probability.Decision.BayesEstimator", - "Mathlib.Probability.Decision.Risk.Basic" + "FepSketches.active_inference" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.DecisionRisk", + "namespace": "FEP.ControlledMarkov", "namespace_variable_context": [ - "{α : Type*} [Fintype α] [MeasurableSpace α]\n [DiscreteMeasurableSpace α]" - ], - "preceding_scope_directives": [ - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DiscreteMeasurableSpace α] in" - } + "{State Action Observation Belief : Type*}\n [Fintype State] [Fintype Action] [Fintype Observation] [Fintype Belief]" ], - "qualified_name": "FEP.DecisionRisk.boolPointMass_klDiv_eq_top", - "source_line": 145, - "source_owner": "src/fep_lean/formal/decision_risk.lean", - "statement": "theorem boolPointMass_klDiv_eq_top :\n InformationTheory.klDiv\n (embeddedLaw (FiniteLaw.pointMass true))\n (embeddedLaw (FiniteLaw.pointMass false)) = ∞", - "statement_sha256": "7205ef761122cde5308e63253838bcb48392e64c8172b7b4304a7bad82b3afc7" + "preceding_scope_directives": [], + "qualified_name": "FEP.ControlledMarkov.controlPosterior_zero_cost", + "source_line": 261, + "source_owner": "src/fep_lean/formal/controlled_markov.lean", + "statement": "theorem controlPosterior_zero_cost (prior : FiniteLaw Action)\n (precision : ℝ) :\n controlPosterior prior precision (fun _ => 0) = prior", + "statement_sha256": "85e81a42b7a9b06510458da4c6db5188805f198e081b1be5419a092b3007db26" }, - "FEP.DecisionRisk.boolPrior_zeroOneRisk": { + "FEP.ControlledMarkov.controlledKernel_sum_one": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "report" + "transition" ], "role": "typed_binder", - "source": "(report : Bool)", - "type_source": "Bool", + "source": "(transition : ControlledKernel State Action)", + "type_source": "ControlledKernel State Action", "visibility": "explicit" - } - ], - "conclusion": "∫⁻ truth, boolZeroOneLoss truth report ∂boolPrior = 1 / 2", - "context_binders": [ + }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Θ", - "Observation", - "Garbled", - "Decision" + "action" ], "role": "typed_binder", - "source": "{Θ Observation Garbled Decision : Type*}", - "type_source": "Type*", - "visibility": "implicit" + "source": "(action : Action)", + "type_source": "Action", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "mΘ" + "state" ], "role": "typed_binder", - "source": "{mΘ : MeasurableSpace Θ}", - "type_source": "MeasurableSpace Θ", - "visibility": "implicit" - }, + "source": "(state : State)", + "type_source": "State", + "visibility": "explicit" + } + ], + "conclusion": "∑ nextState, transition action state nextState = 1", + "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "mObservation" - ], - "role": "typed_binder", - "source": "{mObservation : MeasurableSpace Observation}", - "type_source": "MeasurableSpace Observation", + "State", + "Action", + "Observation", + "Belief" + ], + "role": "typed_binder", + "source": "{State Action Observation Belief : Type*}", + "type_source": "Type*", "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "mGarbled" - ], - "role": "typed_binder", - "source": "{mGarbled : MeasurableSpace Garbled}", - "type_source": "MeasurableSpace Garbled", - "visibility": "implicit" + "names": [], + "role": "instance_requirement", + "source": "[Fintype State]", + "type_source": "Fintype State", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "mDecision" - ], - "role": "typed_binder", - "source": "{mDecision : MeasurableSpace Decision}", - "type_source": "MeasurableSpace Decision", - "visibility": "implicit" - } - ], - "declaration_mentions": [ + "names": [], + "role": "instance_requirement", + "source": "[Fintype Action]", + "type_source": "Fintype Action", + "visibility": "instance" + }, { - "candidates": [ - "FEP.NativeBlanket.embeddedLaw_apply_singleton" - ], - "identifier": "embeddedLaw_apply_singleton", - "resolution": "unresolved lexical scope", - "role": "proof_reference" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Observation]", + "type_source": "Fintype Observation", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Belief]", + "type_source": "Fintype Belief", + "visibility": "instance" } ], + "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.native_blanket", - "FepSketches.finite_information", - "Mathlib.InformationTheory.KullbackLeibler.DataProcessing", - "Mathlib.Probability.Decision.BayesEstimator", - "Mathlib.Probability.Decision.Risk.Basic" + "FepSketches.active_inference" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.DecisionRisk", + "namespace": "FEP.ControlledMarkov", "namespace_variable_context": [ - "{Θ Observation Garbled Decision : Type*}\n {mΘ : MeasurableSpace Θ} {mObservation : MeasurableSpace Observation}\n {mGarbled : MeasurableSpace Garbled} {mDecision : MeasurableSpace Decision}" - ], - "preceding_scope_directives": [ - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DiscreteMeasurableSpace α] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [MeasurableSpace α] [MeasurableSpace β]" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [MeasurableSpace α] [MeasurableSpace β]" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [MeasurableSpace α] [MeasurableSpace β]" - } + "{State Action Observation Belief : Type*}\n [Fintype State] [Fintype Action] [Fintype Observation] [Fintype Belief]" ], - "qualified_name": "FEP.DecisionRisk.boolPrior_zeroOneRisk", - "source_line": 466, - "source_owner": "src/fep_lean/formal/decision_risk.lean", - "statement": "theorem boolPrior_zeroOneRisk (report : Bool) :\n ∫⁻ truth, boolZeroOneLoss truth report ∂boolPrior = 1 / 2", - "statement_sha256": "575505267a149f1a82bcbc2fba9e5dab5be18b79730e0b57ca6376f87d141e89" + "preceding_scope_directives": [], + "qualified_name": "FEP.ControlledMarkov.controlledKernel_sum_one", + "source_line": 28, + "source_owner": "src/fep_lean/formal/controlled_markov.lean", + "statement": "theorem controlledKernel_sum_one\n (transition : ControlledKernel State Action)\n (action : Action) (state : State) :\n ∑ nextState, transition action state nextState = 1", + "statement_sha256": "1c306d8e03c1016377701655161709999c39111bda5dd9d2c713554cc8598f8b" }, - "FEP.DecisionRisk.boolZeroOneLoss_measurable": { + "FEP.ControlledMarkov.desirabilityStep_nonneg": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [], - "conclusion": "Measurable (Function.uncurry boolZeroOneLoss)", - "context_binders": [ + "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Θ", - "Observation", - "Garbled", - "Decision" + "passive" ], "role": "typed_binder", - "source": "{Θ Observation Garbled Decision : Type*}", - "type_source": "Type*", - "visibility": "implicit" + "source": "(passive : FiniteKernel State State)", + "type_source": "FiniteKernel State State", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "mΘ" + "stateCost", + "desirability" ], "role": "typed_binder", - "source": "{mΘ : MeasurableSpace Θ}", - "type_source": "MeasurableSpace Θ", - "visibility": "implicit" + "source": "(stateCost desirability : State → ℝ)", + "type_source": "State → ℝ", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "mObservation" + "hDesirability" ], "role": "typed_binder", - "source": "{mObservation : MeasurableSpace Observation}", - "type_source": "MeasurableSpace Observation", - "visibility": "implicit" + "source": "(hDesirability : ∀ state, 0 ≤ desirability state)", + "type_source": "∀ state, 0 ≤ desirability state", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "mGarbled" + "state" ], "role": "typed_binder", - "source": "{mGarbled : MeasurableSpace Garbled}", - "type_source": "MeasurableSpace Garbled", - "visibility": "implicit" - }, + "source": "(state : State)", + "type_source": "State", + "visibility": "explicit" + } + ], + "conclusion": "0 ≤ desirabilityStep passive stateCost desirability state", + "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "mDecision" + "State", + "Action", + "Observation", + "Belief" ], "role": "typed_binder", - "source": "{mDecision : MeasurableSpace Decision}", - "type_source": "MeasurableSpace Decision", + "source": "{State Action Observation Belief : Type*}", + "type_source": "Type*", "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype State]", + "type_source": "Fintype State", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Action]", + "type_source": "Fintype Action", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Observation]", + "type_source": "Fintype Observation", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Belief]", + "type_source": "Fintype Belief", + "visibility": "instance" } ], "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.native_blanket", - "FepSketches.finite_information", - "Mathlib.InformationTheory.KullbackLeibler.DataProcessing", - "Mathlib.Probability.Decision.BayesEstimator", - "Mathlib.Probability.Decision.Risk.Basic" + "FepSketches.active_inference" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.DecisionRisk", + "namespace": "FEP.ControlledMarkov", "namespace_variable_context": [ - "{Θ Observation Garbled Decision : Type*}\n {mΘ : MeasurableSpace Θ} {mObservation : MeasurableSpace Observation}\n {mGarbled : MeasurableSpace Garbled} {mDecision : MeasurableSpace Decision}" + "{State Action Observation Belief : Type*}\n [Fintype State] [Fintype Action] [Fintype Observation] [Fintype Belief]" ], "preceding_scope_directives": [ { "directive": "omit", "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DiscreteMeasurableSpace α] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [MeasurableSpace α] [MeasurableSpace β]" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [MeasurableSpace α] [MeasurableSpace β]" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [MeasurableSpace α] [MeasurableSpace β]" + "source": "omit [Fintype State] in" } ], - "qualified_name": "FEP.DecisionRisk.boolZeroOneLoss_measurable", - "source_line": 445, - "source_owner": "src/fep_lean/formal/decision_risk.lean", - "statement": "theorem boolZeroOneLoss_measurable :\n Measurable (Function.uncurry boolZeroOneLoss)", - "statement_sha256": "7141d9e03e363c81a935632ac9e8c3c3fe2838108e07538b152e4478b1a2f677" + "qualified_name": "FEP.ControlledMarkov.desirabilityStep_nonneg", + "source_line": 375, + "source_owner": "src/fep_lean/formal/controlled_markov.lean", + "statement": "theorem desirabilityStep_nonneg (passive : FiniteKernel State State)\n (stateCost desirability : State → ℝ)\n (hDesirability : ∀ state, 0 ≤ desirability state) (state : State) :\n 0 ≤ desirabilityStep passive stateCost desirability state", + "statement_sha256": "f0940293feb1d7c36ca769ac86fcaf0a6dfda02d31418a46e99a32319a203458" }, - "FEP.DecisionRisk.channelJoint_fstMarginal": { + "FEP.ControlledMarkov.desirabilityStep_zero_cost_one": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "prior" + "passive" ], "role": "typed_binder", - "source": "(prior : FiniteLaw α)", - "type_source": "FiniteLaw α", + "source": "(passive : FiniteKernel State State)", + "type_source": "FiniteKernel State State", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "experiment" + "state" ], "role": "typed_binder", - "source": "(experiment : FiniteKernel α β)", - "type_source": "FiniteKernel α β", + "source": "(state : State)", + "type_source": "State", "visibility": "explicit" } ], - "conclusion": "(experiment.joint prior).fstMarginal = prior", + "conclusion": "desirabilityStep passive (fun _ => 0) (fun _ => 1) state = 1", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "α", - "β", - "γ" + "State", + "Action", + "Observation", + "Belief" ], "role": "typed_binder", - "source": "{α β γ : Type*}", + "source": "{State Action Observation Belief : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -41725,137 +43155,179 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype α]", - "type_source": "Fintype α", + "source": "[Fintype State]", + "type_source": "Fintype State", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype β]", - "type_source": "Fintype β", + "source": "[Fintype Action]", + "type_source": "Fintype Action", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype γ]", - "type_source": "Fintype γ", + "source": "[Fintype Observation]", + "type_source": "Fintype Observation", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[MeasurableSpace α]", - "type_source": "MeasurableSpace α", + "source": "[Fintype Belief]", + "type_source": "Fintype Belief", "visibility": "instance" + } + ], + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.active_inference" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.ControlledMarkov", + "namespace_variable_context": [ + "{State Action Observation Belief : Type*}\n [Fintype State] [Fintype Action] [Fintype Observation] [Fintype Belief]" + ], + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Fintype State] in" + } + ], + "qualified_name": "FEP.ControlledMarkov.desirabilityStep_zero_cost_one", + "source_line": 386, + "source_owner": "src/fep_lean/formal/controlled_markov.lean", + "statement": "theorem desirabilityStep_zero_cost_one (passive : FiniteKernel State State)\n (state : State) :\n desirabilityStep passive (fun _ => 0) (fun _ => 1) state = 1", + "statement_sha256": "4dca41fe0a826905de41f969a8f5baeeef42a264aad4b4d198789a7f796f804c" + }, + "FEP.ControlledMarkov.exists_finite_minimizer": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "ι" + ], + "role": "typed_binder", + "source": "{ι : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[MeasurableSpace β]", - "type_source": "MeasurableSpace β", + "source": "[Fintype ι]", + "type_source": "Fintype ι", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[MeasurableSpace γ]", - "type_source": "MeasurableSpace γ", + "source": "[Nonempty ι]", + "type_source": "Nonempty ι", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "objective" + ], + "role": "typed_binder", + "source": "(objective : ι → ℝ)", + "type_source": "ι → ℝ", + "visibility": "explicit" + } + ], + "conclusion": "∃ minimizer, ∀ alternative, objective minimizer ≤ objective alternative", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "State", + "Action", + "Observation", + "Belief" + ], + "role": "typed_binder", + "source": "{State Action Observation Belief : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype State]", + "type_source": "Fintype State", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace α]", - "type_source": "DiscreteMeasurableSpace α", + "source": "[Fintype Action]", + "type_source": "Fintype Action", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace β]", - "type_source": "DiscreteMeasurableSpace β", + "source": "[Fintype Observation]", + "type_source": "Fintype Observation", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace γ]", - "type_source": "DiscreteMeasurableSpace γ", + "source": "[Fintype Belief]", + "type_source": "Fintype Belief", "visibility": "instance" } ], "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.native_blanket", - "FepSketches.finite_information", - "Mathlib.InformationTheory.KullbackLeibler.DataProcessing", - "Mathlib.Probability.Decision.BayesEstimator", - "Mathlib.Probability.Decision.Risk.Basic" + "FepSketches.active_inference" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.DecisionRisk", + "namespace": "FEP.ControlledMarkov", "namespace_variable_context": [ - "{α β γ : Type*} [Fintype α] [Fintype β] [Fintype γ]\n [MeasurableSpace α] [MeasurableSpace β] [MeasurableSpace γ]\n [DiscreteMeasurableSpace α] [DiscreteMeasurableSpace β]\n [DiscreteMeasurableSpace γ]" + "{State Action Observation Belief : Type*}\n [Fintype State] [Fintype Action] [Fintype Observation] [Fintype Belief]" ], "preceding_scope_directives": [ { "directive": "omit", "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DiscreteMeasurableSpace α] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [MeasurableSpace α] [MeasurableSpace β]" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [MeasurableSpace α] [MeasurableSpace β]" + "source": "omit [Fintype State] in" } ], - "qualified_name": "FEP.DecisionRisk.channelJoint_fstMarginal", - "source_line": 326, - "source_owner": "src/fep_lean/formal/decision_risk.lean", - "statement": "theorem channelJoint_fstMarginal (prior : FiniteLaw α)\n (experiment : FiniteKernel α β) :\n (experiment.joint prior).fstMarginal = prior", - "statement_sha256": "500c79fc96e7e21187458248fee53b1868883abf3c68c74ec6cbb38290450b67" + "qualified_name": "FEP.ControlledMarkov.exists_finite_minimizer", + "source_line": 395, + "source_owner": "src/fep_lean/formal/controlled_markov.lean", + "statement": "theorem exists_finite_minimizer {ι : Type*} [Fintype ι] [Nonempty ι]\n (objective : ι → ℝ) :\n ∃ minimizer, ∀ alternative, objective minimizer ≤ objective alternative", + "statement_sha256": "15f6d60894af56c03b0d782710b64bca417bccd7b5b4094d94b0c1764875c3cb" }, - "FEP.DecisionRisk.embeddedJoint_klDiv_eq_mutualInformation": { + "FEP.ControlledMarkov.finiteArgmin_le": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "joint" - ], - "role": "typed_binder", - "source": "(joint : FiniteLaw (α × β))", - "type_source": "FiniteLaw (α × β)", - "visibility": "explicit" - } - ], - "conclusion": "InformationTheory.klDiv (embeddedLaw joint)\n ((embeddedLaw joint.fstMarginal).prod (embeddedLaw joint.sndMarginal)) =\n ENNReal.ofReal (mutualInformation joint)", - "context_binders": [ - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "α", - "β", - "γ" + "ι" ], "role": "typed_binder", - "source": "{α β γ : Type*}", + "source": "{ι : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -41863,161 +43335,191 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype α]", - "type_source": "Fintype α", + "source": "[Fintype ι]", + "type_source": "Fintype ι", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype β]", - "type_source": "Fintype β", + "source": "[Nonempty ι]", + "type_source": "Nonempty ι", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype γ]", - "type_source": "Fintype γ", - "visibility": "instance" + "names": [ + "objective" + ], + "role": "typed_binder", + "source": "(objective : ι → ℝ)", + "type_source": "ι → ℝ", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[MeasurableSpace α]", - "type_source": "MeasurableSpace α", - "visibility": "instance" - }, + "names": [ + "alternative" + ], + "role": "typed_binder", + "source": "(alternative : ι)", + "type_source": "ι", + "visibility": "explicit" + } + ], + "conclusion": "objective (finiteArgmin objective) ≤ objective alternative", + "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[MeasurableSpace β]", - "type_source": "MeasurableSpace β", - "visibility": "instance" + "names": [ + "State", + "Action", + "Observation", + "Belief" + ], + "role": "typed_binder", + "source": "{State Action Observation Belief : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[MeasurableSpace γ]", - "type_source": "MeasurableSpace γ", + "source": "[Fintype State]", + "type_source": "Fintype State", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace α]", - "type_source": "DiscreteMeasurableSpace α", + "source": "[Fintype Action]", + "type_source": "Fintype Action", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace β]", - "type_source": "DiscreteMeasurableSpace β", + "source": "[Fintype Observation]", + "type_source": "Fintype Observation", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace γ]", - "type_source": "DiscreteMeasurableSpace γ", + "source": "[Fintype Belief]", + "type_source": "Fintype Belief", "visibility": "instance" } ], "declaration_mentions": [ { - "identifier": "embeddedLaw_product", - "qualified_name": "FEP.DecisionRisk.embeddedLaw_product", - "resolution": "exact or same-namespace source identifier", - "role": "proof_reference" - }, - { - "identifier": "joint_relativeSupport_productMarginals", - "qualified_name": "FEP.DecisionRisk.joint_relativeSupport_productMarginals", - "resolution": "exact or same-namespace source identifier", - "role": "proof_reference" - }, - { - "identifier": "weightedDirac_klDiv_eq_finiteKL_of_relativeSupport", - "qualified_name": "FEP.DecisionRisk.weightedDirac_klDiv_eq_finiteKL_of_relativeSupport", + "identifier": "exists_finite_minimizer", + "qualified_name": "FEP.ControlledMarkov.exists_finite_minimizer", "resolution": "exact or same-namespace source identifier", "role": "proof_reference" } ], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.native_blanket", - "FepSketches.finite_information", - "Mathlib.InformationTheory.KullbackLeibler.DataProcessing", - "Mathlib.Probability.Decision.BayesEstimator", - "Mathlib.Probability.Decision.Risk.Basic" + "FepSketches.active_inference" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.DecisionRisk", + "namespace": "FEP.ControlledMarkov", "namespace_variable_context": [ - "{α β γ : Type*} [Fintype α] [Fintype β] [Fintype γ]\n [MeasurableSpace α] [MeasurableSpace β] [MeasurableSpace γ]\n [DiscreteMeasurableSpace α] [DiscreteMeasurableSpace β]\n [DiscreteMeasurableSpace γ]" + "{State Action Observation Belief : Type*}\n [Fintype State] [Fintype Action] [Fintype Observation] [Fintype Belief]" ], "preceding_scope_directives": [ { "directive": "omit", "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DiscreteMeasurableSpace α] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [MeasurableSpace α] [MeasurableSpace β]" + "source": "omit [Fintype State] in" } ], - "qualified_name": "FEP.DecisionRisk.embeddedJoint_klDiv_eq_mutualInformation", - "source_line": 314, - "source_owner": "src/fep_lean/formal/decision_risk.lean", - "statement": "theorem embeddedJoint_klDiv_eq_mutualInformation\n (joint : FiniteLaw (α × β)) :\n InformationTheory.klDiv (embeddedLaw joint)\n ((embeddedLaw joint.fstMarginal).prod (embeddedLaw joint.sndMarginal)) =\n ENNReal.ofReal (mutualInformation joint)", - "statement_sha256": "20fb41dcce2ee6aa15830bf54b4c8ba6f093881877c2a491712f6dc3b2020f64" + "qualified_name": "FEP.ControlledMarkov.finiteArgmin_le", + "source_line": 412, + "source_owner": "src/fep_lean/formal/controlled_markov.lean", + "statement": "theorem finiteArgmin_le {ι : Type*} [Fintype ι] [Nonempty ι]\n (objective : ι → ℝ) (alternative : ι) :\n objective (finiteArgmin objective) ≤ objective alternative", + "statement_sha256": "5a5d8669c3d09d4e2b8ca33716a681ecd1fdff7638184b108b6c05def20121f8" }, - "FEP.DecisionRisk.embeddedLaw_product": { + "FEP.ControlledMarkov.reachableBelief_policyValue_eq": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DecidableEq Belief]", + "type_source": "DecidableEq Belief", + "visibility": "instance" + }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "p" + "model" ], "role": "typed_binder", - "source": "(p : FiniteLaw α)", - "type_source": "FiniteLaw α", + "source": "(model : ReachableBeliefPOMDP Belief State Action Observation)", + "type_source": "ReachableBeliefPOMDP Belief State Action Observation", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "q" + "stateCost" ], "role": "typed_binder", - "source": "(q : FiniteLaw β)", - "type_source": "FiniteLaw β", + "source": "(stateCost : State → Action → ℝ)", + "type_source": "State → Action → ℝ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "policy" + ], + "role": "typed_binder", + "source": "(policy : ℕ → Belief → Action)", + "type_source": "ℕ → Belief → Action", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "horizon" + ], + "role": "typed_binder", + "source": "(horizon : ℕ)", + "type_source": "ℕ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "belief" + ], + "role": "typed_binder", + "source": "(belief : Belief)", + "type_source": "Belief", "visibility": "explicit" } ], - "conclusion": "embeddedLaw (p.product q) = (embeddedLaw p).prod (embeddedLaw q)", + "conclusion": "reducedPolicyValue model stateCost policy horizon belief =\n interpretedPolicyValue model stateCost policy horizon belief", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "α", - "β", - "γ" + "State", + "Action", + "Observation", + "Belief" ], "role": "typed_binder", - "source": "{α β γ : Type*}", + "source": "{State Action Observation Belief : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -42025,237 +43527,269 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype α]", - "type_source": "Fintype α", + "source": "[Fintype State]", + "type_source": "Fintype State", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype β]", - "type_source": "Fintype β", + "source": "[Fintype Action]", + "type_source": "Fintype Action", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype γ]", - "type_source": "Fintype γ", + "source": "[Fintype Observation]", + "type_source": "Fintype Observation", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[MeasurableSpace α]", - "type_source": "MeasurableSpace α", + "source": "[Fintype Belief]", + "type_source": "Fintype Belief", "visibility": "instance" - }, + } + ], + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.active_inference" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.ControlledMarkov", + "namespace_variable_context": [ + "{State Action Observation Belief : Type*}\n [Fintype State] [Fintype Action] [Fintype Observation] [Fintype Belief]" + ], + "preceding_scope_directives": [], + "qualified_name": "FEP.ControlledMarkov.reachableBelief_policyValue_eq", + "source_line": 171, + "source_owner": "src/fep_lean/formal/controlled_markov.lean", + "statement": "theorem reachableBelief_policyValue_eq [DecidableEq Belief]\n (model : ReachableBeliefPOMDP Belief State Action Observation)\n (stateCost : State → Action → ℝ) (policy : ℕ → Belief → Action)\n (horizon : ℕ) (belief : Belief) :\n reducedPolicyValue model stateCost policy horizon belief =\n interpretedPolicyValue model stateCost policy horizon belief", + "statement_sha256": "2933a0e9dcfa32545c630a3a24543934ecf17f9a63bf045e03a1d5cadf0aa92f" + }, + "FEP.ControlledMarkov.softBellmanPartition_pos": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[MeasurableSpace β]", - "type_source": "MeasurableSpace β", + "source": "[Nonempty Action]", + "type_source": "Nonempty Action", "visibility": "instance" }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "temperature" + ], + "role": "typed_binder", + "source": "(temperature : ℝ)", + "type_source": "ℝ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "stageCost" + ], + "role": "typed_binder", + "source": "(stageCost : State → Action → ℝ)", + "type_source": "State → Action → ℝ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "continuation" + ], + "role": "typed_binder", + "source": "(continuation : Action → ℝ)", + "type_source": "Action → ℝ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "state" + ], + "role": "typed_binder", + "source": "(state : State)", + "type_source": "State", + "visibility": "explicit" + } + ], + "conclusion": "0 < softBellmanPartition temperature stageCost continuation state", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "State", + "Action", + "Observation", + "Belief" + ], + "role": "typed_binder", + "source": "{State Action Observation Belief : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[MeasurableSpace γ]", - "type_source": "MeasurableSpace γ", + "source": "[Fintype State]", + "type_source": "Fintype State", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace α]", - "type_source": "DiscreteMeasurableSpace α", + "source": "[Fintype Action]", + "type_source": "Fintype Action", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace β]", - "type_source": "DiscreteMeasurableSpace β", + "source": "[Fintype Observation]", + "type_source": "Fintype Observation", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace γ]", - "type_source": "DiscreteMeasurableSpace γ", + "source": "[Fintype Belief]", + "type_source": "Fintype Belief", "visibility": "instance" } ], - "declaration_mentions": [ - { - "candidates": [ - "FEP.NativeBlanket.embeddedLaw_apply_singleton" - ], - "identifier": "embeddedLaw_apply_singleton", - "resolution": "unresolved lexical scope", - "role": "proof_reference" - } - ], + "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.native_blanket", - "FepSketches.finite_information", - "Mathlib.InformationTheory.KullbackLeibler.DataProcessing", - "Mathlib.Probability.Decision.BayesEstimator", - "Mathlib.Probability.Decision.Risk.Basic" + "FepSketches.active_inference" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.DecisionRisk", + "namespace": "FEP.ControlledMarkov", "namespace_variable_context": [ - "{α β γ : Type*} [Fintype α] [Fintype β] [Fintype γ]\n [MeasurableSpace α] [MeasurableSpace β] [MeasurableSpace γ]\n [DiscreteMeasurableSpace α] [DiscreteMeasurableSpace β]\n [DiscreteMeasurableSpace γ]" + "{State Action Observation Belief : Type*}\n [Fintype State] [Fintype Action] [Fintype Observation] [Fintype Belief]" ], "preceding_scope_directives": [ { "directive": "omit", "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DiscreteMeasurableSpace α] in" + "source": "omit [Fintype State] in" } ], - "qualified_name": "FEP.DecisionRisk.embeddedLaw_product", - "source_line": 279, - "source_owner": "src/fep_lean/formal/decision_risk.lean", - "statement": "theorem embeddedLaw_product (p : FiniteLaw α) (q : FiniteLaw β) :\n embeddedLaw (p.product q) = (embeddedLaw p).prod (embeddedLaw q)", - "statement_sha256": "b5c15fb5f446e3b12e3838e241b2461236530f177a5ff0c3a66418935c62bc1a" + "qualified_name": "FEP.ControlledMarkov.softBellmanPartition_pos", + "source_line": 275, + "source_owner": "src/fep_lean/formal/controlled_markov.lean", + "statement": "theorem softBellmanPartition_pos [Nonempty Action] (temperature : ℝ)\n (stageCost : State → Action → ℝ) (continuation : Action → ℝ)\n (state : State) :\n 0 < softBellmanPartition temperature stageCost continuation state", + "statement_sha256": "6e579a39415379f1406120bf8add41052db22a6db3aa0f2aa45fc7a52a70a0da" }, - "FEP.DecisionRisk.embeddedLaw_withDensity_ratio": { + "FEP.ControlledMarkov.softBellmanValue_le_actionEnergy": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Nonempty Action]", + "type_source": "Nonempty Action", + "visibility": "instance" + }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "p", - "q" + "temperature" ], "role": "typed_binder", - "source": "(p q : FiniteLaw α)", - "type_source": "FiniteLaw α", + "source": "(temperature : ℝ)", + "type_source": "ℝ", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "hq" + "hTemperature" ], "role": "typed_binder", - "source": "(hq : ∀ x, 0 < q x)", - "type_source": "∀ x, 0 < q x", + "source": "(hTemperature : 0 < temperature)", + "type_source": "0 < temperature", "visibility": "explicit" - } - ], - "conclusion": "(embeddedLaw q).withDensity\n (fun x => ENNReal.ofReal (p x / q x)) = embeddedLaw p", - "context_binders": [ + }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "α" + "stageCost" ], "role": "typed_binder", - "source": "{α : Type*}", - "type_source": "Type*", - "visibility": "implicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype α]", - "type_source": "Fintype α", - "visibility": "instance" + "source": "(stageCost : State → Action → ℝ)", + "type_source": "State → Action → ℝ", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[MeasurableSpace α]", - "type_source": "MeasurableSpace α", - "visibility": "instance" + "names": [ + "transition" + ], + "role": "typed_binder", + "source": "(transition : ControlledKernel State Action)", + "type_source": "ControlledKernel State Action", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace α]", - "type_source": "DiscreteMeasurableSpace α", - "visibility": "instance" - } - ], - "declaration_mentions": [ - { - "candidates": [ - "FEP.NativeBlanket.embeddedLaw_apply_singleton" + "names": [ + "horizon" ], - "identifier": "embeddedLaw_apply_singleton", - "resolution": "unresolved lexical scope", - "role": "proof_reference" - } - ], - "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", - "import_context": [ - "FepSketches.native_blanket", - "FepSketches.finite_information", - "Mathlib.InformationTheory.KullbackLeibler.DataProcessing", - "Mathlib.Probability.Decision.BayesEstimator", - "Mathlib.Probability.Decision.Risk.Basic" - ], - "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.DecisionRisk", - "namespace_variable_context": [ - "{α : Type*} [Fintype α] [MeasurableSpace α]\n [DiscreteMeasurableSpace α]" - ], - "preceding_scope_directives": [], - "qualified_name": "FEP.DecisionRisk.embeddedLaw_withDensity_ratio", - "source_line": 89, - "source_owner": "src/fep_lean/formal/decision_risk.lean", - "statement": "theorem embeddedLaw_withDensity_ratio (p q : FiniteLaw α)\n (hq : ∀ x, 0 < q x) :\n (embeddedLaw q).withDensity\n (fun x => ENNReal.ofReal (p x / q x)) = embeddedLaw p", - "statement_sha256": "f12ef23cda6ab799533d1e03ef01dca9764d16f72defd8951da34a6c735701ce" - }, - "FEP.DecisionRisk.embeddedLaw_withDensity_ratio_of_relativeSupport": { - "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [ + "role": "typed_binder", + "source": "(horizon : ℕ)", + "type_source": "ℕ", + "visibility": "explicit" + }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "p", - "q" + "state" ], "role": "typed_binder", - "source": "(p q : FiniteLaw α)", - "type_source": "FiniteLaw α", + "source": "(state : State)", + "type_source": "State", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "hsupport" + "action" ], "role": "typed_binder", - "source": "(hsupport : ∀ x, p x ≠ 0 → 0 < q x)", - "type_source": "∀ x, p x ≠ 0 → 0 < q x", + "source": "(action : Action)", + "type_source": "Action", "visibility": "explicit" } ], - "conclusion": "(embeddedLaw q).withDensity\n (fun x => ENNReal.ofReal (p x / q x)) = embeddedLaw p", + "conclusion": "softBellmanValue temperature stageCost transition (horizon + 1) state ≤\n softBellmanActionEnergy temperature stageCost transition\n horizon state action", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "α" + "State", + "Action", + "Observation", + "Belief" ], "role": "typed_binder", - "source": "{α : Type*}", + "source": "{State Action Observation Belief : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -42263,154 +43797,139 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype α]", - "type_source": "Fintype α", + "source": "[Fintype State]", + "type_source": "Fintype State", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[MeasurableSpace α]", - "type_source": "MeasurableSpace α", + "source": "[Fintype Action]", + "type_source": "Fintype Action", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace α]", - "type_source": "DiscreteMeasurableSpace α", + "source": "[Fintype Observation]", + "type_source": "Fintype Observation", "visibility": "instance" - } - ], - "declaration_mentions": [ - { - "candidates": [ - "FEP.NativeBlanket.embeddedLaw_apply_singleton" - ], - "identifier": "embeddedLaw_apply_singleton", - "resolution": "unresolved lexical scope", - "role": "proof_reference" - } - ], - "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", - "import_context": [ - "FepSketches.native_blanket", - "FepSketches.finite_information", - "Mathlib.InformationTheory.KullbackLeibler.DataProcessing", - "Mathlib.Probability.Decision.BayesEstimator", - "Mathlib.Probability.Decision.Risk.Basic" - ], - "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.DecisionRisk", - "namespace_variable_context": [ - "{α : Type*} [Fintype α] [MeasurableSpace α]\n [DiscreteMeasurableSpace α]" - ], - "preceding_scope_directives": [], - "qualified_name": "FEP.DecisionRisk.embeddedLaw_withDensity_ratio_of_relativeSupport", - "source_line": 33, - "source_owner": "src/fep_lean/formal/decision_risk.lean", - "statement": "theorem embeddedLaw_withDensity_ratio_of_relativeSupport (p q : FiniteLaw α)\n (hsupport : ∀ x, p x ≠ 0 → 0 < q x) :\n (embeddedLaw q).withDensity\n (fun x => ENNReal.ofReal (p x / q x)) = embeddedLaw p", - "statement_sha256": "f5b6070b3f180ffcde944939913274707342d01faa2199866ad7a7f2fef5fd61" - }, - "FEP.DecisionRisk.finiteKL_asymmetric_bool": { - "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [], - "conclusion": "finiteKL asymmetricBoolTruth asymmetricBoolReport ≠\n finiteKL asymmetricBoolReport asymmetricBoolTruth", - "context_binders": [ - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "α" - ], - "role": "typed_binder", - "source": "{α : Type*}", - "type_source": "Type*", - "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype α]", - "type_source": "Fintype α", + "source": "[Fintype Belief]", + "type_source": "Fintype Belief", "visibility": "instance" } ], - "declaration_mentions": [], + "declaration_mentions": [ + { + "identifier": "softBellmanValue_succ", + "qualified_name": "FEP.ControlledMarkov.softBellmanValue_succ", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + } + ], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.native_blanket", - "FepSketches.finite_information", - "Mathlib.InformationTheory.KullbackLeibler.DataProcessing", - "Mathlib.Probability.Decision.BayesEstimator", - "Mathlib.Probability.Decision.Risk.Basic" + "FepSketches.active_inference" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.DecisionRisk", + "namespace": "FEP.ControlledMarkov", "namespace_variable_context": [ - "{α : Type*} [Fintype α]" + "{State Action Observation Belief : Type*}\n [Fintype State] [Fintype Action] [Fintype Observation] [Fintype Belief]" ], "preceding_scope_directives": [ { "directive": "omit", "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DiscreteMeasurableSpace α] in" + "source": "omit [Fintype State] in" } ], - "qualified_name": "FEP.DecisionRisk.finiteKL_asymmetric_bool", - "source_line": 217, - "source_owner": "src/fep_lean/formal/decision_risk.lean", - "statement": "theorem finiteKL_asymmetric_bool :\n finiteKL asymmetricBoolTruth asymmetricBoolReport ≠\n finiteKL asymmetricBoolReport asymmetricBoolTruth", - "statement_sha256": "1eb597e2bf76d2dec840e4a11dcfdaf055099a017eb1bbb0a8f7c9666fb82e75" + "qualified_name": "FEP.ControlledMarkov.softBellmanValue_le_actionEnergy", + "source_line": 336, + "source_owner": "src/fep_lean/formal/controlled_markov.lean", + "statement": "theorem softBellmanValue_le_actionEnergy [Nonempty Action]\n (temperature : ℝ) (hTemperature : 0 < temperature)\n (stageCost : State → Action → ℝ)\n (transition : ControlledKernel State Action)\n (horizon : ℕ) (state : State) (action : Action) :\n softBellmanValue temperature stageCost transition (horizon + 1) state ≤\n softBellmanActionEnergy temperature stageCost transition\n horizon state action", + "statement_sha256": "ee17f7aba190973748f8c83c71915d3f4c7a023d973404d8c7a6348632f8794b" }, - "FEP.DecisionRisk.finiteKL_mono_under_channel_of_relativeSupport": { + "FEP.ControlledMarkov.softBellmanValue_partition_pos": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Nonempty Action]", + "type_source": "Nonempty Action", + "visibility": "instance" + }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "actual", - "reference" + "temperature" ], "role": "typed_binder", - "source": "(actual reference : FiniteLaw α)", - "type_source": "FiniteLaw α", + "source": "(temperature : ℝ)", + "type_source": "ℝ", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "channel" + "stageCost" ], "role": "typed_binder", - "source": "(channel : FiniteKernel α β)", - "type_source": "FiniteKernel α β", + "source": "(stageCost : State → Action → ℝ)", + "type_source": "State → Action → ℝ", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "hsupport" + "transition" ], "role": "typed_binder", - "source": "(hsupport : ∀ x, actual x ≠ 0 → 0 < reference x)", - "type_source": "∀ x, actual x ≠ 0 → 0 < reference x", + "source": "(transition : ControlledKernel State Action)", + "type_source": "ControlledKernel State Action", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "horizon" + ], + "role": "typed_binder", + "source": "(horizon : ℕ)", + "type_source": "ℕ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "state" + ], + "role": "typed_binder", + "source": "(state : State)", + "type_source": "State", "visibility": "explicit" } ], - "conclusion": "finiteKL (channel.predictive actual) (channel.predictive reference) ≤\n finiteKL actual reference", + "conclusion": "0 < ∑ action,\n Real.exp (-((softBellmanActionEnergy temperature stageCost transition\n horizon state action) / temperature))", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "α", - "β", - "γ" + "State", + "Action", + "Observation", + "Belief" ], "role": "typed_binder", - "source": "{α β γ : Type*}", + "source": "{State Action Observation Belief : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -42418,191 +43937,367 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype α]", - "type_source": "Fintype α", + "source": "[Fintype State]", + "type_source": "Fintype State", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype β]", - "type_source": "Fintype β", + "source": "[Fintype Action]", + "type_source": "Fintype Action", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype γ]", - "type_source": "Fintype γ", + "source": "[Fintype Observation]", + "type_source": "Fintype Observation", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[MeasurableSpace α]", - "type_source": "MeasurableSpace α", + "source": "[Fintype Belief]", + "type_source": "Fintype Belief", "visibility": "instance" + } + ], + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.active_inference" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.ControlledMarkov", + "namespace_variable_context": [ + "{State Action Observation Belief : Type*}\n [Fintype State] [Fintype Action] [Fintype Observation] [Fintype Belief]" + ], + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Fintype State] in" + } + ], + "qualified_name": "FEP.ControlledMarkov.softBellmanValue_partition_pos", + "source_line": 321, + "source_owner": "src/fep_lean/formal/controlled_markov.lean", + "statement": "theorem softBellmanValue_partition_pos [Nonempty Action]\n (temperature : ℝ) (stageCost : State → Action → ℝ)\n (transition : ControlledKernel State Action)\n (horizon : ℕ) (state : State) :\n 0 < ∑ action,\n Real.exp (-((softBellmanActionEnergy temperature stageCost transition\n horizon state action) / temperature))", + "statement_sha256": "fcbe7195340c0c874d777f2f773de200650d1a1c780001e11e3b9f3a9565d256" + }, + "FEP.ControlledMarkov.softBellmanValue_succ": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "temperature" + ], + "role": "typed_binder", + "source": "(temperature : ℝ)", + "type_source": "ℝ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "stageCost" + ], + "role": "typed_binder", + "source": "(stageCost : State → Action → ℝ)", + "type_source": "State → Action → ℝ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "transition" + ], + "role": "typed_binder", + "source": "(transition : ControlledKernel State Action)", + "type_source": "ControlledKernel State Action", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "horizon" + ], + "role": "typed_binder", + "source": "(horizon : ℕ)", + "type_source": "ℕ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "state" + ], + "role": "typed_binder", + "source": "(state : State)", + "type_source": "State", + "visibility": "explicit" + } + ], + "conclusion": "softBellmanValue temperature stageCost transition (horizon + 1) state =\n -temperature * Real.log\n (∑ action,\n Real.exp (-((softBellmanActionEnergy temperature stageCost transition\n horizon state action) / temperature)))", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "State", + "Action", + "Observation", + "Belief" + ], + "role": "typed_binder", + "source": "{State Action Observation Belief : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[MeasurableSpace β]", - "type_source": "MeasurableSpace β", + "source": "[Fintype State]", + "type_source": "Fintype State", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[MeasurableSpace γ]", - "type_source": "MeasurableSpace γ", + "source": "[Fintype Action]", + "type_source": "Fintype Action", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace α]", - "type_source": "DiscreteMeasurableSpace α", + "source": "[Fintype Observation]", + "type_source": "Fintype Observation", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace β]", - "type_source": "DiscreteMeasurableSpace β", + "source": "[Fintype Belief]", + "type_source": "Fintype Belief", "visibility": "instance" - }, + } + ], + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.active_inference" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.ControlledMarkov", + "namespace_variable_context": [ + "{State Action Observation Belief : Type*}\n [Fintype State] [Fintype Action] [Fintype Observation] [Fintype Belief]" + ], + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Fintype State] in" + } + ], + "qualified_name": "FEP.ControlledMarkov.softBellmanValue_succ", + "source_line": 308, + "source_owner": "src/fep_lean/formal/controlled_markov.lean", + "statement": "theorem softBellmanValue_succ (temperature : ℝ)\n (stageCost : State → Action → ℝ)\n (transition : ControlledKernel State Action)\n (horizon : ℕ) (state : State) :\n softBellmanValue temperature stageCost transition (horizon + 1) state =\n -temperature * Real.log\n (∑ action,\n Real.exp (-((softBellmanActionEnergy temperature stageCost transition\n horizon state action) / temperature)))", + "statement_sha256": "4bb5613752da6955623d918024ac88c0e8cba6a6024a1e31b69f5b2bf466c8f2" + }, + "FEP.ControlledMarkov.sophisticatedEFEAction_le": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace γ]", - "type_source": "DiscreteMeasurableSpace γ", + "source": "[Nonempty Action]", + "type_source": "Nonempty Action", "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "model" + ], + "role": "typed_binder", + "source": "(model : SophisticatedEFEModel Belief Action Observation)", + "type_source": "SophisticatedEFEModel Belief Action Observation", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "horizon" + ], + "role": "typed_binder", + "source": "(horizon : ℕ)", + "type_source": "ℕ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "belief" + ], + "role": "typed_binder", + "source": "(belief : Belief)", + "type_source": "Belief", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "alternative" + ], + "role": "typed_binder", + "source": "(alternative : Action)", + "type_source": "Action", + "visibility": "explicit" } ], - "declaration_mentions": [ + "conclusion": "model.stageEFE horizon belief (sophisticatedEFEAction model horizon belief) +\n ∑ observation,\n model.observationLaw belief (sophisticatedEFEAction model horizon belief)\n observation *\n sophisticatedEFEValue model horizon\n (model.update belief (sophisticatedEFEAction model horizon belief)\n observation) ≤\n model.stageEFE horizon belief alternative +\n ∑ observation, model.observationLaw belief alternative observation *\n sophisticatedEFEValue model horizon\n (model.update belief alternative observation)", + "context_binders": [ { - "candidates": [ - "FEP.NativeBlanket.embeddedPredictive_eq_comp" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "State", + "Action", + "Observation", + "Belief" ], - "identifier": "embeddedPredictive_eq_comp", - "resolution": "unresolved lexical scope", - "role": "proof_reference" + "role": "typed_binder", + "source": "{State Action Observation Belief : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { - "candidates": [ - "FEP.FiniteInformation.finiteKL_nonneg" - ], - "identifier": "finiteKL_nonneg", - "resolution": "unresolved lexical scope", - "role": "proof_reference" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype State]", + "type_source": "Fintype State", + "visibility": "instance" }, { - "identifier": "predictive_relativeSupport", - "qualified_name": "FEP.DecisionRisk.predictive_relativeSupport", - "resolution": "exact or same-namespace source identifier", - "role": "proof_reference" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Action]", + "type_source": "Fintype Action", + "visibility": "instance" }, { - "identifier": "weightedDirac_klDiv_eq_finiteKL_of_relativeSupport", - "qualified_name": "FEP.DecisionRisk.weightedDirac_klDiv_eq_finiteKL_of_relativeSupport", + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Observation]", + "type_source": "Fintype Observation", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Belief]", + "type_source": "Fintype Belief", + "visibility": "instance" + } + ], + "declaration_mentions": [ + { + "identifier": "finiteArgmin_le", + "qualified_name": "FEP.ControlledMarkov.finiteArgmin_le", "resolution": "exact or same-namespace source identifier", "role": "proof_reference" } ], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.native_blanket", - "FepSketches.finite_information", - "Mathlib.InformationTheory.KullbackLeibler.DataProcessing", - "Mathlib.Probability.Decision.BayesEstimator", - "Mathlib.Probability.Decision.Risk.Basic" + "FepSketches.active_inference" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.DecisionRisk", + "namespace": "FEP.ControlledMarkov", "namespace_variable_context": [ - "{α β γ : Type*} [Fintype α] [Fintype β] [Fintype γ]\n [MeasurableSpace α] [MeasurableSpace β] [MeasurableSpace γ]\n [DiscreteMeasurableSpace α] [DiscreteMeasurableSpace β]\n [DiscreteMeasurableSpace γ]" + "{State Action Observation Belief : Type*}\n [Fintype State] [Fintype Action] [Fintype Observation] [Fintype Belief]" ], "preceding_scope_directives": [ { "directive": "omit", "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DiscreteMeasurableSpace α] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [MeasurableSpace α] [MeasurableSpace β]" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [MeasurableSpace α] [MeasurableSpace β]" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [MeasurableSpace α] [MeasurableSpace β]" + "source": "omit [Fintype State] in" } ], - "qualified_name": "FEP.DecisionRisk.finiteKL_mono_under_channel_of_relativeSupport", - "source_line": 379, - "source_owner": "src/fep_lean/formal/decision_risk.lean", - "statement": "theorem finiteKL_mono_under_channel_of_relativeSupport\n (actual reference : FiniteLaw α) (channel : FiniteKernel α β)\n (hsupport : ∀ x, actual x ≠ 0 → 0 < reference x) :\n finiteKL (channel.predictive actual) (channel.predictive reference) ≤\n finiteKL actual reference", - "statement_sha256": "c8ad9c552196b0a2c8193a93971e98ecaa01a805a89635acafd642f8913614e6" + "qualified_name": "FEP.ControlledMarkov.sophisticatedEFEAction_le", + "source_line": 464, + "source_owner": "src/fep_lean/formal/controlled_markov.lean", + "statement": "theorem sophisticatedEFEAction_le [Nonempty Action]\n (model : SophisticatedEFEModel Belief Action Observation)\n (horizon : ℕ) (belief : Belief) (alternative : Action) :\n model.stageEFE horizon belief (sophisticatedEFEAction model horizon belief) +\n ∑ observation,\n model.observationLaw belief (sophisticatedEFEAction model horizon belief)\n observation *\n sophisticatedEFEValue model horizon\n (model.update belief (sophisticatedEFEAction model horizon belief)\n observation) ≤\n model.stageEFE horizon belief alternative +\n ∑ observation, model.observationLaw belief alternative observation *\n sophisticatedEFEValue model horizon\n (model.update belief alternative observation)", + "statement_sha256": "f16289f57f1639a01f6fe6d303b4e613e715c62f5bacfca350a2fb4e7433b423" }, - "FEP.DecisionRisk.finiteMutualInformation_mono_under_observationGarbling": { + "FEP.ControlledMarkov.sophisticatedEFEValue_succ": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Nonempty Action]", + "type_source": "Nonempty Action", + "visibility": "instance" + }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "prior" + "model" ], "role": "typed_binder", - "source": "(prior : FiniteLaw α)", - "type_source": "FiniteLaw α", + "source": "(model : SophisticatedEFEModel Belief Action Observation)", + "type_source": "SophisticatedEFEModel Belief Action Observation", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "experiment" + "horizon" ], "role": "typed_binder", - "source": "(experiment : FiniteKernel α β)", - "type_source": "FiniteKernel α β", + "source": "(horizon : ℕ)", + "type_source": "ℕ", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "garbling" + "belief" ], "role": "typed_binder", - "source": "(garbling : FiniteKernel β γ)", - "type_source": "FiniteKernel β γ", + "source": "(belief : Belief)", + "type_source": "Belief", "visibility": "explicit" } ], - "conclusion": "mutualInformation ((FiniteKernel.comp garbling experiment).joint prior) ≤\n mutualInformation (experiment.joint prior)", + "conclusion": "sophisticatedEFEValue model (horizon + 1) belief =\n model.stageEFE horizon belief (sophisticatedEFEAction model horizon belief) +\n ∑ observation,\n model.observationLaw belief (sophisticatedEFEAction model horizon belief)\n observation *\n sophisticatedEFEValue model horizon\n (model.update belief (sophisticatedEFEAction model horizon belief)\n observation)", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "α", - "β", - "γ" + "State", + "Action", + "Observation", + "Belief" ], "role": "typed_binder", - "source": "{α β γ : Type*}", + "source": "{State Action Observation Belief : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -42610,285 +44305,344 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype α]", - "type_source": "Fintype α", + "source": "[Fintype State]", + "type_source": "Fintype State", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype β]", - "type_source": "Fintype β", + "source": "[Fintype Action]", + "type_source": "Fintype Action", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype γ]", - "type_source": "Fintype γ", + "source": "[Fintype Observation]", + "type_source": "Fintype Observation", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[MeasurableSpace α]", - "type_source": "MeasurableSpace α", + "source": "[Fintype Belief]", + "type_source": "Fintype Belief", "visibility": "instance" - }, + } + ], + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.active_inference" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.ControlledMarkov", + "namespace_variable_context": [ + "{State Action Observation Belief : Type*}\n [Fintype State] [Fintype Action] [Fintype Observation] [Fintype Belief]" + ], + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Fintype State] in" + } + ], + "qualified_name": "FEP.ControlledMarkov.sophisticatedEFEValue_succ", + "source_line": 449, + "source_owner": "src/fep_lean/formal/controlled_markov.lean", + "statement": "theorem sophisticatedEFEValue_succ [Nonempty Action]\n (model : SophisticatedEFEModel Belief Action Observation)\n (horizon : ℕ) (belief : Belief) :\n sophisticatedEFEValue model (horizon + 1) belief =\n model.stageEFE horizon belief (sophisticatedEFEAction model horizon belief) +\n ∑ observation,\n model.observationLaw belief (sophisticatedEFEAction model horizon belief)\n observation *\n sophisticatedEFEValue model horizon\n (model.update belief (sophisticatedEFEAction model horizon belief)\n observation)", + "statement_sha256": "649418f0ebd46bc65ad52e975c7eb03bd06b9828827f47045871fbc6de7dce69" + }, + "FEP.ControlledMarkov.twoStageFeedbackExpectedCost_zero": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [], + "conclusion": "twoStageFeedbackExpectedCost = 0", + "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[MeasurableSpace β]", - "type_source": "MeasurableSpace β", - "visibility": "instance" + "names": [ + "State", + "Action", + "Observation", + "Belief" + ], + "role": "typed_binder", + "source": "{State Action Observation Belief : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[MeasurableSpace γ]", - "type_source": "MeasurableSpace γ", + "source": "[Fintype State]", + "type_source": "Fintype State", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace α]", - "type_source": "DiscreteMeasurableSpace α", + "source": "[Fintype Action]", + "type_source": "Fintype Action", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace β]", - "type_source": "DiscreteMeasurableSpace β", + "source": "[Fintype Observation]", + "type_source": "Fintype Observation", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace γ]", - "type_source": "DiscreteMeasurableSpace γ", + "source": "[Fintype Belief]", + "type_source": "Fintype Belief", "visibility": "instance" } ], "declaration_mentions": [ { - "candidates": [ - "FEP.NativeBlanket.embeddedKernel_comp" - ], - "identifier": "embeddedKernel_comp", - "resolution": "unresolved lexical scope", - "role": "proof_reference" - }, - { - "identifier": "mutualInformation_mono_under_observationGarbling", - "qualified_name": "FEP.DecisionRisk.mutualInformation_mono_under_observationGarbling", - "resolution": "exact or same-namespace source identifier", - "role": "proof_reference" - }, - { - "candidates": [ - "FEP.FiniteInformation.mutualInformation_nonneg" - ], - "identifier": "mutualInformation_nonneg", - "resolution": "unresolved lexical scope", - "role": "proof_reference" - }, - { - "identifier": "nativeChannelMutualInformation_eq_finite", - "qualified_name": "FEP.DecisionRisk.nativeChannelMutualInformation_eq_finite", + "identifier": "twoStageFeedback_eq_observation", + "qualified_name": "FEP.ControlledMarkov.twoStageFeedback_eq_observation", "resolution": "exact or same-namespace source identifier", "role": "proof_reference" } ], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.native_blanket", - "FepSketches.finite_information", - "Mathlib.InformationTheory.KullbackLeibler.DataProcessing", - "Mathlib.Probability.Decision.BayesEstimator", - "Mathlib.Probability.Decision.Risk.Basic" + "FepSketches.active_inference" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.DecisionRisk", + "namespace": "FEP.ControlledMarkov", "namespace_variable_context": [ - "{α β γ : Type*} [Fintype α] [Fintype β] [Fintype γ]\n [MeasurableSpace α] [MeasurableSpace β] [MeasurableSpace γ]\n [DiscreteMeasurableSpace α] [DiscreteMeasurableSpace β]\n [DiscreteMeasurableSpace γ]" + "{State Action Observation Belief : Type*}\n [Fintype State] [Fintype Action] [Fintype Observation] [Fintype Belief]" ], "preceding_scope_directives": [ { "directive": "omit", "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DiscreteMeasurableSpace α] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [MeasurableSpace α] [MeasurableSpace β]" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [MeasurableSpace α] [MeasurableSpace β]" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [MeasurableSpace α] [MeasurableSpace β]" + "source": "omit [Fintype State] in" } ], - "qualified_name": "FEP.DecisionRisk.finiteMutualInformation_mono_under_observationGarbling", - "source_line": 395, - "source_owner": "src/fep_lean/formal/decision_risk.lean", - "statement": "theorem finiteMutualInformation_mono_under_observationGarbling\n (prior : FiniteLaw α) (experiment : FiniteKernel α β)\n (garbling : FiniteKernel β γ) :\n mutualInformation ((FiniteKernel.comp garbling experiment).joint prior) ≤\n mutualInformation (experiment.joint prior)", - "statement_sha256": "4bd54f87800f214c7161f8941852fbc0422abc0c9f61bf5f51aa9c3d3b711207" + "qualified_name": "FEP.ControlledMarkov.twoStageFeedbackExpectedCost_zero", + "source_line": 631, + "source_owner": "src/fep_lean/formal/controlled_markov.lean", + "statement": "theorem twoStageFeedbackExpectedCost_zero :\n twoStageFeedbackExpectedCost = 0", + "statement_sha256": "3cacca59e7d5f417f22ecf1f79153cea0037e5964c576f83a837aee958a852e2" }, - "FEP.DecisionRisk.garbledBool_bayesRisk_eq_half": { + "FEP.ControlledMarkov.twoStageFeedback_beats_openLoop": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [], - "conclusion": "bayesRisk boolZeroOneLoss garbledBoolExperiment boolPrior = 1 / 2", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "action" + ], + "role": "typed_binder", + "source": "(action : Bool)", + "type_source": "Bool", + "visibility": "explicit" + } + ], + "conclusion": "twoStageFeedbackExpectedCost < twoStageOpenLoopExpectedCost action", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Θ", + "State", + "Action", "Observation", - "Garbled", - "Decision" + "Belief" ], "role": "typed_binder", - "source": "{Θ Observation Garbled Decision : Type*}", + "source": "{State Action Observation Belief : Type*}", "type_source": "Type*", "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "mΘ" - ], - "role": "typed_binder", - "source": "{mΘ : MeasurableSpace Θ}", - "type_source": "MeasurableSpace Θ", - "visibility": "implicit" + "names": [], + "role": "instance_requirement", + "source": "[Fintype State]", + "type_source": "Fintype State", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "mObservation" - ], - "role": "typed_binder", - "source": "{mObservation : MeasurableSpace Observation}", - "type_source": "MeasurableSpace Observation", - "visibility": "implicit" + "names": [], + "role": "instance_requirement", + "source": "[Fintype Action]", + "type_source": "Fintype Action", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "mGarbled" - ], - "role": "typed_binder", - "source": "{mGarbled : MeasurableSpace Garbled}", - "type_source": "MeasurableSpace Garbled", - "visibility": "implicit" + "names": [], + "role": "instance_requirement", + "source": "[Fintype Observation]", + "type_source": "Fintype Observation", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "mDecision" - ], - "role": "typed_binder", - "source": "{mDecision : MeasurableSpace Decision}", - "type_source": "MeasurableSpace Decision", - "visibility": "implicit" + "names": [], + "role": "instance_requirement", + "source": "[Fintype Belief]", + "type_source": "Fintype Belief", + "visibility": "instance" } ], "declaration_mentions": [ { - "identifier": "boolPrior_zeroOneRisk", - "qualified_name": "FEP.DecisionRisk.boolPrior_zeroOneRisk", + "identifier": "twoStageFeedbackExpectedCost_zero", + "qualified_name": "FEP.ControlledMarkov.twoStageFeedbackExpectedCost_zero", "resolution": "exact or same-namespace source identifier", "role": "proof_reference" }, { - "identifier": "boolZeroOneLoss_measurable", - "qualified_name": "FEP.DecisionRisk.boolZeroOneLoss_measurable", + "identifier": "twoStageOpenLoopExpectedCost_eq_half", + "qualified_name": "FEP.ControlledMarkov.twoStageOpenLoopExpectedCost_eq_half", "resolution": "exact or same-namespace source identifier", "role": "proof_reference" } ], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.native_blanket", - "FepSketches.finite_information", - "Mathlib.InformationTheory.KullbackLeibler.DataProcessing", - "Mathlib.Probability.Decision.BayesEstimator", - "Mathlib.Probability.Decision.Risk.Basic" + "FepSketches.active_inference" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.DecisionRisk", + "namespace": "FEP.ControlledMarkov", "namespace_variable_context": [ - "{Θ Observation Garbled Decision : Type*}\n {mΘ : MeasurableSpace Θ} {mObservation : MeasurableSpace Observation}\n {mGarbled : MeasurableSpace Garbled} {mDecision : MeasurableSpace Decision}" + "{State Action Observation Belief : Type*}\n [Fintype State] [Fintype Action] [Fintype Observation] [Fintype Belief]" ], "preceding_scope_directives": [ { "directive": "omit", "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DiscreteMeasurableSpace α] in" + "source": "omit [Fintype State] in" + } + ], + "qualified_name": "FEP.ControlledMarkov.twoStageFeedback_beats_openLoop", + "source_line": 645, + "source_owner": "src/fep_lean/formal/controlled_markov.lean", + "statement": "theorem twoStageFeedback_beats_openLoop (action : Bool) :\n twoStageFeedbackExpectedCost < twoStageOpenLoopExpectedCost action", + "statement_sha256": "ee5ff03790b8e6de8b267d703520a5a550bb31f848aa64ef72a23772615b8960" + }, + "FEP.ControlledMarkov.twoStageFeedback_changes_action": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [], + "conclusion": "twoStageFeedback false ≠ twoStageFeedback true", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "State", + "Action", + "Observation", + "Belief" + ], + "role": "typed_binder", + "source": "{State Action Observation Belief : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [MeasurableSpace α] [MeasurableSpace β]" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype State]", + "type_source": "Fintype State", + "visibility": "instance" }, { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [MeasurableSpace α] [MeasurableSpace β]" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Action]", + "type_source": "Fintype Action", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Observation]", + "type_source": "Fintype Observation", + "visibility": "instance" }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Belief]", + "type_source": "Fintype Belief", + "visibility": "instance" + } + ], + "declaration_mentions": [ + { + "identifier": "twoStageFeedback_eq_observation", + "qualified_name": "FEP.ControlledMarkov.twoStageFeedback_eq_observation", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + } + ], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.active_inference" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.ControlledMarkov", + "namespace_variable_context": [ + "{State Action Observation Belief : Type*}\n [Fintype State] [Fintype Action] [Fintype Observation] [Fintype Belief]" + ], + "preceding_scope_directives": [ { "directive": "omit", "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [MeasurableSpace α] [MeasurableSpace β]" + "source": "omit [Fintype State] in" } ], - "qualified_name": "FEP.DecisionRisk.garbledBool_bayesRisk_eq_half", - "source_line": 502, - "source_owner": "src/fep_lean/formal/decision_risk.lean", - "statement": "theorem garbledBool_bayesRisk_eq_half :\n bayesRisk boolZeroOneLoss garbledBoolExperiment boolPrior = 1 / 2", - "statement_sha256": "f710912db85c5d1a0332caedfee89807846f09718bab0b21204f76bec834a82a" + "qualified_name": "FEP.ControlledMarkov.twoStageFeedback_changes_action", + "source_line": 613, + "source_owner": "src/fep_lean/formal/controlled_markov.lean", + "statement": "theorem twoStageFeedback_changes_action :\n twoStageFeedback false ≠ twoStageFeedback true", + "statement_sha256": "88c9fb5cd85736a29fcf86e9f20b5593d3bbae6170faa8dd11ca52dd41217929" }, - "FEP.DecisionRisk.joint_relativeSupport_productMarginals": { + "FEP.ControlledMarkov.twoStageFeedback_eq_observation": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "joint" + "observation" ], "role": "typed_binder", - "source": "(joint : FiniteLaw (α × β))", - "type_source": "FiniteLaw (α × β)", + "source": "(observation : Bool)", + "type_source": "Bool", "visibility": "explicit" } ], - "conclusion": "∀ xy, joint xy ≠ 0 →\n 0 < (joint.fstMarginal.product joint.sndMarginal) xy", + "conclusion": "twoStageFeedback observation = observation", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "α", - "β", - "γ" + "State", + "Action", + "Observation", + "Belief" ], "role": "typed_binder", - "source": "{α β γ : Type*}", + "source": "{State Action Observation Belief : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -42896,145 +44650,182 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype α]", - "type_source": "Fintype α", + "source": "[Fintype State]", + "type_source": "Fintype State", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype β]", - "type_source": "Fintype β", + "source": "[Fintype Action]", + "type_source": "Fintype Action", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype γ]", - "type_source": "Fintype γ", + "source": "[Fintype Observation]", + "type_source": "Fintype Observation", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[MeasurableSpace α]", - "type_source": "MeasurableSpace α", + "source": "[Fintype Belief]", + "type_source": "Fintype Belief", "visibility": "instance" - }, + } + ], + "declaration_mentions": [ + { + "identifier": "finiteArgmin_le", + "qualified_name": "FEP.ControlledMarkov.finiteArgmin_le", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + } + ], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.active_inference" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.ControlledMarkov", + "namespace_variable_context": [ + "{State Action Observation Belief : Type*}\n [Fintype State] [Fintype Action] [Fintype Observation] [Fintype Belief]" + ], + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Fintype State] in" + } + ], + "qualified_name": "FEP.ControlledMarkov.twoStageFeedback_eq_observation", + "source_line": 603, + "source_owner": "src/fep_lean/formal/controlled_markov.lean", + "statement": "theorem twoStageFeedback_eq_observation (observation : Bool) :\n twoStageFeedback observation = observation", + "statement_sha256": "75f89290630a57d012e136cd01d1d94240a16367a659e62fb2bbd61234173b13" + }, + "FEP.ControlledMarkov.twoStageOpenLoopExpectedCost_eq_half": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[MeasurableSpace β]", - "type_source": "MeasurableSpace β", - "visibility": "instance" + "names": [ + "action" + ], + "role": "typed_binder", + "source": "(action : Bool)", + "type_source": "Bool", + "visibility": "explicit" + } + ], + "conclusion": "twoStageOpenLoopExpectedCost action = 1 / 2", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "State", + "Action", + "Observation", + "Belief" + ], + "role": "typed_binder", + "source": "{State Action Observation Belief : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[MeasurableSpace γ]", - "type_source": "MeasurableSpace γ", + "source": "[Fintype State]", + "type_source": "Fintype State", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace α]", - "type_source": "DiscreteMeasurableSpace α", + "source": "[Fintype Action]", + "type_source": "Fintype Action", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace β]", - "type_source": "DiscreteMeasurableSpace β", + "source": "[Fintype Observation]", + "type_source": "Fintype Observation", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace γ]", - "type_source": "DiscreteMeasurableSpace γ", + "source": "[Fintype Belief]", + "type_source": "Fintype Belief", "visibility": "instance" } ], "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.native_blanket", - "FepSketches.finite_information", - "Mathlib.InformationTheory.KullbackLeibler.DataProcessing", - "Mathlib.Probability.Decision.BayesEstimator", - "Mathlib.Probability.Decision.Risk.Basic" + "FepSketches.active_inference" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.DecisionRisk", + "namespace": "FEP.ControlledMarkov", "namespace_variable_context": [ - "{α β γ : Type*} [Fintype α] [Fintype β] [Fintype γ]\n [MeasurableSpace α] [MeasurableSpace β] [MeasurableSpace γ]\n [DiscreteMeasurableSpace α] [DiscreteMeasurableSpace β]\n [DiscreteMeasurableSpace γ]" + "{State Action Observation Belief : Type*}\n [Fintype State] [Fintype Action] [Fintype Observation] [Fintype Belief]" ], "preceding_scope_directives": [ { "directive": "omit", "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DiscreteMeasurableSpace α] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [MeasurableSpace α] [MeasurableSpace β]" + "source": "omit [Fintype State] in" } ], - "qualified_name": "FEP.DecisionRisk.joint_relativeSupport_productMarginals", - "source_line": 295, - "source_owner": "src/fep_lean/formal/decision_risk.lean", - "statement": "theorem joint_relativeSupport_productMarginals (joint : FiniteLaw (α × β)) :\n ∀ xy, joint xy ≠ 0 →\n 0 < (joint.fstMarginal.product joint.sndMarginal) xy", - "statement_sha256": "ceb5b7a4f5c76cd94a86483bb981e30ee0f8fad9ffeb2e1237591ae4f819625b" + "qualified_name": "FEP.ControlledMarkov.twoStageOpenLoopExpectedCost_eq_half", + "source_line": 637, + "source_owner": "src/fep_lean/formal/controlled_markov.lean", + "statement": "theorem twoStageOpenLoopExpectedCost_eq_half (action : Bool) :\n twoStageOpenLoopExpectedCost action = 1 / 2", + "statement_sha256": "cba609e57d77d1c26d861358a99fd1290dd33469780229e9f63a86b39fc70b5b" }, - "FEP.DecisionRisk.mutualInformation_mono_under_observationGarbling": { + "FEP.DecisionRisk.bayesRisk_mono_under_observationGarbling": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "prior" + "loss" ], "role": "typed_binder", - "source": "(prior : Measure Parameter)", - "type_source": "Measure Parameter", + "source": "(loss : Θ → Decision → ℝ≥0∞)", + "type_source": "Θ → Decision → ℝ≥0∞", "visibility": "explicit" }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[IsProbabilityMeasure prior]", - "type_source": "IsProbabilityMeasure prior", - "visibility": "instance" - }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ "experiment" ], "role": "typed_binder", - "source": "(experiment : Kernel Parameter Observation)", - "type_source": "Kernel Parameter Observation", + "source": "(experiment : Kernel Θ Observation)", + "type_source": "Kernel Θ Observation", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[IsMarkovKernel experiment]", - "type_source": "IsMarkovKernel experiment", - "visibility": "instance" + "names": [ + "prior" + ], + "role": "typed_binder", + "source": "(prior : Measure Θ)", + "type_source": "Measure Θ", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -43055,28 +44846,29 @@ "visibility": "instance" } ], - "conclusion": "nativeChannelMutualInformation prior (garbling ∘ₖ experiment) ≤\n nativeChannelMutualInformation prior experiment", + "conclusion": "ProbabilityTheory.bayesRisk loss experiment prior ≤\n ProbabilityTheory.bayesRisk loss (garbling ∘ₖ experiment) prior", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Parameter", + "Θ", "Observation", - "Garbled" + "Garbled", + "Decision" ], "role": "typed_binder", - "source": "{Parameter Observation Garbled : Type*}", + "source": "{Θ Observation Garbled Decision : Type*}", "type_source": "Type*", "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "mParameter" + "mΘ" ], "role": "typed_binder", - "source": "{mParameter : MeasurableSpace Parameter}", - "type_source": "MeasurableSpace Parameter", + "source": "{mΘ : MeasurableSpace Θ}", + "type_source": "MeasurableSpace Θ", "visibility": "implicit" }, { @@ -43098,6 +44890,16 @@ "source": "{mGarbled : MeasurableSpace Garbled}", "type_source": "MeasurableSpace Garbled", "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "mDecision" + ], + "role": "typed_binder", + "source": "{mDecision : MeasurableSpace Decision}", + "type_source": "MeasurableSpace Decision", + "visibility": "implicit" } ], "declaration_mentions": [], @@ -43112,56 +44914,48 @@ "line_coordinate_kind": "formal_resource_file", "namespace": "FEP.DecisionRisk", "namespace_variable_context": [ - "{Parameter Observation Garbled : Type*}\n {mParameter : MeasurableSpace Parameter}\n {mObservation : MeasurableSpace Observation}\n {mGarbled : MeasurableSpace Garbled}" + "{Θ Observation Garbled Decision : Type*}\n {mΘ : MeasurableSpace Θ} {mObservation : MeasurableSpace Observation}\n {mGarbled : MeasurableSpace Garbled} {mDecision : MeasurableSpace Decision}" ], "preceding_scope_directives": [ { "directive": "omit", "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", "source": "omit [DiscreteMeasurableSpace α] in" - } - ], - "qualified_name": "FEP.DecisionRisk.mutualInformation_mono_under_observationGarbling", - "source_line": 258, - "source_owner": "src/fep_lean/formal/decision_risk.lean", - "statement": "theorem mutualInformation_mono_under_observationGarbling\n (prior : Measure Parameter) [IsProbabilityMeasure prior]\n (experiment : Kernel Parameter Observation) [IsMarkovKernel experiment]\n (garbling : Kernel Observation Garbled) [IsMarkovKernel garbling] :\n nativeChannelMutualInformation prior (garbling ∘ₖ experiment) ≤\n nativeChannelMutualInformation prior experiment", - "statement_sha256": "912240be45a9936ed4213cb1463127d27c180cbb83a640429345141c0ebb9181" - }, - "FEP.DecisionRisk.nativeChannelMutualInformation_eq_finite": { - "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [ + }, { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "prior" - ], - "role": "typed_binder", - "source": "(prior : FiniteLaw α)", - "type_source": "FiniteLaw α", - "visibility": "explicit" + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [MeasurableSpace α] [MeasurableSpace β]" }, { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "experiment" - ], - "role": "typed_binder", - "source": "(experiment : FiniteKernel α β)", - "type_source": "FiniteKernel α β", - "visibility": "explicit" + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [MeasurableSpace α] [MeasurableSpace β]" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [MeasurableSpace α] [MeasurableSpace β]" } ], - "conclusion": "nativeChannelMutualInformation (embeddedLaw prior) (embeddedKernel experiment) =\n ENNReal.ofReal (mutualInformation (experiment.joint prior))", + "qualified_name": "FEP.DecisionRisk.bayesRisk_mono_under_observationGarbling", + "source_line": 416, + "source_owner": "src/fep_lean/formal/decision_risk.lean", + "statement": "theorem bayesRisk_mono_under_observationGarbling\n (loss : Θ → Decision → ℝ≥0∞) (experiment : Kernel Θ Observation)\n (prior : Measure Θ) (garbling : Kernel Observation Garbled)\n [IsMarkovKernel garbling] :\n ProbabilityTheory.bayesRisk loss experiment prior ≤\n ProbabilityTheory.bayesRisk loss (garbling ∘ₖ experiment) prior", + "statement_sha256": "9791b44afe63a080ae0c81f6856c1815f729c1a7ce9529c1050fdd840d298fa3" + }, + "FEP.DecisionRisk.boolPointMass_klDiv_eq_top": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [], + "conclusion": "InformationTheory.klDiv\n (embeddedLaw (FiniteLaw.pointMass true))\n (embeddedLaw (FiniteLaw.pointMass false)) = ∞", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "α", - "β", - "γ" + "α" ], "role": "typed_binder", - "source": "{α β γ : Type*}", + "source": "{α : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -43173,22 +44967,6 @@ "type_source": "Fintype α", "visibility": "instance" }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype β]", - "type_source": "Fintype β", - "visibility": "instance" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype γ]", - "type_source": "Fintype γ", - "visibility": "instance" - }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], @@ -43197,22 +44975,6 @@ "type_source": "MeasurableSpace α", "visibility": "instance" }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[MeasurableSpace β]", - "type_source": "MeasurableSpace β", - "visibility": "instance" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[MeasurableSpace γ]", - "type_source": "MeasurableSpace γ", - "visibility": "instance" - }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], @@ -43220,51 +44982,21 @@ "source": "[DiscreteMeasurableSpace α]", "type_source": "DiscreteMeasurableSpace α", "visibility": "instance" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace β]", - "type_source": "DiscreteMeasurableSpace β", - "visibility": "instance" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace γ]", - "type_source": "DiscreteMeasurableSpace γ", - "visibility": "instance" } ], "declaration_mentions": [ - { - "identifier": "channelJoint_fstMarginal", - "qualified_name": "FEP.DecisionRisk.channelJoint_fstMarginal", - "resolution": "exact or same-namespace source identifier", - "role": "proof_reference" - }, - { - "identifier": "embeddedJoint_klDiv_eq_mutualInformation", - "qualified_name": "FEP.DecisionRisk.embeddedJoint_klDiv_eq_mutualInformation", - "resolution": "exact or same-namespace source identifier", - "role": "proof_reference" - }, { "candidates": [ - "FEP.NativeBlanket.embeddedLaw_joint_eq_compProd" + "FEP.NativeBlanket.embeddedLaw_apply_singleton" ], - "identifier": "embeddedLaw_joint_eq_compProd", + "identifier": "embeddedLaw_apply_singleton", "resolution": "unresolved lexical scope", "role": "proof_reference" }, { - "candidates": [ - "FEP.NativeBlanket.embeddedPredictive_eq_comp" - ], - "identifier": "embeddedPredictive_eq_comp", - "resolution": "unresolved lexical scope", + "identifier": "weightedDirac_klDiv_eq_top_of_not_absolutelyContinuous", + "qualified_name": "FEP.DecisionRisk.weightedDirac_klDiv_eq_top_of_not_absolutelyContinuous", + "resolution": "exact or same-namespace source identifier", "role": "proof_reference" } ], @@ -43279,154 +45011,101 @@ "line_coordinate_kind": "formal_resource_file", "namespace": "FEP.DecisionRisk", "namespace_variable_context": [ - "{α β γ : Type*} [Fintype α] [Fintype β] [Fintype γ]\n [MeasurableSpace α] [MeasurableSpace β] [MeasurableSpace γ]\n [DiscreteMeasurableSpace α] [DiscreteMeasurableSpace β]\n [DiscreteMeasurableSpace γ]" + "{α : Type*} [Fintype α] [MeasurableSpace α]\n [DiscreteMeasurableSpace α]" ], "preceding_scope_directives": [ { "directive": "omit", "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", "source": "omit [DiscreteMeasurableSpace α] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [MeasurableSpace α] [MeasurableSpace β]" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [MeasurableSpace α] [MeasurableSpace β]" } ], - "qualified_name": "FEP.DecisionRisk.nativeChannelMutualInformation_eq_finite", - "source_line": 337, + "qualified_name": "FEP.DecisionRisk.boolPointMass_klDiv_eq_top", + "source_line": 145, "source_owner": "src/fep_lean/formal/decision_risk.lean", - "statement": "theorem nativeChannelMutualInformation_eq_finite\n (prior : FiniteLaw α) (experiment : FiniteKernel α β) :\n nativeChannelMutualInformation (embeddedLaw prior) (embeddedKernel experiment) =\n ENNReal.ofReal (mutualInformation (experiment.joint prior))", - "statement_sha256": "c6bc98a30287724d02c406019dfe209bf3f107815649551c74570283bb7afedb" + "statement": "theorem boolPointMass_klDiv_eq_top :\n InformationTheory.klDiv\n (embeddedLaw (FiniteLaw.pointMass true))\n (embeddedLaw (FiniteLaw.pointMass false)) = ∞", + "statement_sha256": "7205ef761122cde5308e63253838bcb48392e64c8172b7b4304a7bad82b3afc7" }, - "FEP.DecisionRisk.predictive_relativeSupport": { + "FEP.DecisionRisk.boolPrior_zeroOneRisk": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "actual", - "reference" + "report" ], "role": "typed_binder", - "source": "(actual reference : FiniteLaw α)", - "type_source": "FiniteLaw α", + "source": "(report : Bool)", + "type_source": "Bool", "visibility": "explicit" - }, + } + ], + "conclusion": "∫⁻ truth, boolZeroOneLoss truth report ∂boolPrior = 1 / 2", + "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "channel" + "Θ", + "Observation", + "Garbled", + "Decision" ], "role": "typed_binder", - "source": "(channel : FiniteKernel α β)", - "type_source": "FiniteKernel α β", - "visibility": "explicit" + "source": "{Θ Observation Garbled Decision : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "hsupport" + "mΘ" ], "role": "typed_binder", - "source": "(hsupport : ∀ x, actual x ≠ 0 → 0 < reference x)", - "type_source": "∀ x, actual x ≠ 0 → 0 < reference x", - "visibility": "explicit" - } - ], - "conclusion": "∀ y, channel.predictive actual y ≠ 0 →\n 0 < channel.predictive reference y", - "context_binders": [ + "source": "{mΘ : MeasurableSpace Θ}", + "type_source": "MeasurableSpace Θ", + "visibility": "implicit" + }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "α", - "β", - "γ" + "mObservation" ], "role": "typed_binder", - "source": "{α β γ : Type*}", - "type_source": "Type*", + "source": "{mObservation : MeasurableSpace Observation}", + "type_source": "MeasurableSpace Observation", "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype α]", - "type_source": "Fintype α", - "visibility": "instance" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype β]", - "type_source": "Fintype β", - "visibility": "instance" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype γ]", - "type_source": "Fintype γ", - "visibility": "instance" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[MeasurableSpace α]", - "type_source": "MeasurableSpace α", - "visibility": "instance" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[MeasurableSpace β]", - "type_source": "MeasurableSpace β", - "visibility": "instance" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[MeasurableSpace γ]", - "type_source": "MeasurableSpace γ", - "visibility": "instance" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace α]", - "type_source": "DiscreteMeasurableSpace α", - "visibility": "instance" + "names": [ + "mGarbled" + ], + "role": "typed_binder", + "source": "{mGarbled : MeasurableSpace Garbled}", + "type_source": "MeasurableSpace Garbled", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace β]", - "type_source": "DiscreteMeasurableSpace β", - "visibility": "instance" - }, + "names": [ + "mDecision" + ], + "role": "typed_binder", + "source": "{mDecision : MeasurableSpace Decision}", + "type_source": "MeasurableSpace Decision", + "visibility": "implicit" + } + ], + "declaration_mentions": [ { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace γ]", - "type_source": "DiscreteMeasurableSpace γ", - "visibility": "instance" + "candidates": [ + "FEP.NativeBlanket.embeddedLaw_apply_singleton" + ], + "identifier": "embeddedLaw_apply_singleton", + "resolution": "unresolved lexical scope", + "role": "proof_reference" } ], - "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ "FepSketches.native_blanket", @@ -43438,7 +45117,7 @@ "line_coordinate_kind": "formal_resource_file", "namespace": "FEP.DecisionRisk", "namespace_variable_context": [ - "{α β γ : Type*} [Fintype α] [Fintype β] [Fintype γ]\n [MeasurableSpace α] [MeasurableSpace β] [MeasurableSpace γ]\n [DiscreteMeasurableSpace α] [DiscreteMeasurableSpace β]\n [DiscreteMeasurableSpace γ]" + "{Θ Observation Garbled Decision : Type*}\n {mΘ : MeasurableSpace Θ} {mObservation : MeasurableSpace Observation}\n {mGarbled : MeasurableSpace Garbled} {mDecision : MeasurableSpace Decision}" ], "preceding_scope_directives": [ { @@ -43462,98 +45141,16 @@ "source": "omit [MeasurableSpace α] [MeasurableSpace β]" } ], - "qualified_name": "FEP.DecisionRisk.predictive_relativeSupport", - "source_line": 352, - "source_owner": "src/fep_lean/formal/decision_risk.lean", - "statement": "theorem predictive_relativeSupport (actual reference : FiniteLaw α)\n (channel : FiniteKernel α β)\n (hsupport : ∀ x, actual x ≠ 0 → 0 < reference x) :\n ∀ y, channel.predictive actual y ≠ 0 →\n 0 < channel.predictive reference y", - "statement_sha256": "e3da52d30cbaa404bdcc6c364b1cdde4dda3e72e59e5e88b2c2feca92c4ff37f" - }, - "FEP.DecisionRisk.properLogScore_excessRisk_eq_finiteKL_truth_report": { - "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [ - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "truth", - "report" - ], - "role": "typed_binder", - "source": "(truth report : FiniteLaw α)", - "type_source": "FiniteLaw α", - "visibility": "explicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "hreport" - ], - "role": "typed_binder", - "source": "(hreport : ∀ x, truth x ≠ 0 → 0 < report x)", - "type_source": "∀ x, truth x ≠ 0 → 0 < report x", - "visibility": "explicit" - } - ], - "conclusion": "properLogScoreExcessRisk truth report = finiteKL truth report", - "context_binders": [ - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "α" - ], - "role": "typed_binder", - "source": "{α : Type*}", - "type_source": "Type*", - "visibility": "implicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype α]", - "type_source": "Fintype α", - "visibility": "instance" - } - ], - "declaration_mentions": [ - { - "candidates": [ - "FEP.FiniteInformation.weighted_klFun_eq_log_score" - ], - "identifier": "weighted_klFun_eq_log_score", - "resolution": "unresolved lexical scope", - "role": "proof_reference" - } - ], - "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", - "import_context": [ - "FepSketches.native_blanket", - "FepSketches.finite_information", - "Mathlib.InformationTheory.KullbackLeibler.DataProcessing", - "Mathlib.Probability.Decision.BayesEstimator", - "Mathlib.Probability.Decision.Risk.Basic" - ], - "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.DecisionRisk", - "namespace_variable_context": [ - "{α : Type*} [Fintype α]" - ], - "preceding_scope_directives": [ - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DiscreteMeasurableSpace α] in" - } - ], - "qualified_name": "FEP.DecisionRisk.properLogScore_excessRisk_eq_finiteKL_truth_report", - "source_line": 180, + "qualified_name": "FEP.DecisionRisk.boolPrior_zeroOneRisk", + "source_line": 466, "source_owner": "src/fep_lean/formal/decision_risk.lean", - "statement": "theorem properLogScore_excessRisk_eq_finiteKL_truth_report\n (truth report : FiniteLaw α)\n (hreport : ∀ x, truth x ≠ 0 → 0 < report x) :\n properLogScoreExcessRisk truth report = finiteKL truth report", - "statement_sha256": "a70a1720be4370c18edbcb549bbfad6ce06d7b18af63a4b4aca75939567ec678" + "statement": "theorem boolPrior_zeroOneRisk (report : Bool) :\n ∫⁻ truth, boolZeroOneLoss truth report ∂boolPrior = 1 / 2", + "statement_sha256": "575505267a149f1a82bcbc2fba9e5dab5be18b79730e0b57ca6376f87d141e89" }, - "FEP.DecisionRisk.revealingBoolArgminEstimator": { + "FEP.DecisionRisk.boolZeroOneLoss_measurable": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [], - "conclusion": "IsArgminEstimator boolZeroOneLoss revealingBoolExperiment boolPrior id", + "conclusion": "Measurable (Function.uncurry boolZeroOneLoss)", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -43645,79 +45242,124 @@ "source": "omit [MeasurableSpace α] [MeasurableSpace β]" } ], - "qualified_name": "FEP.DecisionRisk.revealingBoolArgminEstimator", - "source_line": 475, + "qualified_name": "FEP.DecisionRisk.boolZeroOneLoss_measurable", + "source_line": 445, "source_owner": "src/fep_lean/formal/decision_risk.lean", - "statement": "theorem revealingBoolArgminEstimator :\n IsArgminEstimator boolZeroOneLoss revealingBoolExperiment boolPrior id", - "statement_sha256": "b1d9b279351bf9c4c38d43895393dfc2ef4b5581e9afd25bc24dcc35a3add012" + "statement": "theorem boolZeroOneLoss_measurable :\n Measurable (Function.uncurry boolZeroOneLoss)", + "statement_sha256": "7141d9e03e363c81a935632ac9e8c3c3fe2838108e07538b152e4478b1a2f677" }, - "FEP.DecisionRisk.revealingBool_bayesRisk_eq_zero": { + "FEP.DecisionRisk.channelJoint_fstMarginal": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [], - "conclusion": "bayesRisk boolZeroOneLoss revealingBoolExperiment boolPrior = 0", - "context_binders": [ + "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Θ", - "Observation", - "Garbled", - "Decision" + "prior" ], "role": "typed_binder", - "source": "{Θ Observation Garbled Decision : Type*}", - "type_source": "Type*", - "visibility": "implicit" + "source": "(prior : FiniteLaw α)", + "type_source": "FiniteLaw α", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "mΘ" + "experiment" ], "role": "typed_binder", - "source": "{mΘ : MeasurableSpace Θ}", - "type_source": "MeasurableSpace Θ", - "visibility": "implicit" - }, + "source": "(experiment : FiniteKernel α β)", + "type_source": "FiniteKernel α β", + "visibility": "explicit" + } + ], + "conclusion": "(experiment.joint prior).fstMarginal = prior", + "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "mObservation" + "α", + "β", + "γ" ], "role": "typed_binder", - "source": "{mObservation : MeasurableSpace Observation}", - "type_source": "MeasurableSpace Observation", + "source": "{α β γ : Type*}", + "type_source": "Type*", "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "mGarbled" - ], - "role": "typed_binder", - "source": "{mGarbled : MeasurableSpace Garbled}", - "type_source": "MeasurableSpace Garbled", - "visibility": "implicit" + "names": [], + "role": "instance_requirement", + "source": "[Fintype α]", + "type_source": "Fintype α", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "mDecision" - ], - "role": "typed_binder", - "source": "{mDecision : MeasurableSpace Decision}", - "type_source": "MeasurableSpace Decision", - "visibility": "implicit" - } - ], - "declaration_mentions": [ + "names": [], + "role": "instance_requirement", + "source": "[Fintype β]", + "type_source": "Fintype β", + "visibility": "instance" + }, { - "identifier": "revealingBool_isBayesEstimator", - "qualified_name": "FEP.DecisionRisk.revealingBool_isBayesEstimator", - "resolution": "exact or same-namespace source identifier", - "role": "proof_reference" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype γ]", + "type_source": "Fintype γ", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[MeasurableSpace α]", + "type_source": "MeasurableSpace α", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[MeasurableSpace β]", + "type_source": "MeasurableSpace β", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[MeasurableSpace γ]", + "type_source": "MeasurableSpace γ", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DiscreteMeasurableSpace α]", + "type_source": "DiscreteMeasurableSpace α", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DiscreteMeasurableSpace β]", + "type_source": "DiscreteMeasurableSpace β", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DiscreteMeasurableSpace γ]", + "type_source": "DiscreteMeasurableSpace γ", + "visibility": "instance" } ], + "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ "FepSketches.native_blanket", @@ -43729,7 +45371,7 @@ "line_coordinate_kind": "formal_resource_file", "namespace": "FEP.DecisionRisk", "namespace_variable_context": [ - "{Θ Observation Garbled Decision : Type*}\n {mΘ : MeasurableSpace Θ} {mObservation : MeasurableSpace Observation}\n {mGarbled : MeasurableSpace Garbled} {mDecision : MeasurableSpace Decision}" + "{α β γ : Type*} [Fintype α] [Fintype β] [Fintype γ]\n [MeasurableSpace α] [MeasurableSpace β] [MeasurableSpace γ]\n [DiscreteMeasurableSpace α] [DiscreteMeasurableSpace β]\n [DiscreteMeasurableSpace γ]" ], "preceding_scope_directives": [ { @@ -43742,92 +45384,135 @@ "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", "source": "omit [MeasurableSpace α] [MeasurableSpace β]" }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [MeasurableSpace α] [MeasurableSpace β]" - }, { "directive": "omit", "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", "source": "omit [MeasurableSpace α] [MeasurableSpace β]" } ], - "qualified_name": "FEP.DecisionRisk.revealingBool_bayesRisk_eq_zero", - "source_line": 493, + "qualified_name": "FEP.DecisionRisk.channelJoint_fstMarginal", + "source_line": 326, "source_owner": "src/fep_lean/formal/decision_risk.lean", - "statement": "theorem revealingBool_bayesRisk_eq_zero :\n bayesRisk boolZeroOneLoss revealingBoolExperiment boolPrior = 0", - "statement_sha256": "3eafce0c453c11e575eee8486d47986f1b7e5ce3ce4d5524ae7b86055907ab3f" + "statement": "theorem channelJoint_fstMarginal (prior : FiniteLaw α)\n (experiment : FiniteKernel α β) :\n (experiment.joint prior).fstMarginal = prior", + "statement_sha256": "500c79fc96e7e21187458248fee53b1868883abf3c68c74ec6cbb38290450b67" }, - "FEP.DecisionRisk.revealingBool_bayesRisk_lt_garbled": { + "FEP.DecisionRisk.embeddedJoint_klDiv_eq_mutualInformation": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [], - "conclusion": "bayesRisk boolZeroOneLoss revealingBoolExperiment boolPrior <\n bayesRisk boolZeroOneLoss garbledBoolExperiment boolPrior", - "context_binders": [ + "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Θ", - "Observation", - "Garbled", - "Decision" + "joint" ], "role": "typed_binder", - "source": "{Θ Observation Garbled Decision : Type*}", - "type_source": "Type*", - "visibility": "implicit" - }, + "source": "(joint : FiniteLaw (α × β))", + "type_source": "FiniteLaw (α × β)", + "visibility": "explicit" + } + ], + "conclusion": "InformationTheory.klDiv (embeddedLaw joint)\n ((embeddedLaw joint.fstMarginal).prod (embeddedLaw joint.sndMarginal)) =\n ENNReal.ofReal (mutualInformation joint)", + "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "mΘ" + "α", + "β", + "γ" ], "role": "typed_binder", - "source": "{mΘ : MeasurableSpace Θ}", - "type_source": "MeasurableSpace Θ", + "source": "{α β γ : Type*}", + "type_source": "Type*", "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "mObservation" - ], - "role": "typed_binder", - "source": "{mObservation : MeasurableSpace Observation}", - "type_source": "MeasurableSpace Observation", - "visibility": "implicit" + "names": [], + "role": "instance_requirement", + "source": "[Fintype α]", + "type_source": "Fintype α", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "mGarbled" - ], - "role": "typed_binder", - "source": "{mGarbled : MeasurableSpace Garbled}", - "type_source": "MeasurableSpace Garbled", - "visibility": "implicit" + "names": [], + "role": "instance_requirement", + "source": "[Fintype β]", + "type_source": "Fintype β", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "mDecision" - ], - "role": "typed_binder", - "source": "{mDecision : MeasurableSpace Decision}", - "type_source": "MeasurableSpace Decision", - "visibility": "implicit" + "names": [], + "role": "instance_requirement", + "source": "[Fintype γ]", + "type_source": "Fintype γ", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[MeasurableSpace α]", + "type_source": "MeasurableSpace α", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[MeasurableSpace β]", + "type_source": "MeasurableSpace β", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[MeasurableSpace γ]", + "type_source": "MeasurableSpace γ", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DiscreteMeasurableSpace α]", + "type_source": "DiscreteMeasurableSpace α", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DiscreteMeasurableSpace β]", + "type_source": "DiscreteMeasurableSpace β", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DiscreteMeasurableSpace γ]", + "type_source": "DiscreteMeasurableSpace γ", + "visibility": "instance" } ], "declaration_mentions": [ { - "identifier": "garbledBool_bayesRisk_eq_half", - "qualified_name": "FEP.DecisionRisk.garbledBool_bayesRisk_eq_half", + "identifier": "embeddedLaw_product", + "qualified_name": "FEP.DecisionRisk.embeddedLaw_product", "resolution": "exact or same-namespace source identifier", "role": "proof_reference" }, { - "identifier": "revealingBool_bayesRisk_eq_zero", - "qualified_name": "FEP.DecisionRisk.revealingBool_bayesRisk_eq_zero", + "identifier": "joint_relativeSupport_productMarginals", + "qualified_name": "FEP.DecisionRisk.joint_relativeSupport_productMarginals", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + }, + { + "identifier": "weightedDirac_klDiv_eq_finiteKL_of_relativeSupport", + "qualified_name": "FEP.DecisionRisk.weightedDirac_klDiv_eq_finiteKL_of_relativeSupport", "resolution": "exact or same-namespace source identifier", "role": "proof_reference" } @@ -43843,7 +45528,7 @@ "line_coordinate_kind": "formal_resource_file", "namespace": "FEP.DecisionRisk", "namespace_variable_context": [ - "{Θ Observation Garbled Decision : Type*}\n {mΘ : MeasurableSpace Θ} {mObservation : MeasurableSpace Observation}\n {mGarbled : MeasurableSpace Garbled} {mDecision : MeasurableSpace Decision}" + "{α β γ : Type*} [Fintype α] [Fintype β] [Fintype γ]\n [MeasurableSpace α] [MeasurableSpace β] [MeasurableSpace γ]\n [DiscreteMeasurableSpace α] [DiscreteMeasurableSpace β]\n [DiscreteMeasurableSpace γ]" ], "preceding_scope_directives": [ { @@ -43851,92 +45536,136 @@ "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", "source": "omit [DiscreteMeasurableSpace α] in" }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [MeasurableSpace α] [MeasurableSpace β]" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [MeasurableSpace α] [MeasurableSpace β]" - }, { "directive": "omit", "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", "source": "omit [MeasurableSpace α] [MeasurableSpace β]" } ], - "qualified_name": "FEP.DecisionRisk.revealingBool_bayesRisk_lt_garbled", - "source_line": 512, + "qualified_name": "FEP.DecisionRisk.embeddedJoint_klDiv_eq_mutualInformation", + "source_line": 314, "source_owner": "src/fep_lean/formal/decision_risk.lean", - "statement": "theorem revealingBool_bayesRisk_lt_garbled :\n bayesRisk boolZeroOneLoss revealingBoolExperiment boolPrior <\n bayesRisk boolZeroOneLoss garbledBoolExperiment boolPrior", - "statement_sha256": "6b9f29c6033f3c1a352d654d8c14da635f414fa6046fae217c2eba76759177fa" + "statement": "theorem embeddedJoint_klDiv_eq_mutualInformation\n (joint : FiniteLaw (α × β)) :\n InformationTheory.klDiv (embeddedLaw joint)\n ((embeddedLaw joint.fstMarginal).prod (embeddedLaw joint.sndMarginal)) =\n ENNReal.ofReal (mutualInformation joint)", + "statement_sha256": "20fb41dcce2ee6aa15830bf54b4c8ba6f093881877c2a491712f6dc3b2020f64" }, - "FEP.DecisionRisk.revealingBool_isBayesEstimator": { + "FEP.DecisionRisk.embeddedLaw_product": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [], - "conclusion": "IsBayesEstimator boolZeroOneLoss revealingBoolExperiment Kernel.id boolPrior", - "context_binders": [ + "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Θ", - "Observation", - "Garbled", - "Decision" + "p" ], "role": "typed_binder", - "source": "{Θ Observation Garbled Decision : Type*}", - "type_source": "Type*", - "visibility": "implicit" + "source": "(p : FiniteLaw α)", + "type_source": "FiniteLaw α", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "mΘ" + "q" ], "role": "typed_binder", - "source": "{mΘ : MeasurableSpace Θ}", - "type_source": "MeasurableSpace Θ", - "visibility": "implicit" - }, + "source": "(q : FiniteLaw β)", + "type_source": "FiniteLaw β", + "visibility": "explicit" + } + ], + "conclusion": "embeddedLaw (p.product q) = (embeddedLaw p).prod (embeddedLaw q)", + "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "mObservation" + "α", + "β", + "γ" ], "role": "typed_binder", - "source": "{mObservation : MeasurableSpace Observation}", - "type_source": "MeasurableSpace Observation", + "source": "{α β γ : Type*}", + "type_source": "Type*", "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "mGarbled" - ], - "role": "typed_binder", - "source": "{mGarbled : MeasurableSpace Garbled}", - "type_source": "MeasurableSpace Garbled", - "visibility": "implicit" + "names": [], + "role": "instance_requirement", + "source": "[Fintype α]", + "type_source": "Fintype α", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "mDecision" - ], - "role": "typed_binder", - "source": "{mDecision : MeasurableSpace Decision}", - "type_source": "MeasurableSpace Decision", - "visibility": "implicit" + "names": [], + "role": "instance_requirement", + "source": "[Fintype β]", + "type_source": "Fintype β", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype γ]", + "type_source": "Fintype γ", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[MeasurableSpace α]", + "type_source": "MeasurableSpace α", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[MeasurableSpace β]", + "type_source": "MeasurableSpace β", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[MeasurableSpace γ]", + "type_source": "MeasurableSpace γ", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DiscreteMeasurableSpace α]", + "type_source": "DiscreteMeasurableSpace α", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DiscreteMeasurableSpace β]", + "type_source": "DiscreteMeasurableSpace β", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DiscreteMeasurableSpace γ]", + "type_source": "DiscreteMeasurableSpace γ", + "visibility": "instance" } ], "declaration_mentions": [ { - "identifier": "boolZeroOneLoss_measurable", - "qualified_name": "FEP.DecisionRisk.boolZeroOneLoss_measurable", - "resolution": "exact or same-namespace source identifier", + "candidates": [ + "FEP.NativeBlanket.embeddedLaw_apply_singleton" + ], + "identifier": "embeddedLaw_apply_singleton", + "resolution": "unresolved lexical scope", "role": "proof_reference" } ], @@ -43951,37 +45680,22 @@ "line_coordinate_kind": "formal_resource_file", "namespace": "FEP.DecisionRisk", "namespace_variable_context": [ - "{Θ Observation Garbled Decision : Type*}\n {mΘ : MeasurableSpace Θ} {mObservation : MeasurableSpace Observation}\n {mGarbled : MeasurableSpace Garbled} {mDecision : MeasurableSpace Decision}" + "{α β γ : Type*} [Fintype α] [Fintype β] [Fintype γ]\n [MeasurableSpace α] [MeasurableSpace β] [MeasurableSpace γ]\n [DiscreteMeasurableSpace α] [DiscreteMeasurableSpace β]\n [DiscreteMeasurableSpace γ]" ], "preceding_scope_directives": [ { "directive": "omit", "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", "source": "omit [DiscreteMeasurableSpace α] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [MeasurableSpace α] [MeasurableSpace β]" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [MeasurableSpace α] [MeasurableSpace β]" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [MeasurableSpace α] [MeasurableSpace β]" } ], - "qualified_name": "FEP.DecisionRisk.revealingBool_isBayesEstimator", - "source_line": 486, + "qualified_name": "FEP.DecisionRisk.embeddedLaw_product", + "source_line": 279, "source_owner": "src/fep_lean/formal/decision_risk.lean", - "statement": "theorem revealingBool_isBayesEstimator :\n IsBayesEstimator boolZeroOneLoss revealingBoolExperiment Kernel.id boolPrior", - "statement_sha256": "19c1fc738f7d1ba211b166a00ff937df36c81281618513109caa1f83c22c7e65" + "statement": "theorem embeddedLaw_product (p : FiniteLaw α) (q : FiniteLaw β) :\n embeddedLaw (p.product q) = (embeddedLaw p).prod (embeddedLaw q)", + "statement_sha256": "b5c15fb5f446e3b12e3838e241b2461236530f177a5ff0c3a66418935c62bc1a" }, - "FEP.DecisionRisk.weightedDirac_klDiv_eq_finiteKL_of_fullSupport": { + "FEP.DecisionRisk.embeddedLaw_withDensity_ratio": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { @@ -44006,7 +45720,7 @@ "visibility": "explicit" } ], - "conclusion": "InformationTheory.klDiv (embeddedLaw p) (embeddedLaw q) =\n ENNReal.ofReal (finiteKL p q)", + "conclusion": "(embeddedLaw q).withDensity\n (fun x => ENNReal.ofReal (p x / q x)) = embeddedLaw p", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -44051,12 +45765,6 @@ "identifier": "embeddedLaw_apply_singleton", "resolution": "unresolved lexical scope", "role": "proof_reference" - }, - { - "identifier": "embeddedLaw_withDensity_ratio", - "qualified_name": "FEP.DecisionRisk.embeddedLaw_withDensity_ratio", - "resolution": "exact or same-namespace source identifier", - "role": "proof_reference" } ], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", @@ -44073,13 +45781,13 @@ "{α : Type*} [Fintype α] [MeasurableSpace α]\n [DiscreteMeasurableSpace α]" ], "preceding_scope_directives": [], - "qualified_name": "FEP.DecisionRisk.weightedDirac_klDiv_eq_finiteKL_of_fullSupport", - "source_line": 104, + "qualified_name": "FEP.DecisionRisk.embeddedLaw_withDensity_ratio", + "source_line": 89, "source_owner": "src/fep_lean/formal/decision_risk.lean", - "statement": "theorem weightedDirac_klDiv_eq_finiteKL_of_fullSupport\n (p q : FiniteLaw α) (hq : ∀ x, 0 < q x) :\n InformationTheory.klDiv (embeddedLaw p) (embeddedLaw q) =\n ENNReal.ofReal (finiteKL p q)", - "statement_sha256": "703569f68de9b9092f83f615787418ece25bb98202d82e2df705e874f97d208a" + "statement": "theorem embeddedLaw_withDensity_ratio (p q : FiniteLaw α)\n (hq : ∀ x, 0 < q x) :\n (embeddedLaw q).withDensity\n (fun x => ENNReal.ofReal (p x / q x)) = embeddedLaw p", + "statement_sha256": "f12ef23cda6ab799533d1e03ef01dca9764d16f72defd8951da34a6c735701ce" }, - "FEP.DecisionRisk.weightedDirac_klDiv_eq_finiteKL_of_relativeSupport": { + "FEP.DecisionRisk.embeddedLaw_withDensity_ratio_of_relativeSupport": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { @@ -44104,7 +45812,7 @@ "visibility": "explicit" } ], - "conclusion": "InformationTheory.klDiv (embeddedLaw p) (embeddedLaw q) =\n ENNReal.ofReal (finiteKL p q)", + "conclusion": "(embeddedLaw q).withDensity\n (fun x => ENNReal.ofReal (p x / q x)) = embeddedLaw p", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -44149,12 +45857,6 @@ "identifier": "embeddedLaw_apply_singleton", "resolution": "unresolved lexical scope", "role": "proof_reference" - }, - { - "identifier": "embeddedLaw_withDensity_ratio_of_relativeSupport", - "qualified_name": "FEP.DecisionRisk.embeddedLaw_withDensity_ratio_of_relativeSupport", - "resolution": "exact or same-namespace source identifier", - "role": "proof_reference" } ], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", @@ -44171,38 +45873,16 @@ "{α : Type*} [Fintype α] [MeasurableSpace α]\n [DiscreteMeasurableSpace α]" ], "preceding_scope_directives": [], - "qualified_name": "FEP.DecisionRisk.weightedDirac_klDiv_eq_finiteKL_of_relativeSupport", - "source_line": 54, + "qualified_name": "FEP.DecisionRisk.embeddedLaw_withDensity_ratio_of_relativeSupport", + "source_line": 33, "source_owner": "src/fep_lean/formal/decision_risk.lean", - "statement": "theorem weightedDirac_klDiv_eq_finiteKL_of_relativeSupport\n (p q : FiniteLaw α) (hsupport : ∀ x, p x ≠ 0 → 0 < q x) :\n InformationTheory.klDiv (embeddedLaw p) (embeddedLaw q) =\n ENNReal.ofReal (finiteKL p q)", - "statement_sha256": "5bb042b816a921998ee560133c2274e1c7cbdf8d3dd91119704722ad5baee1b9" + "statement": "theorem embeddedLaw_withDensity_ratio_of_relativeSupport (p q : FiniteLaw α)\n (hsupport : ∀ x, p x ≠ 0 → 0 < q x) :\n (embeddedLaw q).withDensity\n (fun x => ENNReal.ofReal (p x / q x)) = embeddedLaw p", + "statement_sha256": "f5b6070b3f180ffcde944939913274707342d01faa2199866ad7a7f2fef5fd61" }, - "FEP.DecisionRisk.weightedDirac_klDiv_eq_top_of_not_absolutelyContinuous": { + "FEP.DecisionRisk.finiteKL_asymmetric_bool": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [ - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "p", - "q" - ], - "role": "typed_binder", - "source": "(p q : FiniteLaw α)", - "type_source": "FiniteLaw α", - "visibility": "explicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "hNotAC" - ], - "role": "typed_binder", - "source": "(hNotAC : ¬ embeddedLaw p ≪ embeddedLaw q)", - "type_source": "¬ embeddedLaw p ≪ embeddedLaw q", - "visibility": "explicit" - } - ], - "conclusion": "InformationTheory.klDiv (embeddedLaw p) (embeddedLaw q) = ∞", + "binders": [], + "conclusion": "finiteKL asymmetricBoolTruth asymmetricBoolReport ≠\n finiteKL asymmetricBoolReport asymmetricBoolTruth", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -44221,22 +45901,6 @@ "source": "[Fintype α]", "type_source": "Fintype α", "visibility": "instance" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[MeasurableSpace α]", - "type_source": "MeasurableSpace α", - "visibility": "instance" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace α]", - "type_source": "DiscreteMeasurableSpace α", - "visibility": "instance" } ], "declaration_mentions": [], @@ -44251,7 +45915,7 @@ "line_coordinate_kind": "formal_resource_file", "namespace": "FEP.DecisionRisk", "namespace_variable_context": [ - "{α : Type*} [Fintype α] [MeasurableSpace α]\n [DiscreteMeasurableSpace α]" + "{α : Type*} [Fintype α]" ], "preceding_scope_directives": [ { @@ -44260,60 +45924,58 @@ "source": "omit [DiscreteMeasurableSpace α] in" } ], - "qualified_name": "FEP.DecisionRisk.weightedDirac_klDiv_eq_top_of_not_absolutelyContinuous", - "source_line": 139, + "qualified_name": "FEP.DecisionRisk.finiteKL_asymmetric_bool", + "source_line": 217, "source_owner": "src/fep_lean/formal/decision_risk.lean", - "statement": "theorem weightedDirac_klDiv_eq_top_of_not_absolutelyContinuous\n (p q : FiniteLaw α) (hNotAC : ¬ embeddedLaw p ≪ embeddedLaw q) :\n InformationTheory.klDiv (embeddedLaw p) (embeddedLaw q) = ∞", - "statement_sha256": "e13d0b70df731d0af7e5b8971026bdd95e1252fe9d6943d1a14a53333fcff65c" + "statement": "theorem finiteKL_asymmetric_bool :\n finiteKL asymmetricBoolTruth asymmetricBoolReport ≠\n finiteKL asymmetricBoolReport asymmetricBoolTruth", + "statement_sha256": "1eb597e2bf76d2dec840e4a11dcfdaf055099a017eb1bbb0a8f7c9666fb82e75" }, - "FEP.EFEPolicy.argminEFE_eq_risk_add_ambiguity": { + "FEP.DecisionRisk.finiteKL_mono_under_channel_of_relativeSupport": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "model" + "actual", + "reference" ], "role": "typed_binder", - "source": "(model : GenerativeModel Policy State Outcome)", - "type_source": "GenerativeModel Policy State Outcome", + "source": "(actual reference : FiniteLaw α)", + "type_source": "FiniteLaw α", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "support" + "channel" ], "role": "typed_binder", - "source": "(support : FullSupport model)", - "type_source": "FullSupport model", + "source": "(channel : FiniteKernel α β)", + "type_source": "FiniteKernel α β", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "policy" + "hsupport" ], "role": "typed_binder", - "source": "(policy : Policy)", - "type_source": "Policy", + "source": "(hsupport : ∀ x, actual x ≠ 0 → 0 < reference x)", + "type_source": "∀ x, actual x ≠ 0 → 0 < reference x", "visibility": "explicit" } ], - "conclusion": "(∀ alternative : Policy,\n expectedFreeEnergy model policy ≤ expectedFreeEnergy model alternative) ↔\n (∀ alternative : Policy,\n risk model policy + ambiguity model policy ≤\n risk model alternative + ambiguity model alternative)", + "conclusion": "finiteKL (channel.predictive actual) (channel.predictive reference) ≤\n finiteKL actual reference", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Action", - "State", - "Outcome", - "Policy", - "Belief", - "Observation" + "α", + "β", + "γ" ], "role": "typed_binder", - "source": "{Action State Outcome Policy Belief Observation : Type*}", + "source": "{α β γ : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -44321,147 +45983,191 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Action]", - "type_source": "Fintype Action", + "source": "[Fintype α]", + "type_source": "Fintype α", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype State]", - "type_source": "Fintype State", + "source": "[Fintype β]", + "type_source": "Fintype β", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Outcome]", - "type_source": "Fintype Outcome", + "source": "[Fintype γ]", + "type_source": "Fintype γ", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Policy]", - "type_source": "Fintype Policy", + "source": "[MeasurableSpace α]", + "type_source": "MeasurableSpace α", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Belief]", - "type_source": "Fintype Belief", + "source": "[MeasurableSpace β]", + "type_source": "MeasurableSpace β", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Observation]", - "type_source": "Fintype Observation", + "source": "[MeasurableSpace γ]", + "type_source": "MeasurableSpace γ", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DiscreteMeasurableSpace α]", + "type_source": "DiscreteMeasurableSpace α", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DiscreteMeasurableSpace β]", + "type_source": "DiscreteMeasurableSpace β", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DiscreteMeasurableSpace γ]", + "type_source": "DiscreteMeasurableSpace γ", "visibility": "instance" } ], "declaration_mentions": [ { "candidates": [ - "FEP.ActiveInference.expectedFreeEnergy_eq_risk_add_ambiguity" + "FEP.NativeBlanket.embeddedPredictive_eq_comp" ], - "identifier": "expectedFreeEnergy_eq_risk_add_ambiguity", + "identifier": "embeddedPredictive_eq_comp", + "resolution": "unresolved lexical scope", + "role": "proof_reference" + }, + { + "candidates": [ + "FEP.FiniteInformation.finiteKL_nonneg" + ], + "identifier": "finiteKL_nonneg", "resolution": "unresolved lexical scope", "role": "proof_reference" + }, + { + "identifier": "predictive_relativeSupport", + "qualified_name": "FEP.DecisionRisk.predictive_relativeSupport", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + }, + { + "identifier": "weightedDirac_klDiv_eq_finiteKL_of_relativeSupport", + "qualified_name": "FEP.DecisionRisk.weightedDirac_klDiv_eq_finiteKL_of_relativeSupport", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" } ], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.controlled_markov", - "FepSketches.policy_tree", - "FepSketches.variational_duality" + "FepSketches.native_blanket", + "FepSketches.finite_information", + "Mathlib.InformationTheory.KullbackLeibler.DataProcessing", + "Mathlib.Probability.Decision.BayesEstimator", + "Mathlib.Probability.Decision.Risk.Basic" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.EFEPolicy", + "namespace": "FEP.DecisionRisk", "namespace_variable_context": [ - "{Action State Outcome Policy Belief Observation : Type*}\n [Fintype Action] [Fintype State] [Fintype Outcome] [Fintype Policy]\n [Fintype Belief] [Fintype Observation]" + "{α β γ : Type*} [Fintype α] [Fintype β] [Fintype γ]\n [MeasurableSpace α] [MeasurableSpace β] [MeasurableSpace γ]\n [DiscreteMeasurableSpace α] [DiscreteMeasurableSpace β]\n [DiscreteMeasurableSpace γ]" ], - "preceding_scope_directives": [], - "qualified_name": "FEP.EFEPolicy.argminEFE_eq_risk_add_ambiguity", - "source_line": 187, - "source_owner": "src/fep_lean/formal/efe_policy_selection.lean", - "statement": "theorem argminEFE_eq_risk_add_ambiguity\n (model : GenerativeModel Policy State Outcome) (support : FullSupport model)\n (policy : Policy) :\n (∀ alternative : Policy,\n expectedFreeEnergy model policy ≤ expectedFreeEnergy model alternative) ↔\n (∀ alternative : Policy,\n risk model policy + ambiguity model policy ≤\n risk model alternative + ambiguity model alternative)", - "statement_sha256": "325b27522fab300f7e526a62e51cbfa57d2a6d703b3df8793c17fcda71943de1" - }, - "FEP.EFEPolicy.boltzmann_control_posterior_minimal_value": { - "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [ + "preceding_scope_directives": [ { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "prior" - ], - "role": "typed_binder", - "source": "(prior : FiniteLaw Action)", - "type_source": "FiniteLaw Action", - "visibility": "explicit" + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DiscreteMeasurableSpace α] in" }, { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "prior_pos" - ], - "role": "typed_binder", - "source": "(prior_pos : ∀ policy, 0 < prior policy)", - "type_source": "∀ policy, 0 < prior policy", - "visibility": "explicit" + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [MeasurableSpace α] [MeasurableSpace β]" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [MeasurableSpace α] [MeasurableSpace β]" }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [MeasurableSpace α] [MeasurableSpace β]" + } + ], + "qualified_name": "FEP.DecisionRisk.finiteKL_mono_under_channel_of_relativeSupport", + "source_line": 379, + "source_owner": "src/fep_lean/formal/decision_risk.lean", + "statement": "theorem finiteKL_mono_under_channel_of_relativeSupport\n (actual reference : FiniteLaw α) (channel : FiniteKernel α β)\n (hsupport : ∀ x, actual x ≠ 0 → 0 < reference x) :\n finiteKL (channel.predictive actual) (channel.predictive reference) ≤\n finiteKL actual reference", + "statement_sha256": "c8ad9c552196b0a2c8193a93971e98ecaa01a805a89635acafd642f8913614e6" + }, + "FEP.DecisionRisk.finiteMutualInformation_mono_under_observationGarbling": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "γ" + "prior" ], "role": "typed_binder", - "source": "(γ : ℝ)", - "type_source": "ℝ", + "source": "(prior : FiniteLaw α)", + "type_source": "FiniteLaw α", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "hγ" + "experiment" ], "role": "typed_binder", - "source": "(hγ : 0 < γ)", - "type_source": "0 < γ", + "source": "(experiment : FiniteKernel α β)", + "type_source": "FiniteKernel α β", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "cost" + "garbling" ], "role": "typed_binder", - "source": "(cost : Action → ℝ)", - "type_source": "Action → ℝ", + "source": "(garbling : FiniteKernel β γ)", + "type_source": "FiniteKernel β γ", "visibility": "explicit" } ], - "conclusion": "efeControlObjective prior γ cost (controlPosterior prior γ cost) =\n -(γ⁻¹ * Real.log (efeControlPartition prior γ cost))", + "conclusion": "mutualInformation ((FiniteKernel.comp garbling experiment).joint prior) ≤\n mutualInformation (experiment.joint prior)", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Action", - "State", - "Outcome", - "Policy", - "Belief", - "Observation" + "α", + "β", + "γ" ], "role": "typed_binder", - "source": "{Action State Outcome Policy Belief Observation : Type*}", + "source": "{α β γ : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -44469,163 +46175,285 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Action]", - "type_source": "Fintype Action", + "source": "[Fintype α]", + "type_source": "Fintype α", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype State]", - "type_source": "Fintype State", + "source": "[Fintype β]", + "type_source": "Fintype β", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Outcome]", - "type_source": "Fintype Outcome", + "source": "[Fintype γ]", + "type_source": "Fintype γ", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Policy]", - "type_source": "Fintype Policy", + "source": "[MeasurableSpace α]", + "type_source": "MeasurableSpace α", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Belief]", - "type_source": "Fintype Belief", + "source": "[MeasurableSpace β]", + "type_source": "MeasurableSpace β", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Observation]", - "type_source": "Fintype Observation", + "source": "[MeasurableSpace γ]", + "type_source": "MeasurableSpace γ", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DiscreteMeasurableSpace α]", + "type_source": "DiscreteMeasurableSpace α", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DiscreteMeasurableSpace β]", + "type_source": "DiscreteMeasurableSpace β", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DiscreteMeasurableSpace γ]", + "type_source": "DiscreteMeasurableSpace γ", "visibility": "instance" } ], "declaration_mentions": [ { - "identifier": "efeControlObjective_eq_kl_sub_logPartition", - "qualified_name": "FEP.EFEPolicy.efeControlObjective_eq_kl_sub_logPartition", + "candidates": [ + "FEP.NativeBlanket.embeddedKernel_comp" + ], + "identifier": "embeddedKernel_comp", + "resolution": "unresolved lexical scope", + "role": "proof_reference" + }, + { + "identifier": "mutualInformation_mono_under_observationGarbling", + "qualified_name": "FEP.DecisionRisk.mutualInformation_mono_under_observationGarbling", "resolution": "exact or same-namespace source identifier", "role": "proof_reference" }, { "candidates": [ - "FEP.FiniteInformation.finiteKL_self" + "FEP.FiniteInformation.mutualInformation_nonneg" ], - "identifier": "finiteKL_self", + "identifier": "mutualInformation_nonneg", "resolution": "unresolved lexical scope", "role": "proof_reference" + }, + { + "identifier": "nativeChannelMutualInformation_eq_finite", + "qualified_name": "FEP.DecisionRisk.nativeChannelMutualInformation_eq_finite", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" } ], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.controlled_markov", - "FepSketches.policy_tree", - "FepSketches.variational_duality" + "FepSketches.native_blanket", + "FepSketches.finite_information", + "Mathlib.InformationTheory.KullbackLeibler.DataProcessing", + "Mathlib.Probability.Decision.BayesEstimator", + "Mathlib.Probability.Decision.Risk.Basic" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.EFEPolicy", + "namespace": "FEP.DecisionRisk", "namespace_variable_context": [ - "{Action State Outcome Policy Belief Observation : Type*}\n [Fintype Action] [Fintype State] [Fintype Outcome] [Fintype Policy]\n [Fintype Belief] [Fintype Observation]" + "{α β γ : Type*} [Fintype α] [Fintype β] [Fintype γ]\n [MeasurableSpace α] [MeasurableSpace β] [MeasurableSpace γ]\n [DiscreteMeasurableSpace α] [DiscreteMeasurableSpace β]\n [DiscreteMeasurableSpace γ]" ], - "preceding_scope_directives": [], - "qualified_name": "FEP.EFEPolicy.boltzmann_control_posterior_minimal_value", - "source_line": 172, - "source_owner": "src/fep_lean/formal/efe_policy_selection.lean", - "statement": "theorem boltzmann_control_posterior_minimal_value (prior : FiniteLaw Action)\n (prior_pos : ∀ policy, 0 < prior policy) (γ : ℝ) (hγ : 0 < γ)\n (cost : Action → ℝ) :\n efeControlObjective prior γ cost (controlPosterior prior γ cost) =\n -(γ⁻¹ * Real.log (efeControlPartition prior γ cost))", - "statement_sha256": "b2986682f1ff302dee8e3fbaba6b9f31529c607b6e9139c837b122d83aede1c6" + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DiscreteMeasurableSpace α] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [MeasurableSpace α] [MeasurableSpace β]" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [MeasurableSpace α] [MeasurableSpace β]" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [MeasurableSpace α] [MeasurableSpace β]" + } + ], + "qualified_name": "FEP.DecisionRisk.finiteMutualInformation_mono_under_observationGarbling", + "source_line": 395, + "source_owner": "src/fep_lean/formal/decision_risk.lean", + "statement": "theorem finiteMutualInformation_mono_under_observationGarbling\n (prior : FiniteLaw α) (experiment : FiniteKernel α β)\n (garbling : FiniteKernel β γ) :\n mutualInformation ((FiniteKernel.comp garbling experiment).joint prior) ≤\n mutualInformation (experiment.joint prior)", + "statement_sha256": "4bd54f87800f214c7161f8941852fbc0422abc0c9f61bf5f51aa9c3d3b711207" }, - "FEP.EFEPolicy.boltzmann_control_posterior_minimizes_efe": { + "FEP.DecisionRisk.garbledBool_bayesRisk_eq_half": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [ + "binders": [], + "conclusion": "bayesRisk boolZeroOneLoss garbledBoolExperiment boolPrior = 1 / 2", + "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "prior" + "Θ", + "Observation", + "Garbled", + "Decision" ], "role": "typed_binder", - "source": "(prior : FiniteLaw Action)", - "type_source": "FiniteLaw Action", - "visibility": "explicit" + "source": "{Θ Observation Garbled Decision : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "prior_pos" + "mΘ" ], "role": "typed_binder", - "source": "(prior_pos : ∀ policy, 0 < prior policy)", - "type_source": "∀ policy, 0 < prior policy", - "visibility": "explicit" + "source": "{mΘ : MeasurableSpace Θ}", + "type_source": "MeasurableSpace Θ", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "γ" + "mObservation" ], "role": "typed_binder", - "source": "(γ : ℝ)", - "type_source": "ℝ", - "visibility": "explicit" + "source": "{mObservation : MeasurableSpace Observation}", + "type_source": "MeasurableSpace Observation", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "hγ" + "mGarbled" ], "role": "typed_binder", - "source": "(hγ : 0 < γ)", - "type_source": "0 < γ", - "visibility": "explicit" + "source": "{mGarbled : MeasurableSpace Garbled}", + "type_source": "MeasurableSpace Garbled", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "cost" + "mDecision" ], "role": "typed_binder", - "source": "(cost : Action → ℝ)", - "type_source": "Action → ℝ", - "visibility": "explicit" + "source": "{mDecision : MeasurableSpace Decision}", + "type_source": "MeasurableSpace Decision", + "visibility": "implicit" + } + ], + "declaration_mentions": [ + { + "identifier": "boolPrior_zeroOneRisk", + "qualified_name": "FEP.DecisionRisk.boolPrior_zeroOneRisk", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + }, + { + "identifier": "boolZeroOneLoss_measurable", + "qualified_name": "FEP.DecisionRisk.boolZeroOneLoss_measurable", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + } + ], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.native_blanket", + "FepSketches.finite_information", + "Mathlib.InformationTheory.KullbackLeibler.DataProcessing", + "Mathlib.Probability.Decision.BayesEstimator", + "Mathlib.Probability.Decision.Risk.Basic" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.DecisionRisk", + "namespace_variable_context": [ + "{Θ Observation Garbled Decision : Type*}\n {mΘ : MeasurableSpace Θ} {mObservation : MeasurableSpace Observation}\n {mGarbled : MeasurableSpace Garbled} {mDecision : MeasurableSpace Decision}" + ], + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DiscreteMeasurableSpace α] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [MeasurableSpace α] [MeasurableSpace β]" }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [MeasurableSpace α] [MeasurableSpace β]" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [MeasurableSpace α] [MeasurableSpace β]" + } + ], + "qualified_name": "FEP.DecisionRisk.garbledBool_bayesRisk_eq_half", + "source_line": 502, + "source_owner": "src/fep_lean/formal/decision_risk.lean", + "statement": "theorem garbledBool_bayesRisk_eq_half :\n bayesRisk boolZeroOneLoss garbledBoolExperiment boolPrior = 1 / 2", + "statement_sha256": "f710912db85c5d1a0332caedfee89807846f09718bab0b21204f76bec834a82a" + }, + "FEP.DecisionRisk.joint_relativeSupport_productMarginals": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Q" + "joint" ], "role": "typed_binder", - "source": "(Q : FiniteLaw Action)", - "type_source": "FiniteLaw Action", + "source": "(joint : FiniteLaw (α × β))", + "type_source": "FiniteLaw (α × β)", "visibility": "explicit" } ], - "conclusion": "efeControlObjective prior γ cost (controlPosterior prior γ cost) ≤\n efeControlObjective prior γ cost Q ∧\n (efeControlObjective prior γ cost Q =\n efeControlObjective prior γ cost (controlPosterior prior γ cost) ↔\n Q = controlPosterior prior γ cost)", + "conclusion": "∀ xy, joint xy ≠ 0 →\n 0 < (joint.fstMarginal.product joint.sndMarginal) xy", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Action", - "State", - "Outcome", - "Policy", - "Belief", - "Observation" + "α", + "β", + "γ" ], "role": "typed_binder", - "source": "{Action State Outcome Policy Belief Observation : Type*}", + "source": "{α β γ : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -44633,94 +46461,108 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Action]", - "type_source": "Fintype Action", + "source": "[Fintype α]", + "type_source": "Fintype α", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype State]", - "type_source": "Fintype State", + "source": "[Fintype β]", + "type_source": "Fintype β", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Outcome]", - "type_source": "Fintype Outcome", + "source": "[Fintype γ]", + "type_source": "Fintype γ", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Policy]", - "type_source": "Fintype Policy", + "source": "[MeasurableSpace α]", + "type_source": "MeasurableSpace α", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Belief]", - "type_source": "Fintype Belief", + "source": "[MeasurableSpace β]", + "type_source": "MeasurableSpace β", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Observation]", - "type_source": "Fintype Observation", + "source": "[MeasurableSpace γ]", + "type_source": "MeasurableSpace γ", "visibility": "instance" - } - ], - "declaration_mentions": [ + }, { - "identifier": "efeControlObjective_sub_eq_kl", - "qualified_name": "FEP.EFEPolicy.efeControlObjective_sub_eq_kl", - "resolution": "exact or same-namespace source identifier", - "role": "proof_reference" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DiscreteMeasurableSpace α]", + "type_source": "DiscreteMeasurableSpace α", + "visibility": "instance" }, { - "candidates": [ - "FEP.FiniteInformation.finiteKL_eq_zero_iff" - ], - "identifier": "finiteKL_eq_zero_iff", - "resolution": "unresolved lexical scope", - "role": "proof_reference" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DiscreteMeasurableSpace β]", + "type_source": "DiscreteMeasurableSpace β", + "visibility": "instance" }, { - "candidates": [ - "FEP.FiniteInformation.finiteKL_nonneg" - ], - "identifier": "finiteKL_nonneg", - "resolution": "unresolved lexical scope", - "role": "proof_reference" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DiscreteMeasurableSpace γ]", + "type_source": "DiscreteMeasurableSpace γ", + "visibility": "instance" } ], + "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.controlled_markov", - "FepSketches.policy_tree", - "FepSketches.variational_duality" + "FepSketches.native_blanket", + "FepSketches.finite_information", + "Mathlib.InformationTheory.KullbackLeibler.DataProcessing", + "Mathlib.Probability.Decision.BayesEstimator", + "Mathlib.Probability.Decision.Risk.Basic" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.EFEPolicy", + "namespace": "FEP.DecisionRisk", "namespace_variable_context": [ - "{Action State Outcome Policy Belief Observation : Type*}\n [Fintype Action] [Fintype State] [Fintype Outcome] [Fintype Policy]\n [Fintype Belief] [Fintype Observation]" + "{α β γ : Type*} [Fintype α] [Fintype β] [Fintype γ]\n [MeasurableSpace α] [MeasurableSpace β] [MeasurableSpace γ]\n [DiscreteMeasurableSpace α] [DiscreteMeasurableSpace β]\n [DiscreteMeasurableSpace γ]" ], - "preceding_scope_directives": [], - "qualified_name": "FEP.EFEPolicy.boltzmann_control_posterior_minimizes_efe", - "source_line": 142, - "source_owner": "src/fep_lean/formal/efe_policy_selection.lean", - "statement": "theorem boltzmann_control_posterior_minimizes_efe (prior : FiniteLaw Action)\n (prior_pos : ∀ policy, 0 < prior policy) (γ : ℝ) (hγ : 0 < γ)\n (cost : Action → ℝ) (Q : FiniteLaw Action) :\n efeControlObjective prior γ cost (controlPosterior prior γ cost) ≤\n efeControlObjective prior γ cost Q ∧\n (efeControlObjective prior γ cost Q =\n efeControlObjective prior γ cost (controlPosterior prior γ cost) ↔\n Q = controlPosterior prior γ cost)", - "statement_sha256": "a733f638c6d5ce49cb9ded2e638af2453f04ff850caf6cde282b25c4d5dfa6f8" + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DiscreteMeasurableSpace α] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [MeasurableSpace α] [MeasurableSpace β]" + } + ], + "qualified_name": "FEP.DecisionRisk.joint_relativeSupport_productMarginals", + "source_line": 295, + "source_owner": "src/fep_lean/formal/decision_risk.lean", + "statement": "theorem joint_relativeSupport_productMarginals (joint : FiniteLaw (α × β)) :\n ∀ xy, joint xy ≠ 0 →\n 0 < (joint.fstMarginal.product joint.sndMarginal) xy", + "statement_sha256": "ceb5b7a4f5c76cd94a86483bb981e30ee0f8fad9ffeb2e1237591ae4f819625b" }, - "FEP.EFEPolicy.efeControlObjective_eq_gibbsFreeEnergy": { + "FEP.DecisionRisk.mutualInformation_mono_under_observationGarbling": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { @@ -44729,147 +46571,128 @@ "prior" ], "role": "typed_binder", - "source": "(prior : FiniteLaw Action)", - "type_source": "FiniteLaw Action", + "source": "(prior : Measure Parameter)", + "type_source": "Measure Parameter", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "prior_pos" - ], - "role": "typed_binder", - "source": "(prior_pos : ∀ policy, 0 < prior policy)", - "type_source": "∀ policy, 0 < prior policy", - "visibility": "explicit" + "names": [], + "role": "instance_requirement", + "source": "[IsProbabilityMeasure prior]", + "type_source": "IsProbabilityMeasure prior", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "γ" + "experiment" ], "role": "typed_binder", - "source": "(γ : ℝ)", - "type_source": "ℝ", + "source": "(experiment : Kernel Parameter Observation)", + "type_source": "Kernel Parameter Observation", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "hγ" - ], - "role": "typed_binder", - "source": "(hγ : 0 < γ)", - "type_source": "0 < γ", - "visibility": "explicit" + "names": [], + "role": "instance_requirement", + "source": "[IsMarkovKernel experiment]", + "type_source": "IsMarkovKernel experiment", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "cost" + "garbling" ], "role": "typed_binder", - "source": "(cost : Action → ℝ)", - "type_source": "Action → ℝ", + "source": "(garbling : Kernel Observation Garbled)", + "type_source": "Kernel Observation Garbled", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "Q" - ], - "role": "typed_binder", - "source": "(Q : FiniteLaw Action)", - "type_source": "FiniteLaw Action", - "visibility": "explicit" + "names": [], + "role": "instance_requirement", + "source": "[IsMarkovKernel garbling]", + "type_source": "IsMarkovKernel garbling", + "visibility": "instance" } ], - "conclusion": "efeControlObjective prior γ cost Q =\n γ⁻¹ * gibbsFreeEnergy (efeGibbsCertificate prior prior_pos γ cost) Q", + "conclusion": "nativeChannelMutualInformation prior (garbling ∘ₖ experiment) ≤\n nativeChannelMutualInformation prior experiment", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Action", - "State", - "Outcome", - "Policy", - "Belief", - "Observation" + "Parameter", + "Observation", + "Garbled" ], "role": "typed_binder", - "source": "{Action State Outcome Policy Belief Observation : Type*}", + "source": "{Parameter Observation Garbled : Type*}", "type_source": "Type*", "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype Action]", - "type_source": "Fintype Action", - "visibility": "instance" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype State]", - "type_source": "Fintype State", - "visibility": "instance" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype Outcome]", - "type_source": "Fintype Outcome", - "visibility": "instance" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype Policy]", - "type_source": "Fintype Policy", - "visibility": "instance" + "names": [ + "mParameter" + ], + "role": "typed_binder", + "source": "{mParameter : MeasurableSpace Parameter}", + "type_source": "MeasurableSpace Parameter", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype Belief]", - "type_source": "Fintype Belief", - "visibility": "instance" + "names": [ + "mObservation" + ], + "role": "typed_binder", + "source": "{mObservation : MeasurableSpace Observation}", + "type_source": "MeasurableSpace Observation", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype Observation]", - "type_source": "Fintype Observation", - "visibility": "instance" + "names": [ + "mGarbled" + ], + "role": "typed_binder", + "source": "{mGarbled : MeasurableSpace Garbled}", + "type_source": "MeasurableSpace Garbled", + "visibility": "implicit" } ], "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.controlled_markov", - "FepSketches.policy_tree", - "FepSketches.variational_duality" + "FepSketches.native_blanket", + "FepSketches.finite_information", + "Mathlib.InformationTheory.KullbackLeibler.DataProcessing", + "Mathlib.Probability.Decision.BayesEstimator", + "Mathlib.Probability.Decision.Risk.Basic" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.EFEPolicy", + "namespace": "FEP.DecisionRisk", "namespace_variable_context": [ - "{Action State Outcome Policy Belief Observation : Type*}\n [Fintype Action] [Fintype State] [Fintype Outcome] [Fintype Policy]\n [Fintype Belief] [Fintype Observation]" + "{Parameter Observation Garbled : Type*}\n {mParameter : MeasurableSpace Parameter}\n {mObservation : MeasurableSpace Observation}\n {mGarbled : MeasurableSpace Garbled}" ], - "preceding_scope_directives": [], - "qualified_name": "FEP.EFEPolicy.efeControlObjective_eq_gibbsFreeEnergy", - "source_line": 82, - "source_owner": "src/fep_lean/formal/efe_policy_selection.lean", - "statement": "theorem efeControlObjective_eq_gibbsFreeEnergy (prior : FiniteLaw Action)\n (prior_pos : ∀ policy, 0 < prior policy) (γ : ℝ) (hγ : 0 < γ)\n (cost : Action → ℝ) (Q : FiniteLaw Action) :\n efeControlObjective prior γ cost Q =\n γ⁻¹ * gibbsFreeEnergy (efeGibbsCertificate prior prior_pos γ cost) Q", - "statement_sha256": "47d6f14bc2f8035cd39998a94ba50d2a6b1a4be92ac12b5313d90234a748aaa7" + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DiscreteMeasurableSpace α] in" + } + ], + "qualified_name": "FEP.DecisionRisk.mutualInformation_mono_under_observationGarbling", + "source_line": 258, + "source_owner": "src/fep_lean/formal/decision_risk.lean", + "statement": "theorem mutualInformation_mono_under_observationGarbling\n (prior : Measure Parameter) [IsProbabilityMeasure prior]\n (experiment : Kernel Parameter Observation) [IsMarkovKernel experiment]\n (garbling : Kernel Observation Garbled) [IsMarkovKernel garbling] :\n nativeChannelMutualInformation prior (garbling ∘ₖ experiment) ≤\n nativeChannelMutualInformation prior experiment", + "statement_sha256": "912240be45a9936ed4213cb1463127d27c180cbb83a640429345141c0ebb9181" }, - "FEP.EFEPolicy.efeControlObjective_eq_kl_sub_logPartition": { + "FEP.DecisionRisk.nativeChannelMutualInformation_eq_finite": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { @@ -44878,239 +46701,220 @@ "prior" ], "role": "typed_binder", - "source": "(prior : FiniteLaw Action)", - "type_source": "FiniteLaw Action", + "source": "(prior : FiniteLaw α)", + "type_source": "FiniteLaw α", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "prior_pos" + "experiment" ], "role": "typed_binder", - "source": "(prior_pos : ∀ policy, 0 < prior policy)", - "type_source": "∀ policy, 0 < prior policy", + "source": "(experiment : FiniteKernel α β)", + "type_source": "FiniteKernel α β", "visibility": "explicit" - }, + } + ], + "conclusion": "nativeChannelMutualInformation (embeddedLaw prior) (embeddedKernel experiment) =\n ENNReal.ofReal (mutualInformation (experiment.joint prior))", + "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ + "α", + "β", "γ" ], "role": "typed_binder", - "source": "(γ : ℝ)", - "type_source": "ℝ", - "visibility": "explicit" + "source": "{α β γ : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "hγ" - ], - "role": "typed_binder", - "source": "(hγ : 0 < γ)", - "type_source": "0 < γ", - "visibility": "explicit" + "names": [], + "role": "instance_requirement", + "source": "[Fintype α]", + "type_source": "Fintype α", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "cost" - ], - "role": "typed_binder", - "source": "(cost : Action → ℝ)", - "type_source": "Action → ℝ", - "visibility": "explicit" + "names": [], + "role": "instance_requirement", + "source": "[Fintype β]", + "type_source": "Fintype β", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "Q" - ], - "role": "typed_binder", - "source": "(Q : FiniteLaw Action)", - "type_source": "FiniteLaw Action", - "visibility": "explicit" - } - ], - "conclusion": "efeControlObjective prior γ cost Q =\n γ⁻¹ * (finiteKL Q (controlPosterior prior γ cost) -\n Real.log (efeControlPartition prior γ cost))", - "context_binders": [ - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "Action", - "State", - "Outcome", - "Policy", - "Belief", - "Observation" - ], - "role": "typed_binder", - "source": "{Action State Outcome Policy Belief Observation : Type*}", - "type_source": "Type*", - "visibility": "implicit" + "names": [], + "role": "instance_requirement", + "source": "[Fintype γ]", + "type_source": "Fintype γ", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Action]", - "type_source": "Fintype Action", + "source": "[MeasurableSpace α]", + "type_source": "MeasurableSpace α", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype State]", - "type_source": "Fintype State", + "source": "[MeasurableSpace β]", + "type_source": "MeasurableSpace β", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Outcome]", - "type_source": "Fintype Outcome", + "source": "[MeasurableSpace γ]", + "type_source": "MeasurableSpace γ", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Policy]", - "type_source": "Fintype Policy", + "source": "[DiscreteMeasurableSpace α]", + "type_source": "DiscreteMeasurableSpace α", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Belief]", - "type_source": "Fintype Belief", + "source": "[DiscreteMeasurableSpace β]", + "type_source": "DiscreteMeasurableSpace β", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Observation]", - "type_source": "Fintype Observation", + "source": "[DiscreteMeasurableSpace γ]", + "type_source": "DiscreteMeasurableSpace γ", "visibility": "instance" } ], "declaration_mentions": [ + { + "identifier": "channelJoint_fstMarginal", + "qualified_name": "FEP.DecisionRisk.channelJoint_fstMarginal", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + }, + { + "identifier": "embeddedJoint_klDiv_eq_mutualInformation", + "qualified_name": "FEP.DecisionRisk.embeddedJoint_klDiv_eq_mutualInformation", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + }, { "candidates": [ - "FEP.VariationalDuality.dvObjective_eq_logPartition_sub_kl" + "FEP.NativeBlanket.embeddedLaw_joint_eq_compProd" ], - "identifier": "dvObjective_eq_logPartition_sub_kl", + "identifier": "embeddedLaw_joint_eq_compProd", "resolution": "unresolved lexical scope", "role": "proof_reference" }, { - "identifier": "efeControlObjective_eq_gibbsFreeEnergy", - "qualified_name": "FEP.EFEPolicy.efeControlObjective_eq_gibbsFreeEnergy", - "resolution": "exact or same-namespace source identifier", + "candidates": [ + "FEP.NativeBlanket.embeddedPredictive_eq_comp" + ], + "identifier": "embeddedPredictive_eq_comp", + "resolution": "unresolved lexical scope", "role": "proof_reference" } ], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.controlled_markov", - "FepSketches.policy_tree", - "FepSketches.variational_duality" + "FepSketches.native_blanket", + "FepSketches.finite_information", + "Mathlib.InformationTheory.KullbackLeibler.DataProcessing", + "Mathlib.Probability.Decision.BayesEstimator", + "Mathlib.Probability.Decision.Risk.Basic" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.EFEPolicy", + "namespace": "FEP.DecisionRisk", "namespace_variable_context": [ - "{Action State Outcome Policy Belief Observation : Type*}\n [Fintype Action] [Fintype State] [Fintype Outcome] [Fintype Policy]\n [Fintype Belief] [Fintype Observation]" + "{α β γ : Type*} [Fintype α] [Fintype β] [Fintype γ]\n [MeasurableSpace α] [MeasurableSpace β] [MeasurableSpace γ]\n [DiscreteMeasurableSpace α] [DiscreteMeasurableSpace β]\n [DiscreteMeasurableSpace γ]" ], - "preceding_scope_directives": [], - "qualified_name": "FEP.EFEPolicy.efeControlObjective_eq_kl_sub_logPartition", - "source_line": 103, - "source_owner": "src/fep_lean/formal/efe_policy_selection.lean", - "statement": "theorem efeControlObjective_eq_kl_sub_logPartition (prior : FiniteLaw Action)\n (prior_pos : ∀ policy, 0 < prior policy) (γ : ℝ) (hγ : 0 < γ)\n (cost : Action → ℝ) (Q : FiniteLaw Action) :\n efeControlObjective prior γ cost Q =\n γ⁻¹ * (finiteKL Q (controlPosterior prior γ cost) -\n Real.log (efeControlPartition prior γ cost))", - "statement_sha256": "91681f54a3e1ba1998e1b5b6313f21e9148f5f1a2160deaff4b91d9d1ef3c96d" - }, - "FEP.EFEPolicy.efeControlObjective_sub_eq_kl": { - "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [ + "preceding_scope_directives": [ { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "prior" - ], - "role": "typed_binder", - "source": "(prior : FiniteLaw Action)", - "type_source": "FiniteLaw Action", - "visibility": "explicit" + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DiscreteMeasurableSpace α] in" }, { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "prior_pos" - ], - "role": "typed_binder", - "source": "(prior_pos : ∀ policy, 0 < prior policy)", - "type_source": "∀ policy, 0 < prior policy", - "visibility": "explicit" + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [MeasurableSpace α] [MeasurableSpace β]" }, { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "γ" - ], - "role": "typed_binder", - "source": "(γ : ℝ)", - "type_source": "ℝ", - "visibility": "explicit" - }, + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [MeasurableSpace α] [MeasurableSpace β]" + } + ], + "qualified_name": "FEP.DecisionRisk.nativeChannelMutualInformation_eq_finite", + "source_line": 337, + "source_owner": "src/fep_lean/formal/decision_risk.lean", + "statement": "theorem nativeChannelMutualInformation_eq_finite\n (prior : FiniteLaw α) (experiment : FiniteKernel α β) :\n nativeChannelMutualInformation (embeddedLaw prior) (embeddedKernel experiment) =\n ENNReal.ofReal (mutualInformation (experiment.joint prior))", + "statement_sha256": "c6bc98a30287724d02c406019dfe209bf3f107815649551c74570283bb7afedb" + }, + "FEP.DecisionRisk.predictive_relativeSupport": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "hγ" + "actual", + "reference" ], "role": "typed_binder", - "source": "(hγ : 0 < γ)", - "type_source": "0 < γ", + "source": "(actual reference : FiniteLaw α)", + "type_source": "FiniteLaw α", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "cost" + "channel" ], "role": "typed_binder", - "source": "(cost : Action → ℝ)", - "type_source": "Action → ℝ", + "source": "(channel : FiniteKernel α β)", + "type_source": "FiniteKernel α β", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Q" + "hsupport" ], "role": "typed_binder", - "source": "(Q : FiniteLaw Action)", - "type_source": "FiniteLaw Action", + "source": "(hsupport : ∀ x, actual x ≠ 0 → 0 < reference x)", + "type_source": "∀ x, actual x ≠ 0 → 0 < reference x", "visibility": "explicit" } ], - "conclusion": "efeControlObjective prior γ cost Q -\n efeControlObjective prior γ cost (controlPosterior prior γ cost) =\n γ⁻¹ * finiteKL Q (controlPosterior prior γ cost)", + "conclusion": "∀ y, channel.predictive actual y ≠ 0 →\n 0 < channel.predictive reference y", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Action", - "State", - "Outcome", - "Policy", - "Belief", - "Observation" + "α", + "β", + "γ" ], "role": "typed_binder", - "source": "{Action State Outcome Policy Belief Observation : Type*}", + "source": "{α β γ : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -45118,257 +46922,151 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Action]", - "type_source": "Fintype Action", + "source": "[Fintype α]", + "type_source": "Fintype α", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype State]", - "type_source": "Fintype State", + "source": "[Fintype β]", + "type_source": "Fintype β", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Outcome]", - "type_source": "Fintype Outcome", + "source": "[Fintype γ]", + "type_source": "Fintype γ", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Policy]", - "type_source": "Fintype Policy", + "source": "[MeasurableSpace α]", + "type_source": "MeasurableSpace α", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Belief]", - "type_source": "Fintype Belief", + "source": "[MeasurableSpace β]", + "type_source": "MeasurableSpace β", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Observation]", - "type_source": "Fintype Observation", + "source": "[MeasurableSpace γ]", + "type_source": "MeasurableSpace γ", "visibility": "instance" - } - ], - "declaration_mentions": [ - { - "identifier": "efeControlObjective_eq_kl_sub_logPartition", - "qualified_name": "FEP.EFEPolicy.efeControlObjective_eq_kl_sub_logPartition", - "resolution": "exact or same-namespace source identifier", - "role": "proof_reference" - }, - { - "candidates": [ - "FEP.FiniteInformation.finiteKL_self" - ], - "identifier": "finiteKL_self", - "resolution": "unresolved lexical scope", - "role": "proof_reference" - } - ], - "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", - "import_context": [ - "FepSketches.controlled_markov", - "FepSketches.policy_tree", - "FepSketches.variational_duality" - ], - "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.EFEPolicy", - "namespace_variable_context": [ - "{Action State Outcome Policy Belief Observation : Type*}\n [Fintype Action] [Fintype State] [Fintype Outcome] [Fintype Policy]\n [Fintype Belief] [Fintype Observation]" - ], - "preceding_scope_directives": [], - "qualified_name": "FEP.EFEPolicy.efeControlObjective_sub_eq_kl", - "source_line": 125, - "source_owner": "src/fep_lean/formal/efe_policy_selection.lean", - "statement": "theorem efeControlObjective_sub_eq_kl (prior : FiniteLaw Action)\n (prior_pos : ∀ policy, 0 < prior policy) (γ : ℝ) (hγ : 0 < γ)\n (cost : Action → ℝ) (Q : FiniteLaw Action) :\n efeControlObjective prior γ cost Q -\n efeControlObjective prior γ cost (controlPosterior prior γ cost) =\n γ⁻¹ * finiteKL Q (controlPosterior prior γ cost)", - "statement_sha256": "016f021b1599e7627fe7cbcbe2267ee0f0290d2e073e47c2721d5dcfaf320091" - }, - "FEP.EFEPolicy.exists_EFE_minimizing_policy": { - "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [ - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "model" - ], - "role": "typed_binder", - "source": "(model : GenerativeModel Policy State Outcome)", - "type_source": "GenerativeModel Policy State Outcome", - "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Nonempty Policy]", - "type_source": "Nonempty Policy", + "source": "[DiscreteMeasurableSpace α]", + "type_source": "DiscreteMeasurableSpace α", "visibility": "instance" - } - ], - "conclusion": "∃ policy : Policy, ∀ alternative : Policy,\n expectedFreeEnergy model policy ≤ expectedFreeEnergy model alternative", - "context_binders": [ - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "Action", - "State", - "Outcome", - "Policy", - "Belief", - "Observation" - ], - "role": "typed_binder", - "source": "{Action State Outcome Policy Belief Observation : Type*}", - "type_source": "Type*", - "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Action]", - "type_source": "Fintype Action", + "source": "[DiscreteMeasurableSpace β]", + "type_source": "DiscreteMeasurableSpace β", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype State]", - "type_source": "Fintype State", + "source": "[DiscreteMeasurableSpace γ]", + "type_source": "DiscreteMeasurableSpace γ", "visibility": "instance" - }, + } + ], + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.native_blanket", + "FepSketches.finite_information", + "Mathlib.InformationTheory.KullbackLeibler.DataProcessing", + "Mathlib.Probability.Decision.BayesEstimator", + "Mathlib.Probability.Decision.Risk.Basic" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.DecisionRisk", + "namespace_variable_context": [ + "{α β γ : Type*} [Fintype α] [Fintype β] [Fintype γ]\n [MeasurableSpace α] [MeasurableSpace β] [MeasurableSpace γ]\n [DiscreteMeasurableSpace α] [DiscreteMeasurableSpace β]\n [DiscreteMeasurableSpace γ]" + ], + "preceding_scope_directives": [ { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype Outcome]", - "type_source": "Fintype Outcome", - "visibility": "instance" + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DiscreteMeasurableSpace α] in" }, { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype Policy]", - "type_source": "Fintype Policy", - "visibility": "instance" + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [MeasurableSpace α] [MeasurableSpace β]" }, { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype Belief]", - "type_source": "Fintype Belief", - "visibility": "instance" + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [MeasurableSpace α] [MeasurableSpace β]" }, { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype Observation]", - "type_source": "Fintype Observation", - "visibility": "instance" - } - ], - "declaration_mentions": [ - { - "candidates": [ - "FEP.ControlledMarkov.exists_finite_minimizer" - ], - "identifier": "exists_finite_minimizer", - "resolution": "unresolved lexical scope", - "role": "proof_reference" + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [MeasurableSpace α] [MeasurableSpace β]" } ], - "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", - "import_context": [ - "FepSketches.controlled_markov", - "FepSketches.policy_tree", - "FepSketches.variational_duality" - ], - "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.EFEPolicy", - "namespace_variable_context": [ - "{Action State Outcome Policy Belief Observation : Type*}\n [Fintype Action] [Fintype State] [Fintype Outcome] [Fintype Policy]\n [Fintype Belief] [Fintype Observation]" - ], - "preceding_scope_directives": [], - "qualified_name": "FEP.EFEPolicy.exists_EFE_minimizing_policy", - "source_line": 221, - "source_owner": "src/fep_lean/formal/efe_policy_selection.lean", - "statement": "theorem exists_EFE_minimizing_policy\n (model : GenerativeModel Policy State Outcome) [Nonempty Policy] :\n ∃ policy : Policy, ∀ alternative : Policy,\n expectedFreeEnergy model policy ≤ expectedFreeEnergy model alternative", - "statement_sha256": "08deb4dfa80c7321cf6a38c050182a1b1bba8e591d439cae1e9fc634b12218bc" + "qualified_name": "FEP.DecisionRisk.predictive_relativeSupport", + "source_line": 352, + "source_owner": "src/fep_lean/formal/decision_risk.lean", + "statement": "theorem predictive_relativeSupport (actual reference : FiniteLaw α)\n (channel : FiniteKernel α β)\n (hsupport : ∀ x, actual x ≠ 0 → 0 < reference x) :\n ∀ y, channel.predictive actual y ≠ 0 →\n 0 < channel.predictive reference y", + "statement_sha256": "e3da52d30cbaa404bdcc6c364b1cdde4dda3e72e59e5e88b2c2feca92c4ff37f" }, - "FEP.EFEPolicy.finiteArgminEFE_minimizes_risk_add_ambiguity": { + "FEP.DecisionRisk.properLogScore_excessRisk_eq_finiteKL_truth_report": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "model" - ], - "role": "typed_binder", - "source": "(model : GenerativeModel Policy State Outcome)", - "type_source": "GenerativeModel Policy State Outcome", - "visibility": "explicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "support" + "truth", + "report" ], "role": "typed_binder", - "source": "(support : FullSupport model)", - "type_source": "FullSupport model", + "source": "(truth report : FiniteLaw α)", + "type_source": "FiniteLaw α", "visibility": "explicit" }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Nonempty Policy]", - "type_source": "Nonempty Policy", - "visibility": "instance" - }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "alternative" + "hreport" ], "role": "typed_binder", - "source": "(alternative : Policy)", - "type_source": "Policy", + "source": "(hreport : ∀ x, truth x ≠ 0 → 0 < report x)", + "type_source": "∀ x, truth x ≠ 0 → 0 < report x", "visibility": "explicit" } ], - "conclusion": "risk model (finiteArgmin (expectedFreeEnergy model)) +\n ambiguity model (finiteArgmin (expectedFreeEnergy model)) ≤\n risk model alternative + ambiguity model alternative", + "conclusion": "properLogScoreExcessRisk truth report = finiteKL truth report", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Action", - "State", - "Outcome", - "Policy", - "Belief", - "Observation" + "α" ], "role": "typed_binder", - "source": "{Action State Outcome Policy Belief Observation : Type*}", + "source": "{α : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -45376,460 +47074,520 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Action]", - "type_source": "Fintype Action", - "visibility": "instance" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype State]", - "type_source": "Fintype State", - "visibility": "instance" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype Outcome]", - "type_source": "Fintype Outcome", - "visibility": "instance" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype Policy]", - "type_source": "Fintype Policy", - "visibility": "instance" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype Belief]", - "type_source": "Fintype Belief", - "visibility": "instance" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype Observation]", - "type_source": "Fintype Observation", + "source": "[Fintype α]", + "type_source": "Fintype α", "visibility": "instance" } ], "declaration_mentions": [ { "candidates": [ - "FEP.ActiveInference.expectedFreeEnergy_eq_risk_add_ambiguity" + "FEP.CollectiveInference.crossEntropy_self_eq_entropy" ], - "identifier": "expectedFreeEnergy_eq_risk_add_ambiguity", + "identifier": "crossEntropy_self_eq_entropy", "resolution": "unresolved lexical scope", "role": "proof_reference" }, { "candidates": [ - "FEP.ControlledMarkov.finiteArgmin_le" + "FEP.FiniteInformation.weighted_klFun_eq_log_score" ], - "identifier": "finiteArgmin_le", + "identifier": "weighted_klFun_eq_log_score", "resolution": "unresolved lexical scope", "role": "proof_reference" } ], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.controlled_markov", - "FepSketches.policy_tree", - "FepSketches.variational_duality" + "FepSketches.native_blanket", + "FepSketches.finite_information", + "Mathlib.InformationTheory.KullbackLeibler.DataProcessing", + "Mathlib.Probability.Decision.BayesEstimator", + "Mathlib.Probability.Decision.Risk.Basic" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.EFEPolicy", + "namespace": "FEP.DecisionRisk", "namespace_variable_context": [ - "{Action State Outcome Policy Belief Observation : Type*}\n [Fintype Action] [Fintype State] [Fintype Outcome] [Fintype Policy]\n [Fintype Belief] [Fintype Observation]" + "{α : Type*} [Fintype α]" ], - "preceding_scope_directives": [], - "qualified_name": "FEP.EFEPolicy.finiteArgminEFE_minimizes_risk_add_ambiguity", - "source_line": 208, - "source_owner": "src/fep_lean/formal/efe_policy_selection.lean", - "statement": "theorem finiteArgminEFE_minimizes_risk_add_ambiguity\n (model : GenerativeModel Policy State Outcome) (support : FullSupport model)\n [Nonempty Policy] (alternative : Policy) :\n risk model (finiteArgmin (expectedFreeEnergy model)) +\n ambiguity model (finiteArgmin (expectedFreeEnergy model)) ≤\n risk model alternative + ambiguity model alternative", - "statement_sha256": "295e7d88b5d13905027d7de7efc561913397081095fc9a78619048ec46b46c0c" + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DiscreteMeasurableSpace α] in" + } + ], + "qualified_name": "FEP.DecisionRisk.properLogScore_excessRisk_eq_finiteKL_truth_report", + "source_line": 180, + "source_owner": "src/fep_lean/formal/decision_risk.lean", + "statement": "theorem properLogScore_excessRisk_eq_finiteKL_truth_report\n (truth report : FiniteLaw α)\n (hreport : ∀ x, truth x ≠ 0 → 0 < report x) :\n properLogScoreExcessRisk truth report = finiteKL truth report", + "statement_sha256": "a70a1720be4370c18edbcb549bbfad6ce06d7b18af63a4b4aca75939567ec678" }, - "FEP.EFEPolicy.policyTree_value_agreement": { + "FEP.DecisionRisk.revealingBoolArgminEstimator": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [ - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Nonempty Action]", - "type_source": "Nonempty Action", - "visibility": "instance" - }, + "binders": [], + "conclusion": "IsArgminEstimator boolZeroOneLoss revealingBoolExperiment boolPrior id", + "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "model" + "Θ", + "Observation", + "Garbled", + "Decision" ], "role": "typed_binder", - "source": "(model : EFEPolicyTreeModel Belief State Action Observation)", - "type_source": "EFEPolicyTreeModel Belief State Action Observation", - "visibility": "explicit" + "source": "{Θ Observation Garbled Decision : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "depth" + "mΘ" ], "role": "typed_binder", - "source": "(depth : ℕ)", - "type_source": "ℕ", - "visibility": "explicit" + "source": "{mΘ : MeasurableSpace Θ}", + "type_source": "MeasurableSpace Θ", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "belief" + "mObservation" ], "role": "typed_binder", - "source": "(belief : Belief)", - "type_source": "Belief", - "visibility": "explicit" - } - ], - "conclusion": "policyTreeValue (riskAmbiguityPolicyTreeModel model)\n (optimalPolicyTree (efePolicyTreeModel model) depth belief) belief =\n optimalTreeValue (riskAmbiguityPolicyTreeModel model) depth belief ∧\n policyTreeValue (efePolicyTreeModel model)\n (optimalPolicyTree (riskAmbiguityPolicyTreeModel model) depth belief)\n belief =\n optimalTreeValue (efePolicyTreeModel model) depth belief", - "context_binders": [ + "source": "{mObservation : MeasurableSpace Observation}", + "type_source": "MeasurableSpace Observation", + "visibility": "implicit" + }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Action", - "State", - "Outcome", - "Policy", - "Belief", - "Observation" + "mGarbled" ], "role": "typed_binder", - "source": "{Action State Outcome Policy Belief Observation : Type*}", - "type_source": "Type*", + "source": "{mGarbled : MeasurableSpace Garbled}", + "type_source": "MeasurableSpace Garbled", "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype Action]", - "type_source": "Fintype Action", - "visibility": "instance" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype State]", - "type_source": "Fintype State", - "visibility": "instance" - }, + "names": [ + "mDecision" + ], + "role": "typed_binder", + "source": "{mDecision : MeasurableSpace Decision}", + "type_source": "MeasurableSpace Decision", + "visibility": "implicit" + } + ], + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.native_blanket", + "FepSketches.finite_information", + "Mathlib.InformationTheory.KullbackLeibler.DataProcessing", + "Mathlib.Probability.Decision.BayesEstimator", + "Mathlib.Probability.Decision.Risk.Basic" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.DecisionRisk", + "namespace_variable_context": [ + "{Θ Observation Garbled Decision : Type*}\n {mΘ : MeasurableSpace Θ} {mObservation : MeasurableSpace Observation}\n {mGarbled : MeasurableSpace Garbled} {mDecision : MeasurableSpace Decision}" + ], + "preceding_scope_directives": [ { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype Outcome]", - "type_source": "Fintype Outcome", - "visibility": "instance" + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DiscreteMeasurableSpace α] in" }, { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype Policy]", - "type_source": "Fintype Policy", - "visibility": "instance" + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [MeasurableSpace α] [MeasurableSpace β]" }, { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype Belief]", - "type_source": "Fintype Belief", - "visibility": "instance" + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [MeasurableSpace α] [MeasurableSpace β]" }, { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype Observation]", - "type_source": "Fintype Observation", - "visibility": "instance" + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [MeasurableSpace α] [MeasurableSpace β]" } ], - "declaration_mentions": [ + "qualified_name": "FEP.DecisionRisk.revealingBoolArgminEstimator", + "source_line": 475, + "source_owner": "src/fep_lean/formal/decision_risk.lean", + "statement": "theorem revealingBoolArgminEstimator :\n IsArgminEstimator boolZeroOneLoss revealingBoolExperiment boolPrior id", + "statement_sha256": "b1d9b279351bf9c4c38d43895393dfc2ef4b5581e9afd25bc24dcc35a3add012" + }, + "FEP.DecisionRisk.revealingBool_bayesRisk_eq_zero": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [], + "conclusion": "bayesRisk boolZeroOneLoss revealingBoolExperiment boolPrior = 0", + "context_binders": [ { - "candidates": [ - "FEP.PolicyTrees.optimalEFEValue_eq_riskAmbiguity" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "Θ", + "Observation", + "Garbled", + "Decision" ], - "identifier": "optimalEFEValue_eq_riskAmbiguity", - "resolution": "unresolved lexical scope", - "role": "proof_reference" + "role": "typed_binder", + "source": "{Θ Observation Garbled Decision : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { - "candidates": [ - "FEP.PolicyTrees.optimalPolicyTree_value" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "mΘ" ], - "identifier": "optimalPolicyTree_value", - "resolution": "unresolved lexical scope", - "role": "proof_reference" + "role": "typed_binder", + "source": "{mΘ : MeasurableSpace Θ}", + "type_source": "MeasurableSpace Θ", + "visibility": "implicit" }, - { - "candidates": [ - "FEP.PolicyTrees.policyTree_efe_eq_risk_add_ambiguity" - ], - "identifier": "policyTree_efe_eq_risk_add_ambiguity", - "resolution": "unresolved lexical scope", - "role": "proof_reference" - } - ], - "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", - "import_context": [ - "FepSketches.controlled_markov", - "FepSketches.policy_tree", - "FepSketches.variational_duality" - ], - "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.EFEPolicy", - "namespace_variable_context": [ - "{Action State Outcome Policy Belief Observation : Type*}\n [Fintype Action] [Fintype State] [Fintype Outcome] [Fintype Policy]\n [Fintype Belief] [Fintype Observation]" - ], - "preceding_scope_directives": [], - "qualified_name": "FEP.EFEPolicy.policyTree_value_agreement", - "source_line": 233, - "source_owner": "src/fep_lean/formal/efe_policy_selection.lean", - "statement": "theorem policyTree_value_agreement [Nonempty Action]\n (model : EFEPolicyTreeModel Belief State Action Observation)\n (depth : ℕ) (belief : Belief) :\n policyTreeValue (riskAmbiguityPolicyTreeModel model)\n (optimalPolicyTree (efePolicyTreeModel model) depth belief) belief =\n optimalTreeValue (riskAmbiguityPolicyTreeModel model) depth belief ∧\n policyTreeValue (efePolicyTreeModel model)\n (optimalPolicyTree (riskAmbiguityPolicyTreeModel model) depth belief)\n belief =\n optimalTreeValue (efePolicyTreeModel model) depth belief", - "statement_sha256": "0461b993b036973fade4474acfc164f619b76824ad1afb717e1056f2e156fe02" - }, - "FEP.EmpiricalRisk.brierExcess_eq_sqError": { - "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "target", - "forecast" + "mObservation" ], "role": "typed_binder", - "source": "(target forecast : ℝ)", - "type_source": "ℝ", - "visibility": "explicit" - } - ], - "conclusion": "bernoulliBrierScore target forecast - bernoulliBrierScore target target =\n (forecast - target) ^ 2", - "context_binders": [ + "source": "{mObservation : MeasurableSpace Observation}", + "type_source": "MeasurableSpace Observation", + "visibility": "implicit" + }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Ω" + "mGarbled" ], "role": "typed_binder", - "source": "{Ω : Type*}", - "type_source": "Type*", + "source": "{mGarbled : MeasurableSpace Garbled}", + "type_source": "MeasurableSpace Garbled", "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype Ω]", - "type_source": "Fintype Ω", - "visibility": "instance" + "names": [ + "mDecision" + ], + "role": "typed_binder", + "source": "{mDecision : MeasurableSpace Decision}", + "type_source": "MeasurableSpace Decision", + "visibility": "implicit" + } + ], + "declaration_mentions": [ + { + "identifier": "revealingBool_isBayesEstimator", + "qualified_name": "FEP.DecisionRisk.revealingBool_isBayesEstimator", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" } ], - "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.learning_theory" + "FepSketches.native_blanket", + "FepSketches.finite_information", + "Mathlib.InformationTheory.KullbackLeibler.DataProcessing", + "Mathlib.Probability.Decision.BayesEstimator", + "Mathlib.Probability.Decision.Risk.Basic" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.EmpiricalRisk", + "namespace": "FEP.DecisionRisk", "namespace_variable_context": [ - "{Ω : Type*} [Fintype Ω]" + "{Θ Observation Garbled Decision : Type*}\n {mΘ : MeasurableSpace Θ} {mObservation : MeasurableSpace Observation}\n {mGarbled : MeasurableSpace Garbled} {mDecision : MeasurableSpace Decision}" ], - "preceding_scope_directives": [], - "qualified_name": "FEP.EmpiricalRisk.brierExcess_eq_sqError", - "source_line": 228, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", - "statement": "theorem brierExcess_eq_sqError (target forecast : ℝ) :\n bernoulliBrierScore target forecast - bernoulliBrierScore target target =\n (forecast - target) ^ 2", - "statement_sha256": "d8b850fd61ba4818626cc86a96961c6be7af8b2f61772d3e7ce12ec5e5ab141c" + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DiscreteMeasurableSpace α] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [MeasurableSpace α] [MeasurableSpace β]" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [MeasurableSpace α] [MeasurableSpace β]" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [MeasurableSpace α] [MeasurableSpace β]" + } + ], + "qualified_name": "FEP.DecisionRisk.revealingBool_bayesRisk_eq_zero", + "source_line": 493, + "source_owner": "src/fep_lean/formal/decision_risk.lean", + "statement": "theorem revealingBool_bayesRisk_eq_zero :\n bayesRisk boolZeroOneLoss revealingBoolExperiment boolPrior = 0", + "statement_sha256": "3eafce0c453c11e575eee8486d47986f1b7e5ce3ce4d5524ae7b86055907ab3f" }, - "FEP.EmpiricalRisk.expectation_add": { + "FEP.DecisionRisk.revealingBool_bayesRisk_lt_garbled": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [ + "binders": [], + "conclusion": "bayesRisk boolZeroOneLoss revealingBoolExperiment boolPrior <\n bayesRisk boolZeroOneLoss garbledBoolExperiment boolPrior", + "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "sampling" + "Θ", + "Observation", + "Garbled", + "Decision" ], "role": "typed_binder", - "source": "(sampling : FiniteLaw Ω)", - "type_source": "FiniteLaw Ω", - "visibility": "explicit" + "source": "{Θ Observation Garbled Decision : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "left", - "right" + "mΘ" ], "role": "typed_binder", - "source": "(left right : Ω → ℝ)", - "type_source": "Ω → ℝ", - "visibility": "explicit" - } - ], - "conclusion": "VariationalDuality.expectation sampling (fun outcome =>\n left outcome + right outcome) =\n VariationalDuality.expectation sampling left +\n VariationalDuality.expectation sampling right", - "context_binders": [ + "source": "{mΘ : MeasurableSpace Θ}", + "type_source": "MeasurableSpace Θ", + "visibility": "implicit" + }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Ω" + "mObservation" ], "role": "typed_binder", - "source": "{Ω : Type*}", - "type_source": "Type*", + "source": "{mObservation : MeasurableSpace Observation}", + "type_source": "MeasurableSpace Observation", "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype Ω]", - "type_source": "Fintype Ω", - "visibility": "instance" + "names": [ + "mGarbled" + ], + "role": "typed_binder", + "source": "{mGarbled : MeasurableSpace Garbled}", + "type_source": "MeasurableSpace Garbled", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "mDecision" + ], + "role": "typed_binder", + "source": "{mDecision : MeasurableSpace Decision}", + "type_source": "MeasurableSpace Decision", + "visibility": "implicit" + } + ], + "declaration_mentions": [ + { + "identifier": "garbledBool_bayesRisk_eq_half", + "qualified_name": "FEP.DecisionRisk.garbledBool_bayesRisk_eq_half", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + }, + { + "identifier": "revealingBool_bayesRisk_eq_zero", + "qualified_name": "FEP.DecisionRisk.revealingBool_bayesRisk_eq_zero", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" } ], - "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.learning_theory" + "FepSketches.native_blanket", + "FepSketches.finite_information", + "Mathlib.InformationTheory.KullbackLeibler.DataProcessing", + "Mathlib.Probability.Decision.BayesEstimator", + "Mathlib.Probability.Decision.Risk.Basic" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.EmpiricalRisk", + "namespace": "FEP.DecisionRisk", "namespace_variable_context": [ - "{Ω : Type*} [Fintype Ω]" + "{Θ Observation Garbled Decision : Type*}\n {mΘ : MeasurableSpace Θ} {mObservation : MeasurableSpace Observation}\n {mGarbled : MeasurableSpace Garbled} {mDecision : MeasurableSpace Decision}" ], - "preceding_scope_directives": [], - "qualified_name": "FEP.EmpiricalRisk.expectation_add", - "source_line": 156, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", - "statement": "theorem expectation_add (sampling : FiniteLaw Ω) (left right : Ω → ℝ) :\n VariationalDuality.expectation sampling (fun outcome =>\n left outcome + right outcome) =\n VariationalDuality.expectation sampling left +\n VariationalDuality.expectation sampling right", - "statement_sha256": "343a1e4a9ae96040ae9bf3d140f44794e2f2eed024621ca8ec5432478ba28561" + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DiscreteMeasurableSpace α] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [MeasurableSpace α] [MeasurableSpace β]" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [MeasurableSpace α] [MeasurableSpace β]" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [MeasurableSpace α] [MeasurableSpace β]" + } + ], + "qualified_name": "FEP.DecisionRisk.revealingBool_bayesRisk_lt_garbled", + "source_line": 512, + "source_owner": "src/fep_lean/formal/decision_risk.lean", + "statement": "theorem revealingBool_bayesRisk_lt_garbled :\n bayesRisk boolZeroOneLoss revealingBoolExperiment boolPrior <\n bayesRisk boolZeroOneLoss garbledBoolExperiment boolPrior", + "statement_sha256": "6b9f29c6033f3c1a352d654d8c14da635f414fa6046fae217c2eba76759177fa" }, - "FEP.EmpiricalRisk.expectation_const": { + "FEP.DecisionRisk.revealingBool_isBayesEstimator": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [ + "binders": [], + "conclusion": "IsBayesEstimator boolZeroOneLoss revealingBoolExperiment Kernel.id boolPrior", + "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "sampling" + "Θ", + "Observation", + "Garbled", + "Decision" ], "role": "typed_binder", - "source": "(sampling : FiniteLaw Ω)", - "type_source": "FiniteLaw Ω", - "visibility": "explicit" + "source": "{Θ Observation Garbled Decision : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "constant" + "mΘ" ], "role": "typed_binder", - "source": "(constant : ℝ)", - "type_source": "ℝ", - "visibility": "explicit" - } - ], - "conclusion": "VariationalDuality.expectation sampling (fun _ => constant) = constant", - "context_binders": [ + "source": "{mΘ : MeasurableSpace Θ}", + "type_source": "MeasurableSpace Θ", + "visibility": "implicit" + }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Ω" + "mObservation" ], "role": "typed_binder", - "source": "{Ω : Type*}", - "type_source": "Type*", + "source": "{mObservation : MeasurableSpace Observation}", + "type_source": "MeasurableSpace Observation", "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype Ω]", - "type_source": "Fintype Ω", - "visibility": "instance" + "names": [ + "mGarbled" + ], + "role": "typed_binder", + "source": "{mGarbled : MeasurableSpace Garbled}", + "type_source": "MeasurableSpace Garbled", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "mDecision" + ], + "role": "typed_binder", + "source": "{mDecision : MeasurableSpace Decision}", + "type_source": "MeasurableSpace Decision", + "visibility": "implicit" + } + ], + "declaration_mentions": [ + { + "identifier": "boolZeroOneLoss_measurable", + "qualified_name": "FEP.DecisionRisk.boolZeroOneLoss_measurable", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" } ], - "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.learning_theory" + "FepSketches.native_blanket", + "FepSketches.finite_information", + "Mathlib.InformationTheory.KullbackLeibler.DataProcessing", + "Mathlib.Probability.Decision.BayesEstimator", + "Mathlib.Probability.Decision.Risk.Basic" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.EmpiricalRisk", + "namespace": "FEP.DecisionRisk", "namespace_variable_context": [ - "{Ω : Type*} [Fintype Ω]" + "{Θ Observation Garbled Decision : Type*}\n {mΘ : MeasurableSpace Θ} {mObservation : MeasurableSpace Observation}\n {mGarbled : MeasurableSpace Garbled} {mDecision : MeasurableSpace Decision}" ], - "preceding_scope_directives": [], - "qualified_name": "FEP.EmpiricalRisk.expectation_const", - "source_line": 174, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", - "statement": "theorem expectation_const (sampling : FiniteLaw Ω) (constant : ℝ) :\n VariationalDuality.expectation sampling (fun _ => constant) = constant", - "statement_sha256": "8ba5a17071f1d9a3283ced20904197fac138298e288bdfd2dae7fa8700fd1b50" + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DiscreteMeasurableSpace α] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [MeasurableSpace α] [MeasurableSpace β]" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [MeasurableSpace α] [MeasurableSpace β]" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [MeasurableSpace α] [MeasurableSpace β]" + } + ], + "qualified_name": "FEP.DecisionRisk.revealingBool_isBayesEstimator", + "source_line": 486, + "source_owner": "src/fep_lean/formal/decision_risk.lean", + "statement": "theorem revealingBool_isBayesEstimator :\n IsBayesEstimator boolZeroOneLoss revealingBoolExperiment Kernel.id boolPrior", + "statement_sha256": "19c1fc738f7d1ba211b166a00ff937df36c81281618513109caa1f83c22c7e65" }, - "FEP.EmpiricalRisk.expectation_const_mul": { + "FEP.DecisionRisk.weightedDirac_klDiv_eq_finiteKL_of_fullSupport": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "sampling" - ], - "role": "typed_binder", - "source": "(sampling : FiniteLaw Ω)", - "type_source": "FiniteLaw Ω", - "visibility": "explicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "constant" + "p", + "q" ], "role": "typed_binder", - "source": "(constant : ℝ)", - "type_source": "ℝ", + "source": "(p q : FiniteLaw α)", + "type_source": "FiniteLaw α", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "value" + "hq" ], "role": "typed_binder", - "source": "(value : Ω → ℝ)", - "type_source": "Ω → ℝ", + "source": "(hq : ∀ x, 0 < q x)", + "type_source": "∀ x, 0 < q x", "visibility": "explicit" } ], - "conclusion": "VariationalDuality.expectation sampling (fun outcome =>\n constant * value outcome) =\n constant * VariationalDuality.expectation sampling value", + "conclusion": "InformationTheory.klDiv (embeddedLaw p) (embeddedLaw q) =\n ENNReal.ofReal (finiteKL p q)", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Ω" + "α" ], "role": "typed_binder", - "source": "{Ω : Type*}", + "source": "{α : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -45837,72 +47595,97 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Ω]", - "type_source": "Fintype Ω", + "source": "[Fintype α]", + "type_source": "Fintype α", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[MeasurableSpace α]", + "type_source": "MeasurableSpace α", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DiscreteMeasurableSpace α]", + "type_source": "DiscreteMeasurableSpace α", "visibility": "instance" } ], - "declaration_mentions": [], + "declaration_mentions": [ + { + "candidates": [ + "FEP.NativeBlanket.embeddedLaw_apply_singleton" + ], + "identifier": "embeddedLaw_apply_singleton", + "resolution": "unresolved lexical scope", + "role": "proof_reference" + }, + { + "identifier": "embeddedLaw_withDensity_ratio", + "qualified_name": "FEP.DecisionRisk.embeddedLaw_withDensity_ratio", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + } + ], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.learning_theory" + "FepSketches.native_blanket", + "FepSketches.finite_information", + "Mathlib.InformationTheory.KullbackLeibler.DataProcessing", + "Mathlib.Probability.Decision.BayesEstimator", + "Mathlib.Probability.Decision.Risk.Basic" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.EmpiricalRisk", + "namespace": "FEP.DecisionRisk", "namespace_variable_context": [ - "{Ω : Type*} [Fintype Ω]" + "{α : Type*} [Fintype α] [MeasurableSpace α]\n [DiscreteMeasurableSpace α]" ], "preceding_scope_directives": [], - "qualified_name": "FEP.EmpiricalRisk.expectation_const_mul", - "source_line": 163, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", - "statement": "theorem expectation_const_mul (sampling : FiniteLaw Ω) (constant : ℝ)\n (value : Ω → ℝ) :\n VariationalDuality.expectation sampling (fun outcome =>\n constant * value outcome) =\n constant * VariationalDuality.expectation sampling value", - "statement_sha256": "26b2b9934e200c7683658d243c34e13ff1167ba73a6869d7158327bb1ceefe95" + "qualified_name": "FEP.DecisionRisk.weightedDirac_klDiv_eq_finiteKL_of_fullSupport", + "source_line": 104, + "source_owner": "src/fep_lean/formal/decision_risk.lean", + "statement": "theorem weightedDirac_klDiv_eq_finiteKL_of_fullSupport\n (p q : FiniteLaw α) (hq : ∀ x, 0 < q x) :\n InformationTheory.klDiv (embeddedLaw p) (embeddedLaw q) =\n ENNReal.ofReal (finiteKL p q)", + "statement_sha256": "703569f68de9b9092f83f615787418ece25bb98202d82e2df705e874f97d208a" }, - "FEP.EmpiricalRisk.expectation_mono": { + "FEP.DecisionRisk.weightedDirac_klDiv_eq_finiteKL_of_relativeSupport": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "sampling" - ], - "role": "typed_binder", - "source": "(sampling : FiniteLaw Ω)", - "type_source": "FiniteLaw Ω", - "visibility": "explicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "left", - "right" + "p", + "q" ], "role": "typed_binder", - "source": "(left right : Ω → ℝ)", - "type_source": "Ω → ℝ", + "source": "(p q : FiniteLaw α)", + "type_source": "FiniteLaw α", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "pointwise" + "hsupport" ], "role": "typed_binder", - "source": "(pointwise : ∀ outcome, left outcome ≤ right outcome)", - "type_source": "∀ outcome, left outcome ≤ right outcome", + "source": "(hsupport : ∀ x, p x ≠ 0 → 0 < q x)", + "type_source": "∀ x, p x ≠ 0 → 0 < q x", "visibility": "explicit" } ], - "conclusion": "VariationalDuality.expectation sampling left ≤\n VariationalDuality.expectation sampling right", + "conclusion": "InformationTheory.klDiv (embeddedLaw p) (embeddedLaw q) =\n ENNReal.ofReal (finiteKL p q)", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Ω" + "α" ], "role": "typed_binder", - "source": "{Ω : Type*}", + "source": "{α : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -45910,72 +47693,97 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Ω]", - "type_source": "Fintype Ω", + "source": "[Fintype α]", + "type_source": "Fintype α", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[MeasurableSpace α]", + "type_source": "MeasurableSpace α", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DiscreteMeasurableSpace α]", + "type_source": "DiscreteMeasurableSpace α", "visibility": "instance" } ], - "declaration_mentions": [], + "declaration_mentions": [ + { + "candidates": [ + "FEP.NativeBlanket.embeddedLaw_apply_singleton" + ], + "identifier": "embeddedLaw_apply_singleton", + "resolution": "unresolved lexical scope", + "role": "proof_reference" + }, + { + "identifier": "embeddedLaw_withDensity_ratio_of_relativeSupport", + "qualified_name": "FEP.DecisionRisk.embeddedLaw_withDensity_ratio_of_relativeSupport", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + } + ], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.learning_theory" + "FepSketches.native_blanket", + "FepSketches.finite_information", + "Mathlib.InformationTheory.KullbackLeibler.DataProcessing", + "Mathlib.Probability.Decision.BayesEstimator", + "Mathlib.Probability.Decision.Risk.Basic" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.EmpiricalRisk", + "namespace": "FEP.DecisionRisk", "namespace_variable_context": [ - "{Ω : Type*} [Fintype Ω]" + "{α : Type*} [Fintype α] [MeasurableSpace α]\n [DiscreteMeasurableSpace α]" ], "preceding_scope_directives": [], - "qualified_name": "FEP.EmpiricalRisk.expectation_mono", - "source_line": 148, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", - "statement": "theorem expectation_mono (sampling : FiniteLaw Ω) (left right : Ω → ℝ)\n (pointwise : ∀ outcome, left outcome ≤ right outcome) :\n VariationalDuality.expectation sampling left ≤\n VariationalDuality.expectation sampling right", - "statement_sha256": "c215c3de6410b3a03945ebfb37bf70e4f21de3cd3e6e77892f0e00db9a25387c" + "qualified_name": "FEP.DecisionRisk.weightedDirac_klDiv_eq_finiteKL_of_relativeSupport", + "source_line": 54, + "source_owner": "src/fep_lean/formal/decision_risk.lean", + "statement": "theorem weightedDirac_klDiv_eq_finiteKL_of_relativeSupport\n (p q : FiniteLaw α) (hsupport : ∀ x, p x ≠ 0 → 0 < q x) :\n InformationTheory.klDiv (embeddedLaw p) (embeddedLaw q) =\n ENNReal.ofReal (finiteKL p q)", + "statement_sha256": "5bb042b816a921998ee560133c2274e1c7cbdf8d3dd91119704722ad5baee1b9" }, - "FEP.EmpiricalRisk.finiteEventProbability_mono": { + "FEP.DecisionRisk.weightedDirac_klDiv_eq_top_of_not_absolutelyContinuous": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "sampling" + "p", + "q" ], "role": "typed_binder", - "source": "(sampling : FiniteLaw Ω)", - "type_source": "FiniteLaw Ω", + "source": "(p q : FiniteLaw α)", + "type_source": "FiniteLaw α", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "left", - "right" - ], - "role": "typed_binder", - "source": "{left right : Set Ω}", - "type_source": "Set Ω", - "visibility": "implicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "subset" + "hNotAC" ], "role": "typed_binder", - "source": "(subset : left ⊆ right)", - "type_source": "left ⊆ right", + "source": "(hNotAC : ¬ embeddedLaw p ≪ embeddedLaw q)", + "type_source": "¬ embeddedLaw p ≪ embeddedLaw q", "visibility": "explicit" } ], - "conclusion": "finiteEventProbability sampling left ≤\n finiteEventProbability sampling right", + "conclusion": "InformationTheory.klDiv (embeddedLaw p) (embeddedLaw q) = ∞", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Ω" + "α" ], "role": "typed_binder", - "source": "{Ω : Type*}", + "source": "{α : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -45983,93 +47791,102 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Ω]", - "type_source": "Fintype Ω", + "source": "[Fintype α]", + "type_source": "Fintype α", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[MeasurableSpace α]", + "type_source": "MeasurableSpace α", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DiscreteMeasurableSpace α]", + "type_source": "DiscreteMeasurableSpace α", "visibility": "instance" } ], "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.learning_theory" + "FepSketches.native_blanket", + "FepSketches.finite_information", + "Mathlib.InformationTheory.KullbackLeibler.DataProcessing", + "Mathlib.Probability.Decision.BayesEstimator", + "Mathlib.Probability.Decision.Risk.Basic" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.EmpiricalRisk", + "namespace": "FEP.DecisionRisk", "namespace_variable_context": [ - "{Ω : Type*} [Fintype Ω]" + "{α : Type*} [Fintype α] [MeasurableSpace α]\n [DiscreteMeasurableSpace α]" ], - "preceding_scope_directives": [], - "qualified_name": "FEP.EmpiricalRisk.finiteEventProbability_mono", - "source_line": 266, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", - "statement": "theorem finiteEventProbability_mono (sampling : FiniteLaw Ω)\n {left right : Set Ω} (subset : left ⊆ right) :\n finiteEventProbability sampling left ≤\n finiteEventProbability sampling right", - "statement_sha256": "08751f6e9b33cdc28c9b7a62af9de2233010973c34116c3b693195250e8a9d64" + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DiscreteMeasurableSpace α] in" + } + ], + "qualified_name": "FEP.DecisionRisk.weightedDirac_klDiv_eq_top_of_not_absolutelyContinuous", + "source_line": 139, + "source_owner": "src/fep_lean/formal/decision_risk.lean", + "statement": "theorem weightedDirac_klDiv_eq_top_of_not_absolutelyContinuous\n (p q : FiniteLaw α) (hNotAC : ¬ embeddedLaw p ≪ embeddedLaw q) :\n InformationTheory.klDiv (embeddedLaw p) (embeddedLaw q) = ∞", + "statement_sha256": "e13d0b70df731d0af7e5b8971026bdd95e1252fe9d6943d1a14a53333fcff65c" }, - "FEP.EmpiricalRisk.laplaceAbsoluteError_le": { + "FEP.EFEPolicy.argminEFE_eq_risk_add_ambiguity": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "successes", - "sampleCount" - ], - "role": "typed_binder", - "source": "(successes sampleCount : ℕ)", - "type_source": "ℕ", - "visibility": "explicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "target", - "error" - ], - "role": "typed_binder", - "source": "(target error : ℝ)", - "type_source": "ℝ", - "visibility": "explicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "sampleCountPositive" + "model" ], "role": "typed_binder", - "source": "(sampleCountPositive : 0 < sampleCount)", - "type_source": "0 < sampleCount", + "source": "(model : GenerativeModel Policy State Outcome)", + "type_source": "GenerativeModel Policy State Outcome", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "targetBounds" + "support" ], "role": "typed_binder", - "source": "(targetBounds : target ∈ Set.Icc (0 : ℝ) 1)", - "type_source": "target ∈ Set.Icc (0 : ℝ) 1", + "source": "(support : FullSupport model)", + "type_source": "FullSupport model", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "empiricalErrorBound" + "policy" ], "role": "typed_binder", - "source": "(empiricalErrorBound :\n |empiricalRate successes sampleCount - target| ≤ error)", - "type_source": "|empiricalRate successes sampleCount - target| ≤ error", + "source": "(policy : Policy)", + "type_source": "Policy", "visibility": "explicit" } ], - "conclusion": "|laplaceEstimate successes sampleCount - target| ≤\n shrinkage sampleCount * error + 1 / ((sampleCount : ℝ) + 2)", + "conclusion": "(∀ alternative : Policy,\n expectedFreeEnergy model policy ≤ expectedFreeEnergy model alternative) ↔\n (∀ alternative : Policy,\n risk model policy + ambiguity model policy ≤\n risk model alternative + ambiguity model alternative)", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Ω" + "Action", + "State", + "Outcome", + "Policy", + "Belief", + "Observation" ], "role": "typed_binder", - "source": "{Ω : Type*}", + "source": "{Action State Outcome Policy Belief Observation : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -46077,264 +47894,311 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Ω]", - "type_source": "Fintype Ω", + "source": "[Fintype Action]", + "type_source": "Fintype Action", "visibility": "instance" - } - ], - "declaration_mentions": [ + }, { - "identifier": "laplaceBias_abs_le", - "qualified_name": "FEP.EmpiricalRisk.laplaceBias_abs_le", - "resolution": "exact or same-namespace source identifier", - "role": "proof_reference" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype State]", + "type_source": "Fintype State", + "visibility": "instance" }, { - "identifier": "laplaceError_identity", - "qualified_name": "FEP.EmpiricalRisk.laplaceError_identity", - "resolution": "exact or same-namespace source identifier", - "role": "proof_reference" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Outcome]", + "type_source": "Fintype Outcome", + "visibility": "instance" }, { - "identifier": "shrinkage_nonneg", - "qualified_name": "FEP.EmpiricalRisk.shrinkage_nonneg", - "resolution": "exact or same-namespace source identifier", + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Policy]", + "type_source": "Fintype Policy", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Belief]", + "type_source": "Fintype Belief", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Observation]", + "type_source": "Fintype Observation", + "visibility": "instance" + } + ], + "declaration_mentions": [ + { + "candidates": [ + "FEP.ActiveInference.expectedFreeEnergy_eq_risk_add_ambiguity" + ], + "identifier": "expectedFreeEnergy_eq_risk_add_ambiguity", + "resolution": "unresolved lexical scope", "role": "proof_reference" } ], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.learning_theory" + "FepSketches.controlled_markov", + "FepSketches.policy_tree", + "FepSketches.variational_duality" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.EmpiricalRisk", + "namespace": "FEP.EFEPolicy", "namespace_variable_context": [ - "{Ω : Type*} [Fintype Ω]" + "{Action State Outcome Policy Belief Observation : Type*}\n [Fintype Action] [Fintype State] [Fintype Outcome] [Fintype Policy]\n [Fintype Belief] [Fintype Observation]" ], "preceding_scope_directives": [], - "qualified_name": "FEP.EmpiricalRisk.laplaceAbsoluteError_le", - "source_line": 78, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", - "statement": "theorem laplaceAbsoluteError_le (successes sampleCount : ℕ) (target error : ℝ)\n (sampleCountPositive : 0 < sampleCount)\n (targetBounds : target ∈ Set.Icc (0 : ℝ) 1)\n (empiricalErrorBound :\n |empiricalRate successes sampleCount - target| ≤ error) :\n |laplaceEstimate successes sampleCount - target| ≤\n shrinkage sampleCount * error + 1 / ((sampleCount : ℝ) + 2)", - "statement_sha256": "c6209f9f786a3480660bddadbcef5cf1c72fd488215340e4c952745bb9865807" + "qualified_name": "FEP.EFEPolicy.argminEFE_eq_risk_add_ambiguity", + "source_line": 187, + "source_owner": "src/fep_lean/formal/efe_policy_selection.lean", + "statement": "theorem argminEFE_eq_risk_add_ambiguity\n (model : GenerativeModel Policy State Outcome) (support : FullSupport model)\n (policy : Policy) :\n (∀ alternative : Policy,\n expectedFreeEnergy model policy ≤ expectedFreeEnergy model alternative) ↔\n (∀ alternative : Policy,\n risk model policy + ambiguity model policy ≤\n risk model alternative + ambiguity model alternative)", + "statement_sha256": "325b27522fab300f7e526a62e51cbfa57d2a6d703b3df8793c17fcda71943de1" }, - "FEP.EmpiricalRisk.laplaceBadEvent_probability_le": { + "FEP.EFEPolicy.boltzmann_control_posterior_minimal_value": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "sampling" + "prior" ], "role": "typed_binder", - "source": "(sampling : FiniteLaw Ω)", - "type_source": "FiniteLaw Ω", + "source": "(prior : FiniteLaw Action)", + "type_source": "FiniteLaw Action", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "successes" + "prior_pos" ], "role": "typed_binder", - "source": "(successes : Ω → ℕ)", - "type_source": "Ω → ℕ", + "source": "(prior_pos : ∀ policy, 0 < prior policy)", + "type_source": "∀ policy, 0 < prior policy", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "sampleCount" + "γ" ], "role": "typed_binder", - "source": "(sampleCount : ℕ)", - "type_source": "ℕ", + "source": "(γ : ℝ)", + "type_source": "ℝ", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "target", - "error", - "failure" + "hγ" ], "role": "typed_binder", - "source": "(target error failure : ℝ)", - "type_source": "ℝ", + "source": "(hγ : 0 < γ)", + "type_source": "0 < γ", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "sampleCountPositive" + "cost" ], "role": "typed_binder", - "source": "(sampleCountPositive : 0 < sampleCount)", - "type_source": "0 < sampleCount", + "source": "(cost : Action → ℝ)", + "type_source": "Action → ℝ", "visibility": "explicit" - }, + } + ], + "conclusion": "efeControlObjective prior γ cost (controlPosterior prior γ cost) =\n -(γ⁻¹ * Real.log (efeControlPartition prior γ cost))", + "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "successesAtMost" + "Action", + "State", + "Outcome", + "Policy", + "Belief", + "Observation" ], "role": "typed_binder", - "source": "(successesAtMost : ∀ outcome, successes outcome ≤ sampleCount)", - "type_source": "∀ outcome, successes outcome ≤ sampleCount", - "visibility": "explicit" + "source": "{Action State Outcome Policy Belief Observation : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "targetBounds" - ], - "role": "typed_binder", - "source": "(targetBounds : target ∈ Set.Icc (0 : ℝ) 1)", - "type_source": "target ∈ Set.Icc (0 : ℝ) 1", - "visibility": "explicit" + "names": [], + "role": "instance_requirement", + "source": "[Fintype Action]", + "type_source": "Fintype Action", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "rawProbabilityBound" - ], - "role": "typed_binder", - "source": "(rawProbabilityBound :\n finiteEventProbability sampling\n (empiricalBadEvent successes sampleCount target error) ≤ failure)", - "type_source": "finiteEventProbability sampling\n (empiricalBadEvent successes sampleCount target error) ≤ failure", - "visibility": "explicit" - } - ], - "conclusion": "finiteEventProbability sampling\n (laplaceBadEvent successes sampleCount target error) ≤ failure", - "context_binders": [ + "names": [], + "role": "instance_requirement", + "source": "[Fintype State]", + "type_source": "Fintype State", + "visibility": "instance" + }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "Ω" - ], - "role": "typed_binder", - "source": "{Ω : Type*}", - "type_source": "Type*", - "visibility": "implicit" + "names": [], + "role": "instance_requirement", + "source": "[Fintype Outcome]", + "type_source": "Fintype Outcome", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Ω]", - "type_source": "Fintype Ω", + "source": "[Fintype Policy]", + "type_source": "Fintype Policy", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Belief]", + "type_source": "Fintype Belief", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Observation]", + "type_source": "Fintype Observation", "visibility": "instance" } ], "declaration_mentions": [ { - "identifier": "finiteEventProbability_mono", - "qualified_name": "FEP.EmpiricalRisk.finiteEventProbability_mono", + "identifier": "efeControlObjective_eq_kl_sub_logPartition", + "qualified_name": "FEP.EFEPolicy.efeControlObjective_eq_kl_sub_logPartition", "resolution": "exact or same-namespace source identifier", "role": "proof_reference" }, { - "identifier": "laplaceBadEvent_subset", - "qualified_name": "FEP.EmpiricalRisk.laplaceBadEvent_subset", - "resolution": "exact or same-namespace source identifier", + "candidates": [ + "FEP.FiniteInformation.finiteKL_self" + ], + "identifier": "finiteKL_self", + "resolution": "unresolved lexical scope", "role": "proof_reference" } ], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.learning_theory" + "FepSketches.controlled_markov", + "FepSketches.policy_tree", + "FepSketches.variational_duality" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.EmpiricalRisk", + "namespace": "FEP.EFEPolicy", "namespace_variable_context": [ - "{Ω : Type*} [Fintype Ω]" - ], - "preceding_scope_directives": [ - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Fintype Ω] in" - } + "{Action State Outcome Policy Belief Observation : Type*}\n [Fintype Action] [Fintype State] [Fintype Outcome] [Fintype Policy]\n [Fintype Belief] [Fintype Observation]" ], - "qualified_name": "FEP.EmpiricalRisk.laplaceBadEvent_probability_le", - "source_line": 316, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", - "statement": "theorem laplaceBadEvent_probability_le (sampling : FiniteLaw Ω)\n (successes : Ω → ℕ) (sampleCount : ℕ) (target error failure : ℝ)\n (sampleCountPositive : 0 < sampleCount)\n (successesAtMost : ∀ outcome, successes outcome ≤ sampleCount)\n (targetBounds : target ∈ Set.Icc (0 : ℝ) 1)\n (rawProbabilityBound :\n finiteEventProbability sampling\n (empiricalBadEvent successes sampleCount target error) ≤ failure) :\n finiteEventProbability sampling\n (laplaceBadEvent successes sampleCount target error) ≤ failure", - "statement_sha256": "ce7c618dc07629e9bb9a1d21743ec9c4a491aa35f5fa67a744fab983d4b92b30" + "preceding_scope_directives": [], + "qualified_name": "FEP.EFEPolicy.boltzmann_control_posterior_minimal_value", + "source_line": 172, + "source_owner": "src/fep_lean/formal/efe_policy_selection.lean", + "statement": "theorem boltzmann_control_posterior_minimal_value (prior : FiniteLaw Action)\n (prior_pos : ∀ policy, 0 < prior policy) (γ : ℝ) (hγ : 0 < γ)\n (cost : Action → ℝ) :\n efeControlObjective prior γ cost (controlPosterior prior γ cost) =\n -(γ⁻¹ * Real.log (efeControlPartition prior γ cost))", + "statement_sha256": "b2986682f1ff302dee8e3fbaba6b9f31529c607b6e9139c837b122d83aede1c6" }, - "FEP.EmpiricalRisk.laplaceBadEvent_subset": { + "FEP.EFEPolicy.boltzmann_control_posterior_minimizes_efe": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "successes" + "prior" ], "role": "typed_binder", - "source": "(successes : Ω → ℕ)", - "type_source": "Ω → ℕ", + "source": "(prior : FiniteLaw Action)", + "type_source": "FiniteLaw Action", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "sampleCount" + "prior_pos" ], "role": "typed_binder", - "source": "(sampleCount : ℕ)", - "type_source": "ℕ", + "source": "(prior_pos : ∀ policy, 0 < prior policy)", + "type_source": "∀ policy, 0 < prior policy", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "target", - "error" + "γ" ], "role": "typed_binder", - "source": "(target error : ℝ)", + "source": "(γ : ℝ)", "type_source": "ℝ", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "sampleCountPositive" + "hγ" ], "role": "typed_binder", - "source": "(sampleCountPositive : 0 < sampleCount)", - "type_source": "0 < sampleCount", + "source": "(hγ : 0 < γ)", + "type_source": "0 < γ", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "successesAtMost" + "cost" ], "role": "typed_binder", - "source": "(successesAtMost : ∀ outcome, successes outcome ≤ sampleCount)", - "type_source": "∀ outcome, successes outcome ≤ sampleCount", + "source": "(cost : Action → ℝ)", + "type_source": "Action → ℝ", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "targetBounds" + "Q" ], "role": "typed_binder", - "source": "(targetBounds : target ∈ Set.Icc (0 : ℝ) 1)", - "type_source": "target ∈ Set.Icc (0 : ℝ) 1", + "source": "(Q : FiniteLaw Action)", + "type_source": "FiniteLaw Action", "visibility": "explicit" } ], - "conclusion": "laplaceBadEvent successes sampleCount target error ⊆\n empiricalBadEvent successes sampleCount target error", + "conclusion": "efeControlObjective prior γ cost (controlPosterior prior γ cost) ≤\n efeControlObjective prior γ cost Q ∧\n (efeControlObjective prior γ cost Q =\n efeControlObjective prior γ cost (controlPosterior prior γ cost) ↔\n Q = controlPosterior prior γ cost)", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Ω" - ], - "role": "typed_binder", - "source": "{Ω : Type*}", + "Action", + "State", + "Outcome", + "Policy", + "Belief", + "Observation" + ], + "role": "typed_binder", + "source": "{Action State Outcome Policy Belief Observation : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -46342,84 +48206,171 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Ω]", - "type_source": "Fintype Ω", + "source": "[Fintype Action]", + "type_source": "Fintype Action", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype State]", + "type_source": "Fintype State", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Outcome]", + "type_source": "Fintype Outcome", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Policy]", + "type_source": "Fintype Policy", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Belief]", + "type_source": "Fintype Belief", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Observation]", + "type_source": "Fintype Observation", "visibility": "instance" } ], "declaration_mentions": [ { - "identifier": "laplaceAbsoluteError_le", - "qualified_name": "FEP.EmpiricalRisk.laplaceAbsoluteError_le", + "identifier": "efeControlObjective_sub_eq_kl", + "qualified_name": "FEP.EFEPolicy.efeControlObjective_sub_eq_kl", "resolution": "exact or same-namespace source identifier", "role": "proof_reference" + }, + { + "candidates": [ + "FEP.FiniteInformation.finiteKL_eq_zero_iff" + ], + "identifier": "finiteKL_eq_zero_iff", + "resolution": "unresolved lexical scope", + "role": "proof_reference" + }, + { + "candidates": [ + "FEP.FiniteInformation.finiteKL_nonneg" + ], + "identifier": "finiteKL_nonneg", + "resolution": "unresolved lexical scope", + "role": "proof_reference" } ], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.learning_theory" + "FepSketches.controlled_markov", + "FepSketches.policy_tree", + "FepSketches.variational_duality" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.EmpiricalRisk", + "namespace": "FEP.EFEPolicy", "namespace_variable_context": [ - "{Ω : Type*} [Fintype Ω]" - ], - "preceding_scope_directives": [ - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Fintype Ω] in" - } + "{Action State Outcome Policy Belief Observation : Type*}\n [Fintype Action] [Fintype State] [Fintype Outcome] [Fintype Policy]\n [Fintype Belief] [Fintype Observation]" ], - "qualified_name": "FEP.EmpiricalRisk.laplaceBadEvent_subset", - "source_line": 297, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", - "statement": "theorem laplaceBadEvent_subset (successes : Ω → ℕ) (sampleCount : ℕ)\n (target error : ℝ) (sampleCountPositive : 0 < sampleCount)\n (successesAtMost : ∀ outcome, successes outcome ≤ sampleCount)\n (targetBounds : target ∈ Set.Icc (0 : ℝ) 1) :\n laplaceBadEvent successes sampleCount target error ⊆\n empiricalBadEvent successes sampleCount target error", - "statement_sha256": "28b650be249825b97029342b3f834e1b6884301b92520f0663070addc15b3505" + "preceding_scope_directives": [], + "qualified_name": "FEP.EFEPolicy.boltzmann_control_posterior_minimizes_efe", + "source_line": 142, + "source_owner": "src/fep_lean/formal/efe_policy_selection.lean", + "statement": "theorem boltzmann_control_posterior_minimizes_efe (prior : FiniteLaw Action)\n (prior_pos : ∀ policy, 0 < prior policy) (γ : ℝ) (hγ : 0 < γ)\n (cost : Action → ℝ) (Q : FiniteLaw Action) :\n efeControlObjective prior γ cost (controlPosterior prior γ cost) ≤\n efeControlObjective prior γ cost Q ∧\n (efeControlObjective prior γ cost Q =\n efeControlObjective prior γ cost (controlPosterior prior γ cost) ↔\n Q = controlPosterior prior γ cost)", + "statement_sha256": "a733f638c6d5ce49cb9ded2e638af2453f04ff850caf6cde282b25c4d5dfa6f8" }, - "FEP.EmpiricalRisk.laplaceBias_abs_le": { + "FEP.EFEPolicy.efeControlObjective_eq_gibbsFreeEnergy": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "sampleCount" + "prior" ], "role": "typed_binder", - "source": "(sampleCount : ℕ)", - "type_source": "ℕ", + "source": "(prior : FiniteLaw Action)", + "type_source": "FiniteLaw Action", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "target" + "prior_pos" ], "role": "typed_binder", - "source": "(target : ℝ)", + "source": "(prior_pos : ∀ policy, 0 < prior policy)", + "type_source": "∀ policy, 0 < prior policy", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "γ" + ], + "role": "typed_binder", + "source": "(γ : ℝ)", "type_source": "ℝ", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "targetBounds" + "hγ" ], "role": "typed_binder", - "source": "(targetBounds : target ∈ Set.Icc (0 : ℝ) 1)", - "type_source": "target ∈ Set.Icc (0 : ℝ) 1", + "source": "(hγ : 0 < γ)", + "type_source": "0 < γ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "cost" + ], + "role": "typed_binder", + "source": "(cost : Action → ℝ)", + "type_source": "Action → ℝ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "Q" + ], + "role": "typed_binder", + "source": "(Q : FiniteLaw Action)", + "type_source": "FiniteLaw Action", "visibility": "explicit" } ], - "conclusion": "|laplaceBias sampleCount target| ≤\n 1 / ((sampleCount : ℝ) + 2)", + "conclusion": "efeControlObjective prior γ cost Q =\n γ⁻¹ * gibbsFreeEnergy (efeGibbsCertificate prior prior_pos γ cost) Q", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Ω" + "Action", + "State", + "Outcome", + "Policy", + "Belief", + "Observation" ], "role": "typed_binder", - "source": "{Ω : Type*}", + "source": "{Action State Outcome Policy Belief Observation : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -46427,40 +48378,148 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Ω]", - "type_source": "Fintype Ω", + "source": "[Fintype Action]", + "type_source": "Fintype Action", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype State]", + "type_source": "Fintype State", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Outcome]", + "type_source": "Fintype Outcome", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Policy]", + "type_source": "Fintype Policy", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Belief]", + "type_source": "Fintype Belief", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Observation]", + "type_source": "Fintype Observation", "visibility": "instance" } ], "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.learning_theory" + "FepSketches.controlled_markov", + "FepSketches.policy_tree", + "FepSketches.variational_duality" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.EmpiricalRisk", + "namespace": "FEP.EFEPolicy", "namespace_variable_context": [ - "{Ω : Type*} [Fintype Ω]" + "{Action State Outcome Policy Belief Observation : Type*}\n [Fintype Action] [Fintype State] [Fintype Outcome] [Fintype Policy]\n [Fintype Belief] [Fintype Observation]" ], "preceding_scope_directives": [], - "qualified_name": "FEP.EmpiricalRisk.laplaceBias_abs_le", - "source_line": 66, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", - "statement": "theorem laplaceBias_abs_le (sampleCount : ℕ) (target : ℝ)\n (targetBounds : target ∈ Set.Icc (0 : ℝ) 1) :\n |laplaceBias sampleCount target| ≤\n 1 / ((sampleCount : ℝ) + 2)", - "statement_sha256": "c704efc0a1e8b9efd5c13d09b7feebb1e8ac6dda31615ceb8b28069bd8bf7e48" + "qualified_name": "FEP.EFEPolicy.efeControlObjective_eq_gibbsFreeEnergy", + "source_line": 82, + "source_owner": "src/fep_lean/formal/efe_policy_selection.lean", + "statement": "theorem efeControlObjective_eq_gibbsFreeEnergy (prior : FiniteLaw Action)\n (prior_pos : ∀ policy, 0 < prior policy) (γ : ℝ) (hγ : 0 < γ)\n (cost : Action → ℝ) (Q : FiniteLaw Action) :\n efeControlObjective prior γ cost Q =\n γ⁻¹ * gibbsFreeEnergy (efeGibbsCertificate prior prior_pos γ cost) Q", + "statement_sha256": "47d6f14bc2f8035cd39998a94ba50d2a6b1a4be92ac12b5313d90234a748aaa7" }, - "FEP.EmpiricalRisk.laplaceBias_nonzero_witness": { + "FEP.EFEPolicy.efeControlObjective_eq_kl_sub_logPartition": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [], - "conclusion": "laplaceBias 2 0 = 1 / 4 ∧ laplaceBias 2 0 ≠ 0", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "prior" + ], + "role": "typed_binder", + "source": "(prior : FiniteLaw Action)", + "type_source": "FiniteLaw Action", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "prior_pos" + ], + "role": "typed_binder", + "source": "(prior_pos : ∀ policy, 0 < prior policy)", + "type_source": "∀ policy, 0 < prior policy", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "γ" + ], + "role": "typed_binder", + "source": "(γ : ℝ)", + "type_source": "ℝ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hγ" + ], + "role": "typed_binder", + "source": "(hγ : 0 < γ)", + "type_source": "0 < γ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "cost" + ], + "role": "typed_binder", + "source": "(cost : Action → ℝ)", + "type_source": "Action → ℝ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "Q" + ], + "role": "typed_binder", + "source": "(Q : FiniteLaw Action)", + "type_source": "FiniteLaw Action", + "visibility": "explicit" + } + ], + "conclusion": "efeControlObjective prior γ cost Q =\n γ⁻¹ * (finiteKL Q (controlPosterior prior γ cost) -\n Real.log (efeControlPartition prior γ cost))", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Ω" + "Action", + "State", + "Outcome", + "Policy", + "Belief", + "Observation" ], "role": "typed_binder", - "source": "{Ω : Type*}", + "source": "{Action State Outcome Policy Belief Observation : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -46468,117 +48527,163 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Ω]", - "type_source": "Fintype Ω", + "source": "[Fintype Action]", + "type_source": "Fintype Action", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype State]", + "type_source": "Fintype State", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Outcome]", + "type_source": "Fintype Outcome", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Policy]", + "type_source": "Fintype Policy", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Belief]", + "type_source": "Fintype Belief", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Observation]", + "type_source": "Fintype Observation", "visibility": "instance" } ], - "declaration_mentions": [], + "declaration_mentions": [ + { + "candidates": [ + "FEP.VariationalDuality.dvObjective_eq_logPartition_sub_kl" + ], + "identifier": "dvObjective_eq_logPartition_sub_kl", + "resolution": "unresolved lexical scope", + "role": "proof_reference" + }, + { + "identifier": "efeControlObjective_eq_gibbsFreeEnergy", + "qualified_name": "FEP.EFEPolicy.efeControlObjective_eq_gibbsFreeEnergy", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + } + ], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.learning_theory" + "FepSketches.controlled_markov", + "FepSketches.policy_tree", + "FepSketches.variational_duality" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.EmpiricalRisk", + "namespace": "FEP.EFEPolicy", "namespace_variable_context": [ - "{Ω : Type*} [Fintype Ω]" - ], - "preceding_scope_directives": [ - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Fintype Ω] in" - } + "{Action State Outcome Policy Belief Observation : Type*}\n [Fintype Action] [Fintype State] [Fintype Outcome] [Fintype Policy]\n [Fintype Belief] [Fintype Observation]" ], - "qualified_name": "FEP.EmpiricalRisk.laplaceBias_nonzero_witness", - "source_line": 333, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", - "statement": "theorem laplaceBias_nonzero_witness :\n laplaceBias 2 0 = 1 / 4 ∧ laplaceBias 2 0 ≠ 0", - "statement_sha256": "310c7ae1b9948ec17d31121fffea1317871ec35215c8600d13224c9d20049b46" + "preceding_scope_directives": [], + "qualified_name": "FEP.EFEPolicy.efeControlObjective_eq_kl_sub_logPartition", + "source_line": 103, + "source_owner": "src/fep_lean/formal/efe_policy_selection.lean", + "statement": "theorem efeControlObjective_eq_kl_sub_logPartition (prior : FiniteLaw Action)\n (prior_pos : ∀ policy, 0 < prior policy) (γ : ℝ) (hγ : 0 < γ)\n (cost : Action → ℝ) (Q : FiniteLaw Action) :\n efeControlObjective prior γ cost Q =\n γ⁻¹ * (finiteKL Q (controlPosterior prior γ cost) -\n Real.log (efeControlPartition prior γ cost))", + "statement_sha256": "91681f54a3e1ba1998e1b5b6313f21e9148f5f1a2160deaff4b91d9d1ef3c96d" }, - "FEP.EmpiricalRisk.laplaceBrierRisk_le": { + "FEP.EFEPolicy.efeControlObjective_sub_eq_kl": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "sampling" - ], - "role": "typed_binder", - "source": "(sampling : FiniteLaw Ω)", - "type_source": "FiniteLaw Ω", - "visibility": "explicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "successes" + "prior" ], "role": "typed_binder", - "source": "(successes : Ω → ℕ)", - "type_source": "Ω → ℕ", + "source": "(prior : FiniteLaw Action)", + "type_source": "FiniteLaw Action", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "sampleCount" + "prior_pos" ], "role": "typed_binder", - "source": "(sampleCount : ℕ)", - "type_source": "ℕ", + "source": "(prior_pos : ∀ policy, 0 < prior policy)", + "type_source": "∀ policy, 0 < prior policy", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "target" + "γ" ], "role": "typed_binder", - "source": "(target : ℝ)", + "source": "(γ : ℝ)", "type_source": "ℝ", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "sampleCountPositive" + "hγ" ], "role": "typed_binder", - "source": "(sampleCountPositive : 0 < sampleCount)", - "type_source": "0 < sampleCount", + "source": "(hγ : 0 < γ)", + "type_source": "0 < γ", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "successesAtMost" + "cost" ], "role": "typed_binder", - "source": "(successesAtMost : ∀ outcome, successes outcome ≤ sampleCount)", - "type_source": "∀ outcome, successes outcome ≤ sampleCount", + "source": "(cost : Action → ℝ)", + "type_source": "Action → ℝ", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "targetBounds" + "Q" ], "role": "typed_binder", - "source": "(targetBounds : target ∈ Set.Icc (0 : ℝ) 1)", - "type_source": "target ∈ Set.Icc (0 : ℝ) 1", + "source": "(Q : FiniteLaw Action)", + "type_source": "FiniteLaw Action", "visibility": "explicit" } ], - "conclusion": "brierExcessRisk sampling\n (fun outcome => laplaceEstimate (successes outcome) sampleCount) target ≤\n 2 * shrinkage sampleCount ^ 2 *\n VariationalDuality.expectation sampling (fun outcome =>\n (empiricalRate (successes outcome) sampleCount - target) ^ 2) +\n 2 * (1 / ((sampleCount : ℝ) + 2)) ^ 2", + "conclusion": "efeControlObjective prior γ cost Q -\n efeControlObjective prior γ cost (controlPosterior prior γ cost) =\n γ⁻¹ * finiteKL Q (controlPosterior prior γ cost)", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Ω" + "Action", + "State", + "Outcome", + "Policy", + "Belief", + "Observation" ], "role": "typed_binder", - "source": "{Ω : Type*}", + "source": "{Action State Outcome Policy Belief Observation : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -46586,85 +48691,121 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Ω]", - "type_source": "Fintype Ω", + "source": "[Fintype Action]", + "type_source": "Fintype Action", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype State]", + "type_source": "Fintype State", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Outcome]", + "type_source": "Fintype Outcome", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Policy]", + "type_source": "Fintype Policy", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Belief]", + "type_source": "Fintype Belief", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Observation]", + "type_source": "Fintype Observation", "visibility": "instance" } ], "declaration_mentions": [ { - "identifier": "brierExcess_eq_sqError", - "qualified_name": "FEP.EmpiricalRisk.brierExcess_eq_sqError", + "identifier": "efeControlObjective_eq_kl_sub_logPartition", + "qualified_name": "FEP.EFEPolicy.efeControlObjective_eq_kl_sub_logPartition", "resolution": "exact or same-namespace source identifier", "role": "proof_reference" }, { - "identifier": "laplaceSquaredRisk_le", - "qualified_name": "FEP.EmpiricalRisk.laplaceSquaredRisk_le", - "resolution": "exact or same-namespace source identifier", + "candidates": [ + "FEP.FiniteInformation.finiteKL_self" + ], + "identifier": "finiteKL_self", + "resolution": "unresolved lexical scope", "role": "proof_reference" } ], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.learning_theory" + "FepSketches.controlled_markov", + "FepSketches.policy_tree", + "FepSketches.variational_duality" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.EmpiricalRisk", + "namespace": "FEP.EFEPolicy", "namespace_variable_context": [ - "{Ω : Type*} [Fintype Ω]" + "{Action State Outcome Policy Belief Observation : Type*}\n [Fintype Action] [Fintype State] [Fintype Outcome] [Fintype Policy]\n [Fintype Belief] [Fintype Observation]" ], "preceding_scope_directives": [], - "qualified_name": "FEP.EmpiricalRisk.laplaceBrierRisk_le", - "source_line": 242, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", - "statement": "theorem laplaceBrierRisk_le (sampling : FiniteLaw Ω)\n (successes : Ω → ℕ) (sampleCount : ℕ) (target : ℝ)\n (sampleCountPositive : 0 < sampleCount)\n (successesAtMost : ∀ outcome, successes outcome ≤ sampleCount)\n (targetBounds : target ∈ Set.Icc (0 : ℝ) 1) :\n brierExcessRisk sampling\n (fun outcome => laplaceEstimate (successes outcome) sampleCount) target ≤\n 2 * shrinkage sampleCount ^ 2 *\n VariationalDuality.expectation sampling (fun outcome =>\n (empiricalRate (successes outcome) sampleCount - target) ^ 2) +\n 2 * (1 / ((sampleCount : ℝ) + 2)) ^ 2", - "statement_sha256": "ff207eb78a5ad8829d0af29f300f29c24e8510f967af7d5fd1f7d439d157cdc4" + "qualified_name": "FEP.EFEPolicy.efeControlObjective_sub_eq_kl", + "source_line": 125, + "source_owner": "src/fep_lean/formal/efe_policy_selection.lean", + "statement": "theorem efeControlObjective_sub_eq_kl (prior : FiniteLaw Action)\n (prior_pos : ∀ policy, 0 < prior policy) (γ : ℝ) (hγ : 0 < γ)\n (cost : Action → ℝ) (Q : FiniteLaw Action) :\n efeControlObjective prior γ cost Q -\n efeControlObjective prior γ cost (controlPosterior prior γ cost) =\n γ⁻¹ * finiteKL Q (controlPosterior prior γ cost)", + "statement_sha256": "016f021b1599e7627fe7cbcbe2267ee0f0290d2e073e47c2721d5dcfaf320091" }, - "FEP.EmpiricalRisk.laplaceError_identity": { + "FEP.EFEPolicy.exists_EFE_minimizing_policy": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "successes", - "sampleCount" - ], - "role": "typed_binder", - "source": "(successes sampleCount : ℕ)", - "type_source": "ℕ", - "visibility": "explicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "target" + "model" ], "role": "typed_binder", - "source": "(target : ℝ)", - "type_source": "ℝ", + "source": "(model : GenerativeModel Policy State Outcome)", + "type_source": "GenerativeModel Policy State Outcome", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "sampleCountPositive" - ], - "role": "typed_binder", - "source": "(sampleCountPositive : 0 < sampleCount)", - "type_source": "0 < sampleCount", - "visibility": "explicit" + "names": [], + "role": "instance_requirement", + "source": "[Nonempty Policy]", + "type_source": "Nonempty Policy", + "visibility": "instance" } ], - "conclusion": "laplaceEstimate successes sampleCount - target =\n shrinkage sampleCount * (empiricalRate successes sampleCount - target) +\n laplaceBias sampleCount target", + "conclusion": "∃ policy : Policy, ∀ alternative : Policy,\n expectedFreeEnergy model policy ≤ expectedFreeEnergy model alternative", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Ω" + "Action", + "State", + "Outcome", + "Policy", + "Belief", + "Observation" ], "role": "typed_binder", - "source": "{Ω : Type*}", + "source": "{Action State Outcome Policy Belief Observation : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -46672,82 +48813,135 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Ω]", - "type_source": "Fintype Ω", + "source": "[Fintype Action]", + "type_source": "Fintype Action", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype State]", + "type_source": "Fintype State", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Outcome]", + "type_source": "Fintype Outcome", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Policy]", + "type_source": "Fintype Policy", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Belief]", + "type_source": "Fintype Belief", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Observation]", + "type_source": "Fintype Observation", "visibility": "instance" } ], - "declaration_mentions": [], + "declaration_mentions": [ + { + "candidates": [ + "FEP.ControlledMarkov.exists_finite_minimizer" + ], + "identifier": "exists_finite_minimizer", + "resolution": "unresolved lexical scope", + "role": "proof_reference" + } + ], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.learning_theory" + "FepSketches.controlled_markov", + "FepSketches.policy_tree", + "FepSketches.variational_duality" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.EmpiricalRisk", + "namespace": "FEP.EFEPolicy", "namespace_variable_context": [ - "{Ω : Type*} [Fintype Ω]" + "{Action State Outcome Policy Belief Observation : Type*}\n [Fintype Action] [Fintype State] [Fintype Outcome] [Fintype Policy]\n [Fintype Belief] [Fintype Observation]" ], "preceding_scope_directives": [], - "qualified_name": "FEP.EmpiricalRisk.laplaceError_identity", - "source_line": 51, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", - "statement": "theorem laplaceError_identity (successes sampleCount : ℕ) (target : ℝ)\n (sampleCountPositive : 0 < sampleCount) :\n laplaceEstimate successes sampleCount - target =\n shrinkage sampleCount * (empiricalRate successes sampleCount - target) +\n laplaceBias sampleCount target", - "statement_sha256": "350960f2036fb6345771778dbbed4c7c791b7ca5714e28a57c556ba5277b2343" + "qualified_name": "FEP.EFEPolicy.exists_EFE_minimizing_policy", + "source_line": 221, + "source_owner": "src/fep_lean/formal/efe_policy_selection.lean", + "statement": "theorem exists_EFE_minimizing_policy\n (model : GenerativeModel Policy State Outcome) [Nonempty Policy] :\n ∃ policy : Policy, ∀ alternative : Policy,\n expectedFreeEnergy model policy ≤ expectedFreeEnergy model alternative", + "statement_sha256": "08deb4dfa80c7321cf6a38c050182a1b1bba8e591d439cae1e9fc634b12218bc" }, - "FEP.EmpiricalRisk.laplaceSquaredError_le": { + "FEP.EFEPolicy.finiteArgminEFE_minimizes_risk_add_ambiguity": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "successes", - "sampleCount" + "model" ], "role": "typed_binder", - "source": "(successes sampleCount : ℕ)", - "type_source": "ℕ", + "source": "(model : GenerativeModel Policy State Outcome)", + "type_source": "GenerativeModel Policy State Outcome", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "target" + "support" ], "role": "typed_binder", - "source": "(target : ℝ)", - "type_source": "ℝ", + "source": "(support : FullSupport model)", + "type_source": "FullSupport model", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "sampleCountPositive" - ], - "role": "typed_binder", - "source": "(sampleCountPositive : 0 < sampleCount)", - "type_source": "0 < sampleCount", - "visibility": "explicit" + "names": [], + "role": "instance_requirement", + "source": "[Nonempty Policy]", + "type_source": "Nonempty Policy", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "targetBounds" + "alternative" ], "role": "typed_binder", - "source": "(targetBounds : target ∈ Set.Icc (0 : ℝ) 1)", - "type_source": "target ∈ Set.Icc (0 : ℝ) 1", + "source": "(alternative : Policy)", + "type_source": "Policy", "visibility": "explicit" } ], - "conclusion": "(laplaceEstimate successes sampleCount - target) ^ 2 ≤\n 2 * shrinkage sampleCount ^ 2 *\n (empiricalRate successes sampleCount - target) ^ 2 +\n 2 * (1 / ((sampleCount : ℝ) + 2)) ^ 2", + "conclusion": "risk model (finiteArgmin (expectedFreeEnergy model)) +\n ambiguity model (finiteArgmin (expectedFreeEnergy model)) ≤\n risk model alternative + ambiguity model alternative", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Ω" + "Action", + "State", + "Outcome", + "Policy", + "Belief", + "Observation" ], "role": "typed_binder", - "source": "{Ω : Type*}", + "source": "{Action State Outcome Policy Belief Observation : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -46755,199 +48949,255 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Ω]", - "type_source": "Fintype Ω", + "source": "[Fintype Action]", + "type_source": "Fintype Action", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype State]", + "type_source": "Fintype State", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Outcome]", + "type_source": "Fintype Outcome", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Policy]", + "type_source": "Fintype Policy", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Belief]", + "type_source": "Fintype Belief", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Observation]", + "type_source": "Fintype Observation", "visibility": "instance" } ], "declaration_mentions": [ { - "identifier": "laplaceBias_abs_le", - "qualified_name": "FEP.EmpiricalRisk.laplaceBias_abs_le", - "resolution": "exact or same-namespace source identifier", + "candidates": [ + "FEP.ActiveInference.expectedFreeEnergy_eq_risk_add_ambiguity" + ], + "identifier": "expectedFreeEnergy_eq_risk_add_ambiguity", + "resolution": "unresolved lexical scope", "role": "proof_reference" }, { - "identifier": "laplaceError_identity", - "qualified_name": "FEP.EmpiricalRisk.laplaceError_identity", - "resolution": "exact or same-namespace source identifier", + "candidates": [ + "FEP.ControlledMarkov.finiteArgmin_le" + ], + "identifier": "finiteArgmin_le", + "resolution": "unresolved lexical scope", "role": "proof_reference" } ], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.learning_theory" + "FepSketches.controlled_markov", + "FepSketches.policy_tree", + "FepSketches.variational_duality" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.EmpiricalRisk", + "namespace": "FEP.EFEPolicy", "namespace_variable_context": [ - "{Ω : Type*} [Fintype Ω]" + "{Action State Outcome Policy Belief Observation : Type*}\n [Fintype Action] [Fintype State] [Fintype Outcome] [Fintype Policy]\n [Fintype Belief] [Fintype Observation]" ], "preceding_scope_directives": [], - "qualified_name": "FEP.EmpiricalRisk.laplaceSquaredError_le", - "source_line": 106, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", - "statement": "theorem laplaceSquaredError_le (successes sampleCount : ℕ) (target : ℝ)\n (sampleCountPositive : 0 < sampleCount)\n (targetBounds : target ∈ Set.Icc (0 : ℝ) 1) :\n (laplaceEstimate successes sampleCount - target) ^ 2 ≤\n 2 * shrinkage sampleCount ^ 2 *\n (empiricalRate successes sampleCount - target) ^ 2 +\n 2 * (1 / ((sampleCount : ℝ) + 2)) ^ 2", - "statement_sha256": "c8a9e92e45b4c286d87d6dd80d4b3669e5cb3eda04e1a67f9554c69592f72f7a" + "qualified_name": "FEP.EFEPolicy.finiteArgminEFE_minimizes_risk_add_ambiguity", + "source_line": 208, + "source_owner": "src/fep_lean/formal/efe_policy_selection.lean", + "statement": "theorem finiteArgminEFE_minimizes_risk_add_ambiguity\n (model : GenerativeModel Policy State Outcome) (support : FullSupport model)\n [Nonempty Policy] (alternative : Policy) :\n risk model (finiteArgmin (expectedFreeEnergy model)) +\n ambiguity model (finiteArgmin (expectedFreeEnergy model)) ≤\n risk model alternative + ambiguity model alternative", + "statement_sha256": "295e7d88b5d13905027d7de7efc561913397081095fc9a78619048ec46b46c0c" }, - "FEP.EmpiricalRisk.laplaceSquaredRisk_le": { + "FEP.EFEPolicy.policyTree_value_agreement": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "sampling" - ], - "role": "typed_binder", - "source": "(sampling : FiniteLaw Ω)", - "type_source": "FiniteLaw Ω", - "visibility": "explicit" + "names": [], + "role": "instance_requirement", + "source": "[Nonempty Action]", + "type_source": "Nonempty Action", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "successes" + "model" ], "role": "typed_binder", - "source": "(successes : Ω → ℕ)", - "type_source": "Ω → ℕ", + "source": "(model : EFEPolicyTreeModel Belief State Action Observation)", + "type_source": "EFEPolicyTreeModel Belief State Action Observation", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "sampleCount" + "depth" ], "role": "typed_binder", - "source": "(sampleCount : ℕ)", + "source": "(depth : ℕ)", "type_source": "ℕ", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "target" + "belief" ], "role": "typed_binder", - "source": "(target : ℝ)", - "type_source": "ℝ", + "source": "(belief : Belief)", + "type_source": "Belief", "visibility": "explicit" - }, + } + ], + "conclusion": "policyTreeValue (riskAmbiguityPolicyTreeModel model)\n (optimalPolicyTree (efePolicyTreeModel model) depth belief) belief =\n optimalTreeValue (riskAmbiguityPolicyTreeModel model) depth belief ∧\n policyTreeValue (efePolicyTreeModel model)\n (optimalPolicyTree (riskAmbiguityPolicyTreeModel model) depth belief)\n belief =\n optimalTreeValue (efePolicyTreeModel model) depth belief", + "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "sampleCountPositive" + "Action", + "State", + "Outcome", + "Policy", + "Belief", + "Observation" ], "role": "typed_binder", - "source": "(sampleCountPositive : 0 < sampleCount)", - "type_source": "0 < sampleCount", - "visibility": "explicit" + "source": "{Action State Outcome Policy Belief Observation : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "successesAtMost" - ], - "role": "typed_binder", - "source": "(successesAtMost : ∀ outcome, successes outcome ≤ sampleCount)", - "type_source": "∀ outcome, successes outcome ≤ sampleCount", - "visibility": "explicit" + "names": [], + "role": "instance_requirement", + "source": "[Fintype Action]", + "type_source": "Fintype Action", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "targetBounds" - ], - "role": "typed_binder", - "source": "(targetBounds : target ∈ Set.Icc (0 : ℝ) 1)", - "type_source": "target ∈ Set.Icc (0 : ℝ) 1", - "visibility": "explicit" - } - ], - "conclusion": "VariationalDuality.expectation sampling (fun outcome =>\n (laplaceEstimate (successes outcome) sampleCount - target) ^ 2) ≤\n 2 * shrinkage sampleCount ^ 2 *\n VariationalDuality.expectation sampling (fun outcome =>\n (empiricalRate (successes outcome) sampleCount - target) ^ 2) +\n 2 * (1 / ((sampleCount : ℝ) + 2)) ^ 2", - "context_binders": [ + "names": [], + "role": "instance_requirement", + "source": "[Fintype State]", + "type_source": "Fintype State", + "visibility": "instance" + }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "Ω" - ], - "role": "typed_binder", - "source": "{Ω : Type*}", - "type_source": "Type*", - "visibility": "implicit" + "names": [], + "role": "instance_requirement", + "source": "[Fintype Outcome]", + "type_source": "Fintype Outcome", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Ω]", - "type_source": "Fintype Ω", + "source": "[Fintype Policy]", + "type_source": "Fintype Policy", "visibility": "instance" - } - ], - "declaration_mentions": [ - { - "identifier": "expectation_add", - "qualified_name": "FEP.EmpiricalRisk.expectation_add", - "resolution": "exact or same-namespace source identifier", - "role": "proof_reference" }, { - "identifier": "expectation_const", - "qualified_name": "FEP.EmpiricalRisk.expectation_const", - "resolution": "exact or same-namespace source identifier", - "role": "proof_reference" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Belief]", + "type_source": "Fintype Belief", + "visibility": "instance" }, { - "identifier": "expectation_const_mul", - "qualified_name": "FEP.EmpiricalRisk.expectation_const_mul", - "resolution": "exact or same-namespace source identifier", + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Observation]", + "type_source": "Fintype Observation", + "visibility": "instance" + } + ], + "declaration_mentions": [ + { + "candidates": [ + "FEP.PolicyTrees.optimalEFEValue_eq_riskAmbiguity" + ], + "identifier": "optimalEFEValue_eq_riskAmbiguity", + "resolution": "unresolved lexical scope", "role": "proof_reference" }, { - "identifier": "expectation_mono", - "qualified_name": "FEP.EmpiricalRisk.expectation_mono", - "resolution": "exact or same-namespace source identifier", + "candidates": [ + "FEP.PolicyTrees.optimalPolicyTree_value" + ], + "identifier": "optimalPolicyTree_value", + "resolution": "unresolved lexical scope", "role": "proof_reference" }, { - "identifier": "laplaceSquaredError_le", - "qualified_name": "FEP.EmpiricalRisk.laplaceSquaredError_le", - "resolution": "exact or same-namespace source identifier", + "candidates": [ + "FEP.PolicyTrees.policyTree_efe_eq_risk_add_ambiguity" + ], + "identifier": "policyTree_efe_eq_risk_add_ambiguity", + "resolution": "unresolved lexical scope", "role": "proof_reference" } ], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.learning_theory" + "FepSketches.controlled_markov", + "FepSketches.policy_tree", + "FepSketches.variational_duality" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.EmpiricalRisk", + "namespace": "FEP.EFEPolicy", "namespace_variable_context": [ - "{Ω : Type*} [Fintype Ω]" + "{Action State Outcome Policy Belief Observation : Type*}\n [Fintype Action] [Fintype State] [Fintype Outcome] [Fintype Policy]\n [Fintype Belief] [Fintype Observation]" ], "preceding_scope_directives": [], - "qualified_name": "FEP.EmpiricalRisk.laplaceSquaredRisk_le", - "source_line": 181, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", - "statement": "theorem laplaceSquaredRisk_le (sampling : FiniteLaw Ω)\n (successes : Ω → ℕ) (sampleCount : ℕ) (target : ℝ)\n (sampleCountPositive : 0 < sampleCount)\n (successesAtMost : ∀ outcome, successes outcome ≤ sampleCount)\n (targetBounds : target ∈ Set.Icc (0 : ℝ) 1) :\n VariationalDuality.expectation sampling (fun outcome =>\n (laplaceEstimate (successes outcome) sampleCount - target) ^ 2) ≤\n 2 * shrinkage sampleCount ^ 2 *\n VariationalDuality.expectation sampling (fun outcome =>\n (empiricalRate (successes outcome) sampleCount - target) ^ 2) +\n 2 * (1 / ((sampleCount : ℝ) + 2)) ^ 2", - "statement_sha256": "058c104c9d58a611fbc83f863ce36b41457d6f7f56a1bfc6189624bac32f8fab" + "qualified_name": "FEP.EFEPolicy.policyTree_value_agreement", + "source_line": 233, + "source_owner": "src/fep_lean/formal/efe_policy_selection.lean", + "statement": "theorem policyTree_value_agreement [Nonempty Action]\n (model : EFEPolicyTreeModel Belief State Action Observation)\n (depth : ℕ) (belief : Belief) :\n policyTreeValue (riskAmbiguityPolicyTreeModel model)\n (optimalPolicyTree (efePolicyTreeModel model) depth belief) belief =\n optimalTreeValue (riskAmbiguityPolicyTreeModel model) depth belief ∧\n policyTreeValue (efePolicyTreeModel model)\n (optimalPolicyTree (riskAmbiguityPolicyTreeModel model) depth belief)\n belief =\n optimalTreeValue (efePolicyTreeModel model) depth belief", + "statement_sha256": "0461b993b036973fade4474acfc164f619b76824ad1afb717e1056f2e156fe02" }, - "FEP.EmpiricalRisk.shrinkage_le_one": { + "FEP.EmpiricalRisk.brierExcess_eq_sqError": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "sampleCount" + "target", + "forecast" ], "role": "typed_binder", - "source": "(sampleCount : ℕ)", - "type_source": "ℕ", + "source": "(target forecast : ℝ)", + "type_source": "ℝ", "visibility": "explicit" } ], - "conclusion": "shrinkage sampleCount ≤ 1", + "conclusion": "bernoulliBrierScore target forecast - bernoulliBrierScore target target =\n (forecast - target) ^ 2", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -46979,27 +49229,38 @@ "{Ω : Type*} [Fintype Ω]" ], "preceding_scope_directives": [], - "qualified_name": "FEP.EmpiricalRisk.shrinkage_le_one", - "source_line": 44, + "qualified_name": "FEP.EmpiricalRisk.brierExcess_eq_sqError", + "source_line": 228, "source_owner": "src/fep_lean/formal/empirical_risk.lean", - "statement": "theorem shrinkage_le_one (sampleCount : ℕ) :\n shrinkage sampleCount ≤ 1", - "statement_sha256": "7e70ad651f8bae5b6c07932cc2ff4a41b56cdaeb3ccae460a9a1ffd3b3dbb4ec" + "statement": "theorem brierExcess_eq_sqError (target forecast : ℝ) :\n bernoulliBrierScore target forecast - bernoulliBrierScore target target =\n (forecast - target) ^ 2", + "statement_sha256": "d8b850fd61ba4818626cc86a96961c6be7af8b2f61772d3e7ce12ec5e5ab141c" }, - "FEP.EmpiricalRisk.shrinkage_nonneg": { + "FEP.EmpiricalRisk.expectation_add": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "sampleCount" + "sampling" ], "role": "typed_binder", - "source": "(sampleCount : ℕ)", - "type_source": "ℕ", + "source": "(sampling : FiniteLaw Ω)", + "type_source": "FiniteLaw Ω", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "left", + "right" + ], + "role": "typed_binder", + "source": "(left right : Ω → ℝ)", + "type_source": "Ω → ℝ", "visibility": "explicit" } ], - "conclusion": "0 ≤ shrinkage sampleCount", + "conclusion": "VariationalDuality.expectation sampling (fun outcome =>\n left outcome + right outcome) =\n VariationalDuality.expectation sampling left +\n VariationalDuality.expectation sampling right", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -47031,56 +49292,45 @@ "{Ω : Type*} [Fintype Ω]" ], "preceding_scope_directives": [], - "qualified_name": "FEP.EmpiricalRisk.shrinkage_nonneg", - "source_line": 39, + "qualified_name": "FEP.EmpiricalRisk.expectation_add", + "source_line": 156, "source_owner": "src/fep_lean/formal/empirical_risk.lean", - "statement": "theorem shrinkage_nonneg (sampleCount : ℕ) :\n 0 ≤ shrinkage sampleCount", - "statement_sha256": "8f9e79225727e85761036de9ea627c03ab4b9ccca72f5a75e4c04b6e03906edf" + "statement": "theorem expectation_add (sampling : FiniteLaw Ω) (left right : Ω → ℝ) :\n VariationalDuality.expectation sampling (fun outcome =>\n left outcome + right outcome) =\n VariationalDuality.expectation sampling left +\n VariationalDuality.expectation sampling right", + "statement_sha256": "343a1e4a9ae96040ae9bf3d140f44794e2f2eed024621ca8ec5432478ba28561" }, - "FEP.ExponentialFamily.ScalarExponentialFamily.constantStatistic_variance_zero": { + "FEP.EmpiricalRisk.expectation_const": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "base" - ], - "role": "typed_binder", - "source": "(base : Outcome → ℝ)", - "type_source": "Outcome → ℝ", - "visibility": "explicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "hBase" + "sampling" ], "role": "typed_binder", - "source": "(hBase : ∀ outcome, 0 < base outcome)", - "type_source": "∀ outcome, 0 < base outcome", + "source": "(sampling : FiniteLaw Ω)", + "type_source": "FiniteLaw Ω", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "constant", - "parameter" + "constant" ], "role": "typed_binder", - "source": "(constant parameter : ℝ)", + "source": "(constant : ℝ)", "type_source": "ℝ", "visibility": "explicit" } ], - "conclusion": "(constantStatisticFamily base hBase constant).variance parameter = 0", + "conclusion": "VariationalDuality.expectation sampling (fun _ => constant) = constant", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Outcome" + "Ω" ], "role": "typed_binder", - "source": "{Outcome : Type*}", + "source": "{Ω : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -47088,98 +49338,71 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Outcome]", - "type_source": "Fintype Outcome", - "visibility": "instance" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Nonempty Outcome]", - "type_source": "Nonempty Outcome", + "source": "[Fintype Ω]", + "type_source": "Fintype Ω", "visibility": "instance" } ], - "declaration_mentions": [ - { - "identifier": "mean_eq_expectation", - "qualified_name": "FEP.ExponentialFamily.ScalarExponentialFamily.mean_eq_expectation", - "resolution": "exact or same-namespace source identifier", - "role": "proof_reference" - } - ], + "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.finite_information" + "FepSketches.learning_theory" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.ExponentialFamily.ScalarExponentialFamily", + "namespace": "FEP.EmpiricalRisk", "namespace_variable_context": [ - "{Outcome : Type*} [Fintype Outcome] [Nonempty Outcome]" + "{Ω : Type*} [Fintype Ω]" ], - "preceding_scope_directives": [ - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty Outcome] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty Outcome] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty Outcome] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty Outcome] in" - } - ], - "qualified_name": "FEP.ExponentialFamily.ScalarExponentialFamily.constantStatistic_variance_zero", - "source_line": 421, - "source_owner": "src/fep_lean/formal/exponential_family.lean", - "statement": "theorem constantStatistic_variance_zero\n (base : Outcome → ℝ) (hBase : ∀ outcome, 0 < base outcome)\n (constant parameter : ℝ) :\n (constantStatisticFamily base hBase constant).variance parameter = 0", - "statement_sha256": "f640d406160712678350a37070c0111266610c317cf1cfa743d92e18fff09113" + "preceding_scope_directives": [], + "qualified_name": "FEP.EmpiricalRisk.expectation_const", + "source_line": 174, + "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "statement": "theorem expectation_const (sampling : FiniteLaw Ω) (constant : ℝ) :\n VariationalDuality.expectation sampling (fun _ => constant) = constant", + "statement_sha256": "8ba5a17071f1d9a3283ced20904197fac138298e288bdfd2dae7fa8700fd1b50" }, - "FEP.ExponentialFamily.ScalarExponentialFamily.finiteKL_eq_logPartitionBregman": { + "FEP.EmpiricalRisk.expectation_const_mul": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "family" + "sampling" ], "role": "typed_binder", - "source": "(family : ScalarExponentialFamily Outcome)", - "type_source": "ScalarExponentialFamily Outcome", + "source": "(sampling : FiniteLaw Ω)", + "type_source": "FiniteLaw Ω", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "left", - "right" + "constant" ], "role": "typed_binder", - "source": "(left right : ℝ)", + "source": "(constant : ℝ)", "type_source": "ℝ", "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "value" + ], + "role": "typed_binder", + "source": "(value : Ω → ℝ)", + "type_source": "Ω → ℝ", + "visibility": "explicit" } ], - "conclusion": "finiteKL (family.law left) (family.law right) =\n family.logPartitionBregman left right", + "conclusion": "VariationalDuality.expectation sampling (fun outcome =>\n constant * value outcome) =\n constant * VariationalDuality.expectation sampling value", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Outcome" + "Ω" ], "role": "typed_binder", - "source": "{Outcome : Type*}", + "source": "{Ω : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -47187,68 +49410,39 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Outcome]", - "type_source": "Fintype Outcome", - "visibility": "instance" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Nonempty Outcome]", - "type_source": "Nonempty Outcome", + "source": "[Fintype Ω]", + "type_source": "Fintype Ω", "visibility": "instance" } ], "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.finite_information" + "FepSketches.learning_theory" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.ExponentialFamily.ScalarExponentialFamily", + "namespace": "FEP.EmpiricalRisk", "namespace_variable_context": [ - "{Outcome : Type*} [Fintype Outcome] [Nonempty Outcome]" - ], - "preceding_scope_directives": [ - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty Outcome] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty Outcome] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty Outcome] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty Outcome] in" - } + "{Ω : Type*} [Fintype Ω]" ], - "qualified_name": "FEP.ExponentialFamily.ScalarExponentialFamily.finiteKL_eq_logPartitionBregman", - "source_line": 367, - "source_owner": "src/fep_lean/formal/exponential_family.lean", - "statement": "theorem finiteKL_eq_logPartitionBregman\n (family : ScalarExponentialFamily Outcome) (left right : ℝ) :\n finiteKL (family.law left) (family.law right) =\n family.logPartitionBregman left right", - "statement_sha256": "6081e9fad923ad5ccb11b666c7f051e9875cdc9b152b1337534d3446c1fa7471" + "preceding_scope_directives": [], + "qualified_name": "FEP.EmpiricalRisk.expectation_const_mul", + "source_line": 163, + "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "statement": "theorem expectation_const_mul (sampling : FiniteLaw Ω) (constant : ℝ)\n (value : Ω → ℝ) :\n VariationalDuality.expectation sampling (fun outcome =>\n constant * value outcome) =\n constant * VariationalDuality.expectation sampling value", + "statement_sha256": "26b2b9934e200c7683658d243c34e13ff1167ba73a6869d7158327bb1ceefe95" }, - "FEP.ExponentialFamily.ScalarExponentialFamily.finiteKL_eq_logRatioKL": { + "FEP.EmpiricalRisk.expectation_mono": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "family" + "sampling" ], "role": "typed_binder", - "source": "(family : ScalarExponentialFamily Outcome)", - "type_source": "ScalarExponentialFamily Outcome", + "source": "(sampling : FiniteLaw Ω)", + "type_source": "FiniteLaw Ω", "visibility": "explicit" }, { @@ -47258,20 +49452,30 @@ "right" ], "role": "typed_binder", - "source": "(left right : ℝ)", - "type_source": "ℝ", + "source": "(left right : Ω → ℝ)", + "type_source": "Ω → ℝ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "pointwise" + ], + "role": "typed_binder", + "source": "(pointwise : ∀ outcome, left outcome ≤ right outcome)", + "type_source": "∀ outcome, left outcome ≤ right outcome", "visibility": "explicit" } ], - "conclusion": "finiteKL (family.law left) (family.law right) =\n family.logRatioKL left right", + "conclusion": "VariationalDuality.expectation sampling left ≤\n VariationalDuality.expectation sampling right", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Outcome" + "Ω" ], "role": "typed_binder", - "source": "{Outcome : Type*}", + "source": "{Ω : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -47279,99 +49483,72 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Outcome]", - "type_source": "Fintype Outcome", - "visibility": "instance" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Nonempty Outcome]", - "type_source": "Nonempty Outcome", + "source": "[Fintype Ω]", + "type_source": "Fintype Ω", "visibility": "instance" } ], - "declaration_mentions": [ - { - "candidates": [ - "FEP.FiniteInformation.finiteKL_eq_crossEntropy_sub_entropy" - ], - "identifier": "finiteKL_eq_crossEntropy_sub_entropy", - "resolution": "unresolved lexical scope", - "role": "proof_reference" - } - ], + "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.finite_information" + "FepSketches.learning_theory" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.ExponentialFamily.ScalarExponentialFamily", + "namespace": "FEP.EmpiricalRisk", "namespace_variable_context": [ - "{Outcome : Type*} [Fintype Outcome] [Nonempty Outcome]" - ], - "preceding_scope_directives": [ - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty Outcome] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty Outcome] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty Outcome] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty Outcome] in" - } + "{Ω : Type*} [Fintype Ω]" ], - "qualified_name": "FEP.ExponentialFamily.ScalarExponentialFamily.finiteKL_eq_logRatioKL", - "source_line": 352, - "source_owner": "src/fep_lean/formal/exponential_family.lean", - "statement": "theorem finiteKL_eq_logRatioKL\n (family : ScalarExponentialFamily Outcome) (left right : ℝ) :\n finiteKL (family.law left) (family.law right) =\n family.logRatioKL left right", - "statement_sha256": "117f193029d136fdee655bbce4624e5f77c81fbe0a7125b5494781b0dcf38613" + "preceding_scope_directives": [], + "qualified_name": "FEP.EmpiricalRisk.expectation_mono", + "source_line": 148, + "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "statement": "theorem expectation_mono (sampling : FiniteLaw Ω) (left right : Ω → ℝ)\n (pointwise : ∀ outcome, left outcome ≤ right outcome) :\n VariationalDuality.expectation sampling left ≤\n VariationalDuality.expectation sampling right", + "statement_sha256": "c215c3de6410b3a03945ebfb37bf70e4f21de3cd3e6e77892f0e00db9a25387c" }, - "FEP.ExponentialFamily.ScalarExponentialFamily.fisher_eq_variance": { + "FEP.EmpiricalRisk.finiteEventProbability_mono": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "family" + "sampling" ], "role": "typed_binder", - "source": "(family : ScalarExponentialFamily Outcome)", - "type_source": "ScalarExponentialFamily Outcome", + "source": "(sampling : FiniteLaw Ω)", + "type_source": "FiniteLaw Ω", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "parameter" + "left", + "right" ], "role": "typed_binder", - "source": "(parameter : ℝ)", - "type_source": "ℝ", + "source": "{left right : Set Ω}", + "type_source": "Set Ω", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "subset" + ], + "role": "typed_binder", + "source": "(subset : left ⊆ right)", + "type_source": "left ⊆ right", "visibility": "explicit" } ], - "conclusion": "family.fisher parameter = family.variance parameter", + "conclusion": "finiteEventProbability sampling left ≤\n finiteEventProbability sampling right", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Outcome" + "Ω" ], "role": "typed_binder", - "source": "{Outcome : Type*}", + "source": "{Ω : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -47379,90 +49556,93 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Outcome]", - "type_source": "Fintype Outcome", - "visibility": "instance" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Nonempty Outcome]", - "type_source": "Nonempty Outcome", + "source": "[Fintype Ω]", + "type_source": "Fintype Ω", "visibility": "instance" } ], "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.finite_information" + "FepSketches.learning_theory" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.ExponentialFamily.ScalarExponentialFamily", + "namespace": "FEP.EmpiricalRisk", "namespace_variable_context": [ - "{Outcome : Type*} [Fintype Outcome] [Nonempty Outcome]" - ], - "preceding_scope_directives": [ - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty Outcome] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty Outcome] in" - } + "{Ω : Type*} [Fintype Ω]" ], - "qualified_name": "FEP.ExponentialFamily.ScalarExponentialFamily.fisher_eq_variance", - "source_line": 151, - "source_owner": "src/fep_lean/formal/exponential_family.lean", - "statement": "theorem fisher_eq_variance (family : ScalarExponentialFamily Outcome)\n (parameter : ℝ) :\n family.fisher parameter = family.variance parameter", - "statement_sha256": "5f0beee45d89505e104149eb141d77488481feb87c0d52d42b6b1d989c321654" + "preceding_scope_directives": [], + "qualified_name": "FEP.EmpiricalRisk.finiteEventProbability_mono", + "source_line": 266, + "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "statement": "theorem finiteEventProbability_mono (sampling : FiniteLaw Ω)\n {left right : Set Ω} (subset : left ⊆ right) :\n finiteEventProbability sampling left ≤\n finiteEventProbability sampling right", + "statement_sha256": "08751f6e9b33cdc28c9b7a62af9de2233010973c34116c3b693195250e8a9d64" }, - "FEP.ExponentialFamily.ScalarExponentialFamily.law_hasDerivAt": { + "FEP.EmpiricalRisk.laplaceAbsoluteError_le": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "family" + "successes", + "sampleCount" ], "role": "typed_binder", - "source": "(family : ScalarExponentialFamily Outcome)", - "type_source": "ScalarExponentialFamily Outcome", + "source": "(successes sampleCount : ℕ)", + "type_source": "ℕ", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "parameter" + "target", + "error" ], "role": "typed_binder", - "source": "(parameter : ℝ)", + "source": "(target error : ℝ)", "type_source": "ℝ", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "outcome" + "sampleCountPositive" ], "role": "typed_binder", - "source": "(outcome : Outcome)", - "type_source": "Outcome", + "source": "(sampleCountPositive : 0 < sampleCount)", + "type_source": "0 < sampleCount", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "targetBounds" + ], + "role": "typed_binder", + "source": "(targetBounds : target ∈ Set.Icc (0 : ℝ) 1)", + "type_source": "target ∈ Set.Icc (0 : ℝ) 1", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "empiricalErrorBound" + ], + "role": "typed_binder", + "source": "(empiricalErrorBound :\n |empiricalRate successes sampleCount - target| ≤ error)", + "type_source": "|empiricalRate successes sampleCount - target| ≤ error", "visibility": "explicit" } ], - "conclusion": "HasDerivAt (fun candidate ↦ family.law candidate outcome)\n (family.law parameter outcome * family.score parameter outcome)\n parameter", + "conclusion": "|laplaceEstimate successes sampleCount - target| ≤\n shrinkage sampleCount * error + 1 / ((sampleCount : ℝ) + 2)", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Outcome" + "Ω" ], "role": "typed_binder", - "source": "{Outcome : Type*}", + "source": "{Ω : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -47470,100 +49650,142 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Outcome]", - "type_source": "Fintype Outcome", + "source": "[Fintype Ω]", + "type_source": "Fintype Ω", "visibility": "instance" + } + ], + "declaration_mentions": [ + { + "identifier": "laplaceBias_abs_le", + "qualified_name": "FEP.EmpiricalRisk.laplaceBias_abs_le", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" }, { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Nonempty Outcome]", - "type_source": "Nonempty Outcome", - "visibility": "instance" + "identifier": "laplaceError_identity", + "qualified_name": "FEP.EmpiricalRisk.laplaceError_identity", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + }, + { + "identifier": "shrinkage_nonneg", + "qualified_name": "FEP.EmpiricalRisk.shrinkage_nonneg", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" } ], - "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.finite_information" + "FepSketches.learning_theory" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.ExponentialFamily.ScalarExponentialFamily", + "namespace": "FEP.EmpiricalRisk", "namespace_variable_context": [ - "{Outcome : Type*} [Fintype Outcome] [Nonempty Outcome]" + "{Ω : Type*} [Fintype Ω]" ], - "preceding_scope_directives": [ + "preceding_scope_directives": [], + "qualified_name": "FEP.EmpiricalRisk.laplaceAbsoluteError_le", + "source_line": 78, + "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "statement": "theorem laplaceAbsoluteError_le (successes sampleCount : ℕ) (target error : ℝ)\n (sampleCountPositive : 0 < sampleCount)\n (targetBounds : target ∈ Set.Icc (0 : ℝ) 1)\n (empiricalErrorBound :\n |empiricalRate successes sampleCount - target| ≤ error) :\n |laplaceEstimate successes sampleCount - target| ≤\n shrinkage sampleCount * error + 1 / ((sampleCount : ℝ) + 2)", + "statement_sha256": "c6209f9f786a3480660bddadbcef5cf1c72fd488215340e4c952745bb9865807" + }, + "FEP.EmpiricalRisk.laplaceBadEvent_probability_le": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty Outcome] in" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "sampling" + ], + "role": "typed_binder", + "source": "(sampling : FiniteLaw Ω)", + "type_source": "FiniteLaw Ω", + "visibility": "explicit" }, { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty Outcome] in" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "successes" + ], + "role": "typed_binder", + "source": "(successes : Ω → ℕ)", + "type_source": "Ω → ℕ", + "visibility": "explicit" }, { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty Outcome] in" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "sampleCount" + ], + "role": "typed_binder", + "source": "(sampleCount : ℕ)", + "type_source": "ℕ", + "visibility": "explicit" }, { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty Outcome] in" - } - ], - "qualified_name": "FEP.ExponentialFamily.ScalarExponentialFamily.law_hasDerivAt", - "source_line": 262, - "source_owner": "src/fep_lean/formal/exponential_family.lean", - "statement": "theorem law_hasDerivAt (family : ScalarExponentialFamily Outcome)\n (parameter : ℝ) (outcome : Outcome) :\n HasDerivAt (fun candidate ↦ family.law candidate outcome)\n (family.law parameter outcome * family.score parameter outcome)\n parameter", - "statement_sha256": "e47eb9312eace0a48af8f5a0fecd1854afd721a232e88e412bc8bea618152733" - }, - "FEP.ExponentialFamily.ScalarExponentialFamily.law_pos": { - "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [ + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "target", + "error", + "failure" + ], + "role": "typed_binder", + "source": "(target error failure : ℝ)", + "type_source": "ℝ", + "visibility": "explicit" + }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "family" + "sampleCountPositive" ], "role": "typed_binder", - "source": "(family : ScalarExponentialFamily Outcome)", - "type_source": "ScalarExponentialFamily Outcome", + "source": "(sampleCountPositive : 0 < sampleCount)", + "type_source": "0 < sampleCount", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "parameter" + "successesAtMost" ], "role": "typed_binder", - "source": "(parameter : ℝ)", - "type_source": "ℝ", + "source": "(successesAtMost : ∀ outcome, successes outcome ≤ sampleCount)", + "type_source": "∀ outcome, successes outcome ≤ sampleCount", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "outcome" + "targetBounds" ], "role": "typed_binder", - "source": "(outcome : Outcome)", - "type_source": "Outcome", + "source": "(targetBounds : target ∈ Set.Icc (0 : ℝ) 1)", + "type_source": "target ∈ Set.Icc (0 : ℝ) 1", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "rawProbabilityBound" + ], + "role": "typed_binder", + "source": "(rawProbabilityBound :\n finiteEventProbability sampling\n (empiricalBadEvent successes sampleCount target error) ≤ failure)", + "type_source": "finiteEventProbability sampling\n (empiricalBadEvent successes sampleCount target error) ≤ failure", "visibility": "explicit" } ], - "conclusion": "0 < family.law parameter outcome", + "conclusion": "finiteEventProbability sampling\n (laplaceBadEvent successes sampleCount target error) ≤ failure", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Outcome" + "Ω" ], "role": "typed_binder", - "source": "{Outcome : Type*}", + "source": "{Ω : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -47571,86 +49793,121 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Outcome]", - "type_source": "Fintype Outcome", + "source": "[Fintype Ω]", + "type_source": "Fintype Ω", "visibility": "instance" + } + ], + "declaration_mentions": [ + { + "identifier": "finiteEventProbability_mono", + "qualified_name": "FEP.EmpiricalRisk.finiteEventProbability_mono", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" }, { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Nonempty Outcome]", - "type_source": "Nonempty Outcome", - "visibility": "instance" + "identifier": "laplaceBadEvent_subset", + "qualified_name": "FEP.EmpiricalRisk.laplaceBadEvent_subset", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" } ], - "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.finite_information" + "FepSketches.learning_theory" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.ExponentialFamily.ScalarExponentialFamily", + "namespace": "FEP.EmpiricalRisk", "namespace_variable_context": [ - "{Outcome : Type*} [Fintype Outcome] [Nonempty Outcome]" + "{Ω : Type*} [Fintype Ω]" ], "preceding_scope_directives": [ { "directive": "omit", "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty Outcome] in" + "source": "omit [Fintype Ω] in" } ], - "qualified_name": "FEP.ExponentialFamily.ScalarExponentialFamily.law_pos", - "source_line": 72, - "source_owner": "src/fep_lean/formal/exponential_family.lean", - "statement": "theorem law_pos (family : ScalarExponentialFamily Outcome)\n (parameter : ℝ) (outcome : Outcome) :\n 0 < family.law parameter outcome", - "statement_sha256": "ad000d133af492936126ba9c88be8c5ebdcde5ada5762ff26f3d99d954334844" + "qualified_name": "FEP.EmpiricalRisk.laplaceBadEvent_probability_le", + "source_line": 316, + "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "statement": "theorem laplaceBadEvent_probability_le (sampling : FiniteLaw Ω)\n (successes : Ω → ℕ) (sampleCount : ℕ) (target error failure : ℝ)\n (sampleCountPositive : 0 < sampleCount)\n (successesAtMost : ∀ outcome, successes outcome ≤ sampleCount)\n (targetBounds : target ∈ Set.Icc (0 : ℝ) 1)\n (rawProbabilityBound :\n finiteEventProbability sampling\n (empiricalBadEvent successes sampleCount target error) ≤ failure) :\n finiteEventProbability sampling\n (laplaceBadEvent successes sampleCount target error) ≤ failure", + "statement_sha256": "ce7c618dc07629e9bb9a1d21743ec9c4a491aa35f5fa67a744fab983d4b92b30" }, - "FEP.ExponentialFamily.ScalarExponentialFamily.logDensityRatio_eq": { + "FEP.EmpiricalRisk.laplaceBadEvent_subset": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "family" + "successes" ], "role": "typed_binder", - "source": "(family : ScalarExponentialFamily Outcome)", - "type_source": "ScalarExponentialFamily Outcome", + "source": "(successes : Ω → ℕ)", + "type_source": "Ω → ℕ", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "left", - "right" + "sampleCount" ], "role": "typed_binder", - "source": "(left right : ℝ)", + "source": "(sampleCount : ℕ)", + "type_source": "ℕ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "target", + "error" + ], + "role": "typed_binder", + "source": "(target error : ℝ)", "type_source": "ℝ", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "outcome" + "sampleCountPositive" ], "role": "typed_binder", - "source": "(outcome : Outcome)", - "type_source": "Outcome", + "source": "(sampleCountPositive : 0 < sampleCount)", + "type_source": "0 < sampleCount", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "successesAtMost" + ], + "role": "typed_binder", + "source": "(successesAtMost : ∀ outcome, successes outcome ≤ sampleCount)", + "type_source": "∀ outcome, successes outcome ≤ sampleCount", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "targetBounds" + ], + "role": "typed_binder", + "source": "(targetBounds : target ∈ Set.Icc (0 : ℝ) 1)", + "type_source": "target ∈ Set.Icc (0 : ℝ) 1", "visibility": "explicit" } ], - "conclusion": "Real.log\n (family.law left outcome / family.law right outcome) =\n (left - right) * family.statistic outcome -\n (family.logPartition left - family.logPartition right)", + "conclusion": "laplaceBadEvent successes sampleCount target error ⊆\n empiricalBadEvent successes sampleCount target error", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Outcome" + "Ω" ], "role": "typed_binder", - "source": "{Outcome : Type*}", + "source": "{Ω : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -47658,90 +49915,84 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Outcome]", - "type_source": "Fintype Outcome", + "source": "[Fintype Ω]", + "type_source": "Fintype Ω", "visibility": "instance" - }, + } + ], + "declaration_mentions": [ { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Nonempty Outcome]", - "type_source": "Nonempty Outcome", - "visibility": "instance" + "identifier": "laplaceAbsoluteError_le", + "qualified_name": "FEP.EmpiricalRisk.laplaceAbsoluteError_le", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" } ], - "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.finite_information" + "FepSketches.learning_theory" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.ExponentialFamily.ScalarExponentialFamily", + "namespace": "FEP.EmpiricalRisk", "namespace_variable_context": [ - "{Outcome : Type*} [Fintype Outcome] [Nonempty Outcome]" + "{Ω : Type*} [Fintype Ω]" ], "preceding_scope_directives": [ { "directive": "omit", "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty Outcome] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty Outcome] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty Outcome] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty Outcome] in" + "source": "omit [Fintype Ω] in" } ], - "qualified_name": "FEP.ExponentialFamily.ScalarExponentialFamily.logDensityRatio_eq", - "source_line": 301, - "source_owner": "src/fep_lean/formal/exponential_family.lean", - "statement": "theorem logDensityRatio_eq (family : ScalarExponentialFamily Outcome)\n (left right : ℝ) (outcome : Outcome) :\n Real.log\n (family.law left outcome / family.law right outcome) =\n (left - right) * family.statistic outcome -\n (family.logPartition left - family.logPartition right)", - "statement_sha256": "2ecf299bbbaf6078b1ef8946b2177490f5545d053ed0587746741caf1a94aa9d" + "qualified_name": "FEP.EmpiricalRisk.laplaceBadEvent_subset", + "source_line": 297, + "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "statement": "theorem laplaceBadEvent_subset (successes : Ω → ℕ) (sampleCount : ℕ)\n (target error : ℝ) (sampleCountPositive : 0 < sampleCount)\n (successesAtMost : ∀ outcome, successes outcome ≤ sampleCount)\n (targetBounds : target ∈ Set.Icc (0 : ℝ) 1) :\n laplaceBadEvent successes sampleCount target error ⊆\n empiricalBadEvent successes sampleCount target error", + "statement_sha256": "28b650be249825b97029342b3f834e1b6884301b92520f0663070addc15b3505" }, - "FEP.ExponentialFamily.ScalarExponentialFamily.logPartition_hasDerivAt": { + "FEP.EmpiricalRisk.laplaceBias_abs_le": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "family" + "sampleCount" ], "role": "typed_binder", - "source": "(family : ScalarExponentialFamily Outcome)", - "type_source": "ScalarExponentialFamily Outcome", + "source": "(sampleCount : ℕ)", + "type_source": "ℕ", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "parameter" + "target" ], "role": "typed_binder", - "source": "(parameter : ℝ)", + "source": "(target : ℝ)", "type_source": "ℝ", "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "targetBounds" + ], + "role": "typed_binder", + "source": "(targetBounds : target ∈ Set.Icc (0 : ℝ) 1)", + "type_source": "target ∈ Set.Icc (0 : ℝ) 1", + "visibility": "explicit" } ], - "conclusion": "HasDerivAt family.logPartition (family.mean parameter) parameter", + "conclusion": "|laplaceBias sampleCount target| ≤\n 1 / ((sampleCount : ℝ) + 2)", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Outcome" + "Ω" ], "role": "typed_binder", - "source": "{Outcome : Type*}", + "source": "{Ω : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -47749,192 +50000,158 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Outcome]", - "type_source": "Fintype Outcome", + "source": "[Fintype Ω]", + "type_source": "Fintype Ω", "visibility": "instance" + } + ], + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.learning_theory" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.EmpiricalRisk", + "namespace_variable_context": [ + "{Ω : Type*} [Fintype Ω]" + ], + "preceding_scope_directives": [], + "qualified_name": "FEP.EmpiricalRisk.laplaceBias_abs_le", + "source_line": 66, + "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "statement": "theorem laplaceBias_abs_le (sampleCount : ℕ) (target : ℝ)\n (targetBounds : target ∈ Set.Icc (0 : ℝ) 1) :\n |laplaceBias sampleCount target| ≤\n 1 / ((sampleCount : ℝ) + 2)", + "statement_sha256": "c704efc0a1e8b9efd5c13d09b7feebb1e8ac6dda31615ceb8b28069bd8bf7e48" + }, + "FEP.EmpiricalRisk.laplaceBias_nonzero_witness": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [], + "conclusion": "laplaceBias 2 0 = 1 / 4 ∧ laplaceBias 2 0 ≠ 0", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "Ω" + ], + "role": "typed_binder", + "source": "{Ω : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Nonempty Outcome]", - "type_source": "Nonempty Outcome", + "source": "[Fintype Ω]", + "type_source": "Fintype Ω", "visibility": "instance" } ], "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.finite_information" + "FepSketches.learning_theory" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.ExponentialFamily.ScalarExponentialFamily", + "namespace": "FEP.EmpiricalRisk", "namespace_variable_context": [ - "{Outcome : Type*} [Fintype Outcome] [Nonempty Outcome]" + "{Ω : Type*} [Fintype Ω]" ], "preceding_scope_directives": [ { "directive": "omit", "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty Outcome] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty Outcome] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty Outcome] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty Outcome] in" + "source": "omit [Fintype Ω] in" } ], - "qualified_name": "FEP.ExponentialFamily.ScalarExponentialFamily.logPartition_hasDerivAt", - "source_line": 235, - "source_owner": "src/fep_lean/formal/exponential_family.lean", - "statement": "theorem logPartition_hasDerivAt\n (family : ScalarExponentialFamily Outcome) (parameter : ℝ) :\n HasDerivAt family.logPartition (family.mean parameter) parameter", - "statement_sha256": "039fa2048638e77176f74b6d74d99498829bf218e9caacff99b0c8be0829cdbc" + "qualified_name": "FEP.EmpiricalRisk.laplaceBias_nonzero_witness", + "source_line": 333, + "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "statement": "theorem laplaceBias_nonzero_witness :\n laplaceBias 2 0 = 1 / 4 ∧ laplaceBias 2 0 ≠ 0", + "statement_sha256": "310c7ae1b9948ec17d31121fffea1317871ec35215c8600d13224c9d20049b46" }, - "FEP.ExponentialFamily.ScalarExponentialFamily.logRatioKL_eq_logPartitionBregman": { + "FEP.EmpiricalRisk.laplaceBrierRisk_le": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "family" + "sampling" ], "role": "typed_binder", - "source": "(family : ScalarExponentialFamily Outcome)", - "type_source": "ScalarExponentialFamily Outcome", + "source": "(sampling : FiniteLaw Ω)", + "type_source": "FiniteLaw Ω", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "left", - "right" + "successes" ], "role": "typed_binder", - "source": "(left right : ℝ)", - "type_source": "ℝ", + "source": "(successes : Ω → ℕ)", + "type_source": "Ω → ℕ", "visibility": "explicit" - } - ], - "conclusion": "family.logRatioKL left right =\n family.logPartitionBregman left right", - "context_binders": [ + }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Outcome" + "sampleCount" ], "role": "typed_binder", - "source": "{Outcome : Type*}", - "type_source": "Type*", - "visibility": "implicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype Outcome]", - "type_source": "Fintype Outcome", - "visibility": "instance" + "source": "(sampleCount : ℕ)", + "type_source": "ℕ", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Nonempty Outcome]", - "type_source": "Nonempty Outcome", - "visibility": "instance" - } - ], - "declaration_mentions": [], - "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", - "import_context": [ - "FepSketches.finite_information" - ], - "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.ExponentialFamily.ScalarExponentialFamily", - "namespace_variable_context": [ - "{Outcome : Type*} [Fintype Outcome] [Nonempty Outcome]" - ], - "preceding_scope_directives": [ - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty Outcome] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty Outcome] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty Outcome] in" + "names": [ + "target" + ], + "role": "typed_binder", + "source": "(target : ℝ)", + "type_source": "ℝ", + "visibility": "explicit" }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty Outcome] in" - } - ], - "qualified_name": "FEP.ExponentialFamily.ScalarExponentialFamily.logRatioKL_eq_logPartitionBregman", - "source_line": 324, - "source_owner": "src/fep_lean/formal/exponential_family.lean", - "statement": "theorem logRatioKL_eq_logPartitionBregman\n (family : ScalarExponentialFamily Outcome) (left right : ℝ) :\n family.logRatioKL left right =\n family.logPartitionBregman left right", - "statement_sha256": "b5783a8f7b374840a1fc6abf08c404189c0fd3752a2cca6b26036c306f2979a7" - }, - "FEP.ExponentialFamily.ScalarExponentialFamily.log_law_eq": { - "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "family" + "sampleCountPositive" ], "role": "typed_binder", - "source": "(family : ScalarExponentialFamily Outcome)", - "type_source": "ScalarExponentialFamily Outcome", + "source": "(sampleCountPositive : 0 < sampleCount)", + "type_source": "0 < sampleCount", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "parameter" + "successesAtMost" ], "role": "typed_binder", - "source": "(parameter : ℝ)", - "type_source": "ℝ", + "source": "(successesAtMost : ∀ outcome, successes outcome ≤ sampleCount)", + "type_source": "∀ outcome, successes outcome ≤ sampleCount", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "outcome" + "targetBounds" ], "role": "typed_binder", - "source": "(outcome : Outcome)", - "type_source": "Outcome", + "source": "(targetBounds : target ∈ Set.Icc (0 : ℝ) 1)", + "type_source": "target ∈ Set.Icc (0 : ℝ) 1", "visibility": "explicit" } ], - "conclusion": "Real.log (family.law parameter outcome) =\n Real.log (family.base outcome) +\n parameter * family.statistic outcome -\n family.logPartition parameter", + "conclusion": "brierExcessRisk sampling\n (fun outcome => laplaceEstimate (successes outcome) sampleCount) target ≤\n 2 * shrinkage sampleCount ^ 2 *\n VariationalDuality.expectation sampling (fun outcome =>\n (empiricalRate (successes outcome) sampleCount - target) ^ 2) +\n 2 * (1 / ((sampleCount : ℝ) + 2)) ^ 2", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Outcome" + "Ω" ], "role": "typed_binder", - "source": "{Outcome : Type*}", + "source": "{Ω : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -47942,101 +50159,85 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Outcome]", - "type_source": "Fintype Outcome", + "source": "[Fintype Ω]", + "type_source": "Fintype Ω", "visibility": "instance" + } + ], + "declaration_mentions": [ + { + "identifier": "brierExcess_eq_sqError", + "qualified_name": "FEP.EmpiricalRisk.brierExcess_eq_sqError", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" }, { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Nonempty Outcome]", - "type_source": "Nonempty Outcome", - "visibility": "instance" + "identifier": "laplaceSquaredRisk_le", + "qualified_name": "FEP.EmpiricalRisk.laplaceSquaredRisk_le", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" } ], - "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.finite_information" + "FepSketches.learning_theory" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.ExponentialFamily.ScalarExponentialFamily", + "namespace": "FEP.EmpiricalRisk", "namespace_variable_context": [ - "{Outcome : Type*} [Fintype Outcome] [Nonempty Outcome]" - ], - "preceding_scope_directives": [ - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty Outcome] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty Outcome] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty Outcome] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty Outcome] in" - } + "{Ω : Type*} [Fintype Ω]" ], - "qualified_name": "FEP.ExponentialFamily.ScalarExponentialFamily.log_law_eq", - "source_line": 286, - "source_owner": "src/fep_lean/formal/exponential_family.lean", - "statement": "theorem log_law_eq (family : ScalarExponentialFamily Outcome)\n (parameter : ℝ) (outcome : Outcome) :\n Real.log (family.law parameter outcome) =\n Real.log (family.base outcome) +\n parameter * family.statistic outcome -\n family.logPartition parameter", - "statement_sha256": "f112825c4a741a3a71ea460d5178879c203e209e1accc0145b4cc582e5c31af1" + "preceding_scope_directives": [], + "qualified_name": "FEP.EmpiricalRisk.laplaceBrierRisk_le", + "source_line": 242, + "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "statement": "theorem laplaceBrierRisk_le (sampling : FiniteLaw Ω)\n (successes : Ω → ℕ) (sampleCount : ℕ) (target : ℝ)\n (sampleCountPositive : 0 < sampleCount)\n (successesAtMost : ∀ outcome, successes outcome ≤ sampleCount)\n (targetBounds : target ∈ Set.Icc (0 : ℝ) 1) :\n brierExcessRisk sampling\n (fun outcome => laplaceEstimate (successes outcome) sampleCount) target ≤\n 2 * shrinkage sampleCount ^ 2 *\n VariationalDuality.expectation sampling (fun outcome =>\n (empiricalRate (successes outcome) sampleCount - target) ^ 2) +\n 2 * (1 / ((sampleCount : ℝ) + 2)) ^ 2", + "statement_sha256": "ff207eb78a5ad8829d0af29f300f29c24e8510f967af7d5fd1f7d439d157cdc4" }, - "FEP.ExponentialFamily.ScalarExponentialFamily.meanParameter_injectiveOn": { + "FEP.EmpiricalRisk.laplaceError_identity": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "family" + "successes", + "sampleCount" ], "role": "typed_binder", - "source": "(family : ScalarExponentialFamily Outcome)", - "type_source": "ScalarExponentialFamily Outcome", + "source": "(successes sampleCount : ℕ)", + "type_source": "ℕ", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "lower", - "upper" + "target" ], "role": "typed_binder", - "source": "{lower upper : ℝ}", + "source": "(target : ℝ)", "type_source": "ℝ", - "visibility": "implicit" + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "hVariance" + "sampleCountPositive" ], "role": "typed_binder", - "source": "(hVariance : ∀ parameter ∈ Set.Icc lower upper,\n 0 < family.variance parameter)", - "type_source": "∀ parameter ∈ Set.Icc lower upper,\n 0 < family.variance parameter", + "source": "(sampleCountPositive : 0 < sampleCount)", + "type_source": "0 < sampleCount", "visibility": "explicit" } ], - "conclusion": "Set.InjOn family.mean (Set.Icc lower upper)", + "conclusion": "laplaceEstimate successes sampleCount - target =\n shrinkage sampleCount * (empiricalRate successes sampleCount - target) +\n laplaceBias sampleCount target", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Outcome" + "Ω" ], "role": "typed_binder", - "source": "{Outcome : Type*}", + "source": "{Ω : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -48044,101 +50245,82 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Outcome]", - "type_source": "Fintype Outcome", - "visibility": "instance" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Nonempty Outcome]", - "type_source": "Nonempty Outcome", + "source": "[Fintype Ω]", + "type_source": "Fintype Ω", "visibility": "instance" } ], "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.finite_information" + "FepSketches.learning_theory" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.ExponentialFamily.ScalarExponentialFamily", + "namespace": "FEP.EmpiricalRisk", "namespace_variable_context": [ - "{Outcome : Type*} [Fintype Outcome] [Nonempty Outcome]" - ], - "preceding_scope_directives": [ - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty Outcome] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty Outcome] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty Outcome] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [Nonempty Outcome] in" - } + "{Ω : Type*} [Fintype Ω]" ], - "qualified_name": "FEP.ExponentialFamily.ScalarExponentialFamily.meanParameter_injectiveOn", - "source_line": 390, - "source_owner": "src/fep_lean/formal/exponential_family.lean", - "statement": "theorem meanParameter_injectiveOn (family : ScalarExponentialFamily Outcome)\n {lower upper : ℝ}\n (hVariance : ∀ parameter ∈ Set.Icc lower upper,\n 0 < family.variance parameter) :\n Set.InjOn family.mean (Set.Icc lower upper)", - "statement_sha256": "2c20875d1c8139c7577b851b8b2bd4c79b250dd2895e79bbe7465e0c0378d047" + "preceding_scope_directives": [], + "qualified_name": "FEP.EmpiricalRisk.laplaceError_identity", + "source_line": 51, + "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "statement": "theorem laplaceError_identity (successes sampleCount : ℕ) (target : ℝ)\n (sampleCountPositive : 0 < sampleCount) :\n laplaceEstimate successes sampleCount - target =\n shrinkage sampleCount * (empiricalRate successes sampleCount - target) +\n laplaceBias sampleCount target", + "statement_sha256": "350960f2036fb6345771778dbbed4c7c791b7ca5714e28a57c556ba5277b2343" }, - "FEP.ExponentialFamily.ScalarExponentialFamily.meanParameter_strictMono": { + "FEP.EmpiricalRisk.laplaceSquaredError_le": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "family" + "successes", + "sampleCount" ], "role": "typed_binder", - "source": "(family : ScalarExponentialFamily Outcome)", - "type_source": "ScalarExponentialFamily Outcome", + "source": "(successes sampleCount : ℕ)", + "type_source": "ℕ", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "lower", - "upper" + "target" ], "role": "typed_binder", - "source": "{lower upper : ℝ}", + "source": "(target : ℝ)", "type_source": "ℝ", - "visibility": "implicit" + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "hVariance" + "sampleCountPositive" ], "role": "typed_binder", - "source": "(hVariance : ∀ parameter ∈ Set.Icc lower upper,\n 0 < family.variance parameter)", - "type_source": "∀ parameter ∈ Set.Icc lower upper,\n 0 < family.variance parameter", + "source": "(sampleCountPositive : 0 < sampleCount)", + "type_source": "0 < sampleCount", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "targetBounds" + ], + "role": "typed_binder", + "source": "(targetBounds : target ∈ Set.Icc (0 : ℝ) 1)", + "type_source": "target ∈ Set.Icc (0 : ℝ) 1", "visibility": "explicit" } ], - "conclusion": "StrictMonoOn family.mean (Set.Icc lower upper)", + "conclusion": "(laplaceEstimate successes sampleCount - target) ^ 2 ≤\n 2 * shrinkage sampleCount ^ 2 *\n (empiricalRate successes sampleCount - target) ^ 2 +\n 2 * (1 / ((sampleCount : ℝ) + 2)) ^ 2", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Outcome" + "Ω" ], "role": "typed_binder", - "source": "{Outcome : Type*}", + "source": "{Ω : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -48146,26 +50328,366 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Outcome]", - "type_source": "Fintype Outcome", + "source": "[Fintype Ω]", + "type_source": "Fintype Ω", "visibility": "instance" + } + ], + "declaration_mentions": [ + { + "identifier": "laplaceBias_abs_le", + "qualified_name": "FEP.EmpiricalRisk.laplaceBias_abs_le", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" }, { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Nonempty Outcome]", - "type_source": "Nonempty Outcome", - "visibility": "instance" + "identifier": "laplaceError_identity", + "qualified_name": "FEP.EmpiricalRisk.laplaceError_identity", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" } ], - "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.finite_information" + "FepSketches.learning_theory" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.ExponentialFamily.ScalarExponentialFamily", + "namespace": "FEP.EmpiricalRisk", + "namespace_variable_context": [ + "{Ω : Type*} [Fintype Ω]" + ], + "preceding_scope_directives": [], + "qualified_name": "FEP.EmpiricalRisk.laplaceSquaredError_le", + "source_line": 106, + "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "statement": "theorem laplaceSquaredError_le (successes sampleCount : ℕ) (target : ℝ)\n (sampleCountPositive : 0 < sampleCount)\n (targetBounds : target ∈ Set.Icc (0 : ℝ) 1) :\n (laplaceEstimate successes sampleCount - target) ^ 2 ≤\n 2 * shrinkage sampleCount ^ 2 *\n (empiricalRate successes sampleCount - target) ^ 2 +\n 2 * (1 / ((sampleCount : ℝ) + 2)) ^ 2", + "statement_sha256": "c8a9e92e45b4c286d87d6dd80d4b3669e5cb3eda04e1a67f9554c69592f72f7a" + }, + "FEP.EmpiricalRisk.laplaceSquaredRisk_le": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "sampling" + ], + "role": "typed_binder", + "source": "(sampling : FiniteLaw Ω)", + "type_source": "FiniteLaw Ω", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "successes" + ], + "role": "typed_binder", + "source": "(successes : Ω → ℕ)", + "type_source": "Ω → ℕ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "sampleCount" + ], + "role": "typed_binder", + "source": "(sampleCount : ℕ)", + "type_source": "ℕ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "target" + ], + "role": "typed_binder", + "source": "(target : ℝ)", + "type_source": "ℝ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "sampleCountPositive" + ], + "role": "typed_binder", + "source": "(sampleCountPositive : 0 < sampleCount)", + "type_source": "0 < sampleCount", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "successesAtMost" + ], + "role": "typed_binder", + "source": "(successesAtMost : ∀ outcome, successes outcome ≤ sampleCount)", + "type_source": "∀ outcome, successes outcome ≤ sampleCount", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "targetBounds" + ], + "role": "typed_binder", + "source": "(targetBounds : target ∈ Set.Icc (0 : ℝ) 1)", + "type_source": "target ∈ Set.Icc (0 : ℝ) 1", + "visibility": "explicit" + } + ], + "conclusion": "VariationalDuality.expectation sampling (fun outcome =>\n (laplaceEstimate (successes outcome) sampleCount - target) ^ 2) ≤\n 2 * shrinkage sampleCount ^ 2 *\n VariationalDuality.expectation sampling (fun outcome =>\n (empiricalRate (successes outcome) sampleCount - target) ^ 2) +\n 2 * (1 / ((sampleCount : ℝ) + 2)) ^ 2", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "Ω" + ], + "role": "typed_binder", + "source": "{Ω : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Ω]", + "type_source": "Fintype Ω", + "visibility": "instance" + } + ], + "declaration_mentions": [ + { + "identifier": "expectation_add", + "qualified_name": "FEP.EmpiricalRisk.expectation_add", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + }, + { + "identifier": "expectation_const", + "qualified_name": "FEP.EmpiricalRisk.expectation_const", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + }, + { + "identifier": "expectation_const_mul", + "qualified_name": "FEP.EmpiricalRisk.expectation_const_mul", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + }, + { + "identifier": "expectation_mono", + "qualified_name": "FEP.EmpiricalRisk.expectation_mono", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + }, + { + "identifier": "laplaceSquaredError_le", + "qualified_name": "FEP.EmpiricalRisk.laplaceSquaredError_le", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + } + ], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.learning_theory" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.EmpiricalRisk", + "namespace_variable_context": [ + "{Ω : Type*} [Fintype Ω]" + ], + "preceding_scope_directives": [], + "qualified_name": "FEP.EmpiricalRisk.laplaceSquaredRisk_le", + "source_line": 181, + "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "statement": "theorem laplaceSquaredRisk_le (sampling : FiniteLaw Ω)\n (successes : Ω → ℕ) (sampleCount : ℕ) (target : ℝ)\n (sampleCountPositive : 0 < sampleCount)\n (successesAtMost : ∀ outcome, successes outcome ≤ sampleCount)\n (targetBounds : target ∈ Set.Icc (0 : ℝ) 1) :\n VariationalDuality.expectation sampling (fun outcome =>\n (laplaceEstimate (successes outcome) sampleCount - target) ^ 2) ≤\n 2 * shrinkage sampleCount ^ 2 *\n VariationalDuality.expectation sampling (fun outcome =>\n (empiricalRate (successes outcome) sampleCount - target) ^ 2) +\n 2 * (1 / ((sampleCount : ℝ) + 2)) ^ 2", + "statement_sha256": "058c104c9d58a611fbc83f863ce36b41457d6f7f56a1bfc6189624bac32f8fab" + }, + "FEP.EmpiricalRisk.shrinkage_le_one": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "sampleCount" + ], + "role": "typed_binder", + "source": "(sampleCount : ℕ)", + "type_source": "ℕ", + "visibility": "explicit" + } + ], + "conclusion": "shrinkage sampleCount ≤ 1", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "Ω" + ], + "role": "typed_binder", + "source": "{Ω : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Ω]", + "type_source": "Fintype Ω", + "visibility": "instance" + } + ], + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.learning_theory" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.EmpiricalRisk", + "namespace_variable_context": [ + "{Ω : Type*} [Fintype Ω]" + ], + "preceding_scope_directives": [], + "qualified_name": "FEP.EmpiricalRisk.shrinkage_le_one", + "source_line": 44, + "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "statement": "theorem shrinkage_le_one (sampleCount : ℕ) :\n shrinkage sampleCount ≤ 1", + "statement_sha256": "7e70ad651f8bae5b6c07932cc2ff4a41b56cdaeb3ccae460a9a1ffd3b3dbb4ec" + }, + "FEP.EmpiricalRisk.shrinkage_nonneg": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "sampleCount" + ], + "role": "typed_binder", + "source": "(sampleCount : ℕ)", + "type_source": "ℕ", + "visibility": "explicit" + } + ], + "conclusion": "0 ≤ shrinkage sampleCount", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "Ω" + ], + "role": "typed_binder", + "source": "{Ω : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Ω]", + "type_source": "Fintype Ω", + "visibility": "instance" + } + ], + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.learning_theory" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.EmpiricalRisk", + "namespace_variable_context": [ + "{Ω : Type*} [Fintype Ω]" + ], + "preceding_scope_directives": [], + "qualified_name": "FEP.EmpiricalRisk.shrinkage_nonneg", + "source_line": 39, + "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "statement": "theorem shrinkage_nonneg (sampleCount : ℕ) :\n 0 ≤ shrinkage sampleCount", + "statement_sha256": "8f9e79225727e85761036de9ea627c03ab4b9ccca72f5a75e4c04b6e03906edf" + }, + "FEP.ExponentialFamily.ScalarExponentialFamily.constantStatistic_variance_zero": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "base" + ], + "role": "typed_binder", + "source": "(base : Outcome → ℝ)", + "type_source": "Outcome → ℝ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hBase" + ], + "role": "typed_binder", + "source": "(hBase : ∀ outcome, 0 < base outcome)", + "type_source": "∀ outcome, 0 < base outcome", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "constant", + "parameter" + ], + "role": "typed_binder", + "source": "(constant parameter : ℝ)", + "type_source": "ℝ", + "visibility": "explicit" + } + ], + "conclusion": "(constantStatisticFamily base hBase constant).variance parameter = 0", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "Outcome" + ], + "role": "typed_binder", + "source": "{Outcome : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Outcome]", + "type_source": "Fintype Outcome", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Nonempty Outcome]", + "type_source": "Nonempty Outcome", + "visibility": "instance" + } + ], + "declaration_mentions": [ + { + "identifier": "mean_eq_expectation", + "qualified_name": "FEP.ExponentialFamily.ScalarExponentialFamily.mean_eq_expectation", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + } + ], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.finite_information" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.ExponentialFamily.ScalarExponentialFamily", "namespace_variable_context": [ "{Outcome : Type*} [Fintype Outcome] [Nonempty Outcome]" ], @@ -48191,13 +50713,13 @@ "source": "omit [Nonempty Outcome] in" } ], - "qualified_name": "FEP.ExponentialFamily.ScalarExponentialFamily.meanParameter_strictMono", - "source_line": 376, + "qualified_name": "FEP.ExponentialFamily.ScalarExponentialFamily.constantStatistic_variance_zero", + "source_line": 421, "source_owner": "src/fep_lean/formal/exponential_family.lean", - "statement": "theorem meanParameter_strictMono (family : ScalarExponentialFamily Outcome)\n {lower upper : ℝ}\n (hVariance : ∀ parameter ∈ Set.Icc lower upper,\n 0 < family.variance parameter) :\n StrictMonoOn family.mean (Set.Icc lower upper)", - "statement_sha256": "5f77828be29fc5523bae87e18a3feefd9c2c8b069a9f18f684991e2e1315be2b" + "statement": "theorem constantStatistic_variance_zero\n (base : Outcome → ℝ) (hBase : ∀ outcome, 0 < base outcome)\n (constant parameter : ℝ) :\n (constantStatisticFamily base hBase constant).variance parameter = 0", + "statement_sha256": "f640d406160712678350a37070c0111266610c317cf1cfa743d92e18fff09113" }, - "FEP.ExponentialFamily.ScalarExponentialFamily.mean_eq_expectation": { + "FEP.ExponentialFamily.ScalarExponentialFamily.finiteKL_eq_logPartitionBregman": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { @@ -48213,15 +50735,16 @@ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "parameter" + "left", + "right" ], "role": "typed_binder", - "source": "(parameter : ℝ)", + "source": "(left right : ℝ)", "type_source": "ℝ", "visibility": "explicit" } ], - "conclusion": "family.mean parameter =\n ∑ outcome, family.law parameter outcome * family.statistic outcome", + "conclusion": "finiteKL (family.law left) (family.law right) =\n family.logPartitionBregman left right", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -48261,19 +50784,34 @@ "{Outcome : Type*} [Fintype Outcome] [Nonempty Outcome]" ], "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty Outcome] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty Outcome] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty Outcome] in" + }, { "directive": "omit", "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", "source": "omit [Nonempty Outcome] in" } ], - "qualified_name": "FEP.ExponentialFamily.ScalarExponentialFamily.mean_eq_expectation", - "source_line": 83, + "qualified_name": "FEP.ExponentialFamily.ScalarExponentialFamily.finiteKL_eq_logPartitionBregman", + "source_line": 367, "source_owner": "src/fep_lean/formal/exponential_family.lean", - "statement": "theorem mean_eq_expectation (family : ScalarExponentialFamily Outcome)\n (parameter : ℝ) :\n family.mean parameter =\n ∑ outcome, family.law parameter outcome * family.statistic outcome", - "statement_sha256": "0cee216f93c39ee62122dd10027c7b13fa7002967a86e1363460e012cc768332" + "statement": "theorem finiteKL_eq_logPartitionBregman\n (family : ScalarExponentialFamily Outcome) (left right : ℝ) :\n finiteKL (family.law left) (family.law right) =\n family.logPartitionBregman left right", + "statement_sha256": "6081e9fad923ad5ccb11b666c7f051e9875cdc9b152b1337534d3446c1fa7471" }, - "FEP.ExponentialFamily.ScalarExponentialFamily.mean_hasDerivAt": { + "FEP.ExponentialFamily.ScalarExponentialFamily.finiteKL_eq_logRatioKL": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { @@ -48289,15 +50827,16 @@ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "parameter" + "left", + "right" ], "role": "typed_binder", - "source": "(parameter : ℝ)", + "source": "(left right : ℝ)", "type_source": "ℝ", "visibility": "explicit" } ], - "conclusion": "HasDerivAt family.mean (family.variance parameter) parameter", + "conclusion": "finiteKL (family.law left) (family.law right) =\n family.logRatioKL left right", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -48326,7 +50865,16 @@ "visibility": "instance" } ], - "declaration_mentions": [], + "declaration_mentions": [ + { + "candidates": [ + "FEP.FiniteInformation.finiteKL_eq_crossEntropy_sub_entropy" + ], + "identifier": "finiteKL_eq_crossEntropy_sub_entropy", + "resolution": "unresolved lexical scope", + "role": "proof_reference" + } + ], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ "FepSketches.finite_information" @@ -48358,13 +50906,13 @@ "source": "omit [Nonempty Outcome] in" } ], - "qualified_name": "FEP.ExponentialFamily.ScalarExponentialFamily.mean_hasDerivAt", - "source_line": 245, + "qualified_name": "FEP.ExponentialFamily.ScalarExponentialFamily.finiteKL_eq_logRatioKL", + "source_line": 352, "source_owner": "src/fep_lean/formal/exponential_family.lean", - "statement": "theorem mean_hasDerivAt (family : ScalarExponentialFamily Outcome)\n (parameter : ℝ) :\n HasDerivAt family.mean (family.variance parameter) parameter", - "statement_sha256": "5ee292fe68385aeb74729108ec2831f1e461af5ca69518426e46cceced961557" + "statement": "theorem finiteKL_eq_logRatioKL\n (family : ScalarExponentialFamily Outcome) (left right : ℝ) :\n finiteKL (family.law left) (family.law right) =\n family.logRatioKL left right", + "statement_sha256": "117f193029d136fdee655bbce4624e5f77c81fbe0a7125b5494781b0dcf38613" }, - "FEP.ExponentialFamily.ScalarExponentialFamily.mean_score_zero": { + "FEP.ExponentialFamily.ScalarExponentialFamily.fisher_eq_variance": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { @@ -48388,7 +50936,7 @@ "visibility": "explicit" } ], - "conclusion": "∑ outcome,\n family.law parameter outcome * family.score parameter outcome = 0", + "conclusion": "family.fisher parameter = family.variance parameter", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -48439,13 +50987,13 @@ "source": "omit [Nonempty Outcome] in" } ], - "qualified_name": "FEP.ExponentialFamily.ScalarExponentialFamily.mean_score_zero", - "source_line": 129, + "qualified_name": "FEP.ExponentialFamily.ScalarExponentialFamily.fisher_eq_variance", + "source_line": 151, "source_owner": "src/fep_lean/formal/exponential_family.lean", - "statement": "theorem mean_score_zero (family : ScalarExponentialFamily Outcome)\n (parameter : ℝ) :\n ∑ outcome,\n family.law parameter outcome * family.score parameter outcome = 0", - "statement_sha256": "8b2d63b61c30274edf61c50ab3970bf2d3f3afbbc6bad61c44db7143e47b3d2e" + "statement": "theorem fisher_eq_variance (family : ScalarExponentialFamily Outcome)\n (parameter : ℝ) :\n family.fisher parameter = family.variance parameter", + "statement_sha256": "5f0beee45d89505e104149eb141d77488481feb87c0d52d42b6b1d989c321654" }, - "FEP.ExponentialFamily.ScalarExponentialFamily.partition_hasDerivAt": { + "FEP.ExponentialFamily.ScalarExponentialFamily.law_hasDerivAt": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { @@ -48467,9 +51015,19 @@ "source": "(parameter : ℝ)", "type_source": "ℝ", "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "outcome" + ], + "role": "typed_binder", + "source": "(outcome : Outcome)", + "type_source": "Outcome", + "visibility": "explicit" } ], - "conclusion": "HasDerivAt family.partition (family.weightedMoment 1 parameter)\n parameter", + "conclusion": "HasDerivAt (fun candidate ↦ family.law candidate outcome)\n (family.law parameter outcome * family.score parameter outcome)\n parameter", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -48530,13 +51088,13 @@ "source": "omit [Nonempty Outcome] in" } ], - "qualified_name": "FEP.ExponentialFamily.ScalarExponentialFamily.partition_hasDerivAt", - "source_line": 226, + "qualified_name": "FEP.ExponentialFamily.ScalarExponentialFamily.law_hasDerivAt", + "source_line": 262, "source_owner": "src/fep_lean/formal/exponential_family.lean", - "statement": "theorem partition_hasDerivAt (family : ScalarExponentialFamily Outcome)\n (parameter : ℝ) :\n HasDerivAt family.partition (family.weightedMoment 1 parameter)\n parameter", - "statement_sha256": "05ad4f9fdfa1e6d8344a2f301d1dd748d9db91408449453611a99aea5b74f743" + "statement": "theorem law_hasDerivAt (family : ScalarExponentialFamily Outcome)\n (parameter : ℝ) (outcome : Outcome) :\n HasDerivAt (fun candidate ↦ family.law candidate outcome)\n (family.law parameter outcome * family.score parameter outcome)\n parameter", + "statement_sha256": "e47eb9312eace0a48af8f5a0fecd1854afd721a232e88e412bc8bea618152733" }, - "FEP.ExponentialFamily.ScalarExponentialFamily.partition_pos": { + "FEP.ExponentialFamily.ScalarExponentialFamily.law_pos": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { @@ -48558,9 +51116,19 @@ "source": "(parameter : ℝ)", "type_source": "ℝ", "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "outcome" + ], + "role": "typed_binder", + "source": "(outcome : Outcome)", + "type_source": "Outcome", + "visibility": "explicit" } ], - "conclusion": "0 < family.partition parameter", + "conclusion": "0 < family.law parameter outcome", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -48606,13 +51174,13 @@ "source": "omit [Nonempty Outcome] in" } ], - "qualified_name": "FEP.ExponentialFamily.ScalarExponentialFamily.partition_pos", - "source_line": 54, + "qualified_name": "FEP.ExponentialFamily.ScalarExponentialFamily.law_pos", + "source_line": 72, "source_owner": "src/fep_lean/formal/exponential_family.lean", - "statement": "theorem partition_pos (family : ScalarExponentialFamily Outcome)\n (parameter : ℝ) : 0 < family.partition parameter", - "statement_sha256": "f10ef8bc4173e8f7a7a994a622d01e08a7bf9b3e9cb1181196267423b0949a6d" + "statement": "theorem law_pos (family : ScalarExponentialFamily Outcome)\n (parameter : ℝ) (outcome : Outcome) :\n 0 < family.law parameter outcome", + "statement_sha256": "ad000d133af492936126ba9c88be8c5ebdcde5ada5762ff26f3d99d954334844" }, - "FEP.ExponentialFamily.ScalarExponentialFamily.score_eq_statistic_sub_mean": { + "FEP.ExponentialFamily.ScalarExponentialFamily.logDensityRatio_eq": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { @@ -48628,10 +51196,11 @@ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "parameter" + "left", + "right" ], "role": "typed_binder", - "source": "(parameter : ℝ)", + "source": "(left right : ℝ)", "type_source": "ℝ", "visibility": "explicit" }, @@ -48646,7 +51215,7 @@ "visibility": "explicit" } ], - "conclusion": "family.score parameter outcome =\n family.statistic outcome - family.mean parameter", + "conclusion": "Real.log\n (family.law left outcome / family.law right outcome) =\n (left - right) * family.statistic outcome -\n (family.logPartition left - family.logPartition right)", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -48686,6 +51255,16 @@ "{Outcome : Type*} [Fintype Outcome] [Nonempty Outcome]" ], "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty Outcome] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty Outcome] in" + }, { "directive": "omit", "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", @@ -48697,16 +51276,37 @@ "source": "omit [Nonempty Outcome] in" } ], - "qualified_name": "FEP.ExponentialFamily.ScalarExponentialFamily.score_eq_statistic_sub_mean", - "source_line": 122, + "qualified_name": "FEP.ExponentialFamily.ScalarExponentialFamily.logDensityRatio_eq", + "source_line": 301, "source_owner": "src/fep_lean/formal/exponential_family.lean", - "statement": "theorem score_eq_statistic_sub_mean\n (family : ScalarExponentialFamily Outcome)\n (parameter : ℝ) (outcome : Outcome) :\n family.score parameter outcome =\n family.statistic outcome - family.mean parameter", - "statement_sha256": "ff19fc1e7e8faaac0cf0d67147d5e2882db8982300f8a9c71648b777d82f866a" + "statement": "theorem logDensityRatio_eq (family : ScalarExponentialFamily Outcome)\n (left right : ℝ) (outcome : Outcome) :\n Real.log\n (family.law left outcome / family.law right outcome) =\n (left - right) * family.statistic outcome -\n (family.logPartition left - family.logPartition right)", + "statement_sha256": "2ecf299bbbaf6078b1ef8946b2177490f5545d053ed0587746741caf1a94aa9d" }, - "FEP.ExponentialFamily.ScalarExponentialFamily.threeState_variance_zero": { + "FEP.ExponentialFamily.ScalarExponentialFamily.logPartition_hasDerivAt": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [], - "conclusion": "threeStateFamily.variance 0 = 2 / 3", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "family" + ], + "role": "typed_binder", + "source": "(family : ScalarExponentialFamily Outcome)", + "type_source": "ScalarExponentialFamily Outcome", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "parameter" + ], + "role": "typed_binder", + "source": "(parameter : ℝ)", + "type_source": "ℝ", + "visibility": "explicit" + } + ], + "conclusion": "HasDerivAt family.logPartition (family.mean parameter) parameter", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -48767,16 +51367,38 @@ "source": "omit [Nonempty Outcome] in" } ], - "qualified_name": "FEP.ExponentialFamily.ScalarExponentialFamily.threeState_variance_zero", - "source_line": 406, + "qualified_name": "FEP.ExponentialFamily.ScalarExponentialFamily.logPartition_hasDerivAt", + "source_line": 235, "source_owner": "src/fep_lean/formal/exponential_family.lean", - "statement": "theorem threeState_variance_zero : threeStateFamily.variance 0 = 2 / 3", - "statement_sha256": "da20e31971b78ba048982b21e612c3474ff35cbacd59ec366182566a9145c117" + "statement": "theorem logPartition_hasDerivAt\n (family : ScalarExponentialFamily Outcome) (parameter : ℝ) :\n HasDerivAt family.logPartition (family.mean parameter) parameter", + "statement_sha256": "039fa2048638e77176f74b6d74d99498829bf218e9caacff99b0c8be0829cdbc" }, - "FEP.ExponentialFamily.ScalarExponentialFamily.threeState_variance_zero_pos": { + "FEP.ExponentialFamily.ScalarExponentialFamily.logRatioKL_eq_logPartitionBregman": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [], - "conclusion": "0 < threeStateFamily.variance 0", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "family" + ], + "role": "typed_binder", + "source": "(family : ScalarExponentialFamily Outcome)", + "type_source": "ScalarExponentialFamily Outcome", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "left", + "right" + ], + "role": "typed_binder", + "source": "(left right : ℝ)", + "type_source": "ℝ", + "visibility": "explicit" + } + ], + "conclusion": "family.logRatioKL left right =\n family.logPartitionBregman left right", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -48805,14 +51427,7 @@ "visibility": "instance" } ], - "declaration_mentions": [ - { - "identifier": "threeState_variance_zero", - "qualified_name": "FEP.ExponentialFamily.ScalarExponentialFamily.threeState_variance_zero", - "resolution": "exact or same-namespace source identifier", - "role": "proof_reference" - } - ], + "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ "FepSketches.finite_information" @@ -48844,13 +51459,13 @@ "source": "omit [Nonempty Outcome] in" } ], - "qualified_name": "FEP.ExponentialFamily.ScalarExponentialFamily.threeState_variance_zero_pos", - "source_line": 410, + "qualified_name": "FEP.ExponentialFamily.ScalarExponentialFamily.logRatioKL_eq_logPartitionBregman", + "source_line": 324, "source_owner": "src/fep_lean/formal/exponential_family.lean", - "statement": "theorem threeState_variance_zero_pos : 0 < threeStateFamily.variance 0", - "statement_sha256": "95dda5d86e5125880d663a04fc18fcd43dacd62bb8be6d1eff827a0da5d53850" + "statement": "theorem logRatioKL_eq_logPartitionBregman\n (family : ScalarExponentialFamily Outcome) (left right : ℝ) :\n family.logRatioKL left right =\n family.logPartitionBregman left right", + "statement_sha256": "b5783a8f7b374840a1fc6abf08c404189c0fd3752a2cca6b26036c306f2979a7" }, - "FEP.ExponentialFamily.ScalarExponentialFamily.variance_eq_rawMoment": { + "FEP.ExponentialFamily.ScalarExponentialFamily.log_law_eq": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { @@ -48872,9 +51487,19 @@ "source": "(parameter : ℝ)", "type_source": "ℝ", "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "outcome" + ], + "role": "typed_binder", + "source": "(outcome : Outcome)", + "type_source": "Outcome", + "visibility": "explicit" } ], - "conclusion": "family.variance parameter =\n family.weightedMoment 2 parameter / family.partition parameter -\n family.mean parameter ^ 2", + "conclusion": "Real.log (family.law parameter outcome) =\n Real.log (family.base outcome) +\n parameter * family.statistic outcome -\n family.logPartition parameter", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -48914,6 +51539,16 @@ "{Outcome : Type*} [Fintype Outcome] [Nonempty Outcome]" ], "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty Outcome] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty Outcome] in" + }, { "directive": "omit", "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", @@ -48925,13 +51560,13 @@ "source": "omit [Nonempty Outcome] in" } ], - "qualified_name": "FEP.ExponentialFamily.ScalarExponentialFamily.variance_eq_rawMoment", - "source_line": 156, + "qualified_name": "FEP.ExponentialFamily.ScalarExponentialFamily.log_law_eq", + "source_line": 286, "source_owner": "src/fep_lean/formal/exponential_family.lean", - "statement": "theorem variance_eq_rawMoment (family : ScalarExponentialFamily Outcome)\n (parameter : ℝ) :\n family.variance parameter =\n family.weightedMoment 2 parameter / family.partition parameter -\n family.mean parameter ^ 2", - "statement_sha256": "be0ed42b5b39686938c79f135be4a3b2b6d28a5de1ed16019aa40a50dbb5bf21" + "statement": "theorem log_law_eq (family : ScalarExponentialFamily Outcome)\n (parameter : ℝ) (outcome : Outcome) :\n Real.log (family.law parameter outcome) =\n Real.log (family.base outcome) +\n parameter * family.statistic outcome -\n family.logPartition parameter", + "statement_sha256": "f112825c4a741a3a71ea460d5178879c203e209e1accc0145b4cc582e5c31af1" }, - "FEP.ExponentialFamily.ScalarExponentialFamily.weight_pos": { + "FEP.ExponentialFamily.ScalarExponentialFamily.meanParameter_injectiveOn": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { @@ -48947,25 +51582,26 @@ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "parameter" + "lower", + "upper" ], "role": "typed_binder", - "source": "(parameter : ℝ)", + "source": "{lower upper : ℝ}", "type_source": "ℝ", - "visibility": "explicit" + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "outcome" + "hVariance" ], "role": "typed_binder", - "source": "(outcome : Outcome)", - "type_source": "Outcome", + "source": "(hVariance : ∀ parameter ∈ Set.Icc lower upper,\n 0 < family.variance parameter)", + "type_source": "∀ parameter ∈ Set.Icc lower upper,\n 0 < family.variance parameter", "visibility": "explicit" } ], - "conclusion": "0 < family.weight parameter outcome", + "conclusion": "Set.InjOn family.mean (Set.Icc lower upper)", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -49005,19 +51641,34 @@ "{Outcome : Type*} [Fintype Outcome] [Nonempty Outcome]" ], "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty Outcome] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty Outcome] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty Outcome] in" + }, { "directive": "omit", "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", "source": "omit [Nonempty Outcome] in" } ], - "qualified_name": "FEP.ExponentialFamily.ScalarExponentialFamily.weight_pos", - "source_line": 49, + "qualified_name": "FEP.ExponentialFamily.ScalarExponentialFamily.meanParameter_injectiveOn", + "source_line": 390, "source_owner": "src/fep_lean/formal/exponential_family.lean", - "statement": "theorem weight_pos (family : ScalarExponentialFamily Outcome)\n (parameter : ℝ) (outcome : Outcome) :\n 0 < family.weight parameter outcome", - "statement_sha256": "3c673d17c383f6352097f8d57e4ef69f7deaf78798b7efe357a024c35761cac7" + "statement": "theorem meanParameter_injectiveOn (family : ScalarExponentialFamily Outcome)\n {lower upper : ℝ}\n (hVariance : ∀ parameter ∈ Set.Icc lower upper,\n 0 < family.variance parameter) :\n Set.InjOn family.mean (Set.Icc lower upper)", + "statement_sha256": "2c20875d1c8139c7577b851b8b2bd4c79b250dd2895e79bbe7465e0c0378d047" }, - "FEP.ExponentialFamily.ScalarExponentialFamily.weightedMoment_hasDerivAt": { + "FEP.ExponentialFamily.ScalarExponentialFamily.meanParameter_strictMono": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { @@ -49033,25 +51684,26 @@ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "order" + "lower", + "upper" ], "role": "typed_binder", - "source": "(order : ℕ)", - "type_source": "ℕ", - "visibility": "explicit" + "source": "{lower upper : ℝ}", + "type_source": "ℝ", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "parameter" + "hVariance" ], "role": "typed_binder", - "source": "(parameter : ℝ)", - "type_source": "ℝ", + "source": "(hVariance : ∀ parameter ∈ Set.Icc lower upper,\n 0 < family.variance parameter)", + "type_source": "∀ parameter ∈ Set.Icc lower upper,\n 0 < family.variance parameter", "visibility": "explicit" } ], - "conclusion": "HasDerivAt (family.weightedMoment order)\n (family.weightedMoment (order + 1) parameter) parameter", + "conclusion": "StrictMonoOn family.mean (Set.Icc lower upper)", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -49101,204 +51753,1125 @@ "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", "source": "omit [Nonempty Outcome] in" }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty Outcome] in" + }, { "directive": "omit", "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", "source": "omit [Nonempty Outcome] in" } ], - "qualified_name": "FEP.ExponentialFamily.ScalarExponentialFamily.weightedMoment_hasDerivAt", - "source_line": 209, + "qualified_name": "FEP.ExponentialFamily.ScalarExponentialFamily.meanParameter_strictMono", + "source_line": 376, "source_owner": "src/fep_lean/formal/exponential_family.lean", - "statement": "theorem weightedMoment_hasDerivAt\n (family : ScalarExponentialFamily Outcome)\n (order : ℕ) (parameter : ℝ) :\n HasDerivAt (family.weightedMoment order)\n (family.weightedMoment (order + 1) parameter) parameter", - "statement_sha256": "cd5fd0fa5739940ab519460973a57292032b03b7b30c5c61b6b39a53b1b539c8" + "statement": "theorem meanParameter_strictMono (family : ScalarExponentialFamily Outcome)\n {lower upper : ℝ}\n (hVariance : ∀ parameter ∈ Set.Icc lower upper,\n 0 < family.variance parameter) :\n StrictMonoOn family.mean (Set.Icc lower upper)", + "statement_sha256": "5f77828be29fc5523bae87e18a3feefd9c2c8b069a9f18f684991e2e1315be2b" }, - "FEP.Fin4GaussianSemigroup.K_eigenmode_four_external": { + "FEP.ExponentialFamily.ScalarExponentialFamily.mean_eq_expectation": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [], - "conclusion": "K *ᵥ eigenmodeFourExternal = 4 • eigenmodeFourExternal", - "context_binders": [], - "declaration_mentions": [], - "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", - "import_context": [ - "FepSketches.linear_gaussian_semigroup" + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "family" + ], + "role": "typed_binder", + "source": "(family : ScalarExponentialFamily Outcome)", + "type_source": "ScalarExponentialFamily Outcome", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "parameter" + ], + "role": "typed_binder", + "source": "(parameter : ℝ)", + "type_source": "ℝ", + "visibility": "explicit" + } ], - "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.Fin4GaussianSemigroup", - "namespace_variable_context": [], - "preceding_scope_directives": [], - "qualified_name": "FEP.Fin4GaussianSemigroup.K_eigenmode_four_external", - "source_line": 179, - "source_owner": "src/fep_lean/formal/fin4_gaussian_semigroup.lean", - "statement": "theorem K_eigenmode_four_external :\n K *ᵥ eigenmodeFourExternal = 4 • eigenmodeFourExternal", - "statement_sha256": "ba427b973cade1f06772407c7a742efe4492255985255d1bd4f6c645d28e01ce" - }, - "FEP.Fin4GaussianSemigroup.K_eigenmode_four_sensory": { - "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [], - "conclusion": "K *ᵥ eigenmodeFourSensory = 4 • eigenmodeFourSensory", - "context_binders": [], - "declaration_mentions": [], - "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", - "import_context": [ - "FepSketches.linear_gaussian_semigroup" + "conclusion": "family.mean parameter =\n ∑ outcome, family.law parameter outcome * family.statistic outcome", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "Outcome" + ], + "role": "typed_binder", + "source": "{Outcome : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Outcome]", + "type_source": "Fintype Outcome", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Nonempty Outcome]", + "type_source": "Nonempty Outcome", + "visibility": "instance" + } ], - "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.Fin4GaussianSemigroup", - "namespace_variable_context": [], - "preceding_scope_directives": [], - "qualified_name": "FEP.Fin4GaussianSemigroup.K_eigenmode_four_sensory", - "source_line": 187, - "source_owner": "src/fep_lean/formal/fin4_gaussian_semigroup.lean", - "statement": "theorem K_eigenmode_four_sensory :\n K *ᵥ eigenmodeFourSensory = 4 • eigenmodeFourSensory", - "statement_sha256": "761955f54384734da1bd0c0fbfd12921a6e114fc188b50785b8253779a37e43a" - }, - "FEP.Fin4GaussianSemigroup.K_eigenmode_six": { - "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [], - "conclusion": "K *ᵥ eigenmodeSix = 6 • eigenmodeSix", - "context_binders": [], "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.linear_gaussian_semigroup" + "FepSketches.finite_information" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.Fin4GaussianSemigroup", - "namespace_variable_context": [], - "preceding_scope_directives": [], - "qualified_name": "FEP.Fin4GaussianSemigroup.K_eigenmode_six", - "source_line": 195, - "source_owner": "src/fep_lean/formal/fin4_gaussian_semigroup.lean", - "statement": "theorem K_eigenmode_six :\n K *ᵥ eigenmodeSix = 6 • eigenmodeSix", - "statement_sha256": "3384deba99aea33d14d2048451d120e50052b22e3661bb2bef925c6108cde5f1" - }, - "FEP.Fin4GaussianSemigroup.K_eigenmode_two": { - "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [], - "conclusion": "K *ᵥ eigenmodeTwo = 2 • eigenmodeTwo", - "context_binders": [], - "declaration_mentions": [], - "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", - "import_context": [ - "FepSketches.linear_gaussian_semigroup" + "namespace": "FEP.ExponentialFamily.ScalarExponentialFamily", + "namespace_variable_context": [ + "{Outcome : Type*} [Fintype Outcome] [Nonempty Outcome]" ], - "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.Fin4GaussianSemigroup", - "namespace_variable_context": [], - "preceding_scope_directives": [], - "qualified_name": "FEP.Fin4GaussianSemigroup.K_eigenmode_two", - "source_line": 172, - "source_owner": "src/fep_lean/formal/fin4_gaussian_semigroup.lean", - "statement": "theorem K_eigenmode_two :\n K *ᵥ eigenmodeTwo = 2 • eigenmodeTwo", - "statement_sha256": "c94f709b74e3e9ffbbf07462e7442b81504f668ef41b5c6a5088d7a1ab67d676" - }, - "FEP.Fin4GaussianSemigroup.K_external_internal": { - "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [], - "conclusion": "K external internal = 0", - "context_binders": [], - "declaration_mentions": [], - "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", - "import_context": [ - "FepSketches.linear_gaussian_semigroup" + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty Outcome] in" + } ], - "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.Fin4GaussianSemigroup", - "namespace_variable_context": [], - "preceding_scope_directives": [], - "qualified_name": "FEP.Fin4GaussianSemigroup.K_external_internal", - "source_line": 313, - "source_owner": "src/fep_lean/formal/fin4_gaussian_semigroup.lean", - "statement": "theorem K_external_internal : K external internal = 0", - "statement_sha256": "45eadcc0db17724670582f586751896725d84b7707c8889799224ac38d7fee37" + "qualified_name": "FEP.ExponentialFamily.ScalarExponentialFamily.mean_eq_expectation", + "source_line": 83, + "source_owner": "src/fep_lean/formal/exponential_family.lean", + "statement": "theorem mean_eq_expectation (family : ScalarExponentialFamily Outcome)\n (parameter : ℝ) :\n family.mean parameter =\n ∑ outcome, family.law parameter outcome * family.statistic outcome", + "statement_sha256": "0cee216f93c39ee62122dd10027c7b13fa7002967a86e1363460e012cc768332" }, - "FEP.Fin4GaussianSemigroup.K_isHermitian": { + "FEP.ExponentialFamily.ScalarExponentialFamily.mean_hasDerivAt": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [], - "conclusion": "K.IsHermitian", - "context_binders": [], - "declaration_mentions": [ + "binders": [ { - "identifier": "K_isSymm", - "qualified_name": "FEP.Fin4GaussianSemigroup.K_isSymm", - "resolution": "exact or same-namespace source identifier", - "role": "proof_reference" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "family" + ], + "role": "typed_binder", + "source": "(family : ScalarExponentialFamily Outcome)", + "type_source": "ScalarExponentialFamily Outcome", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "parameter" + ], + "role": "typed_binder", + "source": "(parameter : ℝ)", + "type_source": "ℝ", + "visibility": "explicit" } ], - "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", - "import_context": [ - "FepSketches.linear_gaussian_semigroup" + "conclusion": "HasDerivAt family.mean (family.variance parameter) parameter", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "Outcome" + ], + "role": "typed_binder", + "source": "{Outcome : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Outcome]", + "type_source": "Fintype Outcome", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Nonempty Outcome]", + "type_source": "Nonempty Outcome", + "visibility": "instance" + } ], - "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.Fin4GaussianSemigroup", - "namespace_variable_context": [], - "preceding_scope_directives": [], - "qualified_name": "FEP.Fin4GaussianSemigroup.K_isHermitian", - "source_line": 113, - "source_owner": "src/fep_lean/formal/fin4_gaussian_semigroup.lean", - "statement": "theorem K_isHermitian : K.IsHermitian", - "statement_sha256": "2ffb540b7a753993aa6ffa5baf359b18ea68113f99a6be9b2d558641dc823a54" - }, - "FEP.Fin4GaussianSemigroup.K_isSymm": { - "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [], - "conclusion": "K.IsSymm", - "context_binders": [], "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.linear_gaussian_semigroup" + "FepSketches.finite_information" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.Fin4GaussianSemigroup", - "namespace_variable_context": [], - "preceding_scope_directives": [], - "qualified_name": "FEP.Fin4GaussianSemigroup.K_isSymm", - "source_line": 108, - "source_owner": "src/fep_lean/formal/fin4_gaussian_semigroup.lean", - "statement": "theorem K_isSymm : K.IsSymm", - "statement_sha256": "bd0de063d4e98370d0c13a659938be4c1105e0e7d7e2f6fda21e04ea817129bc" - }, - "FEP.Fin4GaussianSemigroup.K_mul_Sigma": { - "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [], - "conclusion": "K * Sigma = 1", - "context_binders": [], - "declaration_mentions": [], - "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", - "import_context": [ - "FepSketches.linear_gaussian_semigroup" + "namespace": "FEP.ExponentialFamily.ScalarExponentialFamily", + "namespace_variable_context": [ + "{Outcome : Type*} [Fintype Outcome] [Nonempty Outcome]" ], - "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.Fin4GaussianSemigroup", - "namespace_variable_context": [], - "preceding_scope_directives": [], - "qualified_name": "FEP.Fin4GaussianSemigroup.K_mul_Sigma", - "source_line": 247, - "source_owner": "src/fep_lean/formal/fin4_gaussian_semigroup.lean", - "statement": "theorem K_mul_Sigma : K * Sigma = 1", - "statement_sha256": "d1d6fa0b7f5681d8cdeb8a9e13529efac07a710d0eb6e446fd2e18487a7554c4" + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty Outcome] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty Outcome] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty Outcome] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty Outcome] in" + } + ], + "qualified_name": "FEP.ExponentialFamily.ScalarExponentialFamily.mean_hasDerivAt", + "source_line": 245, + "source_owner": "src/fep_lean/formal/exponential_family.lean", + "statement": "theorem mean_hasDerivAt (family : ScalarExponentialFamily Outcome)\n (parameter : ℝ) :\n HasDerivAt family.mean (family.variance parameter) parameter", + "statement_sha256": "5ee292fe68385aeb74729108ec2831f1e461af5ca69518426e46cceced961557" }, - "FEP.Fin4GaussianSemigroup.K_normalizedAllOnes": { + "FEP.ExponentialFamily.ScalarExponentialFamily.mean_score_zero": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [], - "conclusion": "K *ᵥ normalizedAllOnes = 2 • normalizedAllOnes", - "context_binders": [], + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "family" + ], + "role": "typed_binder", + "source": "(family : ScalarExponentialFamily Outcome)", + "type_source": "ScalarExponentialFamily Outcome", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "parameter" + ], + "role": "typed_binder", + "source": "(parameter : ℝ)", + "type_source": "ℝ", + "visibility": "explicit" + } + ], + "conclusion": "∑ outcome,\n family.law parameter outcome * family.score parameter outcome = 0", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "Outcome" + ], + "role": "typed_binder", + "source": "{Outcome : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Outcome]", + "type_source": "Fintype Outcome", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Nonempty Outcome]", + "type_source": "Nonempty Outcome", + "visibility": "instance" + } + ], "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.linear_gaussian_semigroup" + "FepSketches.finite_information" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.Fin4GaussianSemigroup", - "namespace_variable_context": [], - "preceding_scope_directives": [], - "qualified_name": "FEP.Fin4GaussianSemigroup.K_normalizedAllOnes", - "source_line": 535, - "source_owner": "src/fep_lean/formal/fin4_gaussian_semigroup.lean", - "statement": "theorem K_normalizedAllOnes :\n K *ᵥ normalizedAllOnes = 2 • normalizedAllOnes", - "statement_sha256": "79e146510beb22dc96e9ae564d6f5568cc89547a1b7efde94d809585254ecea7" + "namespace": "FEP.ExponentialFamily.ScalarExponentialFamily", + "namespace_variable_context": [ + "{Outcome : Type*} [Fintype Outcome] [Nonempty Outcome]" + ], + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty Outcome] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty Outcome] in" + } + ], + "qualified_name": "FEP.ExponentialFamily.ScalarExponentialFamily.mean_score_zero", + "source_line": 129, + "source_owner": "src/fep_lean/formal/exponential_family.lean", + "statement": "theorem mean_score_zero (family : ScalarExponentialFamily Outcome)\n (parameter : ℝ) :\n ∑ outcome,\n family.law parameter outcome * family.score parameter outcome = 0", + "statement_sha256": "8b2d63b61c30274edf61c50ab3970bf2d3f3afbbc6bad61c44db7143e47b3d2e" + }, + "FEP.ExponentialFamily.ScalarExponentialFamily.partition_hasDerivAt": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "family" + ], + "role": "typed_binder", + "source": "(family : ScalarExponentialFamily Outcome)", + "type_source": "ScalarExponentialFamily Outcome", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "parameter" + ], + "role": "typed_binder", + "source": "(parameter : ℝ)", + "type_source": "ℝ", + "visibility": "explicit" + } + ], + "conclusion": "HasDerivAt family.partition (family.weightedMoment 1 parameter)\n parameter", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "Outcome" + ], + "role": "typed_binder", + "source": "{Outcome : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Outcome]", + "type_source": "Fintype Outcome", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Nonempty Outcome]", + "type_source": "Nonempty Outcome", + "visibility": "instance" + } + ], + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.finite_information" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.ExponentialFamily.ScalarExponentialFamily", + "namespace_variable_context": [ + "{Outcome : Type*} [Fintype Outcome] [Nonempty Outcome]" + ], + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty Outcome] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty Outcome] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty Outcome] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty Outcome] in" + } + ], + "qualified_name": "FEP.ExponentialFamily.ScalarExponentialFamily.partition_hasDerivAt", + "source_line": 226, + "source_owner": "src/fep_lean/formal/exponential_family.lean", + "statement": "theorem partition_hasDerivAt (family : ScalarExponentialFamily Outcome)\n (parameter : ℝ) :\n HasDerivAt family.partition (family.weightedMoment 1 parameter)\n parameter", + "statement_sha256": "05ad4f9fdfa1e6d8344a2f301d1dd748d9db91408449453611a99aea5b74f743" + }, + "FEP.ExponentialFamily.ScalarExponentialFamily.partition_pos": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "family" + ], + "role": "typed_binder", + "source": "(family : ScalarExponentialFamily Outcome)", + "type_source": "ScalarExponentialFamily Outcome", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "parameter" + ], + "role": "typed_binder", + "source": "(parameter : ℝ)", + "type_source": "ℝ", + "visibility": "explicit" + } + ], + "conclusion": "0 < family.partition parameter", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "Outcome" + ], + "role": "typed_binder", + "source": "{Outcome : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Outcome]", + "type_source": "Fintype Outcome", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Nonempty Outcome]", + "type_source": "Nonempty Outcome", + "visibility": "instance" + } + ], + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.finite_information" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.ExponentialFamily.ScalarExponentialFamily", + "namespace_variable_context": [ + "{Outcome : Type*} [Fintype Outcome] [Nonempty Outcome]" + ], + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty Outcome] in" + } + ], + "qualified_name": "FEP.ExponentialFamily.ScalarExponentialFamily.partition_pos", + "source_line": 54, + "source_owner": "src/fep_lean/formal/exponential_family.lean", + "statement": "theorem partition_pos (family : ScalarExponentialFamily Outcome)\n (parameter : ℝ) : 0 < family.partition parameter", + "statement_sha256": "f10ef8bc4173e8f7a7a994a622d01e08a7bf9b3e9cb1181196267423b0949a6d" + }, + "FEP.ExponentialFamily.ScalarExponentialFamily.score_eq_statistic_sub_mean": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "family" + ], + "role": "typed_binder", + "source": "(family : ScalarExponentialFamily Outcome)", + "type_source": "ScalarExponentialFamily Outcome", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "parameter" + ], + "role": "typed_binder", + "source": "(parameter : ℝ)", + "type_source": "ℝ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "outcome" + ], + "role": "typed_binder", + "source": "(outcome : Outcome)", + "type_source": "Outcome", + "visibility": "explicit" + } + ], + "conclusion": "family.score parameter outcome =\n family.statistic outcome - family.mean parameter", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "Outcome" + ], + "role": "typed_binder", + "source": "{Outcome : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Outcome]", + "type_source": "Fintype Outcome", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Nonempty Outcome]", + "type_source": "Nonempty Outcome", + "visibility": "instance" + } + ], + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.finite_information" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.ExponentialFamily.ScalarExponentialFamily", + "namespace_variable_context": [ + "{Outcome : Type*} [Fintype Outcome] [Nonempty Outcome]" + ], + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty Outcome] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty Outcome] in" + } + ], + "qualified_name": "FEP.ExponentialFamily.ScalarExponentialFamily.score_eq_statistic_sub_mean", + "source_line": 122, + "source_owner": "src/fep_lean/formal/exponential_family.lean", + "statement": "theorem score_eq_statistic_sub_mean\n (family : ScalarExponentialFamily Outcome)\n (parameter : ℝ) (outcome : Outcome) :\n family.score parameter outcome =\n family.statistic outcome - family.mean parameter", + "statement_sha256": "ff19fc1e7e8faaac0cf0d67147d5e2882db8982300f8a9c71648b777d82f866a" + }, + "FEP.ExponentialFamily.ScalarExponentialFamily.threeState_variance_zero": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [], + "conclusion": "threeStateFamily.variance 0 = 2 / 3", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "Outcome" + ], + "role": "typed_binder", + "source": "{Outcome : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Outcome]", + "type_source": "Fintype Outcome", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Nonempty Outcome]", + "type_source": "Nonempty Outcome", + "visibility": "instance" + } + ], + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.finite_information" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.ExponentialFamily.ScalarExponentialFamily", + "namespace_variable_context": [ + "{Outcome : Type*} [Fintype Outcome] [Nonempty Outcome]" + ], + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty Outcome] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty Outcome] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty Outcome] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty Outcome] in" + } + ], + "qualified_name": "FEP.ExponentialFamily.ScalarExponentialFamily.threeState_variance_zero", + "source_line": 406, + "source_owner": "src/fep_lean/formal/exponential_family.lean", + "statement": "theorem threeState_variance_zero : threeStateFamily.variance 0 = 2 / 3", + "statement_sha256": "da20e31971b78ba048982b21e612c3474ff35cbacd59ec366182566a9145c117" + }, + "FEP.ExponentialFamily.ScalarExponentialFamily.threeState_variance_zero_pos": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [], + "conclusion": "0 < threeStateFamily.variance 0", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "Outcome" + ], + "role": "typed_binder", + "source": "{Outcome : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Outcome]", + "type_source": "Fintype Outcome", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Nonempty Outcome]", + "type_source": "Nonempty Outcome", + "visibility": "instance" + } + ], + "declaration_mentions": [ + { + "identifier": "threeState_variance_zero", + "qualified_name": "FEP.ExponentialFamily.ScalarExponentialFamily.threeState_variance_zero", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + } + ], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.finite_information" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.ExponentialFamily.ScalarExponentialFamily", + "namespace_variable_context": [ + "{Outcome : Type*} [Fintype Outcome] [Nonempty Outcome]" + ], + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty Outcome] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty Outcome] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty Outcome] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty Outcome] in" + } + ], + "qualified_name": "FEP.ExponentialFamily.ScalarExponentialFamily.threeState_variance_zero_pos", + "source_line": 410, + "source_owner": "src/fep_lean/formal/exponential_family.lean", + "statement": "theorem threeState_variance_zero_pos : 0 < threeStateFamily.variance 0", + "statement_sha256": "95dda5d86e5125880d663a04fc18fcd43dacd62bb8be6d1eff827a0da5d53850" + }, + "FEP.ExponentialFamily.ScalarExponentialFamily.variance_eq_rawMoment": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "family" + ], + "role": "typed_binder", + "source": "(family : ScalarExponentialFamily Outcome)", + "type_source": "ScalarExponentialFamily Outcome", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "parameter" + ], + "role": "typed_binder", + "source": "(parameter : ℝ)", + "type_source": "ℝ", + "visibility": "explicit" + } + ], + "conclusion": "family.variance parameter =\n family.weightedMoment 2 parameter / family.partition parameter -\n family.mean parameter ^ 2", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "Outcome" + ], + "role": "typed_binder", + "source": "{Outcome : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Outcome]", + "type_source": "Fintype Outcome", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Nonempty Outcome]", + "type_source": "Nonempty Outcome", + "visibility": "instance" + } + ], + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.finite_information" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.ExponentialFamily.ScalarExponentialFamily", + "namespace_variable_context": [ + "{Outcome : Type*} [Fintype Outcome] [Nonempty Outcome]" + ], + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty Outcome] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty Outcome] in" + } + ], + "qualified_name": "FEP.ExponentialFamily.ScalarExponentialFamily.variance_eq_rawMoment", + "source_line": 156, + "source_owner": "src/fep_lean/formal/exponential_family.lean", + "statement": "theorem variance_eq_rawMoment (family : ScalarExponentialFamily Outcome)\n (parameter : ℝ) :\n family.variance parameter =\n family.weightedMoment 2 parameter / family.partition parameter -\n family.mean parameter ^ 2", + "statement_sha256": "be0ed42b5b39686938c79f135be4a3b2b6d28a5de1ed16019aa40a50dbb5bf21" + }, + "FEP.ExponentialFamily.ScalarExponentialFamily.weight_pos": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "family" + ], + "role": "typed_binder", + "source": "(family : ScalarExponentialFamily Outcome)", + "type_source": "ScalarExponentialFamily Outcome", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "parameter" + ], + "role": "typed_binder", + "source": "(parameter : ℝ)", + "type_source": "ℝ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "outcome" + ], + "role": "typed_binder", + "source": "(outcome : Outcome)", + "type_source": "Outcome", + "visibility": "explicit" + } + ], + "conclusion": "0 < family.weight parameter outcome", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "Outcome" + ], + "role": "typed_binder", + "source": "{Outcome : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Outcome]", + "type_source": "Fintype Outcome", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Nonempty Outcome]", + "type_source": "Nonempty Outcome", + "visibility": "instance" + } + ], + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.finite_information" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.ExponentialFamily.ScalarExponentialFamily", + "namespace_variable_context": [ + "{Outcome : Type*} [Fintype Outcome] [Nonempty Outcome]" + ], + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty Outcome] in" + } + ], + "qualified_name": "FEP.ExponentialFamily.ScalarExponentialFamily.weight_pos", + "source_line": 49, + "source_owner": "src/fep_lean/formal/exponential_family.lean", + "statement": "theorem weight_pos (family : ScalarExponentialFamily Outcome)\n (parameter : ℝ) (outcome : Outcome) :\n 0 < family.weight parameter outcome", + "statement_sha256": "3c673d17c383f6352097f8d57e4ef69f7deaf78798b7efe357a024c35761cac7" + }, + "FEP.ExponentialFamily.ScalarExponentialFamily.weightedMoment_hasDerivAt": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "family" + ], + "role": "typed_binder", + "source": "(family : ScalarExponentialFamily Outcome)", + "type_source": "ScalarExponentialFamily Outcome", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "order" + ], + "role": "typed_binder", + "source": "(order : ℕ)", + "type_source": "ℕ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "parameter" + ], + "role": "typed_binder", + "source": "(parameter : ℝ)", + "type_source": "ℝ", + "visibility": "explicit" + } + ], + "conclusion": "HasDerivAt (family.weightedMoment order)\n (family.weightedMoment (order + 1) parameter) parameter", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "Outcome" + ], + "role": "typed_binder", + "source": "{Outcome : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Outcome]", + "type_source": "Fintype Outcome", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Nonempty Outcome]", + "type_source": "Nonempty Outcome", + "visibility": "instance" + } + ], + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.finite_information" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.ExponentialFamily.ScalarExponentialFamily", + "namespace_variable_context": [ + "{Outcome : Type*} [Fintype Outcome] [Nonempty Outcome]" + ], + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty Outcome] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty Outcome] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Nonempty Outcome] in" + } + ], + "qualified_name": "FEP.ExponentialFamily.ScalarExponentialFamily.weightedMoment_hasDerivAt", + "source_line": 209, + "source_owner": "src/fep_lean/formal/exponential_family.lean", + "statement": "theorem weightedMoment_hasDerivAt\n (family : ScalarExponentialFamily Outcome)\n (order : ℕ) (parameter : ℝ) :\n HasDerivAt (family.weightedMoment order)\n (family.weightedMoment (order + 1) parameter) parameter", + "statement_sha256": "cd5fd0fa5739940ab519460973a57292032b03b7b30c5c61b6b39a53b1b539c8" + }, + "FEP.Fin4GaussianSemigroup.K_eigenmode_four_external": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [], + "conclusion": "K *ᵥ eigenmodeFourExternal = 4 • eigenmodeFourExternal", + "context_binders": [], + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.linear_gaussian_semigroup" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.Fin4GaussianSemigroup", + "namespace_variable_context": [], + "preceding_scope_directives": [], + "qualified_name": "FEP.Fin4GaussianSemigroup.K_eigenmode_four_external", + "source_line": 179, + "source_owner": "src/fep_lean/formal/fin4_gaussian_semigroup.lean", + "statement": "theorem K_eigenmode_four_external :\n K *ᵥ eigenmodeFourExternal = 4 • eigenmodeFourExternal", + "statement_sha256": "ba427b973cade1f06772407c7a742efe4492255985255d1bd4f6c645d28e01ce" + }, + "FEP.Fin4GaussianSemigroup.K_eigenmode_four_sensory": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [], + "conclusion": "K *ᵥ eigenmodeFourSensory = 4 • eigenmodeFourSensory", + "context_binders": [], + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.linear_gaussian_semigroup" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.Fin4GaussianSemigroup", + "namespace_variable_context": [], + "preceding_scope_directives": [], + "qualified_name": "FEP.Fin4GaussianSemigroup.K_eigenmode_four_sensory", + "source_line": 187, + "source_owner": "src/fep_lean/formal/fin4_gaussian_semigroup.lean", + "statement": "theorem K_eigenmode_four_sensory :\n K *ᵥ eigenmodeFourSensory = 4 • eigenmodeFourSensory", + "statement_sha256": "761955f54384734da1bd0c0fbfd12921a6e114fc188b50785b8253779a37e43a" + }, + "FEP.Fin4GaussianSemigroup.K_eigenmode_six": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [], + "conclusion": "K *ᵥ eigenmodeSix = 6 • eigenmodeSix", + "context_binders": [], + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.linear_gaussian_semigroup" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.Fin4GaussianSemigroup", + "namespace_variable_context": [], + "preceding_scope_directives": [], + "qualified_name": "FEP.Fin4GaussianSemigroup.K_eigenmode_six", + "source_line": 195, + "source_owner": "src/fep_lean/formal/fin4_gaussian_semigroup.lean", + "statement": "theorem K_eigenmode_six :\n K *ᵥ eigenmodeSix = 6 • eigenmodeSix", + "statement_sha256": "3384deba99aea33d14d2048451d120e50052b22e3661bb2bef925c6108cde5f1" + }, + "FEP.Fin4GaussianSemigroup.K_eigenmode_two": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [], + "conclusion": "K *ᵥ eigenmodeTwo = 2 • eigenmodeTwo", + "context_binders": [], + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.linear_gaussian_semigroup" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.Fin4GaussianSemigroup", + "namespace_variable_context": [], + "preceding_scope_directives": [], + "qualified_name": "FEP.Fin4GaussianSemigroup.K_eigenmode_two", + "source_line": 172, + "source_owner": "src/fep_lean/formal/fin4_gaussian_semigroup.lean", + "statement": "theorem K_eigenmode_two :\n K *ᵥ eigenmodeTwo = 2 • eigenmodeTwo", + "statement_sha256": "c94f709b74e3e9ffbbf07462e7442b81504f668ef41b5c6a5088d7a1ab67d676" + }, + "FEP.Fin4GaussianSemigroup.K_external_internal": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [], + "conclusion": "K external internal = 0", + "context_binders": [], + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.linear_gaussian_semigroup" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.Fin4GaussianSemigroup", + "namespace_variable_context": [], + "preceding_scope_directives": [], + "qualified_name": "FEP.Fin4GaussianSemigroup.K_external_internal", + "source_line": 313, + "source_owner": "src/fep_lean/formal/fin4_gaussian_semigroup.lean", + "statement": "theorem K_external_internal : K external internal = 0", + "statement_sha256": "45eadcc0db17724670582f586751896725d84b7707c8889799224ac38d7fee37" + }, + "FEP.Fin4GaussianSemigroup.K_isHermitian": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [], + "conclusion": "K.IsHermitian", + "context_binders": [], + "declaration_mentions": [ + { + "identifier": "K_isSymm", + "qualified_name": "FEP.Fin4GaussianSemigroup.K_isSymm", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + } + ], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.linear_gaussian_semigroup" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.Fin4GaussianSemigroup", + "namespace_variable_context": [], + "preceding_scope_directives": [], + "qualified_name": "FEP.Fin4GaussianSemigroup.K_isHermitian", + "source_line": 113, + "source_owner": "src/fep_lean/formal/fin4_gaussian_semigroup.lean", + "statement": "theorem K_isHermitian : K.IsHermitian", + "statement_sha256": "2ffb540b7a753993aa6ffa5baf359b18ea68113f99a6be9b2d558641dc823a54" + }, + "FEP.Fin4GaussianSemigroup.K_isSymm": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [], + "conclusion": "K.IsSymm", + "context_binders": [], + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.linear_gaussian_semigroup" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.Fin4GaussianSemigroup", + "namespace_variable_context": [], + "preceding_scope_directives": [], + "qualified_name": "FEP.Fin4GaussianSemigroup.K_isSymm", + "source_line": 108, + "source_owner": "src/fep_lean/formal/fin4_gaussian_semigroup.lean", + "statement": "theorem K_isSymm : K.IsSymm", + "statement_sha256": "bd0de063d4e98370d0c13a659938be4c1105e0e7d7e2f6fda21e04ea817129bc" + }, + "FEP.Fin4GaussianSemigroup.K_mul_Sigma": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [], + "conclusion": "K * Sigma = 1", + "context_binders": [], + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.linear_gaussian_semigroup" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.Fin4GaussianSemigroup", + "namespace_variable_context": [], + "preceding_scope_directives": [], + "qualified_name": "FEP.Fin4GaussianSemigroup.K_mul_Sigma", + "source_line": 247, + "source_owner": "src/fep_lean/formal/fin4_gaussian_semigroup.lean", + "statement": "theorem K_mul_Sigma : K * Sigma = 1", + "statement_sha256": "d1d6fa0b7f5681d8cdeb8a9e13529efac07a710d0eb6e446fd2e18487a7554c4" + }, + "FEP.Fin4GaussianSemigroup.K_normalizedAllOnes": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [], + "conclusion": "K *ᵥ normalizedAllOnes = 2 • normalizedAllOnes", + "context_binders": [], + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.linear_gaussian_semigroup" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.Fin4GaussianSemigroup", + "namespace_variable_context": [], + "preceding_scope_directives": [], + "qualified_name": "FEP.Fin4GaussianSemigroup.K_normalizedAllOnes", + "source_line": 535, + "source_owner": "src/fep_lean/formal/fin4_gaussian_semigroup.lean", + "statement": "theorem K_normalizedAllOnes :\n K *ᵥ normalizedAllOnes = 2 • normalizedAllOnes", + "statement_sha256": "79e146510beb22dc96e9ae564d6f5568cc89547a1b7efde94d809585254ecea7" }, "FEP.Fin4GaussianSemigroup.K_posDef": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", @@ -50568,6 +54141,64 @@ "statement": "theorem transition_zero (center : StandardizedState) :\n transition center 0 = Kernel.id", "statement_sha256": "d9e947b68ba44d2be3b232ad21806d5816d484c4d0b59a8424ad597b3b6d8af1" }, + "FEP.FiniteInformation.boolBiased_entropy_lt_log_two": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [], + "conclusion": "entropy boolBiased < Real.log 2", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "α", + "β" + ], + "role": "typed_binder", + "source": "{α β : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype α]", + "type_source": "Fintype α", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype β]", + "type_source": "Fintype β", + "visibility": "instance" + } + ], + "declaration_mentions": [ + { + "identifier": "entropy_lt_log_card_of_ne_uniform", + "qualified_name": "FEP.FiniteInformation.entropy_lt_log_card_of_ne_uniform", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + } + ], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.finite_probability", + "Mathlib.InformationTheory.KullbackLeibler.KLFun" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.FiniteInformation", + "namespace_variable_context": [ + "{α β : Type*} [Fintype α] [Fintype β]" + ], + "preceding_scope_directives": [], + "qualified_name": "FEP.FiniteInformation.boolBiased_entropy_lt_log_two", + "source_line": 509, + "source_owner": "src/fep_lean/formal/finite_information.lean", + "statement": "theorem boolBiased_entropy_lt_log_two :\n entropy boolBiased < Real.log 2", + "statement_sha256": "3d3ed81e7694760d3223c7eb4acad12d5afbcc74c427bbfdb390c7c6a1c2b127" + }, "FEP.FiniteInformation.conditionalEntropy_nonneg": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ @@ -51146,31 +54777,196 @@ "statement": "theorem crossEntropy_product_marginals (joint : FiniteLaw (α × β))\n (hfst : ∀ x, 0 < joint.fstMarginal x)\n (hsnd : ∀ y, 0 < joint.sndMarginal y) :\n crossEntropy joint (joint.fstMarginal.product joint.sndMarginal) =\n entropy joint.fstMarginal + entropy joint.sndMarginal", "statement_sha256": "80c7e4a257d4eb90a7f90d3d1af9e06ddc05af260ecbb32648a41be3a72d6fab" }, - "FEP.FiniteInformation.entropy_joint_eq_add_conditional": { + "FEP.FiniteInformation.crossEntropy_uniform": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "prior" - ], - "role": "typed_binder", - "source": "(prior : FiniteLaw α)", - "type_source": "FiniteLaw α", - "visibility": "explicit" + "names": [], + "role": "instance_requirement", + "source": "[Nonempty α]", + "type_source": "Nonempty α", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "kernel" + "p" ], "role": "typed_binder", - "source": "(kernel : FiniteKernel α β)", - "type_source": "FiniteKernel α β", + "source": "(p : FiniteLaw α)", + "type_source": "FiniteLaw α", "visibility": "explicit" } ], - "conclusion": "entropy (kernel.joint prior) =\n entropy prior + conditionalEntropy prior kernel", + "conclusion": "crossEntropy p FiniteLaw.uniform = Real.log (Fintype.card α)", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "α", + "β" + ], + "role": "typed_binder", + "source": "{α β : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype α]", + "type_source": "Fintype α", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype β]", + "type_source": "Fintype β", + "visibility": "instance" + } + ], + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.finite_probability", + "Mathlib.InformationTheory.KullbackLeibler.KLFun" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.FiniteInformation", + "namespace_variable_context": [ + "{α β : Type*} [Fintype α] [Fintype β]" + ], + "preceding_scope_directives": [], + "qualified_name": "FEP.FiniteInformation.crossEntropy_uniform", + "source_line": 467, + "source_owner": "src/fep_lean/formal/finite_information.lean", + "statement": "theorem crossEntropy_uniform [Nonempty α] (p : FiniteLaw α) :\n crossEntropy p FiniteLaw.uniform = Real.log (Fintype.card α)", + "statement_sha256": "89826f4b0ca900c322e6be3704c8e3ad8136f86e93486c0d714029f211533e3f" + }, + "FEP.FiniteInformation.entropy_eq_log_card_iff": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Nonempty α]", + "type_source": "Nonempty α", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "p" + ], + "role": "typed_binder", + "source": "(p : FiniteLaw α)", + "type_source": "FiniteLaw α", + "visibility": "explicit" + } + ], + "conclusion": "entropy p = Real.log (Fintype.card α) ↔ p = FiniteLaw.uniform", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "α", + "β" + ], + "role": "typed_binder", + "source": "{α β : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype α]", + "type_source": "Fintype α", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype β]", + "type_source": "Fintype β", + "visibility": "instance" + } + ], + "declaration_mentions": [ + { + "identifier": "crossEntropy_uniform", + "qualified_name": "FEP.FiniteInformation.crossEntropy_uniform", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + }, + { + "identifier": "finiteKL_eq_crossEntropy_sub_entropy", + "qualified_name": "FEP.FiniteInformation.finiteKL_eq_crossEntropy_sub_entropy", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + }, + { + "identifier": "finiteKL_eq_zero_iff", + "qualified_name": "FEP.FiniteInformation.finiteKL_eq_zero_iff", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + }, + { + "identifier": "uniform_mass_pos", + "qualified_name": "FEP.FiniteInformation.uniform_mass_pos", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + } + ], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.finite_probability", + "Mathlib.InformationTheory.KullbackLeibler.KLFun" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.FiniteInformation", + "namespace_variable_context": [ + "{α β : Type*} [Fintype α] [Fintype β]" + ], + "preceding_scope_directives": [], + "qualified_name": "FEP.FiniteInformation.entropy_eq_log_card_iff", + "source_line": 487, + "source_owner": "src/fep_lean/formal/finite_information.lean", + "statement": "theorem entropy_eq_log_card_iff [Nonempty α] (p : FiniteLaw α) :\n entropy p = Real.log (Fintype.card α) ↔ p = FiniteLaw.uniform", + "statement_sha256": "8495d3da5a4498a24554598639b8af6b2b54bb0ae9c98f9e302ffb54143dc3c4" + }, + "FEP.FiniteInformation.entropy_joint_eq_add_conditional": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "prior" + ], + "role": "typed_binder", + "source": "(prior : FiniteLaw α)", + "type_source": "FiniteLaw α", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "kernel" + ], + "role": "typed_binder", + "source": "(kernel : FiniteKernel α β)", + "type_source": "FiniteKernel α β", + "visibility": "explicit" + } + ], + "conclusion": "entropy (kernel.joint prior) =\n entropy prior + conditionalEntropy prior kernel", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -51218,6 +55014,194 @@ "statement": "theorem entropy_joint_eq_add_conditional\n (prior : FiniteLaw α) (kernel : FiniteKernel α β) :\n entropy (kernel.joint prior) =\n entropy prior + conditionalEntropy prior kernel", "statement_sha256": "39b3e43f25d8f681f24b4b2e8ce1f573cdc4c4adba0bae4536ba5696bd765b8a" }, + "FEP.FiniteInformation.entropy_le_log_card": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Nonempty α]", + "type_source": "Nonempty α", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "p" + ], + "role": "typed_binder", + "source": "(p : FiniteLaw α)", + "type_source": "FiniteLaw α", + "visibility": "explicit" + } + ], + "conclusion": "entropy p ≤ Real.log (Fintype.card α)", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "α", + "β" + ], + "role": "typed_binder", + "source": "{α β : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype α]", + "type_source": "Fintype α", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype β]", + "type_source": "Fintype β", + "visibility": "instance" + } + ], + "declaration_mentions": [ + { + "identifier": "crossEntropy_uniform", + "qualified_name": "FEP.FiniteInformation.crossEntropy_uniform", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + }, + { + "identifier": "finiteKL_eq_crossEntropy_sub_entropy", + "qualified_name": "FEP.FiniteInformation.finiteKL_eq_crossEntropy_sub_entropy", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + }, + { + "identifier": "finiteKL_nonneg", + "qualified_name": "FEP.FiniteInformation.finiteKL_nonneg", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + }, + { + "identifier": "uniform_mass_pos", + "qualified_name": "FEP.FiniteInformation.uniform_mass_pos", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + } + ], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.finite_probability", + "Mathlib.InformationTheory.KullbackLeibler.KLFun" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.FiniteInformation", + "namespace_variable_context": [ + "{α β : Type*} [Fintype α] [Fintype β]" + ], + "preceding_scope_directives": [], + "qualified_name": "FEP.FiniteInformation.entropy_le_log_card", + "source_line": 479, + "source_owner": "src/fep_lean/formal/finite_information.lean", + "statement": "theorem entropy_le_log_card [Nonempty α] (p : FiniteLaw α) :\n entropy p ≤ Real.log (Fintype.card α)", + "statement_sha256": "07a88f13ae67e89ea1d525cc3201b9d5d5402dbef07e3050294a084bb1f03c62" + }, + "FEP.FiniteInformation.entropy_lt_log_card_of_ne_uniform": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Nonempty α]", + "type_source": "Nonempty α", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "p" + ], + "role": "typed_binder", + "source": "(p : FiniteLaw α)", + "type_source": "FiniteLaw α", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hp" + ], + "role": "typed_binder", + "source": "(hp : p ≠ FiniteLaw.uniform)", + "type_source": "p ≠ FiniteLaw.uniform", + "visibility": "explicit" + } + ], + "conclusion": "entropy p < Real.log (Fintype.card α)", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "α", + "β" + ], + "role": "typed_binder", + "source": "{α β : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype α]", + "type_source": "Fintype α", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype β]", + "type_source": "Fintype β", + "visibility": "instance" + } + ], + "declaration_mentions": [ + { + "identifier": "entropy_eq_log_card_iff", + "qualified_name": "FEP.FiniteInformation.entropy_eq_log_card_iff", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + }, + { + "identifier": "entropy_le_log_card", + "qualified_name": "FEP.FiniteInformation.entropy_le_log_card", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + } + ], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.finite_probability", + "Mathlib.InformationTheory.KullbackLeibler.KLFun" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.FiniteInformation", + "namespace_variable_context": [ + "{α β : Type*} [Fintype α] [Fintype β]" + ], + "preceding_scope_directives": [], + "qualified_name": "FEP.FiniteInformation.entropy_lt_log_card_of_ne_uniform", + "source_line": 496, + "source_owner": "src/fep_lean/formal/finite_information.lean", + "statement": "theorem entropy_lt_log_card_of_ne_uniform [Nonempty α] (p : FiniteLaw α)\n (hp : p ≠ FiniteLaw.uniform) :\n entropy p < Real.log (Fintype.card α)", + "statement_sha256": "6c35bbb9bf7a6b50ea1232a0b1689fbebbe5be195eab15a042f61a829b1647ba" + }, "FEP.FiniteInformation.entropy_nonneg": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ @@ -52527,6 +56511,76 @@ "statement": "theorem mutualInformation_product_eq_zero (p : FiniteLaw α) (q : FiniteLaw β) :\n mutualInformation (p.product q) = 0", "statement_sha256": "570713996a8afee0b08819ae181309caab83ea3e3dcca798e61fa677e1ecba54" }, + "FEP.FiniteInformation.uniform_mass_pos": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Nonempty α]", + "type_source": "Nonempty α", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "x" + ], + "role": "typed_binder", + "source": "(x : α)", + "type_source": "α", + "visibility": "explicit" + } + ], + "conclusion": "0 < (FiniteLaw.uniform : FiniteLaw α) x", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "α", + "β" + ], + "role": "typed_binder", + "source": "{α β : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype α]", + "type_source": "Fintype α", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype β]", + "type_source": "Fintype β", + "visibility": "instance" + } + ], + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.finite_probability", + "Mathlib.InformationTheory.KullbackLeibler.KLFun" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.FiniteInformation", + "namespace_variable_context": [ + "{α β : Type*} [Fintype α] [Fintype β]" + ], + "preceding_scope_directives": [], + "qualified_name": "FEP.FiniteInformation.uniform_mass_pos", + "source_line": 461, + "source_owner": "src/fep_lean/formal/finite_information.lean", + "statement": "theorem uniform_mass_pos [Nonempty α] (x : α) :\n 0 < (FiniteLaw.uniform : FiniteLaw α) x", + "statement_sha256": "8c17c0049626223565d8f2e7bd07c4a7c3949120f8be812915fd73a7e18d6a36" + }, "FEP.FiniteInformation.weighted_klFun_eq_log_score": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ @@ -66695,6 +70749,7 @@ "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ "FepSketches.continuous_time_markov", + "FepSketches.geometric_mechanics", "Mathlib.Tactic" ], "line_coordinate_kind": "formal_resource_file", @@ -66704,7 +70759,7 @@ ], "preceding_scope_directives": [], "qualified_name": "FEP.HelmholtzAoNess.aoDecomposition", - "source_line": 194, + "source_line": 130, "source_owner": "src/fep_lean/formal/helmholtz_ao_ness.lean", "statement": "theorem aoDecomposition {rate : State → State → ℝ} {law : FiniteLaw State}\n (hSupport : ∀ i, 0 < law i) (i j : State) :\n rate i j = symmetricPart rate law i j + circulationPart rate law i j", "statement_sha256": "d3f3554a5e58f286933dd6f4942a249ef845346a568c58e05a8c12a5c540cc6d" @@ -66769,6 +70824,7 @@ "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ "FepSketches.continuous_time_markov", + "FepSketches.geometric_mechanics", "Mathlib.Tactic" ], "line_coordinate_kind": "formal_resource_file", @@ -66778,7 +70834,7 @@ ], "preceding_scope_directives": [], "qualified_name": "FEP.HelmholtzAoNess.circulationNum_skew", - "source_line": 170, + "source_line": 106, "source_owner": "src/fep_lean/formal/helmholtz_ao_ness.lean", "statement": "theorem circulationNum_skew {rate : State → State → ℝ}\n {law : FiniteLaw State} (i j : State) :\n circulationNum rate law i j = -circulationNum rate law j i", "statement_sha256": "05f7fd403c900f636f35656a9e578033dcc02c03b141c721aa2cbf548f0ded71" @@ -66866,6 +70922,7 @@ "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ "FepSketches.continuous_time_markov", + "FepSketches.geometric_mechanics", "Mathlib.Tactic" ], "line_coordinate_kind": "formal_resource_file", @@ -66875,7 +70932,7 @@ ], "preceding_scope_directives": [], "qualified_name": "FEP.HelmholtzAoNess.circulationPart_skew", - "source_line": 204, + "source_line": 140, "source_owner": "src/fep_lean/formal/helmholtz_ao_ness.lean", "statement": "theorem circulationPart_skew {rate : State → State → ℝ} {law : FiniteLaw State}\n (hSupport : ∀ i, 0 < law i) (i j : State) :\n law i * circulationPart rate law i j =\n -(law j * circulationPart rate law j i)", "statement_sha256": "f8b317a23ed5ddcd413e4bf901129f9a67dc5bb9e45dd305bc9bcdd9a7f35add" @@ -66972,6 +71029,7 @@ "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ "FepSketches.continuous_time_markov", + "FepSketches.geometric_mechanics", "Mathlib.Tactic" ], "line_coordinate_kind": "formal_resource_file", @@ -66981,7 +71039,7 @@ ], "preceding_scope_directives": [], "qualified_name": "FEP.HelmholtzAoNess.circulation_divergence_zero", - "source_line": 315, + "source_line": 251, "source_owner": "src/fep_lean/formal/helmholtz_ao_ness.lean", "statement": "theorem circulation_divergence_zero\n (generator : FiniteRateGenerator State) (law : FiniteLaw State)\n (hStat : generator.IsStationary law) (hSupport : ∀ i, 0 < law i)\n (i : State) :\n ∑ j, 2 * law j * circulationPart generator.rate law j i = 0", "statement_sha256": "80f02f6df89b7c448421d9b340ebf113eadddf0405cd7bf819224f49d30ce294" @@ -67056,6 +71114,7 @@ "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ "FepSketches.continuous_time_markov", + "FepSketches.geometric_mechanics", "Mathlib.Tactic" ], "line_coordinate_kind": "formal_resource_file", @@ -67065,7 +71124,7 @@ ], "preceding_scope_directives": [], "qualified_name": "FEP.HelmholtzAoNess.current_eq_twice_circulation", - "source_line": 224, + "source_line": 160, "source_owner": "src/fep_lean/formal/helmholtz_ao_ness.lean", "statement": "theorem current_eq_twice_circulation {rate : State → State → ℝ}\n {law : FiniteLaw State} (hSupport : ∀ i, 0 < law i) (i j : State) :\n circulationNum rate law i j =\n 2 * law i * circulationPart rate law i j", "statement_sha256": "530e0a4d2a162783362429fb6a4a5f40308f0aa320bb447eec3bf24a13763328" @@ -67100,6 +71159,7 @@ "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ "FepSketches.continuous_time_markov", + "FepSketches.geometric_mechanics", "Mathlib.Tactic" ], "line_coordinate_kind": "formal_resource_file", @@ -67107,7 +71167,7 @@ "namespace_variable_context": [], "preceding_scope_directives": [], "qualified_name": "FEP.HelmholtzAoNess.cycle_ao_ness", - "source_line": 380, + "source_line": 316, "source_owner": "src/fep_lean/formal/helmholtz_ao_ness.lean", "statement": "theorem cycle_ao_ness :\n threeCycleGenerator.IsStationary threeCycleStationaryLaw ∧\n (∀ i : Fin 3,\n ∑ j, threeCycleGenerator.probabilityCurrent\n threeCycleStationaryLaw j i = 0) ∧\n circulationPart threeCycleGenerator.rate threeCycleStationaryLaw\n (0 : Fin 3) (1 : Fin 3) ≠ 0", "statement_sha256": "e33399621200f48d2796a1dc36108c95f2d79ff9d1b37ad7122912e9c1bd9e57" @@ -67128,6 +71188,7 @@ "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ "FepSketches.continuous_time_markov", + "FepSketches.geometric_mechanics", "Mathlib.Tactic" ], "line_coordinate_kind": "formal_resource_file", @@ -67135,7 +71196,7 @@ "namespace_variable_context": [], "preceding_scope_directives": [], "qualified_name": "FEP.HelmholtzAoNess.cycle_circulationPart_ne_zero", - "source_line": 372, + "source_line": 308, "source_owner": "src/fep_lean/formal/helmholtz_ao_ness.lean", "statement": "theorem cycle_circulationPart_ne_zero :\n circulationPart threeCycleGenerator.rate threeCycleStationaryLaw\n (0 : Fin 3) (1 : Fin 3) ≠ 0", "statement_sha256": "175b79a962d52f3438e8823a3fff77dcbc6a164997f450afc2f4eff1a6bf4ffa" @@ -67149,6 +71210,7 @@ "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ "FepSketches.continuous_time_markov", + "FepSketches.geometric_mechanics", "Mathlib.Tactic" ], "line_coordinate_kind": "formal_resource_file", @@ -67156,7 +71218,7 @@ "namespace_variable_context": [], "preceding_scope_directives": [], "qualified_name": "FEP.HelmholtzAoNess.cycle_circulationPart_one_zero", - "source_line": 347, + "source_line": 283, "source_owner": "src/fep_lean/formal/helmholtz_ao_ness.lean", "statement": "theorem cycle_circulationPart_one_zero :\n circulationPart threeCycleGenerator.rate threeCycleStationaryLaw\n (1 : Fin 3) (0 : Fin 3) = -1 / 2", "statement_sha256": "baa8118f91372f13ccab981ada421003cb3414630e9948e158019b0477ec5154" @@ -67170,6 +71232,7 @@ "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ "FepSketches.continuous_time_markov", + "FepSketches.geometric_mechanics", "Mathlib.Tactic" ], "line_coordinate_kind": "formal_resource_file", @@ -67177,7 +71240,7 @@ "namespace_variable_context": [], "preceding_scope_directives": [], "qualified_name": "FEP.HelmholtzAoNess.cycle_circulationPart_zero_one", - "source_line": 340, + "source_line": 276, "source_owner": "src/fep_lean/formal/helmholtz_ao_ness.lean", "statement": "theorem cycle_circulationPart_zero_one :\n circulationPart threeCycleGenerator.rate threeCycleStationaryLaw\n (0 : Fin 3) (1 : Fin 3) = 1 / 2", "statement_sha256": "e89e248aead0dfdf690ae70b0e5e983ef63c4765e078cbb1e65cfbc4bebdc9cb" @@ -67217,6 +71280,7 @@ "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ "FepSketches.continuous_time_markov", + "FepSketches.geometric_mechanics", "Mathlib.Tactic" ], "line_coordinate_kind": "formal_resource_file", @@ -67224,7 +71288,7 @@ "namespace_variable_context": [], "preceding_scope_directives": [], "qualified_name": "FEP.HelmholtzAoNess.cycle_current_divergence_zero", - "source_line": 364, + "source_line": 300, "source_owner": "src/fep_lean/formal/helmholtz_ao_ness.lean", "statement": "theorem cycle_current_divergence_zero (i : Fin 3) :\n ∑ j, threeCycleGenerator.probabilityCurrent threeCycleStationaryLaw j i =\n 0", "statement_sha256": "8c3aee1110dd94c24d298597c8afbeb9a1463b099504178b7d5cecb68fcd3356" @@ -67251,6 +71315,7 @@ "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ "FepSketches.continuous_time_markov", + "FepSketches.geometric_mechanics", "Mathlib.Tactic" ], "line_coordinate_kind": "formal_resource_file", @@ -67258,7 +71323,7 @@ "namespace_variable_context": [], "preceding_scope_directives": [], "qualified_name": "FEP.HelmholtzAoNess.cycle_decomposition_zero_one", - "source_line": 354, + "source_line": 290, "source_owner": "src/fep_lean/formal/helmholtz_ao_ness.lean", "statement": "theorem cycle_decomposition_zero_one :\n threeCycleGenerator.rate (0 : Fin 3) (1 : Fin 3) =\n symmetricPart threeCycleGenerator.rate threeCycleStationaryLaw\n (0 : Fin 3) (1 : Fin 3) +\n circulationPart threeCycleGenerator.rate threeCycleStationaryLaw\n (0 : Fin 3) (1 : Fin 3)", "statement_sha256": "03ed8163c0982af24ae8a38643a2ca5bd2c5adafd26976fb8451837702b8d7e4" @@ -67283,6 +71348,7 @@ "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ "FepSketches.continuous_time_markov", + "FepSketches.geometric_mechanics", "Mathlib.Tactic" ], "line_coordinate_kind": "formal_resource_file", @@ -67290,7 +71356,7 @@ "namespace_variable_context": [], "preceding_scope_directives": [], "qualified_name": "FEP.HelmholtzAoNess.cycle_support", - "source_line": 331, + "source_line": 267, "source_owner": "src/fep_lean/formal/helmholtz_ao_ness.lean", "statement": "theorem cycle_support (i : Fin 3) : 0 < threeCycleStationaryLaw i", "statement_sha256": "6fd6041526d915a66d760d586739b5f150b00484c51609cdbf49c38c055da7cb" @@ -67304,6 +71370,7 @@ "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ "FepSketches.continuous_time_markov", + "FepSketches.geometric_mechanics", "Mathlib.Tactic" ], "line_coordinate_kind": "formal_resource_file", @@ -67311,7 +71378,7 @@ "namespace_variable_context": [], "preceding_scope_directives": [], "qualified_name": "FEP.HelmholtzAoNess.cycle_symmetricPart_zero_one", - "source_line": 334, + "source_line": 270, "source_owner": "src/fep_lean/formal/helmholtz_ao_ness.lean", "statement": "theorem cycle_symmetricPart_zero_one :\n symmetricPart threeCycleGenerator.rate threeCycleStationaryLaw\n (0 : Fin 3) (1 : Fin 3) = 1 / 2", "statement_sha256": "8800cfcdd709f3bc4182eb93e58140a140a464dc306b888ce57180251705127f" @@ -67375,6 +71442,7 @@ "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ "FepSketches.continuous_time_markov", + "FepSketches.geometric_mechanics", "Mathlib.Tactic" ], "line_coordinate_kind": "formal_resource_file", @@ -67384,7 +71452,7 @@ ], "preceding_scope_directives": [], "qualified_name": "FEP.HelmholtzAoNess.detailedBalanced_iff_circulation_eq_zero", - "source_line": 256, + "source_line": 192, "source_owner": "src/fep_lean/formal/helmholtz_ao_ness.lean", "statement": "theorem detailedBalanced_iff_circulation_eq_zero {rate : State → State → ℝ}\n {law : FiniteLaw State} (hSupport : ∀ i, 0 < law i) :\n (∀ i j, law i * rate i j = law j * rate j i) ↔\n ∀ i j, circulationPart rate law i j = 0", "statement_sha256": "d7632d4b811e245eaa94711eee635659db2ee5bc21b288a09495886a57ef6af3" @@ -67479,6 +71547,7 @@ "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ "FepSketches.continuous_time_markov", + "FepSketches.geometric_mechanics", "Mathlib.Tactic" ], "line_coordinate_kind": "formal_resource_file", @@ -67488,7 +71557,7 @@ ], "preceding_scope_directives": [], "qualified_name": "FEP.HelmholtzAoNess.forceSplit", - "source_line": 277, + "source_line": 213, "source_owner": "src/fep_lean/formal/helmholtz_ao_ness.lean", "statement": "theorem forceSplit {rate : State → State → ℝ} {law : FiniteLaw State}\n (hSupport : ∀ i, 0 < law i) {i j : State}\n (hij : 0 < rate i j) (hji : 0 < rate j i) :\n Real.log (law i * rate i j / (law j * rate j i)) =\n aoPotential law j - aoPotential law i +\n Real.log (rate i j / rate j i)", "statement_sha256": "df66bf100a9e53bc8217f2c6b6299fad589c3ecb0ccdc596f0311f7d66b3d49b" @@ -67562,6 +71631,7 @@ "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ "FepSketches.continuous_time_markov", + "FepSketches.geometric_mechanics", "Mathlib.Tactic" ], "line_coordinate_kind": "formal_resource_file", @@ -67571,7 +71641,7 @@ ], "preceding_scope_directives": [], "qualified_name": "FEP.HelmholtzAoNess.mass_div_two", - "source_line": 184, + "source_line": 120, "source_owner": "src/fep_lean/formal/helmholtz_ao_ness.lean", "statement": "theorem mass_div_two {law : FiniteLaw State} (hSupport : ∀ i, 0 < law i)\n (X : ℝ) (i : State) : law i * X / (2 * law i) = X / 2", "statement_sha256": "914b4c8c46cf05927cdb82ea4a9e74f9a222d8d01a2fdc428ec3947272ebb9a3" @@ -67653,6 +71723,7 @@ "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ "FepSketches.continuous_time_markov", + "FepSketches.geometric_mechanics", "Mathlib.Tactic" ], "line_coordinate_kind": "formal_resource_file", @@ -67662,168 +71733,11 @@ ], "preceding_scope_directives": [], "qualified_name": "FEP.HelmholtzAoNess.probabilityCurrent_eq_twice_circulation", - "source_line": 245, + "source_line": 181, "source_owner": "src/fep_lean/formal/helmholtz_ao_ness.lean", "statement": "theorem probabilityCurrent_eq_twice_circulation\n (generator : FiniteRateGenerator State) (law : FiniteLaw State)\n (hSupport : ∀ i, 0 < law i) (i j : State) :\n generator.probabilityCurrent law i j =\n 2 * law i * circulationPart generator.rate law i j", "statement_sha256": "286368fa221b3b1bb76a8a3b573accf0e1552fd07db8b756613753a461402315" }, - "FEP.HelmholtzAoNess.skewQuadratic_eq_zero": { - "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [ - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "Q" - ], - "role": "typed_binder", - "source": "(Q : Fin n → Fin n → ℝ)", - "type_source": "Fin n → Fin n → ℝ", - "visibility": "explicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "g" - ], - "role": "typed_binder", - "source": "(g : Fin n → ℝ)", - "type_source": "Fin n → ℝ", - "visibility": "explicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "hQ" - ], - "role": "typed_binder", - "source": "(hQ : SkewSymmetric Q)", - "type_source": "SkewSymmetric Q", - "visibility": "explicit" - } - ], - "conclusion": "dot g (mulVec Q g) = 0", - "context_binders": [ - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "n" - ], - "role": "typed_binder", - "source": "{n : ℕ}", - "type_source": "ℕ", - "visibility": "implicit" - } - ], - "declaration_mentions": [ - { - "identifier": "sum_negPairs", - "qualified_name": "FEP.HelmholtzAoNess.sum_negPairs", - "resolution": "exact or same-namespace source identifier", - "role": "proof_reference" - }, - { - "identifier": "sum_swapPairs", - "qualified_name": "FEP.HelmholtzAoNess.sum_swapPairs", - "resolution": "exact or same-namespace source identifier", - "role": "proof_reference" - } - ], - "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", - "import_context": [ - "FepSketches.continuous_time_markov", - "Mathlib.Tactic" - ], - "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.HelmholtzAoNess", - "namespace_variable_context": [ - "{n : ℕ}" - ], - "preceding_scope_directives": [], - "qualified_name": "FEP.HelmholtzAoNess.skewQuadratic_eq_zero", - "source_line": 97, - "source_owner": "src/fep_lean/formal/helmholtz_ao_ness.lean", - "statement": "theorem skewQuadratic_eq_zero (Q : Fin n → Fin n → ℝ) (g : Fin n → ℝ)\n (hQ : SkewSymmetric Q) : dot g (mulVec Q g) = 0", - "statement_sha256": "453a0551bb848289cd9f2d6023c415f073edf99e42480af2a36bf95cf8da8fa1" - }, - "FEP.HelmholtzAoNess.skewTrace_eq_zero": { - "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [ - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "Q", - "H" - ], - "role": "typed_binder", - "source": "(Q H : Fin n → Fin n → ℝ)", - "type_source": "Fin n → Fin n → ℝ", - "visibility": "explicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "hQ" - ], - "role": "typed_binder", - "source": "(hQ : SkewSymmetric Q)", - "type_source": "SkewSymmetric Q", - "visibility": "explicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "hH" - ], - "role": "typed_binder", - "source": "(hH : SymmetricOf H)", - "type_source": "SymmetricOf H", - "visibility": "explicit" - } - ], - "conclusion": "traceOf (mulOf Q H) = 0", - "context_binders": [ - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "n" - ], - "role": "typed_binder", - "source": "{n : ℕ}", - "type_source": "ℕ", - "visibility": "implicit" - } - ], - "declaration_mentions": [ - { - "identifier": "sum_negPairs", - "qualified_name": "FEP.HelmholtzAoNess.sum_negPairs", - "resolution": "exact or same-namespace source identifier", - "role": "proof_reference" - }, - { - "identifier": "sum_swapPairs", - "qualified_name": "FEP.HelmholtzAoNess.sum_swapPairs", - "resolution": "exact or same-namespace source identifier", - "role": "proof_reference" - } - ], - "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", - "import_context": [ - "FepSketches.continuous_time_markov", - "Mathlib.Tactic" - ], - "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.HelmholtzAoNess", - "namespace_variable_context": [ - "{n : ℕ}" - ], - "preceding_scope_directives": [], - "qualified_name": "FEP.HelmholtzAoNess.skewTrace_eq_zero", - "source_line": 116, - "source_owner": "src/fep_lean/formal/helmholtz_ao_ness.lean", - "statement": "theorem skewTrace_eq_zero (Q H : Fin n → Fin n → ℝ)\n (hQ : SkewSymmetric Q) (hH : SymmetricOf H) : traceOf (mulOf Q H) = 0", - "statement_sha256": "45c5744381c96b70f6b2565437f9df61c3ce4d22b452729ab515a42c8a0222f1" - }, "FEP.HelmholtzAoNess.stationaryCurrent_divergence_zero": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ @@ -67893,6 +71807,7 @@ "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ "FepSketches.continuous_time_markov", + "FepSketches.geometric_mechanics", "Mathlib.Tactic" ], "line_coordinate_kind": "formal_resource_file", @@ -67902,176 +71817,87 @@ ], "preceding_scope_directives": [], "qualified_name": "FEP.HelmholtzAoNess.stationaryCurrent_divergence_zero", - "source_line": 306, + "source_line": 242, "source_owner": "src/fep_lean/formal/helmholtz_ao_ness.lean", "statement": "theorem stationaryCurrent_divergence_zero\n (generator : FiniteRateGenerator State) (law : FiniteLaw State)\n (hStat : generator.IsStationary law) (i : State) :\n ∑ j, generator.probabilityCurrent law j i = 0", "statement_sha256": "579cb223b5616d0a491ad52486f914f1b8a245fd967203b062a501e96fe9cdf5" }, - "FEP.HelmholtzAoNess.sum_negPairs": { + "FEP.HelmholtzAoNess.symmetricNum_add_circulationNum": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "f" + "rate" ], "role": "typed_binder", - "source": "{f : Fin n → Fin n → ℝ}", - "type_source": "Fin n → Fin n → ℝ", + "source": "{rate : State → State → ℝ}", + "type_source": "State → State → ℝ", "visibility": "implicit" - } - ], - "conclusion": "∑ i, ∑ j, -f i j = -∑ i, ∑ j, f i j", - "context_binders": [ + }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "n" + "law" ], "role": "typed_binder", - "source": "{n : ℕ}", - "type_source": "ℕ", + "source": "{law : FiniteLaw State}", + "type_source": "FiniteLaw State", "visibility": "implicit" - } - ], - "declaration_mentions": [], - "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", - "import_context": [ - "FepSketches.continuous_time_markov", - "Mathlib.Tactic" - ], - "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.HelmholtzAoNess", - "namespace_variable_context": [ - "{n : ℕ}" - ], - "preceding_scope_directives": [], - "qualified_name": "FEP.HelmholtzAoNess.sum_negPairs", - "source_line": 91, - "source_owner": "src/fep_lean/formal/helmholtz_ao_ness.lean", - "statement": "theorem sum_negPairs {f : Fin n → Fin n → ℝ} :\n ∑ i, ∑ j, -f i j = -∑ i, ∑ j, f i j", - "statement_sha256": "b56e2b71eac3b36e291b332d76055dc4f7a7081eaedef1dc853bb001d8354439" - }, - "FEP.HelmholtzAoNess.sum_swapPairs": { - "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [ + }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "f" + "i", + "j" ], "role": "typed_binder", - "source": "{f : Fin n → Fin n → ℝ}", - "type_source": "Fin n → Fin n → ℝ", - "visibility": "implicit" + "source": "(i j : State)", + "type_source": "State", + "visibility": "explicit" } ], - "conclusion": "∑ i, ∑ j, f i j = ∑ i, ∑ j, f j i", + "conclusion": "symmetricNum rate law i j + circulationNum rate law i j =\n 2 * law i * rate i j", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "n" + "State" ], "role": "typed_binder", - "source": "{n : ℕ}", - "type_source": "ℕ", + "source": "{State : Type*}", + "type_source": "Type*", "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype State]", + "type_source": "Fintype State", + "visibility": "instance" } ], "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ "FepSketches.continuous_time_markov", + "FepSketches.geometric_mechanics", "Mathlib.Tactic" ], "line_coordinate_kind": "formal_resource_file", "namespace": "FEP.HelmholtzAoNess", "namespace_variable_context": [ - "{n : ℕ}" + "{State : Type*} [Fintype State]" ], "preceding_scope_directives": [], - "qualified_name": "FEP.HelmholtzAoNess.sum_swapPairs", - "source_line": 86, + "qualified_name": "FEP.HelmholtzAoNess.symmetricNum_add_circulationNum", + "source_line": 98, "source_owner": "src/fep_lean/formal/helmholtz_ao_ness.lean", - "statement": "theorem sum_swapPairs {f : Fin n → Fin n → ℝ} :\n ∑ i, ∑ j, f i j = ∑ i, ∑ j, f j i", - "statement_sha256": "5e968d456d832db3e9ad11b9c7cc42efaa677e8e379b46be3b934a3e36feabce" + "statement": "theorem symmetricNum_add_circulationNum {rate : State → State → ℝ}\n {law : FiniteLaw State} (i j : State) :\n symmetricNum rate law i j + circulationNum rate law i j =\n 2 * law i * rate i j", + "statement_sha256": "e6affa613172a7869746da0ee2ca075453572ae6ae6174e59497726617fa6811" }, - "FEP.HelmholtzAoNess.symmetricNum_add_circulationNum": { - "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [ - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "rate" - ], - "role": "typed_binder", - "source": "{rate : State → State → ℝ}", - "type_source": "State → State → ℝ", - "visibility": "implicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "law" - ], - "role": "typed_binder", - "source": "{law : FiniteLaw State}", - "type_source": "FiniteLaw State", - "visibility": "implicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "i", - "j" - ], - "role": "typed_binder", - "source": "(i j : State)", - "type_source": "State", - "visibility": "explicit" - } - ], - "conclusion": "symmetricNum rate law i j + circulationNum rate law i j =\n 2 * law i * rate i j", - "context_binders": [ - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "State" - ], - "role": "typed_binder", - "source": "{State : Type*}", - "type_source": "Type*", - "visibility": "implicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype State]", - "type_source": "Fintype State", - "visibility": "instance" - } - ], - "declaration_mentions": [], - "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", - "import_context": [ - "FepSketches.continuous_time_markov", - "Mathlib.Tactic" - ], - "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.HelmholtzAoNess", - "namespace_variable_context": [ - "{State : Type*} [Fintype State]" - ], - "preceding_scope_directives": [], - "qualified_name": "FEP.HelmholtzAoNess.symmetricNum_add_circulationNum", - "source_line": 162, - "source_owner": "src/fep_lean/formal/helmholtz_ao_ness.lean", - "statement": "theorem symmetricNum_add_circulationNum {rate : State → State → ℝ}\n {law : FiniteLaw State} (i j : State) :\n symmetricNum rate law i j + circulationNum rate law i j =\n 2 * law i * rate i j", - "statement_sha256": "e6affa613172a7869746da0ee2ca075453572ae6ae6174e59497726617fa6811" - }, - "FEP.HelmholtzAoNess.symmetricNum_comm": { + "FEP.HelmholtzAoNess.symmetricNum_comm": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { @@ -68131,6 +71957,7 @@ "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ "FepSketches.continuous_time_markov", + "FepSketches.geometric_mechanics", "Mathlib.Tactic" ], "line_coordinate_kind": "formal_resource_file", @@ -68140,7 +71967,7 @@ ], "preceding_scope_directives": [], "qualified_name": "FEP.HelmholtzAoNess.symmetricNum_comm", - "source_line": 177, + "source_line": 113, "source_owner": "src/fep_lean/formal/helmholtz_ao_ness.lean", "statement": "theorem symmetricNum_comm {rate : State → State → ℝ}\n {law : FiniteLaw State} (i j : State) :\n symmetricNum rate law i j = symmetricNum rate law j i", "statement_sha256": "659a12ad55d04d5ce500eabac1fa12c62b3d07c3d167335f9e53ed23c1a47e02" @@ -68228,6 +72055,7 @@ "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ "FepSketches.continuous_time_markov", + "FepSketches.geometric_mechanics", "Mathlib.Tactic" ], "line_coordinate_kind": "formal_resource_file", @@ -68237,7 +72065,7 @@ ], "preceding_scope_directives": [], "qualified_name": "FEP.HelmholtzAoNess.symmetricPart_current_eq_zero", - "source_line": 235, + "source_line": 171, "source_owner": "src/fep_lean/formal/helmholtz_ao_ness.lean", "statement": "theorem symmetricPart_current_eq_zero {rate : State → State → ℝ}\n {law : FiniteLaw State} (hSupport : ∀ i, 0 < law i) (i j : State) :\n law i * symmetricPart rate law i j -\n law j * symmetricPart rate law j i = 0", "statement_sha256": "a5d20a407ede6c51b23ecd84c5dce96419e6995462d564dae52d2c8f3a2e6e7b" @@ -68325,6 +72153,7 @@ "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ "FepSketches.continuous_time_markov", + "FepSketches.geometric_mechanics", "Mathlib.Tactic" ], "line_coordinate_kind": "formal_resource_file", @@ -68334,7 +72163,7 @@ ], "preceding_scope_directives": [], "qualified_name": "FEP.HelmholtzAoNess.symmetricPart_reversible", - "source_line": 214, + "source_line": 150, "source_owner": "src/fep_lean/formal/helmholtz_ao_ness.lean", "statement": "theorem symmetricPart_reversible {rate : State → State → ℝ}\n {law : FiniteLaw State} (hSupport : ∀ i, 0 < law i) (i j : State) :\n law i * symmetricPart rate law i j =\n law j * symmetricPart rate law j i", "statement_sha256": "34550b1722bec66bb1a4b3c2210a65b6eac47f830334fc87cbd1a80925637254" @@ -72325,7 +76154,1214 @@ "Alphabet" ], "role": "typed_binder", - "source": "{Ω Alphabet : Type*}", + "source": "{Ω Alphabet : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[MeasurableSpace Ω]", + "type_source": "MeasurableSpace Ω", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Alphabet]", + "type_source": "Fintype Alphabet", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DecidableEq Alphabet]", + "type_source": "DecidableEq Alphabet", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "μ" + ], + "role": "typed_binder", + "source": "(μ : Measure Ω)", + "type_source": "Measure Ω", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[IsProbabilityMeasure μ]", + "type_source": "IsProbabilityMeasure μ", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "sampleCount" + ], + "role": "typed_binder", + "source": "{sampleCount : ℕ}", + "type_source": "ℕ", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[NeZero sampleCount]", + "type_source": "NeZero sampleCount", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "sample" + ], + "role": "typed_binder", + "source": "(sample : Ω → Fin sampleCount → Alphabet)", + "type_source": "Ω → Fin sampleCount → Alphabet", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "target" + ], + "role": "typed_binder", + "source": "(target : Alphabet → ℝ)", + "type_source": "Alphabet → ℝ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "deviation", + "perSymbolFailure" + ], + "role": "typed_binder", + "source": "(deviation perSymbolFailure : ℝ)", + "type_source": "ℝ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "perSymbolBound" + ], + "role": "typed_binder", + "source": "(perSymbolBound : ∀ symbol,\n μ.real (frequencyDeviationEvent sample target deviation symbol) ≤\n perSymbolFailure)", + "type_source": "∀ symbol,\n μ.real (frequencyDeviationEvent sample target deviation symbol) ≤\n perSymbolFailure", + "visibility": "explicit" + } + ], + "conclusion": "μ.real (⋃ symbol,\n frequencyDeviationEvent sample target deviation symbol) ≤\n Fintype.card Alphabet * perSymbolFailure", + "context_binders": [], + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.variational_duality", + "Mathlib.Probability.Moments.SubGaussian" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.LearningTheory", + "namespace_variable_context": [], + "preceding_scope_directives": [], + "qualified_name": "FEP.LearningTheory.simultaneous_frequency_bound", + "source_line": 73, + "source_owner": "src/fep_lean/formal/learning_theory.lean", + "statement": "theorem simultaneous_frequency_bound\n {Ω Alphabet : Type*} [MeasurableSpace Ω]\n [Fintype Alphabet] [DecidableEq Alphabet]\n (μ : Measure Ω) [IsProbabilityMeasure μ]\n {sampleCount : ℕ} [NeZero sampleCount]\n (sample : Ω → Fin sampleCount → Alphabet)\n (target : Alphabet → ℝ) (deviation perSymbolFailure : ℝ)\n (perSymbolBound : ∀ symbol,\n μ.real (frequencyDeviationEvent sample target deviation symbol) ≤\n perSymbolFailure) :\n μ.real (⋃ symbol,\n frequencyDeviationEvent sample target deviation symbol) ≤\n Fintype.card Alphabet * perSymbolFailure", + "statement_sha256": "95f019a060aa8db803c4e0937d544fa94a8a990bc1e4cf71f0cbdb24f8472217" + }, + "FEP.LearningTheory.subGaussian_empiricalMean_tail": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "Ω" + ], + "role": "typed_binder", + "source": "{Ω : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[MeasurableSpace Ω]", + "type_source": "MeasurableSpace Ω", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "μ" + ], + "role": "typed_binder", + "source": "(μ : Measure Ω)", + "type_source": "Measure Ω", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "sampleCount" + ], + "role": "typed_binder", + "source": "{sampleCount : ℕ}", + "type_source": "ℕ", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "observables" + ], + "role": "typed_binder", + "source": "(observables : Fin sampleCount → Ω → ℝ)", + "type_source": "Fin sampleCount → Ω → ℝ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "independent" + ], + "role": "typed_binder", + "source": "(independent : iIndepFun observables μ)", + "type_source": "iIndepFun observables μ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "proxyVariance" + ], + "role": "typed_binder", + "source": "(proxyVariance : Fin sampleCount → ℝ≥0)", + "type_source": "Fin sampleCount → ℝ≥0", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "subGaussian" + ], + "role": "typed_binder", + "source": "(subGaussian : ∀ index,\n HasSubgaussianMGF (observables index) (proxyVariance index) μ)", + "type_source": "∀ index,\n HasSubgaussianMGF (observables index) (proxyVariance index) μ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "deviation" + ], + "role": "typed_binder", + "source": "{deviation : ℝ}", + "type_source": "ℝ", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "deviationNonnegative" + ], + "role": "typed_binder", + "source": "(deviationNonnegative : 0 ≤ deviation)", + "type_source": "0 ≤ deviation", + "visibility": "explicit" + } + ], + "conclusion": "μ.real {outcome |\n (sampleCount : ℝ) * deviation ≤\n ∑ index, observables index outcome} ≤\n Real.exp\n (-((sampleCount : ℝ) * deviation) ^ 2 /\n (2 * ∑ index, proxyVariance index))", + "context_binders": [], + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.variational_duality", + "Mathlib.Probability.Moments.SubGaussian" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.LearningTheory", + "namespace_variable_context": [], + "preceding_scope_directives": [], + "qualified_name": "FEP.LearningTheory.subGaussian_empiricalMean_tail", + "source_line": 30, + "source_owner": "src/fep_lean/formal/learning_theory.lean", + "statement": "theorem subGaussian_empiricalMean_tail\n {Ω : Type*} [MeasurableSpace Ω]\n (μ : Measure Ω) {sampleCount : ℕ}\n (observables : Fin sampleCount → Ω → ℝ)\n (independent : iIndepFun observables μ)\n (proxyVariance : Fin sampleCount → ℝ≥0)\n (subGaussian : ∀ index,\n HasSubgaussianMGF (observables index) (proxyVariance index) μ)\n {deviation : ℝ} (deviationNonnegative : 0 ≤ deviation) :\n μ.real {outcome |\n (sampleCount : ℝ) * deviation ≤\n ∑ index, observables index outcome} ≤\n Real.exp\n (-((sampleCount : ℝ) * deviation) ^ 2 /\n (2 * ∑ index, proxyVariance index))", + "statement_sha256": "b854ab16125e0e667c74d0e37b9c942e59dd6230eb048035a164b7a72f5a290d" + }, + "FEP.LearningTheory.twoHypothesis_posterior_witness": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [], + "conclusion": "twoHypothesisPosteriorBad (1 / 2) (1 / 2) (3 / 4) (1 / 4) 2 = 1 / 10", + "context_binders": [], + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.variational_duality", + "Mathlib.Probability.Moments.SubGaussian" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.LearningTheory", + "namespace_variable_context": [], + "preceding_scope_directives": [], + "qualified_name": "FEP.LearningTheory.twoHypothesis_posterior_witness", + "source_line": 305, + "source_owner": "src/fep_lean/formal/learning_theory.lean", + "statement": "theorem twoHypothesis_posterior_witness :\n twoHypothesisPosteriorBad (1 / 2) (1 / 2) (3 / 4) (1 / 4) 2 = 1 / 10", + "statement_sha256": "edb24c0a9f1121dd491166ceeb34efccf20dd01b1b082daf07e294e54ebcddd2" + }, + "FEP.LinearGaussianSemigroup.LinearGaussianParameters.covariance_mul_precision": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "model" + ], + "role": "typed_binder", + "source": "(model : LinearGaussianParameters Axis)", + "type_source": "LinearGaussianParameters Axis", + "visibility": "explicit" + } + ], + "conclusion": "model.covariance * model.precision = 1", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "Axis" + ], + "role": "typed_binder", + "source": "{Axis : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Axis]", + "type_source": "Fintype Axis", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DecidableEq Axis]", + "type_source": "DecidableEq Axis", + "visibility": "instance" + } + ], + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.markov_semigroup", + "FepSketches.scalar_gaussian_semigroup", + "Mathlib.Analysis.Matrix.PosDef", + "Mathlib.Analysis.Normed.Algebra.MatrixExponential", + "Mathlib.Analysis.SpecialFunctions.Exponential", + "Mathlib.MeasureTheory.Measure.LevyConvergence", + "Mathlib.MeasureTheory.Measure.ProbabilityMeasure", + "Mathlib.Order.Filter.AtTopBot.CountablyGenerated", + "Mathlib.Probability.Distributions.Gaussian.Multivariate", + "Mathlib.Probability.Kernel.Composition.Comp", + "Mathlib.Probability.Kernel.Composition.CompProd", + "Mathlib.Probability.Kernel.Composition.MapComap", + "Mathlib.Tactic.NoncommRing", + "Mathlib.Topology.Instances.NNReal.Lemmas" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.LinearGaussianSemigroup.LinearGaussianParameters", + "namespace_variable_context": [ + "{Axis : Type*} [Fintype Axis] [DecidableEq Axis]" + ], + "preceding_scope_directives": [], + "qualified_name": "FEP.LinearGaussianSemigroup.LinearGaussianParameters.covariance_mul_precision", + "source_line": 86, + "source_owner": "src/fep_lean/formal/linear_gaussian_semigroup.lean", + "statement": "theorem covariance_mul_precision (model : LinearGaussianParameters Axis) :\n model.covariance * model.precision = 1", + "statement_sha256": "9aab55a13c793e678b263140c05f0f67976d9f7ae87cbe7e6a8125cc24f5c2d3" + }, + "FEP.LinearGaussianSemigroup.LinearGaussianParameters.covariance_posDef": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "model" + ], + "role": "typed_binder", + "source": "(model : LinearGaussianParameters Axis)", + "type_source": "LinearGaussianParameters Axis", + "visibility": "explicit" + } + ], + "conclusion": "model.covariance.PosDef", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "Axis" + ], + "role": "typed_binder", + "source": "{Axis : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Axis]", + "type_source": "Fintype Axis", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DecidableEq Axis]", + "type_source": "DecidableEq Axis", + "visibility": "instance" + } + ], + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.markov_semigroup", + "FepSketches.scalar_gaussian_semigroup", + "Mathlib.Analysis.Matrix.PosDef", + "Mathlib.Analysis.Normed.Algebra.MatrixExponential", + "Mathlib.Analysis.SpecialFunctions.Exponential", + "Mathlib.MeasureTheory.Measure.LevyConvergence", + "Mathlib.MeasureTheory.Measure.ProbabilityMeasure", + "Mathlib.Order.Filter.AtTopBot.CountablyGenerated", + "Mathlib.Probability.Distributions.Gaussian.Multivariate", + "Mathlib.Probability.Kernel.Composition.Comp", + "Mathlib.Probability.Kernel.Composition.CompProd", + "Mathlib.Probability.Kernel.Composition.MapComap", + "Mathlib.Tactic.NoncommRing", + "Mathlib.Topology.Instances.NNReal.Lemmas" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.LinearGaussianSemigroup.LinearGaussianParameters", + "namespace_variable_context": [ + "{Axis : Type*} [Fintype Axis] [DecidableEq Axis]" + ], + "preceding_scope_directives": [], + "qualified_name": "FEP.LinearGaussianSemigroup.LinearGaussianParameters.covariance_posDef", + "source_line": 94, + "source_owner": "src/fep_lean/formal/linear_gaussian_semigroup.lean", + "statement": "theorem covariance_posDef (model : LinearGaussianParameters Axis) :\n model.covariance.PosDef", + "statement_sha256": "f03d0d8aa66c5801895fe1d1bd23b09f937179b0733b1ecf962043942ec44c5d" + }, + "FEP.LinearGaussianSemigroup.LinearGaussianParameters.evolution_add": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "model" + ], + "role": "typed_binder", + "source": "(model : LinearGaussianParameters Axis)", + "type_source": "LinearGaussianParameters Axis", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "left", + "right" + ], + "role": "typed_binder", + "source": "(left right : ℝ≥0)", + "type_source": "ℝ≥0", + "visibility": "explicit" + } + ], + "conclusion": "model.evolution (left + right) =\n model.evolution right * model.evolution left", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "Axis" + ], + "role": "typed_binder", + "source": "{Axis : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Axis]", + "type_source": "Fintype Axis", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DecidableEq Axis]", + "type_source": "DecidableEq Axis", + "visibility": "instance" + } + ], + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.markov_semigroup", + "FepSketches.scalar_gaussian_semigroup", + "Mathlib.Analysis.Matrix.PosDef", + "Mathlib.Analysis.Normed.Algebra.MatrixExponential", + "Mathlib.Analysis.SpecialFunctions.Exponential", + "Mathlib.MeasureTheory.Measure.LevyConvergence", + "Mathlib.MeasureTheory.Measure.ProbabilityMeasure", + "Mathlib.Order.Filter.AtTopBot.CountablyGenerated", + "Mathlib.Probability.Distributions.Gaussian.Multivariate", + "Mathlib.Probability.Kernel.Composition.Comp", + "Mathlib.Probability.Kernel.Composition.CompProd", + "Mathlib.Probability.Kernel.Composition.MapComap", + "Mathlib.Tactic.NoncommRing", + "Mathlib.Topology.Instances.NNReal.Lemmas" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.LinearGaussianSemigroup.LinearGaussianParameters", + "namespace_variable_context": [ + "{Axis : Type*} [Fintype Axis] [DecidableEq Axis]" + ], + "preceding_scope_directives": [], + "qualified_name": "FEP.LinearGaussianSemigroup.LinearGaussianParameters.evolution_add", + "source_line": 401, + "source_owner": "src/fep_lean/formal/linear_gaussian_semigroup.lean", + "statement": "theorem evolution_add (model : LinearGaussianParameters Axis)\n (left right : ℝ≥0) :\n model.evolution (left + right) =\n model.evolution right * model.evolution left", + "statement_sha256": "baf4b5ba1766c90396eabedb3d6539a80e9ad93cca2c8dc260b0bdbfc1392ade" + }, + "FEP.LinearGaussianSemigroup.LinearGaussianParameters.evolution_transpose": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "model" + ], + "role": "typed_binder", + "source": "(model : LinearGaussianParameters Axis)", + "type_source": "LinearGaussianParameters Axis", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "time" + ], + "role": "typed_binder", + "source": "(time : ℝ≥0)", + "type_source": "ℝ≥0", + "visibility": "explicit" + } + ], + "conclusion": "(model.evolution time)ᵀ = model.evolution time", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "Axis" + ], + "role": "typed_binder", + "source": "{Axis : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Axis]", + "type_source": "Fintype Axis", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DecidableEq Axis]", + "type_source": "DecidableEq Axis", + "visibility": "instance" + } + ], + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.markov_semigroup", + "FepSketches.scalar_gaussian_semigroup", + "Mathlib.Analysis.Matrix.PosDef", + "Mathlib.Analysis.Normed.Algebra.MatrixExponential", + "Mathlib.Analysis.SpecialFunctions.Exponential", + "Mathlib.MeasureTheory.Measure.LevyConvergence", + "Mathlib.MeasureTheory.Measure.ProbabilityMeasure", + "Mathlib.Order.Filter.AtTopBot.CountablyGenerated", + "Mathlib.Probability.Distributions.Gaussian.Multivariate", + "Mathlib.Probability.Kernel.Composition.Comp", + "Mathlib.Probability.Kernel.Composition.CompProd", + "Mathlib.Probability.Kernel.Composition.MapComap", + "Mathlib.Tactic.NoncommRing", + "Mathlib.Topology.Instances.NNReal.Lemmas" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.LinearGaussianSemigroup.LinearGaussianParameters", + "namespace_variable_context": [ + "{Axis : Type*} [Fintype Axis] [DecidableEq Axis]" + ], + "preceding_scope_directives": [], + "qualified_name": "FEP.LinearGaussianSemigroup.LinearGaussianParameters.evolution_transpose", + "source_line": 415, + "source_owner": "src/fep_lean/formal/linear_gaussian_semigroup.lean", + "statement": "theorem evolution_transpose (model : LinearGaussianParameters Axis)\n (time : ℝ≥0) :\n (model.evolution time)ᵀ = model.evolution time", + "statement_sha256": "523e6296ba09c762318d56ac09c707021317b1f779fed5f11179c3a0cd7afc12" + }, + "FEP.LinearGaussianSemigroup.LinearGaussianParameters.evolution_zero": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "model" + ], + "role": "typed_binder", + "source": "(model : LinearGaussianParameters Axis)", + "type_source": "LinearGaussianParameters Axis", + "visibility": "explicit" + } + ], + "conclusion": "model.evolution 0 = 1", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "Axis" + ], + "role": "typed_binder", + "source": "{Axis : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Axis]", + "type_source": "Fintype Axis", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DecidableEq Axis]", + "type_source": "DecidableEq Axis", + "visibility": "instance" + } + ], + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.markov_semigroup", + "FepSketches.scalar_gaussian_semigroup", + "Mathlib.Analysis.Matrix.PosDef", + "Mathlib.Analysis.Normed.Algebra.MatrixExponential", + "Mathlib.Analysis.SpecialFunctions.Exponential", + "Mathlib.MeasureTheory.Measure.LevyConvergence", + "Mathlib.MeasureTheory.Measure.ProbabilityMeasure", + "Mathlib.Order.Filter.AtTopBot.CountablyGenerated", + "Mathlib.Probability.Distributions.Gaussian.Multivariate", + "Mathlib.Probability.Kernel.Composition.Comp", + "Mathlib.Probability.Kernel.Composition.CompProd", + "Mathlib.Probability.Kernel.Composition.MapComap", + "Mathlib.Tactic.NoncommRing", + "Mathlib.Topology.Instances.NNReal.Lemmas" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.LinearGaussianSemigroup.LinearGaussianParameters", + "namespace_variable_context": [ + "{Axis : Type*} [Fintype Axis] [DecidableEq Axis]" + ], + "preceding_scope_directives": [], + "qualified_name": "FEP.LinearGaussianSemigroup.LinearGaussianParameters.evolution_zero", + "source_line": 395, + "source_owner": "src/fep_lean/formal/linear_gaussian_semigroup.lean", + "statement": "theorem evolution_zero (model : LinearGaussianParameters Axis) :\n model.evolution 0 = 1", + "statement_sha256": "e4ddba99ce105184b3629eca2506764032e6fc18d7a39067371646c65777bd94" + }, + "FEP.LinearGaussianSemigroup.LinearGaussianParameters.finOneTransition_eq_scalarOU": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "rate" + ], + "role": "typed_binder", + "source": "(rate : ℝ)", + "type_source": "ℝ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hRate" + ], + "role": "typed_binder", + "source": "(hRate : 0 < rate)", + "type_source": "0 < rate", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "center" + ], + "role": "typed_binder", + "source": "(center : ℝ)", + "type_source": "ℝ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "time" + ], + "role": "typed_binder", + "source": "(time : ℝ≥0)", + "type_source": "ℝ≥0", + "visibility": "explicit" + } + ], + "conclusion": "(finOneParameters rate hRate center).finOneTransition time =\n (finOneScalarParameters rate hRate center).ouTransition time", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "Axis" + ], + "role": "typed_binder", + "source": "{Axis : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Axis]", + "type_source": "Fintype Axis", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DecidableEq Axis]", + "type_source": "DecidableEq Axis", + "visibility": "instance" + } + ], + "declaration_mentions": [ + { + "identifier": "finOne_transitionCovariance", + "qualified_name": "FEP.LinearGaussianSemigroup.LinearGaussianParameters.finOne_transitionCovariance", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + }, + { + "identifier": "finOne_transitionMean", + "qualified_name": "FEP.LinearGaussianSemigroup.LinearGaussianParameters.finOne_transitionMean", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + }, + { + "identifier": "transitionCovariance_posSemidef", + "qualified_name": "FEP.LinearGaussianSemigroup.LinearGaussianParameters.transitionCovariance_posSemidef", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + }, + { + "identifier": "transition_apply", + "qualified_name": "FEP.LinearGaussianSemigroup.LinearGaussianParameters.transition_apply", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + } + ], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.markov_semigroup", + "FepSketches.scalar_gaussian_semigroup", + "Mathlib.Analysis.Matrix.PosDef", + "Mathlib.Analysis.Normed.Algebra.MatrixExponential", + "Mathlib.Analysis.SpecialFunctions.Exponential", + "Mathlib.MeasureTheory.Measure.LevyConvergence", + "Mathlib.MeasureTheory.Measure.ProbabilityMeasure", + "Mathlib.Order.Filter.AtTopBot.CountablyGenerated", + "Mathlib.Probability.Distributions.Gaussian.Multivariate", + "Mathlib.Probability.Kernel.Composition.Comp", + "Mathlib.Probability.Kernel.Composition.CompProd", + "Mathlib.Probability.Kernel.Composition.MapComap", + "Mathlib.Tactic.NoncommRing", + "Mathlib.Topology.Instances.NNReal.Lemmas" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.LinearGaussianSemigroup.LinearGaussianParameters", + "namespace_variable_context": [ + "{Axis : Type*} [Fintype Axis] [DecidableEq Axis]" + ], + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DecidableEq Axis] in" + } + ], + "qualified_name": "FEP.LinearGaussianSemigroup.LinearGaussianParameters.finOneTransition_eq_scalarOU", + "source_line": 1275, + "source_owner": "src/fep_lean/formal/linear_gaussian_semigroup.lean", + "statement": "theorem finOneTransition_eq_scalarOU\n (rate : ℝ) (hRate : 0 < rate) (center : ℝ) (time : ℝ≥0) :\n (finOneParameters rate hRate center).finOneTransition time =\n (finOneScalarParameters rate hRate center).ouTransition time", + "statement_sha256": "a2e6a695067a080629e414f6fa86b3c06e24b8166060aecaf16268c452f285f6" + }, + "FEP.LinearGaussianSemigroup.LinearGaussianParameters.finOne_transitionCovariance": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "rate" + ], + "role": "typed_binder", + "source": "(rate : ℝ)", + "type_source": "ℝ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hRate" + ], + "role": "typed_binder", + "source": "(hRate : 0 < rate)", + "type_source": "0 < rate", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "center" + ], + "role": "typed_binder", + "source": "(center : ℝ)", + "type_source": "ℝ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "time" + ], + "role": "typed_binder", + "source": "(time : ℝ≥0)", + "type_source": "ℝ≥0", + "visibility": "explicit" + } + ], + "conclusion": "(finOneParameters rate hRate center).transitionCovariance time 0 0 =\n (((finOneScalarParameters rate hRate center).transitionVariance time :\n ℝ≥0) : ℝ)", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "Axis" + ], + "role": "typed_binder", + "source": "{Axis : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Axis]", + "type_source": "Fintype Axis", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DecidableEq Axis]", + "type_source": "DecidableEq Axis", + "visibility": "instance" + } + ], + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.markov_semigroup", + "FepSketches.scalar_gaussian_semigroup", + "Mathlib.Analysis.Matrix.PosDef", + "Mathlib.Analysis.Normed.Algebra.MatrixExponential", + "Mathlib.Analysis.SpecialFunctions.Exponential", + "Mathlib.MeasureTheory.Measure.LevyConvergence", + "Mathlib.MeasureTheory.Measure.ProbabilityMeasure", + "Mathlib.Order.Filter.AtTopBot.CountablyGenerated", + "Mathlib.Probability.Distributions.Gaussian.Multivariate", + "Mathlib.Probability.Kernel.Composition.Comp", + "Mathlib.Probability.Kernel.Composition.CompProd", + "Mathlib.Probability.Kernel.Composition.MapComap", + "Mathlib.Tactic.NoncommRing", + "Mathlib.Topology.Instances.NNReal.Lemmas" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.LinearGaussianSemigroup.LinearGaussianParameters", + "namespace_variable_context": [ + "{Axis : Type*} [Fintype Axis] [DecidableEq Axis]" + ], + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DecidableEq Axis] in" + } + ], + "qualified_name": "FEP.LinearGaussianSemigroup.LinearGaussianParameters.finOne_transitionCovariance", + "source_line": 1254, + "source_owner": "src/fep_lean/formal/linear_gaussian_semigroup.lean", + "statement": "theorem finOne_transitionCovariance\n (rate : ℝ) (hRate : 0 < rate) (center : ℝ)\n (time : ℝ≥0) :\n (finOneParameters rate hRate center).transitionCovariance time 0 0 =\n (((finOneScalarParameters rate hRate center).transitionVariance time :\n ℝ≥0) : ℝ)", + "statement_sha256": "797602a4effaf7c99937de744946304375ca893151ddbc6be0fd846e059cbcfb" + }, + "FEP.LinearGaussianSemigroup.LinearGaussianParameters.finOne_transitionMean": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "rate" + ], + "role": "typed_binder", + "source": "(rate : ℝ)", + "type_source": "ℝ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hRate" + ], + "role": "typed_binder", + "source": "(hRate : 0 < rate)", + "type_source": "0 < rate", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "center" + ], + "role": "typed_binder", + "source": "(center : ℝ)", + "type_source": "ℝ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "time" + ], + "role": "typed_binder", + "source": "(time : ℝ≥0)", + "type_source": "ℝ≥0", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "state" + ], + "role": "typed_binder", + "source": "(state : ℝ)", + "type_source": "ℝ", + "visibility": "explicit" + } + ], + "conclusion": "(finOneParameters rate hRate center).transitionMean time\n (finOneState state) 0 =\n (finOneScalarParameters rate hRate center).transitionMean time state", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "Axis" + ], + "role": "typed_binder", + "source": "{Axis : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Axis]", + "type_source": "Fintype Axis", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DecidableEq Axis]", + "type_source": "DecidableEq Axis", + "visibility": "instance" + } + ], + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.markov_semigroup", + "FepSketches.scalar_gaussian_semigroup", + "Mathlib.Analysis.Matrix.PosDef", + "Mathlib.Analysis.Normed.Algebra.MatrixExponential", + "Mathlib.Analysis.SpecialFunctions.Exponential", + "Mathlib.MeasureTheory.Measure.LevyConvergence", + "Mathlib.MeasureTheory.Measure.ProbabilityMeasure", + "Mathlib.Order.Filter.AtTopBot.CountablyGenerated", + "Mathlib.Probability.Distributions.Gaussian.Multivariate", + "Mathlib.Probability.Kernel.Composition.Comp", + "Mathlib.Probability.Kernel.Composition.CompProd", + "Mathlib.Probability.Kernel.Composition.MapComap", + "Mathlib.Tactic.NoncommRing", + "Mathlib.Topology.Instances.NNReal.Lemmas" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.LinearGaussianSemigroup.LinearGaussianParameters", + "namespace_variable_context": [ + "{Axis : Type*} [Fintype Axis] [DecidableEq Axis]" + ], + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DecidableEq Axis] in" + } + ], + "qualified_name": "FEP.LinearGaussianSemigroup.LinearGaussianParameters.finOne_transitionMean", + "source_line": 1237, + "source_owner": "src/fep_lean/formal/linear_gaussian_semigroup.lean", + "statement": "theorem finOne_transitionMean\n (rate : ℝ) (hRate : 0 < rate) (center : ℝ)\n (time : ℝ≥0) (state : ℝ) :\n (finOneParameters rate hRate center).transitionMean time\n (finOneState state) 0 =\n (finOneScalarParameters rate hRate center).transitionMean time state", + "statement_sha256": "218e0e2a76950fb0ca81ac5053f20cbed52e8b26af0e78563690bab8d2b2b714" + }, + "FEP.LinearGaussianSemigroup.LinearGaussianParameters.integral_transition_tendsto_invariant": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "model" + ], + "role": "typed_binder", + "source": "(model : LinearGaussianParameters Axis)", + "type_source": "LinearGaussianParameters Axis", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "state" + ], + "role": "typed_binder", + "source": "(state : State Axis)", + "type_source": "State Axis", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "f" + ], + "role": "typed_binder", + "source": "(f : State Axis →ᵇ ℝ)", + "type_source": "State Axis →ᵇ ℝ", + "visibility": "explicit" + } + ], + "conclusion": "Tendsto\n (fun time : ℝ≥0 =>\n ∫ next, f next ∂\n (model.transitionProbability time state : Measure (State Axis)))\n atTop\n (𝓝 (∫ next, f next ∂\n (model.stationaryProbability : Measure (State Axis))))", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "Axis" + ], + "role": "typed_binder", + "source": "{Axis : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Axis]", + "type_source": "Fintype Axis", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DecidableEq Axis]", + "type_source": "DecidableEq Axis", + "visibility": "instance" + } + ], + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.markov_semigroup", + "FepSketches.scalar_gaussian_semigroup", + "Mathlib.Analysis.Matrix.PosDef", + "Mathlib.Analysis.Normed.Algebra.MatrixExponential", + "Mathlib.Analysis.SpecialFunctions.Exponential", + "Mathlib.MeasureTheory.Measure.LevyConvergence", + "Mathlib.MeasureTheory.Measure.ProbabilityMeasure", + "Mathlib.Order.Filter.AtTopBot.CountablyGenerated", + "Mathlib.Probability.Distributions.Gaussian.Multivariate", + "Mathlib.Probability.Kernel.Composition.Comp", + "Mathlib.Probability.Kernel.Composition.CompProd", + "Mathlib.Probability.Kernel.Composition.MapComap", + "Mathlib.Tactic.NoncommRing", + "Mathlib.Topology.Instances.NNReal.Lemmas" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.LinearGaussianSemigroup.LinearGaussianParameters", + "namespace_variable_context": [ + "{Axis : Type*} [Fintype Axis] [DecidableEq Axis]" + ], + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DecidableEq Axis] in" + } + ], + "qualified_name": "FEP.LinearGaussianSemigroup.LinearGaussianParameters.integral_transition_tendsto_invariant", + "source_line": 1153, + "source_owner": "src/fep_lean/formal/linear_gaussian_semigroup.lean", + "statement": "theorem integral_transition_tendsto_invariant\n (model : LinearGaussianParameters Axis) (state : State Axis)\n (f : State Axis →ᵇ ℝ) :\n Tendsto\n (fun time : ℝ≥0 =>\n ∫ next, f next ∂\n (model.transitionProbability time state : Measure (State Axis)))\n atTop\n (𝓝 (∫ next, f next ∂\n (model.stationaryProbability : Measure (State Axis))))", + "statement_sha256": "fe404a18047ce37eaefe76782635b5134250f2decae632a4af2243baa88c53a9" + }, + "FEP.LinearGaussianSemigroup.LinearGaussianParameters.precision_mul_covariance": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "model" + ], + "role": "typed_binder", + "source": "(model : LinearGaussianParameters Axis)", + "type_source": "LinearGaussianParameters Axis", + "visibility": "explicit" + } + ], + "conclusion": "model.precision * model.covariance = 1", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "Axis" + ], + "role": "typed_binder", + "source": "{Axis : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Axis]", + "type_source": "Fintype Axis", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DecidableEq Axis]", + "type_source": "DecidableEq Axis", + "visibility": "instance" + } + ], + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.markov_semigroup", + "FepSketches.scalar_gaussian_semigroup", + "Mathlib.Analysis.Matrix.PosDef", + "Mathlib.Analysis.Normed.Algebra.MatrixExponential", + "Mathlib.Analysis.SpecialFunctions.Exponential", + "Mathlib.MeasureTheory.Measure.LevyConvergence", + "Mathlib.MeasureTheory.Measure.ProbabilityMeasure", + "Mathlib.Order.Filter.AtTopBot.CountablyGenerated", + "Mathlib.Probability.Distributions.Gaussian.Multivariate", + "Mathlib.Probability.Kernel.Composition.Comp", + "Mathlib.Probability.Kernel.Composition.CompProd", + "Mathlib.Probability.Kernel.Composition.MapComap", + "Mathlib.Tactic.NoncommRing", + "Mathlib.Topology.Instances.NNReal.Lemmas" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.LinearGaussianSemigroup.LinearGaussianParameters", + "namespace_variable_context": [ + "{Axis : Type*} [Fintype Axis] [DecidableEq Axis]" + ], + "preceding_scope_directives": [], + "qualified_name": "FEP.LinearGaussianSemigroup.LinearGaussianParameters.precision_mul_covariance", + "source_line": 79, + "source_owner": "src/fep_lean/formal/linear_gaussian_semigroup.lean", + "statement": "theorem precision_mul_covariance (model : LinearGaussianParameters Axis) :\n model.precision * model.covariance = 1", + "statement_sha256": "ac31d0459fa820d33a00bc2ade437cf905b4dde4d97234e69a873e6c8722fac2" + }, + "FEP.LinearGaussianSemigroup.LinearGaussianParameters.stationaryLaw_invariant": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "model" + ], + "role": "typed_binder", + "source": "(model : LinearGaussianParameters Axis)", + "type_source": "LinearGaussianParameters Axis", + "visibility": "explicit" + } + ], + "conclusion": "FEP.MarkovSemigroup.InvariantLaw\n model.nativeSemigroup model.stationaryLaw", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "Axis" + ], + "role": "typed_binder", + "source": "{Axis : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -72333,132 +77369,176 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[MeasurableSpace Ω]", - "type_source": "MeasurableSpace Ω", - "visibility": "instance" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype Alphabet]", - "type_source": "Fintype Alphabet", + "source": "[Fintype Axis]", + "type_source": "Fintype Axis", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DecidableEq Alphabet]", - "type_source": "DecidableEq Alphabet", + "source": "[DecidableEq Axis]", + "type_source": "DecidableEq Axis", "visibility": "instance" - }, + } + ], + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.markov_semigroup", + "FepSketches.scalar_gaussian_semigroup", + "Mathlib.Analysis.Matrix.PosDef", + "Mathlib.Analysis.Normed.Algebra.MatrixExponential", + "Mathlib.Analysis.SpecialFunctions.Exponential", + "Mathlib.MeasureTheory.Measure.LevyConvergence", + "Mathlib.MeasureTheory.Measure.ProbabilityMeasure", + "Mathlib.Order.Filter.AtTopBot.CountablyGenerated", + "Mathlib.Probability.Distributions.Gaussian.Multivariate", + "Mathlib.Probability.Kernel.Composition.Comp", + "Mathlib.Probability.Kernel.Composition.CompProd", + "Mathlib.Probability.Kernel.Composition.MapComap", + "Mathlib.Tactic.NoncommRing", + "Mathlib.Topology.Instances.NNReal.Lemmas" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.LinearGaussianSemigroup.LinearGaussianParameters", + "namespace_variable_context": [ + "{Axis : Type*} [Fintype Axis] [DecidableEq Axis]" + ], + "preceding_scope_directives": [], + "qualified_name": "FEP.LinearGaussianSemigroup.LinearGaussianParameters.stationaryLaw_invariant", + "source_line": 897, + "source_owner": "src/fep_lean/formal/linear_gaussian_semigroup.lean", + "statement": "theorem stationaryLaw_invariant (model : LinearGaussianParameters Axis) :\n FEP.MarkovSemigroup.InvariantLaw\n model.nativeSemigroup model.stationaryLaw", + "statement_sha256": "3e70f909cfe44f9d4ae15f6f2b0ffe26dd174b46c5ea85a26e7f0c1034a387b3" + }, + "FEP.LinearGaussianSemigroup.LinearGaussianParameters.transitionCovariance_add": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "μ" + "model" ], "role": "typed_binder", - "source": "(μ : Measure Ω)", - "type_source": "Measure Ω", + "source": "(model : LinearGaussianParameters Axis)", + "type_source": "LinearGaussianParameters Axis", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[IsProbabilityMeasure μ]", - "type_source": "IsProbabilityMeasure μ", - "visibility": "instance" - }, + "names": [ + "left", + "right" + ], + "role": "typed_binder", + "source": "(left right : ℝ≥0)", + "type_source": "ℝ≥0", + "visibility": "explicit" + } + ], + "conclusion": "model.transitionCovariance (left + right) =\n model.evolution right * model.transitionCovariance left *\n (model.evolution right)ᵀ +\n model.transitionCovariance right", + "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "sampleCount" + "Axis" ], "role": "typed_binder", - "source": "{sampleCount : ℕ}", - "type_source": "ℕ", + "source": "{Axis : Type*}", + "type_source": "Type*", "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[NeZero sampleCount]", - "type_source": "NeZero sampleCount", + "source": "[Fintype Axis]", + "type_source": "Fintype Axis", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "sample" - ], - "role": "typed_binder", - "source": "(sample : Ω → Fin sampleCount → Alphabet)", - "type_source": "Ω → Fin sampleCount → Alphabet", - "visibility": "explicit" - }, + "names": [], + "role": "instance_requirement", + "source": "[DecidableEq Axis]", + "type_source": "DecidableEq Axis", + "visibility": "instance" + } + ], + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.markov_semigroup", + "FepSketches.scalar_gaussian_semigroup", + "Mathlib.Analysis.Matrix.PosDef", + "Mathlib.Analysis.Normed.Algebra.MatrixExponential", + "Mathlib.Analysis.SpecialFunctions.Exponential", + "Mathlib.MeasureTheory.Measure.LevyConvergence", + "Mathlib.MeasureTheory.Measure.ProbabilityMeasure", + "Mathlib.Order.Filter.AtTopBot.CountablyGenerated", + "Mathlib.Probability.Distributions.Gaussian.Multivariate", + "Mathlib.Probability.Kernel.Composition.Comp", + "Mathlib.Probability.Kernel.Composition.CompProd", + "Mathlib.Probability.Kernel.Composition.MapComap", + "Mathlib.Tactic.NoncommRing", + "Mathlib.Topology.Instances.NNReal.Lemmas" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.LinearGaussianSemigroup.LinearGaussianParameters", + "namespace_variable_context": [ + "{Axis : Type*} [Fintype Axis] [DecidableEq Axis]" + ], + "preceding_scope_directives": [], + "qualified_name": "FEP.LinearGaussianSemigroup.LinearGaussianParameters.transitionCovariance_add", + "source_line": 560, + "source_owner": "src/fep_lean/formal/linear_gaussian_semigroup.lean", + "statement": "theorem transitionCovariance_add\n (model : LinearGaussianParameters Axis) (left right : ℝ≥0) :\n model.transitionCovariance (left + right) =\n model.evolution right * model.transitionCovariance left *\n (model.evolution right)ᵀ +\n model.transitionCovariance right", + "statement_sha256": "4afa9b51f7502bb9b59adfd0a44793e9d95ca604dc2805534c3bcc78f07b885e" + }, + "FEP.LinearGaussianSemigroup.LinearGaussianParameters.transitionCovariance_posDef": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "target" + "model" ], "role": "typed_binder", - "source": "(target : Alphabet → ℝ)", - "type_source": "Alphabet → ℝ", + "source": "(model : LinearGaussianParameters Axis)", + "type_source": "LinearGaussianParameters Axis", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "deviation", - "perSymbolFailure" + "time" ], "role": "typed_binder", - "source": "(deviation perSymbolFailure : ℝ)", - "type_source": "ℝ", + "source": "(time : ℝ≥0)", + "type_source": "ℝ≥0", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "perSymbolBound" + "hTime" ], "role": "typed_binder", - "source": "(perSymbolBound : ∀ symbol,\n μ.real (frequencyDeviationEvent sample target deviation symbol) ≤\n perSymbolFailure)", - "type_source": "∀ symbol,\n μ.real (frequencyDeviationEvent sample target deviation symbol) ≤\n perSymbolFailure", + "source": "(hTime : 0 < time)", + "type_source": "0 < time", "visibility": "explicit" } ], - "conclusion": "μ.real (⋃ symbol,\n frequencyDeviationEvent sample target deviation symbol) ≤\n Fintype.card Alphabet * perSymbolFailure", - "context_binders": [], - "declaration_mentions": [], - "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", - "import_context": [ - "FepSketches.variational_duality", - "Mathlib.Probability.Moments.SubGaussian" - ], - "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.LearningTheory", - "namespace_variable_context": [], - "preceding_scope_directives": [], - "qualified_name": "FEP.LearningTheory.simultaneous_frequency_bound", - "source_line": 73, - "source_owner": "src/fep_lean/formal/learning_theory.lean", - "statement": "theorem simultaneous_frequency_bound\n {Ω Alphabet : Type*} [MeasurableSpace Ω]\n [Fintype Alphabet] [DecidableEq Alphabet]\n (μ : Measure Ω) [IsProbabilityMeasure μ]\n {sampleCount : ℕ} [NeZero sampleCount]\n (sample : Ω → Fin sampleCount → Alphabet)\n (target : Alphabet → ℝ) (deviation perSymbolFailure : ℝ)\n (perSymbolBound : ∀ symbol,\n μ.real (frequencyDeviationEvent sample target deviation symbol) ≤\n perSymbolFailure) :\n μ.real (⋃ symbol,\n frequencyDeviationEvent sample target deviation symbol) ≤\n Fintype.card Alphabet * perSymbolFailure", - "statement_sha256": "95f019a060aa8db803c4e0937d544fa94a8a990bc1e4cf71f0cbdb24f8472217" - }, - "FEP.LearningTheory.subGaussian_empiricalMean_tail": { - "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [ + "conclusion": "(model.transitionCovariance time).PosDef", + "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Ω" + "Axis" ], "role": "typed_binder", - "source": "{Ω : Type*}", + "source": "{Axis : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -72466,131 +77546,133 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[MeasurableSpace Ω]", - "type_source": "MeasurableSpace Ω", + "source": "[Fintype Axis]", + "type_source": "Fintype Axis", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "μ" - ], - "role": "typed_binder", - "source": "(μ : Measure Ω)", - "type_source": "Measure Ω", - "visibility": "explicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "sampleCount" - ], - "role": "typed_binder", - "source": "{sampleCount : ℕ}", - "type_source": "ℕ", - "visibility": "implicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "observables" - ], - "role": "typed_binder", - "source": "(observables : Fin sampleCount → Ω → ℝ)", - "type_source": "Fin sampleCount → Ω → ℝ", - "visibility": "explicit" - }, + "names": [], + "role": "instance_requirement", + "source": "[DecidableEq Axis]", + "type_source": "DecidableEq Axis", + "visibility": "instance" + } + ], + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.markov_semigroup", + "FepSketches.scalar_gaussian_semigroup", + "Mathlib.Analysis.Matrix.PosDef", + "Mathlib.Analysis.Normed.Algebra.MatrixExponential", + "Mathlib.Analysis.SpecialFunctions.Exponential", + "Mathlib.MeasureTheory.Measure.LevyConvergence", + "Mathlib.MeasureTheory.Measure.ProbabilityMeasure", + "Mathlib.Order.Filter.AtTopBot.CountablyGenerated", + "Mathlib.Probability.Distributions.Gaussian.Multivariate", + "Mathlib.Probability.Kernel.Composition.Comp", + "Mathlib.Probability.Kernel.Composition.CompProd", + "Mathlib.Probability.Kernel.Composition.MapComap", + "Mathlib.Tactic.NoncommRing", + "Mathlib.Topology.Instances.NNReal.Lemmas" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.LinearGaussianSemigroup.LinearGaussianParameters", + "namespace_variable_context": [ + "{Axis : Type*} [Fintype Axis] [DecidableEq Axis]" + ], + "preceding_scope_directives": [], + "qualified_name": "FEP.LinearGaussianSemigroup.LinearGaussianParameters.transitionCovariance_posDef", + "source_line": 508, + "source_owner": "src/fep_lean/formal/linear_gaussian_semigroup.lean", + "statement": "theorem transitionCovariance_posDef\n (model : LinearGaussianParameters Axis) (time : ℝ≥0)\n (hTime : 0 < time) :\n (model.transitionCovariance time).PosDef", + "statement_sha256": "aa54abdf4a64bc91e182c158e835f58b64a6398098d0a509c569b1082be564c3" + }, + "FEP.LinearGaussianSemigroup.LinearGaussianParameters.transitionCovariance_posSemidef": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "independent" + "model" ], "role": "typed_binder", - "source": "(independent : iIndepFun observables μ)", - "type_source": "iIndepFun observables μ", + "source": "(model : LinearGaussianParameters Axis)", + "type_source": "LinearGaussianParameters Axis", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "proxyVariance" + "time" ], "role": "typed_binder", - "source": "(proxyVariance : Fin sampleCount → ℝ≥0)", - "type_source": "Fin sampleCount → ℝ≥0", + "source": "(time : ℝ≥0)", + "type_source": "ℝ≥0", "visibility": "explicit" - }, + } + ], + "conclusion": "(model.transitionCovariance time).PosSemidef", + "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "subGaussian" + "Axis" ], "role": "typed_binder", - "source": "(subGaussian : ∀ index,\n HasSubgaussianMGF (observables index) (proxyVariance index) μ)", - "type_source": "∀ index,\n HasSubgaussianMGF (observables index) (proxyVariance index) μ", - "visibility": "explicit" + "source": "{Axis : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "deviation" - ], - "role": "typed_binder", - "source": "{deviation : ℝ}", - "type_source": "ℝ", - "visibility": "implicit" + "names": [], + "role": "instance_requirement", + "source": "[Fintype Axis]", + "type_source": "Fintype Axis", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "deviationNonnegative" - ], - "role": "typed_binder", - "source": "(deviationNonnegative : 0 ≤ deviation)", - "type_source": "0 ≤ deviation", - "visibility": "explicit" + "names": [], + "role": "instance_requirement", + "source": "[DecidableEq Axis]", + "type_source": "DecidableEq Axis", + "visibility": "instance" } ], - "conclusion": "μ.real {outcome |\n (sampleCount : ℝ) * deviation ≤\n ∑ index, observables index outcome} ≤\n Real.exp\n (-((sampleCount : ℝ) * deviation) ^ 2 /\n (2 * ∑ index, proxyVariance index))", - "context_binders": [], "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.variational_duality", - "Mathlib.Probability.Moments.SubGaussian" + "FepSketches.markov_semigroup", + "FepSketches.scalar_gaussian_semigroup", + "Mathlib.Analysis.Matrix.PosDef", + "Mathlib.Analysis.Normed.Algebra.MatrixExponential", + "Mathlib.Analysis.SpecialFunctions.Exponential", + "Mathlib.MeasureTheory.Measure.LevyConvergence", + "Mathlib.MeasureTheory.Measure.ProbabilityMeasure", + "Mathlib.Order.Filter.AtTopBot.CountablyGenerated", + "Mathlib.Probability.Distributions.Gaussian.Multivariate", + "Mathlib.Probability.Kernel.Composition.Comp", + "Mathlib.Probability.Kernel.Composition.CompProd", + "Mathlib.Probability.Kernel.Composition.MapComap", + "Mathlib.Tactic.NoncommRing", + "Mathlib.Topology.Instances.NNReal.Lemmas" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.LearningTheory", - "namespace_variable_context": [], - "preceding_scope_directives": [], - "qualified_name": "FEP.LearningTheory.subGaussian_empiricalMean_tail", - "source_line": 30, - "source_owner": "src/fep_lean/formal/learning_theory.lean", - "statement": "theorem subGaussian_empiricalMean_tail\n {Ω : Type*} [MeasurableSpace Ω]\n (μ : Measure Ω) {sampleCount : ℕ}\n (observables : Fin sampleCount → Ω → ℝ)\n (independent : iIndepFun observables μ)\n (proxyVariance : Fin sampleCount → ℝ≥0)\n (subGaussian : ∀ index,\n HasSubgaussianMGF (observables index) (proxyVariance index) μ)\n {deviation : ℝ} (deviationNonnegative : 0 ≤ deviation) :\n μ.real {outcome |\n (sampleCount : ℝ) * deviation ≤\n ∑ index, observables index outcome} ≤\n Real.exp\n (-((sampleCount : ℝ) * deviation) ^ 2 /\n (2 * ∑ index, proxyVariance index))", - "statement_sha256": "b854ab16125e0e667c74d0e37b9c942e59dd6230eb048035a164b7a72f5a290d" - }, - "FEP.LearningTheory.twoHypothesis_posterior_witness": { - "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [], - "conclusion": "twoHypothesisPosteriorBad (1 / 2) (1 / 2) (3 / 4) (1 / 4) 2 = 1 / 10", - "context_binders": [], - "declaration_mentions": [], - "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", - "import_context": [ - "FepSketches.variational_duality", - "Mathlib.Probability.Moments.SubGaussian" + "namespace": "FEP.LinearGaussianSemigroup.LinearGaussianParameters", + "namespace_variable_context": [ + "{Axis : Type*} [Fintype Axis] [DecidableEq Axis]" ], - "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.LearningTheory", - "namespace_variable_context": [], "preceding_scope_directives": [], - "qualified_name": "FEP.LearningTheory.twoHypothesis_posterior_witness", - "source_line": 305, - "source_owner": "src/fep_lean/formal/learning_theory.lean", - "statement": "theorem twoHypothesis_posterior_witness :\n twoHypothesisPosteriorBad (1 / 2) (1 / 2) (3 / 4) (1 / 4) 2 = 1 / 10", - "statement_sha256": "edb24c0a9f1121dd491166ceeb34efccf20dd01b1b082daf07e294e54ebcddd2" + "qualified_name": "FEP.LinearGaussianSemigroup.LinearGaussianParameters.transitionCovariance_posSemidef", + "source_line": 457, + "source_owner": "src/fep_lean/formal/linear_gaussian_semigroup.lean", + "statement": "theorem transitionCovariance_posSemidef\n (model : LinearGaussianParameters Axis) (time : ℝ≥0) :\n (model.transitionCovariance time).PosSemidef", + "statement_sha256": "b4ecf704927cf579285c2ee93bf55793e3beb0d343318e812102f61411a8d777" }, - "FEP.LinearGaussianSemigroup.LinearGaussianParameters.covariance_mul_precision": { + "FEP.LinearGaussianSemigroup.LinearGaussianParameters.transitionCovariance_zero": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { @@ -72604,7 +77686,7 @@ "visibility": "explicit" } ], - "conclusion": "model.covariance * model.precision = 1", + "conclusion": "model.transitionCovariance 0 = 0", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -72657,13 +77739,13 @@ "{Axis : Type*} [Fintype Axis] [DecidableEq Axis]" ], "preceding_scope_directives": [], - "qualified_name": "FEP.LinearGaussianSemigroup.LinearGaussianParameters.covariance_mul_precision", - "source_line": 86, + "qualified_name": "FEP.LinearGaussianSemigroup.LinearGaussianParameters.transitionCovariance_zero", + "source_line": 452, "source_owner": "src/fep_lean/formal/linear_gaussian_semigroup.lean", - "statement": "theorem covariance_mul_precision (model : LinearGaussianParameters Axis) :\n model.covariance * model.precision = 1", - "statement_sha256": "9aab55a13c793e678b263140c05f0f67976d9f7ae87cbe7e6a8125cc24f5c2d3" + "statement": "theorem transitionCovariance_zero (model : LinearGaussianParameters Axis) :\n model.transitionCovariance 0 = 0", + "statement_sha256": "9e161ff4cf160f0a1cb6cb5f8ee651e382b3eb409e088e8f7119a25f2c5011f6" }, - "FEP.LinearGaussianSemigroup.LinearGaussianParameters.covariance_posDef": { + "FEP.LinearGaussianSemigroup.LinearGaussianParameters.transitionMean_add": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { @@ -72675,9 +77757,30 @@ "source": "(model : LinearGaussianParameters Axis)", "type_source": "LinearGaussianParameters Axis", "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "left", + "right" + ], + "role": "typed_binder", + "source": "(left right : ℝ≥0)", + "type_source": "ℝ≥0", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "state" + ], + "role": "typed_binder", + "source": "(state : State Axis)", + "type_source": "State Axis", + "visibility": "explicit" } ], - "conclusion": "model.covariance.PosDef", + "conclusion": "model.transitionMean (left + right) state =\n model.transitionMean right (model.transitionMean left state)", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -72730,13 +77833,13 @@ "{Axis : Type*} [Fintype Axis] [DecidableEq Axis]" ], "preceding_scope_directives": [], - "qualified_name": "FEP.LinearGaussianSemigroup.LinearGaussianParameters.covariance_posDef", - "source_line": 94, + "qualified_name": "FEP.LinearGaussianSemigroup.LinearGaussianParameters.transitionMean_add", + "source_line": 443, "source_owner": "src/fep_lean/formal/linear_gaussian_semigroup.lean", - "statement": "theorem covariance_posDef (model : LinearGaussianParameters Axis) :\n model.covariance.PosDef", - "statement_sha256": "f03d0d8aa66c5801895fe1d1bd23b09f937179b0733b1ecf962043942ec44c5d" + "statement": "theorem transitionMean_add (model : LinearGaussianParameters Axis)\n (left right : ℝ≥0) (state : State Axis) :\n model.transitionMean (left + right) state =\n model.transitionMean right (model.transitionMean left state)", + "statement_sha256": "f236702aeca249c8c1185d0609bea67a90bc7886ecc5f94814f109028823f9e5" }, - "FEP.LinearGaussianSemigroup.LinearGaussianParameters.evolution_add": { + "FEP.LinearGaussianSemigroup.LinearGaussianParameters.transitionMean_zero": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { @@ -72752,16 +77855,15 @@ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "left", - "right" + "state" ], "role": "typed_binder", - "source": "(left right : ℝ≥0)", - "type_source": "ℝ≥0", + "source": "(state : State Axis)", + "type_source": "State Axis", "visibility": "explicit" } ], - "conclusion": "model.evolution (left + right) =\n model.evolution right * model.evolution left", + "conclusion": "model.transitionMean 0 state = state", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -72814,13 +77916,13 @@ "{Axis : Type*} [Fintype Axis] [DecidableEq Axis]" ], "preceding_scope_directives": [], - "qualified_name": "FEP.LinearGaussianSemigroup.LinearGaussianParameters.evolution_add", - "source_line": 401, + "qualified_name": "FEP.LinearGaussianSemigroup.LinearGaussianParameters.transitionMean_zero", + "source_line": 425, "source_owner": "src/fep_lean/formal/linear_gaussian_semigroup.lean", - "statement": "theorem evolution_add (model : LinearGaussianParameters Axis)\n (left right : ℝ≥0) :\n model.evolution (left + right) =\n model.evolution right * model.evolution left", - "statement_sha256": "baf4b5ba1766c90396eabedb3d6539a80e9ad93cca2c8dc260b0bdbfc1392ade" + "statement": "theorem transitionMean_zero (model : LinearGaussianParameters Axis)\n (state : State Axis) :\n model.transitionMean 0 state = state", + "statement_sha256": "7d33cbe328cb608a8a6b78043f6967debbc1f46a48c040ef2016c7e8a6e6f4ad" }, - "FEP.LinearGaussianSemigroup.LinearGaussianParameters.evolution_transpose": { + "FEP.LinearGaussianSemigroup.LinearGaussianParameters.transitionProbability_tendsto_invariant": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { @@ -72836,15 +77938,15 @@ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "time" + "state" ], "role": "typed_binder", - "source": "(time : ℝ≥0)", - "type_source": "ℝ≥0", + "source": "(state : State Axis)", + "type_source": "State Axis", "visibility": "explicit" } ], - "conclusion": "(model.evolution time)ᵀ = model.evolution time", + "conclusion": "Tendsto\n (fun time : ℝ≥0 => model.transitionProbability time state)\n atTop (𝓝 model.stationaryProbability)", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -72896,14 +77998,20 @@ "namespace_variable_context": [ "{Axis : Type*} [Fintype Axis] [DecidableEq Axis]" ], - "preceding_scope_directives": [], - "qualified_name": "FEP.LinearGaussianSemigroup.LinearGaussianParameters.evolution_transpose", - "source_line": 415, + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DecidableEq Axis] in" + } + ], + "qualified_name": "FEP.LinearGaussianSemigroup.LinearGaussianParameters.transitionProbability_tendsto_invariant", + "source_line": 1123, "source_owner": "src/fep_lean/formal/linear_gaussian_semigroup.lean", - "statement": "theorem evolution_transpose (model : LinearGaussianParameters Axis)\n (time : ℝ≥0) :\n (model.evolution time)ᵀ = model.evolution time", - "statement_sha256": "523e6296ba09c762318d56ac09c707021317b1f779fed5f11179c3a0cd7afc12" + "statement": "theorem transitionProbability_tendsto_invariant\n (model : LinearGaussianParameters Axis) (state : State Axis) :\n Tendsto\n (fun time : ℝ≥0 => model.transitionProbability time state)\n atTop (𝓝 model.stationaryProbability)", + "statement_sha256": "a360c460e730e37ac551af24fbbc899f0127d472f68b5cf2c9d00636931af208" }, - "FEP.LinearGaussianSemigroup.LinearGaussianParameters.evolution_zero": { + "FEP.LinearGaussianSemigroup.LinearGaussianParameters.transition_add": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { @@ -72915,9 +78023,20 @@ "source": "(model : LinearGaussianParameters Axis)", "type_source": "LinearGaussianParameters Axis", "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "left", + "right" + ], + "role": "typed_binder", + "source": "(left right : ℝ≥0)", + "type_source": "ℝ≥0", + "visibility": "explicit" } ], - "conclusion": "model.evolution 0 = 1", + "conclusion": "model.transition (left + right) =\n model.transition right ∘ₖ model.transition left", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -72970,57 +78089,47 @@ "{Axis : Type*} [Fintype Axis] [DecidableEq Axis]" ], "preceding_scope_directives": [], - "qualified_name": "FEP.LinearGaussianSemigroup.LinearGaussianParameters.evolution_zero", - "source_line": 395, + "qualified_name": "FEP.LinearGaussianSemigroup.LinearGaussianParameters.transition_add", + "source_line": 854, "source_owner": "src/fep_lean/formal/linear_gaussian_semigroup.lean", - "statement": "theorem evolution_zero (model : LinearGaussianParameters Axis) :\n model.evolution 0 = 1", - "statement_sha256": "e4ddba99ce105184b3629eca2506764032e6fc18d7a39067371646c65777bd94" + "statement": "theorem transition_add (model : LinearGaussianParameters Axis)\n (left right : ℝ≥0) :\n model.transition (left + right) =\n model.transition right ∘ₖ model.transition left", + "statement_sha256": "86058a245cb6a4f535b3ee0e57e4f926e10a5bf96ac1e0bb4283185c14dbf85e" }, - "FEP.LinearGaussianSemigroup.LinearGaussianParameters.finOneTransition_eq_scalarOU": { + "FEP.LinearGaussianSemigroup.LinearGaussianParameters.transition_apply": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "rate" - ], - "role": "typed_binder", - "source": "(rate : ℝ)", - "type_source": "ℝ", - "visibility": "explicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "hRate" + "model" ], "role": "typed_binder", - "source": "(hRate : 0 < rate)", - "type_source": "0 < rate", + "source": "(model : LinearGaussianParameters Axis)", + "type_source": "LinearGaussianParameters Axis", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "center" + "time" ], "role": "typed_binder", - "source": "(center : ℝ)", - "type_source": "ℝ", + "source": "(time : ℝ≥0)", + "type_source": "ℝ≥0", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "time" + "state" ], "role": "typed_binder", - "source": "(time : ℝ≥0)", - "type_source": "ℝ≥0", + "source": "(state : State Axis)", + "type_source": "State Axis", "visibility": "explicit" } ], - "conclusion": "(finOneParameters rate hRate center).finOneTransition time =\n (finOneScalarParameters rate hRate center).ouTransition time", + "conclusion": "model.transition time state =\n multivariateGaussian (model.transitionMean time state)\n (model.transitionCovariance time)", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -73049,32 +78158,7 @@ "visibility": "instance" } ], - "declaration_mentions": [ - { - "identifier": "finOne_transitionCovariance", - "qualified_name": "FEP.LinearGaussianSemigroup.LinearGaussianParameters.finOne_transitionCovariance", - "resolution": "exact or same-namespace source identifier", - "role": "proof_reference" - }, - { - "identifier": "finOne_transitionMean", - "qualified_name": "FEP.LinearGaussianSemigroup.LinearGaussianParameters.finOne_transitionMean", - "resolution": "exact or same-namespace source identifier", - "role": "proof_reference" - }, - { - "identifier": "transitionCovariance_posSemidef", - "qualified_name": "FEP.LinearGaussianSemigroup.LinearGaussianParameters.transitionCovariance_posSemidef", - "resolution": "exact or same-namespace source identifier", - "role": "proof_reference" - }, - { - "identifier": "transition_apply", - "qualified_name": "FEP.LinearGaussianSemigroup.LinearGaussianParameters.transition_apply", - "resolution": "exact or same-namespace source identifier", - "role": "proof_reference" - } - ], + "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ "FepSketches.markov_semigroup", @@ -73097,64 +78181,68 @@ "namespace_variable_context": [ "{Axis : Type*} [Fintype Axis] [DecidableEq Axis]" ], - "preceding_scope_directives": [ - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DecidableEq Axis] in" - } - ], - "qualified_name": "FEP.LinearGaussianSemigroup.LinearGaussianParameters.finOneTransition_eq_scalarOU", - "source_line": 1275, + "preceding_scope_directives": [], + "qualified_name": "FEP.LinearGaussianSemigroup.LinearGaussianParameters.transition_apply", + "source_line": 608, "source_owner": "src/fep_lean/formal/linear_gaussian_semigroup.lean", - "statement": "theorem finOneTransition_eq_scalarOU\n (rate : ℝ) (hRate : 0 < rate) (center : ℝ) (time : ℝ≥0) :\n (finOneParameters rate hRate center).finOneTransition time =\n (finOneScalarParameters rate hRate center).ouTransition time", - "statement_sha256": "a2e6a695067a080629e414f6fa86b3c06e24b8166060aecaf16268c452f285f6" + "statement": "theorem transition_apply (model : LinearGaussianParameters Axis)\n (time : ℝ≥0) (state : State Axis) :\n model.transition time state =\n multivariateGaussian (model.transitionMean time state)\n (model.transitionCovariance time)", + "statement_sha256": "e05a4ab148b8ab0013c8aedb4db0a271ad4f9b1de84e13c3041dd3550af5b385" }, - "FEP.LinearGaussianSemigroup.LinearGaussianParameters.finOne_transitionCovariance": { + "FEP.LinearGaussianSemigroup.LinearGaussianParameters.transition_comp_multivariateGaussian": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "rate" + "model" ], "role": "typed_binder", - "source": "(rate : ℝ)", - "type_source": "ℝ", + "source": "(model : LinearGaussianParameters Axis)", + "type_source": "LinearGaussianParameters Axis", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "hRate" + "time" ], "role": "typed_binder", - "source": "(hRate : 0 < rate)", - "type_source": "0 < rate", + "source": "(time : ℝ≥0)", + "type_source": "ℝ≥0", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "center" + "sourceMean" ], "role": "typed_binder", - "source": "(center : ℝ)", - "type_source": "ℝ", + "source": "(sourceMean : State Axis)", + "type_source": "State Axis", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "time" + "sourceCovariance" ], "role": "typed_binder", - "source": "(time : ℝ≥0)", - "type_source": "ℝ≥0", + "source": "(sourceCovariance : Matrix Axis Axis ℝ)", + "type_source": "Matrix Axis Axis ℝ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hSourceCovariance" + ], + "role": "typed_binder", + "source": "(hSourceCovariance : sourceCovariance.PosSemidef)", + "type_source": "sourceCovariance.PosSemidef", "visibility": "explicit" } ], - "conclusion": "(finOneParameters rate hRate center).transitionCovariance time 0 0 =\n (((finOneScalarParameters rate hRate center).transitionVariance time :\n ℝ≥0) : ℝ)", + "conclusion": "model.transition time ∘ₘ\n multivariateGaussian sourceMean sourceCovariance =\n multivariateGaussian\n (model.transitionMean time sourceMean)\n (model.evolution time * sourceCovariance *\n (model.evolution time)ᵀ +\n model.transitionCovariance time)", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -73206,74 +78294,59 @@ "namespace_variable_context": [ "{Axis : Type*} [Fintype Axis] [DecidableEq Axis]" ], - "preceding_scope_directives": [ - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DecidableEq Axis] in" - } - ], - "qualified_name": "FEP.LinearGaussianSemigroup.LinearGaussianParameters.finOne_transitionCovariance", - "source_line": 1254, + "preceding_scope_directives": [], + "qualified_name": "FEP.LinearGaussianSemigroup.LinearGaussianParameters.transition_comp_multivariateGaussian", + "source_line": 810, "source_owner": "src/fep_lean/formal/linear_gaussian_semigroup.lean", - "statement": "theorem finOne_transitionCovariance\n (rate : ℝ) (hRate : 0 < rate) (center : ℝ)\n (time : ℝ≥0) :\n (finOneParameters rate hRate center).transitionCovariance time 0 0 =\n (((finOneScalarParameters rate hRate center).transitionVariance time :\n ℝ≥0) : ℝ)", - "statement_sha256": "797602a4effaf7c99937de744946304375ca893151ddbc6be0fd846e059cbcfb" + "statement": "theorem transition_comp_multivariateGaussian\n (model : LinearGaussianParameters Axis) (time : ℝ≥0)\n (sourceMean : State Axis)\n (sourceCovariance : Matrix Axis Axis ℝ)\n (hSourceCovariance : sourceCovariance.PosSemidef) :\n model.transition time ∘ₘ\n multivariateGaussian sourceMean sourceCovariance =\n multivariateGaussian\n (model.transitionMean time sourceMean)\n (model.evolution time * sourceCovariance *\n (model.evolution time)ᵀ +\n model.transitionCovariance time)", + "statement_sha256": "111487c2fe415320d5c644cee29f1975b0eed4fe2a584f99ad369f39f25123b4" }, - "FEP.LinearGaussianSemigroup.LinearGaussianParameters.finOne_transitionMean": { + "FEP.LinearGaussianSemigroup.LinearGaussianParameters.transition_covariance": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "rate" - ], - "role": "typed_binder", - "source": "(rate : ℝ)", - "type_source": "ℝ", - "visibility": "explicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "hRate" + "model" ], "role": "typed_binder", - "source": "(hRate : 0 < rate)", - "type_source": "0 < rate", + "source": "(model : LinearGaussianParameters Axis)", + "type_source": "LinearGaussianParameters Axis", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "center" + "time" ], "role": "typed_binder", - "source": "(center : ℝ)", - "type_source": "ℝ", + "source": "(time : ℝ≥0)", + "type_source": "ℝ≥0", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "time" + "state" ], "role": "typed_binder", - "source": "(time : ℝ≥0)", - "type_source": "ℝ≥0", + "source": "(state : State Axis)", + "type_source": "State Axis", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "state" + "left", + "right" ], "role": "typed_binder", - "source": "(state : ℝ)", - "type_source": "ℝ", + "source": "(left right : Axis)", + "type_source": "Axis", "visibility": "explicit" } ], - "conclusion": "(finOneParameters rate hRate center).transitionMean time\n (finOneState state) 0 =\n (finOneScalarParameters rate hRate center).transitionMean time state", + "conclusion": "cov[fun next => next left, fun next => next right;\n model.transition time state] =\n model.transitionCovariance time left right", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -73325,20 +78398,14 @@ "namespace_variable_context": [ "{Axis : Type*} [Fintype Axis] [DecidableEq Axis]" ], - "preceding_scope_directives": [ - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DecidableEq Axis] in" - } - ], - "qualified_name": "FEP.LinearGaussianSemigroup.LinearGaussianParameters.finOne_transitionMean", - "source_line": 1237, + "preceding_scope_directives": [], + "qualified_name": "FEP.LinearGaussianSemigroup.LinearGaussianParameters.transition_covariance", + "source_line": 918, "source_owner": "src/fep_lean/formal/linear_gaussian_semigroup.lean", - "statement": "theorem finOne_transitionMean\n (rate : ℝ) (hRate : 0 < rate) (center : ℝ)\n (time : ℝ≥0) (state : ℝ) :\n (finOneParameters rate hRate center).transitionMean time\n (finOneState state) 0 =\n (finOneScalarParameters rate hRate center).transitionMean time state", - "statement_sha256": "218e0e2a76950fb0ca81ac5053f20cbed52e8b26af0e78563690bab8d2b2b714" + "statement": "theorem transition_covariance (model : LinearGaussianParameters Axis)\n (time : ℝ≥0) (state : State Axis) (left right : Axis) :\n cov[fun next => next left, fun next => next right;\n model.transition time state] =\n model.transitionCovariance time left right", + "statement_sha256": "f16b69b145e2382bf5f1a77df5875eaf5d7afff180f6cfce47f8e3538e57658e" }, - "FEP.LinearGaussianSemigroup.LinearGaussianParameters.integral_transition_tendsto_invariant": { + "FEP.LinearGaussianSemigroup.LinearGaussianParameters.transition_mean": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { @@ -73354,25 +78421,25 @@ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "state" + "time" ], "role": "typed_binder", - "source": "(state : State Axis)", - "type_source": "State Axis", + "source": "(time : ℝ≥0)", + "type_source": "ℝ≥0", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "f" + "state" ], "role": "typed_binder", - "source": "(f : State Axis →ᵇ ℝ)", - "type_source": "State Axis →ᵇ ℝ", + "source": "(state : State Axis)", + "type_source": "State Axis", "visibility": "explicit" } ], - "conclusion": "Tendsto\n (fun time : ℝ≥0 =>\n ∫ next, f next ∂\n (model.transitionProbability time state : Measure (State Axis)))\n atTop\n (𝓝 (∫ next, f next ∂\n (model.stationaryProbability : Measure (State Axis))))", + "conclusion": "(∫ next, next ∂model.transition time state) =\n model.transitionMean time state", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -73424,20 +78491,14 @@ "namespace_variable_context": [ "{Axis : Type*} [Fintype Axis] [DecidableEq Axis]" ], - "preceding_scope_directives": [ - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DecidableEq Axis] in" - } - ], - "qualified_name": "FEP.LinearGaussianSemigroup.LinearGaussianParameters.integral_transition_tendsto_invariant", - "source_line": 1153, + "preceding_scope_directives": [], + "qualified_name": "FEP.LinearGaussianSemigroup.LinearGaussianParameters.transition_mean", + "source_line": 909, "source_owner": "src/fep_lean/formal/linear_gaussian_semigroup.lean", - "statement": "theorem integral_transition_tendsto_invariant\n (model : LinearGaussianParameters Axis) (state : State Axis)\n (f : State Axis →ᵇ ℝ) :\n Tendsto\n (fun time : ℝ≥0 =>\n ∫ next, f next ∂\n (model.transitionProbability time state : Measure (State Axis)))\n atTop\n (𝓝 (∫ next, f next ∂\n (model.stationaryProbability : Measure (State Axis))))", - "statement_sha256": "fe404a18047ce37eaefe76782635b5134250f2decae632a4af2243baa88c53a9" + "statement": "theorem transition_mean (model : LinearGaussianParameters Axis)\n (time : ℝ≥0) (state : State Axis) :\n (∫ next, next ∂model.transition time state) =\n model.transitionMean time state", + "statement_sha256": "e7e7cfcb39500eb221aff8d10a33c22e461bf747dd465c63124efec1e4a7cdf6" }, - "FEP.LinearGaussianSemigroup.LinearGaussianParameters.precision_mul_covariance": { + "FEP.LinearGaussianSemigroup.LinearGaussianParameters.transition_univ": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { @@ -73449,9 +78510,29 @@ "source": "(model : LinearGaussianParameters Axis)", "type_source": "LinearGaussianParameters Axis", "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "time" + ], + "role": "typed_binder", + "source": "(time : ℝ≥0)", + "type_source": "ℝ≥0", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "state" + ], + "role": "typed_binder", + "source": "(state : State Axis)", + "type_source": "State Axis", + "visibility": "explicit" } ], - "conclusion": "model.precision * model.covariance = 1", + "conclusion": "model.transition time state Set.univ = 1", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -73504,13 +78585,13 @@ "{Axis : Type*} [Fintype Axis] [DecidableEq Axis]" ], "preceding_scope_directives": [], - "qualified_name": "FEP.LinearGaussianSemigroup.LinearGaussianParameters.precision_mul_covariance", - "source_line": 79, + "qualified_name": "FEP.LinearGaussianSemigroup.LinearGaussianParameters.transition_univ", + "source_line": 630, "source_owner": "src/fep_lean/formal/linear_gaussian_semigroup.lean", - "statement": "theorem precision_mul_covariance (model : LinearGaussianParameters Axis) :\n model.precision * model.covariance = 1", - "statement_sha256": "ac31d0459fa820d33a00bc2ade437cf905b4dde4d97234e69a873e6c8722fac2" + "statement": "theorem transition_univ (model : LinearGaussianParameters Axis)\n (time : ℝ≥0) (state : State Axis) :\n model.transition time state Set.univ = 1", + "statement_sha256": "fbc80c30beab40b9cc63a2bb67e768ddcf0540a614364332039674ae127ed7b0" }, - "FEP.LinearGaussianSemigroup.LinearGaussianParameters.stationaryLaw_invariant": { + "FEP.LinearGaussianSemigroup.LinearGaussianParameters.transition_zero": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { @@ -73524,7 +78605,7 @@ "visibility": "explicit" } ], - "conclusion": "FEP.MarkovSemigroup.InvariantLaw\n model.nativeSemigroup model.stationaryLaw", + "conclusion": "model.transition 0 = Kernel.id", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -73577,13 +78658,306 @@ "{Axis : Type*} [Fintype Axis] [DecidableEq Axis]" ], "preceding_scope_directives": [], - "qualified_name": "FEP.LinearGaussianSemigroup.LinearGaussianParameters.stationaryLaw_invariant", - "source_line": 897, + "qualified_name": "FEP.LinearGaussianSemigroup.LinearGaussianParameters.transition_zero", + "source_line": 637, "source_owner": "src/fep_lean/formal/linear_gaussian_semigroup.lean", - "statement": "theorem stationaryLaw_invariant (model : LinearGaussianParameters Axis) :\n FEP.MarkovSemigroup.InvariantLaw\n model.nativeSemigroup model.stationaryLaw", - "statement_sha256": "3e70f909cfe44f9d4ae15f6f2b0ffe26dd174b46c5ea85a26e7f0c1034a387b3" + "statement": "theorem transition_zero (model : LinearGaussianParameters Axis) :\n model.transition 0 = Kernel.id", + "statement_sha256": "c68ce184d77cac35b0d329f8f759874999be9e299309c1827abbe0b7dacd559b" }, - "FEP.LinearGaussianSemigroup.LinearGaussianParameters.transitionCovariance_add": { + "FEP.MarkovBlanket.boolDynamics_nontrivial": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [], + "conclusion": "let current : DynamicState Bool Bool Bool Bool", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "Internal", + "Sensory", + "Active", + "External" + ], + "role": "typed_binder", + "source": "{Internal Sensory Active External : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Internal]", + "type_source": "Fintype Internal", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Sensory]", + "type_source": "Fintype Sensory", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Active]", + "type_source": "Fintype Active", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype External]", + "type_source": "Fintype External", + "visibility": "instance" + } + ], + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.finite_information" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.MarkovBlanket", + "namespace_variable_context": [ + "{Internal Sensory Active External : Type*}\n [Fintype Internal] [Fintype Sensory] [Fintype Active] [Fintype External]" + ], + "preceding_scope_directives": [], + "qualified_name": "FEP.MarkovBlanket.boolDynamics_nontrivial", + "source_line": 254, + "source_owner": "src/fep_lean/formal/markov_blanket.lean", + "statement": "theorem boolDynamics_nontrivial :\n let current : DynamicState Bool Bool Bool Bool", + "statement_sha256": "dbc61ec8c7e6df6fd932d8302fb2d1f37fb18c97895174a9d896db72a4c869c9" + }, + "FEP.MarkovBlanket.conditionalJoint_fstMarginal": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "model" + ], + "role": "typed_binder", + "source": "(model : StaticModel Internal Sensory Active External)", + "type_source": "StaticModel Internal Sensory Active External", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "blanket" + ], + "role": "typed_binder", + "source": "(blanket : Blanket Sensory Active)", + "type_source": "Blanket Sensory Active", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "internal" + ], + "role": "typed_binder", + "source": "(internal : Internal)", + "type_source": "Internal", + "visibility": "explicit" + } + ], + "conclusion": "(conditionalJoint model blanket).fstMarginal internal =\n model.internalGiven blanket internal", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "Internal", + "Sensory", + "Active", + "External" + ], + "role": "typed_binder", + "source": "{Internal Sensory Active External : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Internal]", + "type_source": "Fintype Internal", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Sensory]", + "type_source": "Fintype Sensory", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Active]", + "type_source": "Fintype Active", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype External]", + "type_source": "Fintype External", + "visibility": "instance" + } + ], + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.finite_information" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.MarkovBlanket", + "namespace_variable_context": [ + "{Internal Sensory Active External : Type*}\n [Fintype Internal] [Fintype Sensory] [Fintype Active] [Fintype External]" + ], + "preceding_scope_directives": [], + "qualified_name": "FEP.MarkovBlanket.conditionalJoint_fstMarginal", + "source_line": 93, + "source_owner": "src/fep_lean/formal/markov_blanket.lean", + "statement": "theorem conditionalJoint_fstMarginal\n (model : StaticModel Internal Sensory Active External)\n (blanket : Blanket Sensory Active) (internal : Internal) :\n (conditionalJoint model blanket).fstMarginal internal =\n model.internalGiven blanket internal", + "statement_sha256": "c1888944490d1f099605a0a9a901570dc953de2d4be5ca36db4c3be2c5571eb7" + }, + "FEP.MarkovBlanket.conditional_internal_external_factorization": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "model" + ], + "role": "typed_binder", + "source": "(model : StaticModel Internal Sensory Active External)", + "type_source": "StaticModel Internal Sensory Active External", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "blanket" + ], + "role": "typed_binder", + "source": "(blanket : Blanket Sensory Active)", + "type_source": "Blanket Sensory Active", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hblanket" + ], + "role": "typed_binder", + "source": "(hblanket : 0 < model.blanketLaw blanket)", + "type_source": "0 < model.blanketLaw blanket", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "internal" + ], + "role": "typed_binder", + "source": "(internal : Internal)", + "type_source": "Internal", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "external" + ], + "role": "typed_binder", + "source": "(external : External)", + "type_source": "External", + "visibility": "explicit" + } + ], + "conclusion": "staticJoint model ((blanket, internal), external) /\n model.blanketLaw blanket =\n conditionalJoint model blanket (internal, external)", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "Internal", + "Sensory", + "Active", + "External" + ], + "role": "typed_binder", + "source": "{Internal Sensory Active External : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Internal]", + "type_source": "Fintype Internal", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Sensory]", + "type_source": "Fintype Sensory", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Active]", + "type_source": "Fintype Active", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype External]", + "type_source": "Fintype External", + "visibility": "instance" + } + ], + "declaration_mentions": [ + { + "identifier": "staticJoint_factorization", + "qualified_name": "FEP.MarkovBlanket.staticJoint_factorization", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + } + ], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.finite_information" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.MarkovBlanket", + "namespace_variable_context": [ + "{Internal Sensory Active External : Type*}\n [Fintype Internal] [Fintype Sensory] [Fintype Active] [Fintype External]" + ], + "preceding_scope_directives": [], + "qualified_name": "FEP.MarkovBlanket.conditional_internal_external_factorization", + "source_line": 75, + "source_owner": "src/fep_lean/formal/markov_blanket.lean", + "statement": "theorem conditional_internal_external_factorization\n (model : StaticModel Internal Sensory Active External)\n (blanket : Blanket Sensory Active) (hblanket : 0 < model.blanketLaw blanket)\n (internal : Internal) (external : External) :\n staticJoint model ((blanket, internal), external) /\n model.blanketLaw blanket =\n conditionalJoint model blanket (internal, external)", + "statement_sha256": "371f2d90d0cc7b5c8f9121f6cd64e0d90a5c9c434ac6215ce7a38f29aaeb1e16" + }, + "FEP.MarkovBlanket.conditional_mutualInformation_zero": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { @@ -73592,31 +78966,33 @@ "model" ], "role": "typed_binder", - "source": "(model : LinearGaussianParameters Axis)", - "type_source": "LinearGaussianParameters Axis", + "source": "(model : StaticModel Internal Sensory Active External)", + "type_source": "StaticModel Internal Sensory Active External", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "left", - "right" + "blanket" ], "role": "typed_binder", - "source": "(left right : ℝ≥0)", - "type_source": "ℝ≥0", + "source": "(blanket : Blanket Sensory Active)", + "type_source": "Blanket Sensory Active", "visibility": "explicit" } ], - "conclusion": "model.transitionCovariance (left + right) =\n model.evolution right * model.transitionCovariance left *\n (model.evolution right)ᵀ +\n model.transitionCovariance right", + "conclusion": "mutualInformation (conditionalJoint model blanket) = 0", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Axis" + "Internal", + "Sensory", + "Active", + "External" ], "role": "typed_binder", - "source": "{Axis : Type*}", + "source": "{Internal Sensory Active External : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -73624,50 +79000,62 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Axis]", - "type_source": "Fintype Axis", + "source": "[Fintype Internal]", + "type_source": "Fintype Internal", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DecidableEq Axis]", - "type_source": "DecidableEq Axis", + "source": "[Fintype Sensory]", + "type_source": "Fintype Sensory", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Active]", + "type_source": "Fintype Active", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype External]", + "type_source": "Fintype External", "visibility": "instance" } ], - "declaration_mentions": [], + "declaration_mentions": [ + { + "candidates": [ + "FEP.FiniteInformation.mutualInformation_product_eq_zero" + ], + "identifier": "mutualInformation_product_eq_zero", + "resolution": "unresolved lexical scope", + "role": "proof_reference" + } + ], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.markov_semigroup", - "FepSketches.scalar_gaussian_semigroup", - "Mathlib.Analysis.Matrix.PosDef", - "Mathlib.Analysis.Normed.Algebra.MatrixExponential", - "Mathlib.Analysis.SpecialFunctions.Exponential", - "Mathlib.MeasureTheory.Measure.LevyConvergence", - "Mathlib.MeasureTheory.Measure.ProbabilityMeasure", - "Mathlib.Order.Filter.AtTopBot.CountablyGenerated", - "Mathlib.Probability.Distributions.Gaussian.Multivariate", - "Mathlib.Probability.Kernel.Composition.Comp", - "Mathlib.Probability.Kernel.Composition.CompProd", - "Mathlib.Probability.Kernel.Composition.MapComap", - "Mathlib.Tactic.NoncommRing", - "Mathlib.Topology.Instances.NNReal.Lemmas" + "FepSketches.finite_information" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.LinearGaussianSemigroup.LinearGaussianParameters", + "namespace": "FEP.MarkovBlanket", "namespace_variable_context": [ - "{Axis : Type*} [Fintype Axis] [DecidableEq Axis]" + "{Internal Sensory Active External : Type*}\n [Fintype Internal] [Fintype Sensory] [Fintype Active] [Fintype External]" ], "preceding_scope_directives": [], - "qualified_name": "FEP.LinearGaussianSemigroup.LinearGaussianParameters.transitionCovariance_add", - "source_line": 560, - "source_owner": "src/fep_lean/formal/linear_gaussian_semigroup.lean", - "statement": "theorem transitionCovariance_add\n (model : LinearGaussianParameters Axis) (left right : ℝ≥0) :\n model.transitionCovariance (left + right) =\n model.evolution right * model.transitionCovariance left *\n (model.evolution right)ᵀ +\n model.transitionCovariance right", - "statement_sha256": "4afa9b51f7502bb9b59adfd0a44793e9d95ca604dc2805534c3bcc78f07b885e" + "qualified_name": "FEP.MarkovBlanket.conditional_mutualInformation_zero", + "source_line": 66, + "source_owner": "src/fep_lean/formal/markov_blanket.lean", + "statement": "theorem conditional_mutualInformation_zero\n (model : StaticModel Internal Sensory Active External)\n (blanket : Blanket Sensory Active) :\n mutualInformation (conditionalJoint model blanket) = 0", + "statement_sha256": "3cbf614c63d29a067afcb34e92df5eabaf9082c1fe8506670c648d316e8e5796" }, - "FEP.LinearGaussianSemigroup.LinearGaussianParameters.transitionCovariance_posDef": { + "FEP.MarkovBlanket.staticJoint_factorization": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { @@ -73676,40 +79064,53 @@ "model" ], "role": "typed_binder", - "source": "(model : LinearGaussianParameters Axis)", - "type_source": "LinearGaussianParameters Axis", + "source": "(model : StaticModel Internal Sensory Active External)", + "type_source": "StaticModel Internal Sensory Active External", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "time" + "blanket" ], "role": "typed_binder", - "source": "(time : ℝ≥0)", - "type_source": "ℝ≥0", + "source": "(blanket : Blanket Sensory Active)", + "type_source": "Blanket Sensory Active", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "hTime" + "internal" ], "role": "typed_binder", - "source": "(hTime : 0 < time)", - "type_source": "0 < time", + "source": "(internal : Internal)", + "type_source": "Internal", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "external" + ], + "role": "typed_binder", + "source": "(external : External)", + "type_source": "External", "visibility": "explicit" } ], - "conclusion": "(model.transitionCovariance time).PosDef", + "conclusion": "staticJoint model ((blanket, internal), external) =\n (model.blanketLaw blanket * model.internalGiven blanket internal) *\n model.externalGiven blanket external", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Axis" + "Internal", + "Sensory", + "Active", + "External" ], "role": "typed_binder", - "source": "{Axis : Type*}", + "source": "{Internal Sensory Active External : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -73717,82 +79118,89 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Axis]", - "type_source": "Fintype Axis", + "source": "[Fintype Internal]", + "type_source": "Fintype Internal", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DecidableEq Axis]", - "type_source": "DecidableEq Axis", + "source": "[Fintype Sensory]", + "type_source": "Fintype Sensory", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Active]", + "type_source": "Fintype Active", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype External]", + "type_source": "Fintype External", "visibility": "instance" } ], "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.markov_semigroup", - "FepSketches.scalar_gaussian_semigroup", - "Mathlib.Analysis.Matrix.PosDef", - "Mathlib.Analysis.Normed.Algebra.MatrixExponential", - "Mathlib.Analysis.SpecialFunctions.Exponential", - "Mathlib.MeasureTheory.Measure.LevyConvergence", - "Mathlib.MeasureTheory.Measure.ProbabilityMeasure", - "Mathlib.Order.Filter.AtTopBot.CountablyGenerated", - "Mathlib.Probability.Distributions.Gaussian.Multivariate", - "Mathlib.Probability.Kernel.Composition.Comp", - "Mathlib.Probability.Kernel.Composition.CompProd", - "Mathlib.Probability.Kernel.Composition.MapComap", - "Mathlib.Tactic.NoncommRing", - "Mathlib.Topology.Instances.NNReal.Lemmas" + "FepSketches.finite_information" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.LinearGaussianSemigroup.LinearGaussianParameters", + "namespace": "FEP.MarkovBlanket", "namespace_variable_context": [ - "{Axis : Type*} [Fintype Axis] [DecidableEq Axis]" + "{Internal Sensory Active External : Type*}\n [Fintype Internal] [Fintype Sensory] [Fintype Active] [Fintype External]" ], "preceding_scope_directives": [], - "qualified_name": "FEP.LinearGaussianSemigroup.LinearGaussianParameters.transitionCovariance_posDef", - "source_line": 508, - "source_owner": "src/fep_lean/formal/linear_gaussian_semigroup.lean", - "statement": "theorem transitionCovariance_posDef\n (model : LinearGaussianParameters Axis) (time : ℝ≥0)\n (hTime : 0 < time) :\n (model.transitionCovariance time).PosDef", - "statement_sha256": "aa54abdf4a64bc91e182c158e835f58b64a6398098d0a509c569b1082be564c3" + "qualified_name": "FEP.MarkovBlanket.staticJoint_factorization", + "source_line": 49, + "source_owner": "src/fep_lean/formal/markov_blanket.lean", + "statement": "theorem staticJoint_factorization\n (model : StaticModel Internal Sensory Active External)\n (blanket : Blanket Sensory Active) (internal : Internal)\n (external : External) :\n staticJoint model ((blanket, internal), external) =\n (model.blanketLaw blanket * model.internalGiven blanket internal) *\n model.externalGiven blanket external", + "statement_sha256": "549bac9b820e79c7ca8fc3d9f1a08d7bbc0ae55a9580f196b6b184a07df9d17d" }, - "FEP.LinearGaussianSemigroup.LinearGaussianParameters.transitionCovariance_posSemidef": { + "FEP.MarkovBlanket.transition_eq_staticJoint_nextStaticModel": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "model" + "dynamics" ], "role": "typed_binder", - "source": "(model : LinearGaussianParameters Axis)", - "type_source": "LinearGaussianParameters Axis", + "source": "(dynamics : Dynamics Internal Sensory Active External)", + "type_source": "Dynamics Internal Sensory Active External", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "time" + "current", + "next" ], "role": "typed_binder", - "source": "(time : ℝ≥0)", - "type_source": "ℝ≥0", + "source": "(current next : DynamicState Internal Sensory Active External)", + "type_source": "DynamicState Internal Sensory Active External", "visibility": "explicit" } ], - "conclusion": "(model.transitionCovariance time).PosSemidef", + "conclusion": "transition dynamics current next =\n staticJoint (nextStaticModel dynamics current)\n (staticCoordinates next)", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Axis" + "Internal", + "Sensory", + "Active", + "External" ], "role": "typed_binder", - "source": "{Axis : Type*}", + "source": "{Internal Sensory Active External : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -73800,72 +79208,89 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Axis]", - "type_source": "Fintype Axis", + "source": "[Fintype Internal]", + "type_source": "Fintype Internal", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DecidableEq Axis]", - "type_source": "DecidableEq Axis", + "source": "[Fintype Sensory]", + "type_source": "Fintype Sensory", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Active]", + "type_source": "Fintype Active", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype External]", + "type_source": "Fintype External", "visibility": "instance" } ], "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.markov_semigroup", - "FepSketches.scalar_gaussian_semigroup", - "Mathlib.Analysis.Matrix.PosDef", - "Mathlib.Analysis.Normed.Algebra.MatrixExponential", - "Mathlib.Analysis.SpecialFunctions.Exponential", - "Mathlib.MeasureTheory.Measure.LevyConvergence", - "Mathlib.MeasureTheory.Measure.ProbabilityMeasure", - "Mathlib.Order.Filter.AtTopBot.CountablyGenerated", - "Mathlib.Probability.Distributions.Gaussian.Multivariate", - "Mathlib.Probability.Kernel.Composition.Comp", - "Mathlib.Probability.Kernel.Composition.CompProd", - "Mathlib.Probability.Kernel.Composition.MapComap", - "Mathlib.Tactic.NoncommRing", - "Mathlib.Topology.Instances.NNReal.Lemmas" + "FepSketches.finite_information" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.LinearGaussianSemigroup.LinearGaussianParameters", + "namespace": "FEP.MarkovBlanket", "namespace_variable_context": [ - "{Axis : Type*} [Fintype Axis] [DecidableEq Axis]" + "{Internal Sensory Active External : Type*}\n [Fintype Internal] [Fintype Sensory] [Fintype Active] [Fintype External]" ], "preceding_scope_directives": [], - "qualified_name": "FEP.LinearGaussianSemigroup.LinearGaussianParameters.transitionCovariance_posSemidef", - "source_line": 457, - "source_owner": "src/fep_lean/formal/linear_gaussian_semigroup.lean", - "statement": "theorem transitionCovariance_posSemidef\n (model : LinearGaussianParameters Axis) (time : ℝ≥0) :\n (model.transitionCovariance time).PosSemidef", - "statement_sha256": "b4ecf704927cf579285c2ee93bf55793e3beb0d343318e812102f61411a8d777" + "qualified_name": "FEP.MarkovBlanket.transition_eq_staticJoint_nextStaticModel", + "source_line": 189, + "source_owner": "src/fep_lean/formal/markov_blanket.lean", + "statement": "theorem transition_eq_staticJoint_nextStaticModel\n (dynamics : Dynamics Internal Sensory Active External)\n (current next : DynamicState Internal Sensory Active External) :\n transition dynamics current next =\n staticJoint (nextStaticModel dynamics current)\n (staticCoordinates next)", + "statement_sha256": "416486a3cce3fab40e6cca88cb75abb9b706cd33b662c36fe428867eac8a8c06" }, - "FEP.LinearGaussianSemigroup.LinearGaussianParameters.transitionCovariance_zero": { + "FEP.MarkovBlanket.transition_factorization": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "model" + "dynamics" ], "role": "typed_binder", - "source": "(model : LinearGaussianParameters Axis)", - "type_source": "LinearGaussianParameters Axis", + "source": "(dynamics : Dynamics Internal Sensory Active External)", + "type_source": "Dynamics Internal Sensory Active External", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "current", + "next" + ], + "role": "typed_binder", + "source": "(current next : DynamicState Internal Sensory Active External)", + "type_source": "DynamicState Internal Sensory Active External", "visibility": "explicit" } ], - "conclusion": "model.transitionCovariance 0 = 0", + "conclusion": "transition dynamics current next =\n dynamics.internalFlow (current.1, current.2.1) next.1 *\n (dynamics.sensoryFlow (current.2.2.2, current.2.2.1) next.2.1 *\n (dynamics.activeFlow (current.1, current.2.1) next.2.2.1 *\n dynamics.externalFlow\n (current.2.2.2, current.2.2.1) next.2.2.2))", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Axis" + "Internal", + "Sensory", + "Active", + "External" ], "role": "typed_binder", - "source": "{Axis : Type*}", + "source": "{Internal Sensory Active External : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -73873,93 +79298,99 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Axis]", - "type_source": "Fintype Axis", + "source": "[Fintype Internal]", + "type_source": "Fintype Internal", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DecidableEq Axis]", - "type_source": "DecidableEq Axis", + "source": "[Fintype Sensory]", + "type_source": "Fintype Sensory", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Active]", + "type_source": "Fintype Active", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype External]", + "type_source": "Fintype External", "visibility": "instance" } ], "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.markov_semigroup", - "FepSketches.scalar_gaussian_semigroup", - "Mathlib.Analysis.Matrix.PosDef", - "Mathlib.Analysis.Normed.Algebra.MatrixExponential", - "Mathlib.Analysis.SpecialFunctions.Exponential", - "Mathlib.MeasureTheory.Measure.LevyConvergence", - "Mathlib.MeasureTheory.Measure.ProbabilityMeasure", - "Mathlib.Order.Filter.AtTopBot.CountablyGenerated", - "Mathlib.Probability.Distributions.Gaussian.Multivariate", - "Mathlib.Probability.Kernel.Composition.Comp", - "Mathlib.Probability.Kernel.Composition.CompProd", - "Mathlib.Probability.Kernel.Composition.MapComap", - "Mathlib.Tactic.NoncommRing", - "Mathlib.Topology.Instances.NNReal.Lemmas" + "FepSketches.finite_information" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.LinearGaussianSemigroup.LinearGaussianParameters", + "namespace": "FEP.MarkovBlanket", "namespace_variable_context": [ - "{Axis : Type*} [Fintype Axis] [DecidableEq Axis]" + "{Internal Sensory Active External : Type*}\n [Fintype Internal] [Fintype Sensory] [Fintype Active] [Fintype External]" ], "preceding_scope_directives": [], - "qualified_name": "FEP.LinearGaussianSemigroup.LinearGaussianParameters.transitionCovariance_zero", - "source_line": 452, - "source_owner": "src/fep_lean/formal/linear_gaussian_semigroup.lean", - "statement": "theorem transitionCovariance_zero (model : LinearGaussianParameters Axis) :\n model.transitionCovariance 0 = 0", - "statement_sha256": "9e161ff4cf160f0a1cb6cb5f8ee651e382b3eb409e088e8f7119a25f2c5011f6" + "qualified_name": "FEP.MarkovBlanket.transition_factorization", + "source_line": 174, + "source_owner": "src/fep_lean/formal/markov_blanket.lean", + "statement": "theorem transition_factorization\n (dynamics : Dynamics Internal Sensory Active External)\n (current next : DynamicState Internal Sensory Active External) :\n transition dynamics current next =\n dynamics.internalFlow (current.1, current.2.1) next.1 *\n (dynamics.sensoryFlow (current.2.2.2, current.2.2.1) next.2.1 *\n (dynamics.activeFlow (current.1, current.2.1) next.2.2.1 *\n dynamics.externalFlow\n (current.2.2.2, current.2.2.1) next.2.2.2))", + "statement_sha256": "e96acf19240e98fe3483940433f1e66f7d0f8ffe80973b5b9c3112969545b1bc" }, - "FEP.LinearGaussianSemigroup.LinearGaussianParameters.transitionMean_add": { + "FEP.MarkovBlanket.transition_row_conditional_factorization": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "model" + "dynamics" ], "role": "typed_binder", - "source": "(model : LinearGaussianParameters Axis)", - "type_source": "LinearGaussianParameters Axis", + "source": "(dynamics : Dynamics Internal Sensory Active External)", + "type_source": "Dynamics Internal Sensory Active External", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "left", - "right" + "current", + "next" ], "role": "typed_binder", - "source": "(left right : ℝ≥0)", - "type_source": "ℝ≥0", + "source": "(current next : DynamicState Internal Sensory Active External)", + "type_source": "DynamicState Internal Sensory Active External", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "state" + "hblanket" ], "role": "typed_binder", - "source": "(state : State Axis)", - "type_source": "State Axis", + "source": "(hblanket :\n 0 < (nextStaticModel dynamics current).blanketLaw\n (next.2.1, next.2.2.1))", + "type_source": "0 < (nextStaticModel dynamics current).blanketLaw\n (next.2.1, next.2.2.1)", "visibility": "explicit" } ], - "conclusion": "model.transitionMean (left + right) state =\n model.transitionMean right (model.transitionMean left state)", + "conclusion": "transition dynamics current next /\n (nextStaticModel dynamics current).blanketLaw\n (next.2.1, next.2.2.1) =\n conditionalJoint (nextStaticModel dynamics current)\n (next.2.1, next.2.2.1) (next.1, next.2.2.2)", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Axis" + "Internal", + "Sensory", + "Active", + "External" ], "role": "typed_binder", - "source": "{Axis : Type*}", + "source": "{Internal Sensory Active External : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -73967,82 +79398,111 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Axis]", - "type_source": "Fintype Axis", + "source": "[Fintype Internal]", + "type_source": "Fintype Internal", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DecidableEq Axis]", - "type_source": "DecidableEq Axis", + "source": "[Fintype Sensory]", + "type_source": "Fintype Sensory", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Active]", + "type_source": "Fintype Active", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype External]", + "type_source": "Fintype External", "visibility": "instance" } ], - "declaration_mentions": [], + "declaration_mentions": [ + { + "identifier": "conditional_internal_external_factorization", + "qualified_name": "FEP.MarkovBlanket.conditional_internal_external_factorization", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + }, + { + "identifier": "transition_eq_staticJoint_nextStaticModel", + "qualified_name": "FEP.MarkovBlanket.transition_eq_staticJoint_nextStaticModel", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + } + ], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.markov_semigroup", - "FepSketches.scalar_gaussian_semigroup", - "Mathlib.Analysis.Matrix.PosDef", - "Mathlib.Analysis.Normed.Algebra.MatrixExponential", - "Mathlib.Analysis.SpecialFunctions.Exponential", - "Mathlib.MeasureTheory.Measure.LevyConvergence", - "Mathlib.MeasureTheory.Measure.ProbabilityMeasure", - "Mathlib.Order.Filter.AtTopBot.CountablyGenerated", - "Mathlib.Probability.Distributions.Gaussian.Multivariate", - "Mathlib.Probability.Kernel.Composition.Comp", - "Mathlib.Probability.Kernel.Composition.CompProd", - "Mathlib.Probability.Kernel.Composition.MapComap", - "Mathlib.Tactic.NoncommRing", - "Mathlib.Topology.Instances.NNReal.Lemmas" + "FepSketches.finite_information" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.LinearGaussianSemigroup.LinearGaussianParameters", + "namespace": "FEP.MarkovBlanket", "namespace_variable_context": [ - "{Axis : Type*} [Fintype Axis] [DecidableEq Axis]" + "{Internal Sensory Active External : Type*}\n [Fintype Internal] [Fintype Sensory] [Fintype Active] [Fintype External]" ], "preceding_scope_directives": [], - "qualified_name": "FEP.LinearGaussianSemigroup.LinearGaussianParameters.transitionMean_add", - "source_line": 443, - "source_owner": "src/fep_lean/formal/linear_gaussian_semigroup.lean", - "statement": "theorem transitionMean_add (model : LinearGaussianParameters Axis)\n (left right : ℝ≥0) (state : State Axis) :\n model.transitionMean (left + right) state =\n model.transitionMean right (model.transitionMean left state)", - "statement_sha256": "f236702aeca249c8c1185d0609bea67a90bc7886ecc5f94814f109028823f9e5" + "qualified_name": "FEP.MarkovBlanket.transition_row_conditional_factorization", + "source_line": 216, + "source_owner": "src/fep_lean/formal/markov_blanket.lean", + "statement": "theorem transition_row_conditional_factorization\n (dynamics : Dynamics Internal Sensory Active External)\n (current next : DynamicState Internal Sensory Active External)\n (hblanket :\n 0 < (nextStaticModel dynamics current).blanketLaw\n (next.2.1, next.2.2.1)) :\n transition dynamics current next /\n (nextStaticModel dynamics current).blanketLaw\n (next.2.1, next.2.2.1) =\n conditionalJoint (nextStaticModel dynamics current)\n (next.2.1, next.2.2.1) (next.1, next.2.2.2)", + "statement_sha256": "8afc292c6df134ae2a40092366b55e2ee066df9eb8ebf3c74d7b216f64eef474" }, - "FEP.LinearGaussianSemigroup.LinearGaussianParameters.transitionMean_zero": { + "FEP.MarkovBlanket.transition_row_conditional_mutualInformation_zero": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "model" + "dynamics" ], "role": "typed_binder", - "source": "(model : LinearGaussianParameters Axis)", - "type_source": "LinearGaussianParameters Axis", + "source": "(dynamics : Dynamics Internal Sensory Active External)", + "type_source": "Dynamics Internal Sensory Active External", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "state" + "current" ], "role": "typed_binder", - "source": "(state : State Axis)", - "type_source": "State Axis", + "source": "(current : DynamicState Internal Sensory Active External)", + "type_source": "DynamicState Internal Sensory Active External", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "blanket" + ], + "role": "typed_binder", + "source": "(blanket : Blanket Sensory Active)", + "type_source": "Blanket Sensory Active", "visibility": "explicit" } ], - "conclusion": "model.transitionMean 0 state = state", + "conclusion": "mutualInformation\n (conditionalJoint (nextStaticModel dynamics current) blanket) = 0", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Axis" + "Internal", + "Sensory", + "Active", + "External" ], "role": "typed_binder", - "source": "{Axis : Type*}", + "source": "{Internal Sensory Active External : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -74050,82 +79510,154 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Axis]", - "type_source": "Fintype Axis", + "source": "[Fintype Internal]", + "type_source": "Fintype Internal", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DecidableEq Axis]", - "type_source": "DecidableEq Axis", + "source": "[Fintype Sensory]", + "type_source": "Fintype Sensory", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Active]", + "type_source": "Fintype Active", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype External]", + "type_source": "Fintype External", "visibility": "instance" } ], - "declaration_mentions": [], + "declaration_mentions": [ + { + "identifier": "conditional_mutualInformation_zero", + "qualified_name": "FEP.MarkovBlanket.conditional_mutualInformation_zero", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + } + ], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.markov_semigroup", - "FepSketches.scalar_gaussian_semigroup", - "Mathlib.Analysis.Matrix.PosDef", - "Mathlib.Analysis.Normed.Algebra.MatrixExponential", - "Mathlib.Analysis.SpecialFunctions.Exponential", - "Mathlib.MeasureTheory.Measure.LevyConvergence", - "Mathlib.MeasureTheory.Measure.ProbabilityMeasure", - "Mathlib.Order.Filter.AtTopBot.CountablyGenerated", - "Mathlib.Probability.Distributions.Gaussian.Multivariate", - "Mathlib.Probability.Kernel.Composition.Comp", - "Mathlib.Probability.Kernel.Composition.CompProd", - "Mathlib.Probability.Kernel.Composition.MapComap", - "Mathlib.Tactic.NoncommRing", - "Mathlib.Topology.Instances.NNReal.Lemmas" + "FepSketches.finite_information" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.LinearGaussianSemigroup.LinearGaussianParameters", + "namespace": "FEP.MarkovBlanket", "namespace_variable_context": [ - "{Axis : Type*} [Fintype Axis] [DecidableEq Axis]" + "{Internal Sensory Active External : Type*}\n [Fintype Internal] [Fintype Sensory] [Fintype Active] [Fintype External]" ], "preceding_scope_directives": [], - "qualified_name": "FEP.LinearGaussianSemigroup.LinearGaussianParameters.transitionMean_zero", - "source_line": 425, - "source_owner": "src/fep_lean/formal/linear_gaussian_semigroup.lean", - "statement": "theorem transitionMean_zero (model : LinearGaussianParameters Axis)\n (state : State Axis) :\n model.transitionMean 0 state = state", - "statement_sha256": "7d33cbe328cb608a8a6b78043f6967debbc1f46a48c040ef2016c7e8a6e6f4ad" + "qualified_name": "FEP.MarkovBlanket.transition_row_conditional_mutualInformation_zero", + "source_line": 235, + "source_owner": "src/fep_lean/formal/markov_blanket.lean", + "statement": "theorem transition_row_conditional_mutualInformation_zero\n (dynamics : Dynamics Internal Sensory Active External)\n (current : DynamicState Internal Sensory Active External)\n (blanket : Blanket Sensory Active) :\n mutualInformation\n (conditionalJoint (nextStaticModel dynamics current) blanket) = 0", + "statement_sha256": "062598717fdef8c65dabd8be07468078b5bdd097f07cbc9711f7c609283f4030" }, - "FEP.LinearGaussianSemigroup.LinearGaussianParameters.transitionProbability_tendsto_invariant": { + "FEP.MarkovSemigroup.NativeActionIndexedKernelSemigroup.boolBlanketNativeActionIndexedSemigroup_false_kernel": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [ + "binders": [], + "conclusion": "sampledKernel boolBlanketNativeActionIndexedSemigroup false =\n (Kernel.id : Kernel FEP.ContinuousTimeMarkov.BoolBlanketState\n FEP.ContinuousTimeMarkov.BoolBlanketState)", + "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "model" + "State", + "Action" ], "role": "typed_binder", - "source": "(model : LinearGaussianParameters Axis)", - "type_source": "LinearGaussianParameters Axis", - "visibility": "explicit" + "source": "{State Action : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[MeasurableSpace State]", + "type_source": "MeasurableSpace State", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "state" + "kernel" ], "role": "typed_binder", - "source": "(state : State Axis)", - "type_source": "State Axis", - "visibility": "explicit" + "source": "{kernel : Action → ℝ≥0 → Kernel State State}", + "type_source": "Action → ℝ≥0 → Kernel State State", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[∀ action time, IsMarkovKernel (kernel action time)]", + "type_source": "∀ action time, IsMarkovKernel (kernel action time)", + "visibility": "instance" } ], - "conclusion": "Tendsto\n (fun time : ℝ≥0 => model.transitionProbability time state)\n atTop (𝓝 model.stationaryProbability)", + "declaration_mentions": [ + { + "identifier": "FEP.ContinuousTimeMarkov.boolBlanketActionIndexedSemigroup_false_kernel", + "qualified_name": "FEP.ContinuousTimeMarkov.boolBlanketActionIndexedSemigroup_false_kernel", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + }, + { + "identifier": "FEP.NativeBlanket.embeddedKernel_identity", + "qualified_name": "FEP.NativeBlanket.embeddedKernel_identity", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + }, + { + "identifier": "liftActionIndexedSemigroup_sampledKernel", + "qualified_name": "FEP.MarkovSemigroup.NativeActionIndexedKernelSemigroup.liftActionIndexedSemigroup_sampledKernel", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + } + ], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.continuous_time_markov", + "FepSketches.native_blanket", + "Mathlib.InformationTheory.KullbackLeibler.DataProcessing", + "Mathlib.Probability.Kernel.Invariance" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.MarkovSemigroup.NativeActionIndexedKernelSemigroup", + "namespace_variable_context": [ + "{State Action : Type*} [MeasurableSpace State]\n {kernel : Action → ℝ≥0 → Kernel State State}\n [∀ action time, IsMarkovKernel (kernel action time)]" + ], + "preceding_scope_directives": [], + "qualified_name": "FEP.MarkovSemigroup.NativeActionIndexedKernelSemigroup.boolBlanketNativeActionIndexedSemigroup_false_kernel", + "source_line": 238, + "source_owner": "src/fep_lean/formal/markov_semigroup.lean", + "statement": "theorem boolBlanketNativeActionIndexedSemigroup_false_kernel :\n sampledKernel boolBlanketNativeActionIndexedSemigroup false =\n (Kernel.id : Kernel FEP.ContinuousTimeMarkov.BoolBlanketState\n FEP.ContinuousTimeMarkov.BoolBlanketState)", + "statement_sha256": "bd1aa99a8e302027e5627880d88fe4e265d55ba30ff1e239ef798e7d38df611a" + }, + "FEP.MarkovSemigroup.NativeActionIndexedKernelSemigroup.boolBlanketNativeActionIndexedSemigroup_kernels_ne": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [], + "conclusion": "sampledKernel boolBlanketNativeActionIndexedSemigroup false ≠\n sampledKernel boolBlanketNativeActionIndexedSemigroup true", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Axis" + "State", + "Action" ], "role": "typed_binder", - "source": "{Axis : Type*}", + "source": "{State Action : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -74133,89 +79665,226 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Axis]", - "type_source": "Fintype Axis", + "source": "[MeasurableSpace State]", + "type_source": "MeasurableSpace State", "visibility": "instance" }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "kernel" + ], + "role": "typed_binder", + "source": "{kernel : Action → ℝ≥0 → Kernel State State}", + "type_source": "Action → ℝ≥0 → Kernel State State", + "visibility": "implicit" + }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DecidableEq Axis]", - "type_source": "DecidableEq Axis", + "source": "[∀ action time, IsMarkovKernel (kernel action time)]", + "type_source": "∀ action time, IsMarkovKernel (kernel action time)", "visibility": "instance" } ], - "declaration_mentions": [], + "declaration_mentions": [ + { + "identifier": "FEP.ContinuousTimeMarkov.blanketRefreshSemigroup_transition_pos", + "qualified_name": "FEP.ContinuousTimeMarkov.blanketRefreshSemigroup_transition_pos", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + }, + { + "identifier": "FEP.NativeBlanket.embeddedKernel_apply_singleton", + "qualified_name": "FEP.NativeBlanket.embeddedKernel_apply_singleton", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + }, + { + "identifier": "boolBlanketNativeActionIndexedSemigroup_false_kernel", + "qualified_name": "FEP.MarkovSemigroup.NativeActionIndexedKernelSemigroup.boolBlanketNativeActionIndexedSemigroup_false_kernel", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + }, + { + "identifier": "boolBlanketNativeActionIndexedSemigroup_true_kernel", + "qualified_name": "FEP.MarkovSemigroup.NativeActionIndexedKernelSemigroup.boolBlanketNativeActionIndexedSemigroup_true_kernel", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + } + ], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.markov_semigroup", - "FepSketches.scalar_gaussian_semigroup", - "Mathlib.Analysis.Matrix.PosDef", - "Mathlib.Analysis.Normed.Algebra.MatrixExponential", - "Mathlib.Analysis.SpecialFunctions.Exponential", - "Mathlib.MeasureTheory.Measure.LevyConvergence", - "Mathlib.MeasureTheory.Measure.ProbabilityMeasure", - "Mathlib.Order.Filter.AtTopBot.CountablyGenerated", - "Mathlib.Probability.Distributions.Gaussian.Multivariate", - "Mathlib.Probability.Kernel.Composition.Comp", - "Mathlib.Probability.Kernel.Composition.CompProd", - "Mathlib.Probability.Kernel.Composition.MapComap", - "Mathlib.Tactic.NoncommRing", - "Mathlib.Topology.Instances.NNReal.Lemmas" + "FepSketches.continuous_time_markov", + "FepSketches.native_blanket", + "Mathlib.InformationTheory.KullbackLeibler.DataProcessing", + "Mathlib.Probability.Kernel.Invariance" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.LinearGaussianSemigroup.LinearGaussianParameters", + "namespace": "FEP.MarkovSemigroup.NativeActionIndexedKernelSemigroup", "namespace_variable_context": [ - "{Axis : Type*} [Fintype Axis] [DecidableEq Axis]" + "{State Action : Type*} [MeasurableSpace State]\n {kernel : Action → ℝ≥0 → Kernel State State}\n [∀ action time, IsMarkovKernel (kernel action time)]" ], - "preceding_scope_directives": [ + "preceding_scope_directives": [], + "qualified_name": "FEP.MarkovSemigroup.NativeActionIndexedKernelSemigroup.boolBlanketNativeActionIndexedSemigroup_kernels_ne", + "source_line": 275, + "source_owner": "src/fep_lean/formal/markov_semigroup.lean", + "statement": "theorem boolBlanketNativeActionIndexedSemigroup_kernels_ne :\n sampledKernel boolBlanketNativeActionIndexedSemigroup false ≠\n sampledKernel boolBlanketNativeActionIndexedSemigroup true", + "statement_sha256": "931a5da60bcdff5edb69667f013943659624a97de40e4b23b37afbba489f08f8" + }, + "FEP.MarkovSemigroup.NativeActionIndexedKernelSemigroup.boolBlanketNativeActionIndexedSemigroup_true_kernel": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [], + "conclusion": "sampledKernel boolBlanketNativeActionIndexedSemigroup true =\n FEP.NativeBlanket.embeddedKernel\n FEP.ContinuousTimeMarkov.boolBlanketRefreshKernel", + "context_binders": [ { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DecidableEq Axis] in" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "State", + "Action" + ], + "role": "typed_binder", + "source": "{State Action : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[MeasurableSpace State]", + "type_source": "MeasurableSpace State", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "kernel" + ], + "role": "typed_binder", + "source": "{kernel : Action → ℝ≥0 → Kernel State State}", + "type_source": "Action → ℝ≥0 → Kernel State State", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[∀ action time, IsMarkovKernel (kernel action time)]", + "type_source": "∀ action time, IsMarkovKernel (kernel action time)", + "visibility": "instance" } ], - "qualified_name": "FEP.LinearGaussianSemigroup.LinearGaussianParameters.transitionProbability_tendsto_invariant", - "source_line": 1123, - "source_owner": "src/fep_lean/formal/linear_gaussian_semigroup.lean", - "statement": "theorem transitionProbability_tendsto_invariant\n (model : LinearGaussianParameters Axis) (state : State Axis) :\n Tendsto\n (fun time : ℝ≥0 => model.transitionProbability time state)\n atTop (𝓝 model.stationaryProbability)", - "statement_sha256": "a360c460e730e37ac551af24fbbc899f0127d472f68b5cf2c9d00636931af208" + "declaration_mentions": [ + { + "identifier": "FEP.ContinuousTimeMarkov.boolBlanketActionIndexedSemigroup_true_kernel", + "qualified_name": "FEP.ContinuousTimeMarkov.boolBlanketActionIndexedSemigroup_true_kernel", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + }, + { + "identifier": "liftActionIndexedSemigroup_sampledKernel", + "qualified_name": "FEP.MarkovSemigroup.NativeActionIndexedKernelSemigroup.liftActionIndexedSemigroup_sampledKernel", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + } + ], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.continuous_time_markov", + "FepSketches.native_blanket", + "Mathlib.InformationTheory.KullbackLeibler.DataProcessing", + "Mathlib.Probability.Kernel.Invariance" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.MarkovSemigroup.NativeActionIndexedKernelSemigroup", + "namespace_variable_context": [ + "{State Action : Type*} [MeasurableSpace State]\n {kernel : Action → ℝ≥0 → Kernel State State}\n [∀ action time, IsMarkovKernel (kernel action time)]" + ], + "preceding_scope_directives": [], + "qualified_name": "FEP.MarkovSemigroup.NativeActionIndexedKernelSemigroup.boolBlanketNativeActionIndexedSemigroup_true_kernel", + "source_line": 258, + "source_owner": "src/fep_lean/formal/markov_semigroup.lean", + "statement": "theorem boolBlanketNativeActionIndexedSemigroup_true_kernel :\n sampledKernel boolBlanketNativeActionIndexedSemigroup true =\n FEP.NativeBlanket.embeddedKernel\n FEP.ContinuousTimeMarkov.boolBlanketRefreshKernel", + "statement_sha256": "4557c2b23f7b628f701de8075b9ad65ae895e534361027934956bdda9c5c0fbf" }, - "FEP.LinearGaussianSemigroup.LinearGaussianParameters.transition_add": { + "FEP.MarkovSemigroup.NativeActionIndexedKernelSemigroup.liftActionIndexedSemigroup_kernel": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype State]", + "type_source": "Fintype State", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DecidableEq State]", + "type_source": "DecidableEq State", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DiscreteMeasurableSpace State]", + "type_source": "DiscreteMeasurableSpace State", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Action]", + "type_source": "Fintype Action", + "visibility": "instance" + }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "model" + "indexed" ], "role": "typed_binder", - "source": "(model : LinearGaussianParameters Axis)", - "type_source": "LinearGaussianParameters Axis", + "source": "(indexed : FEP.ContinuousTimeMarkov.ActionIndexedSemigroup State Action)", + "type_source": "FEP.ContinuousTimeMarkov.ActionIndexedSemigroup State Action", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "left", - "right" + "action" ], "role": "typed_binder", - "source": "(left right : ℝ≥0)", + "source": "(action : Action)", + "type_source": "Action", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "time" + ], + "role": "typed_binder", + "source": "(time : ℝ≥0)", "type_source": "ℝ≥0", "visibility": "explicit" } ], - "conclusion": "model.transition (left + right) =\n model.transition right ∘ₖ model.transition left", + "conclusion": "embeddedActionKernelFamily indexed action time =\n FEP.NativeBlanket.embeddedKernel\n ((indexed.semigroup action).kernel time.1 time.2)", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Axis" + "State", + "Action" ], "role": "typed_binder", - "source": "{Axis : Type*}", + "source": "{State Action : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -74223,92 +79892,115 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Axis]", - "type_source": "Fintype Axis", + "source": "[MeasurableSpace State]", + "type_source": "MeasurableSpace State", "visibility": "instance" }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "kernel" + ], + "role": "typed_binder", + "source": "{kernel : Action → ℝ≥0 → Kernel State State}", + "type_source": "Action → ℝ≥0 → Kernel State State", + "visibility": "implicit" + }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DecidableEq Axis]", - "type_source": "DecidableEq Axis", + "source": "[∀ action time, IsMarkovKernel (kernel action time)]", + "type_source": "∀ action time, IsMarkovKernel (kernel action time)", "visibility": "instance" } ], "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.markov_semigroup", - "FepSketches.scalar_gaussian_semigroup", - "Mathlib.Analysis.Matrix.PosDef", - "Mathlib.Analysis.Normed.Algebra.MatrixExponential", - "Mathlib.Analysis.SpecialFunctions.Exponential", - "Mathlib.MeasureTheory.Measure.LevyConvergence", - "Mathlib.MeasureTheory.Measure.ProbabilityMeasure", - "Mathlib.Order.Filter.AtTopBot.CountablyGenerated", - "Mathlib.Probability.Distributions.Gaussian.Multivariate", - "Mathlib.Probability.Kernel.Composition.Comp", - "Mathlib.Probability.Kernel.Composition.CompProd", - "Mathlib.Probability.Kernel.Composition.MapComap", - "Mathlib.Tactic.NoncommRing", - "Mathlib.Topology.Instances.NNReal.Lemmas" + "FepSketches.continuous_time_markov", + "FepSketches.native_blanket", + "Mathlib.InformationTheory.KullbackLeibler.DataProcessing", + "Mathlib.Probability.Kernel.Invariance" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.LinearGaussianSemigroup.LinearGaussianParameters", + "namespace": "FEP.MarkovSemigroup.NativeActionIndexedKernelSemigroup", "namespace_variable_context": [ - "{Axis : Type*} [Fintype Axis] [DecidableEq Axis]" + "{State Action : Type*} [MeasurableSpace State]\n {kernel : Action → ℝ≥0 → Kernel State State}\n [∀ action time, IsMarkovKernel (kernel action time)]" ], "preceding_scope_directives": [], - "qualified_name": "FEP.LinearGaussianSemigroup.LinearGaussianParameters.transition_add", - "source_line": 854, - "source_owner": "src/fep_lean/formal/linear_gaussian_semigroup.lean", - "statement": "theorem transition_add (model : LinearGaussianParameters Axis)\n (left right : ℝ≥0) :\n model.transition (left + right) =\n model.transition right ∘ₖ model.transition left", - "statement_sha256": "86058a245cb6a4f535b3ee0e57e4f926e10a5bf96ac1e0bb4283185c14dbf85e" + "qualified_name": "FEP.MarkovSemigroup.NativeActionIndexedKernelSemigroup.liftActionIndexedSemigroup_kernel", + "source_line": 196, + "source_owner": "src/fep_lean/formal/markov_semigroup.lean", + "statement": "theorem liftActionIndexedSemigroup_kernel\n [Fintype State] [DecidableEq State] [DiscreteMeasurableSpace State]\n [Fintype Action]\n (indexed : FEP.ContinuousTimeMarkov.ActionIndexedSemigroup State Action)\n (action : Action) (time : ℝ≥0) :\n embeddedActionKernelFamily indexed action time =\n FEP.NativeBlanket.embeddedKernel\n ((indexed.semigroup action).kernel time.1 time.2)", + "statement_sha256": "0a55e558726bfb846eda75d11c6d8bc81472a0dce9b61435a9cd8bb5c4a2015d" }, - "FEP.LinearGaussianSemigroup.LinearGaussianParameters.transition_apply": { + "FEP.MarkovSemigroup.NativeActionIndexedKernelSemigroup.liftActionIndexedSemigroup_sampleTime": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "model" - ], - "role": "typed_binder", - "source": "(model : LinearGaussianParameters Axis)", - "type_source": "LinearGaussianParameters Axis", - "visibility": "explicit" + "names": [], + "role": "instance_requirement", + "source": "[Fintype State]", + "type_source": "Fintype State", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DecidableEq State]", + "type_source": "DecidableEq State", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DiscreteMeasurableSpace State]", + "type_source": "DiscreteMeasurableSpace State", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Action]", + "type_source": "Fintype Action", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "time" + "indexed" ], "role": "typed_binder", - "source": "(time : ℝ≥0)", - "type_source": "ℝ≥0", + "source": "(indexed : FEP.ContinuousTimeMarkov.ActionIndexedSemigroup State Action)", + "type_source": "FEP.ContinuousTimeMarkov.ActionIndexedSemigroup State Action", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "state" + "action" ], "role": "typed_binder", - "source": "(state : State Axis)", - "type_source": "State Axis", + "source": "(action : Action)", + "type_source": "Action", "visibility": "explicit" } ], - "conclusion": "model.transition time state =\n multivariateGaussian (model.transitionMean time state)\n (model.transitionCovariance time)", + "conclusion": "(((liftActionIndexedSemigroup indexed).sampleTime action : ℝ)) =\n indexed.sampleTime action", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Axis" + "State", + "Action" ], "role": "typed_binder", - "source": "{Axis : Type*}", + "source": "{State Action : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -74316,112 +80008,115 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Axis]", - "type_source": "Fintype Axis", + "source": "[MeasurableSpace State]", + "type_source": "MeasurableSpace State", "visibility": "instance" }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "kernel" + ], + "role": "typed_binder", + "source": "{kernel : Action → ℝ≥0 → Kernel State State}", + "type_source": "Action → ℝ≥0 → Kernel State State", + "visibility": "implicit" + }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DecidableEq Axis]", - "type_source": "DecidableEq Axis", + "source": "[∀ action time, IsMarkovKernel (kernel action time)]", + "type_source": "∀ action time, IsMarkovKernel (kernel action time)", "visibility": "instance" } ], "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.markov_semigroup", - "FepSketches.scalar_gaussian_semigroup", - "Mathlib.Analysis.Matrix.PosDef", - "Mathlib.Analysis.Normed.Algebra.MatrixExponential", - "Mathlib.Analysis.SpecialFunctions.Exponential", - "Mathlib.MeasureTheory.Measure.LevyConvergence", - "Mathlib.MeasureTheory.Measure.ProbabilityMeasure", - "Mathlib.Order.Filter.AtTopBot.CountablyGenerated", - "Mathlib.Probability.Distributions.Gaussian.Multivariate", - "Mathlib.Probability.Kernel.Composition.Comp", - "Mathlib.Probability.Kernel.Composition.CompProd", - "Mathlib.Probability.Kernel.Composition.MapComap", - "Mathlib.Tactic.NoncommRing", - "Mathlib.Topology.Instances.NNReal.Lemmas" + "FepSketches.continuous_time_markov", + "FepSketches.native_blanket", + "Mathlib.InformationTheory.KullbackLeibler.DataProcessing", + "Mathlib.Probability.Kernel.Invariance" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.LinearGaussianSemigroup.LinearGaussianParameters", + "namespace": "FEP.MarkovSemigroup.NativeActionIndexedKernelSemigroup", "namespace_variable_context": [ - "{Axis : Type*} [Fintype Axis] [DecidableEq Axis]" + "{State Action : Type*} [MeasurableSpace State]\n {kernel : Action → ℝ≥0 → Kernel State State}\n [∀ action time, IsMarkovKernel (kernel action time)]" ], "preceding_scope_directives": [], - "qualified_name": "FEP.LinearGaussianSemigroup.LinearGaussianParameters.transition_apply", - "source_line": 608, - "source_owner": "src/fep_lean/formal/linear_gaussian_semigroup.lean", - "statement": "theorem transition_apply (model : LinearGaussianParameters Axis)\n (time : ℝ≥0) (state : State Axis) :\n model.transition time state =\n multivariateGaussian (model.transitionMean time state)\n (model.transitionCovariance time)", - "statement_sha256": "e05a4ab148b8ab0013c8aedb4db0a271ad4f9b1de84e13c3041dd3550af5b385" + "qualified_name": "FEP.MarkovSemigroup.NativeActionIndexedKernelSemigroup.liftActionIndexedSemigroup_sampleTime", + "source_line": 208, + "source_owner": "src/fep_lean/formal/markov_semigroup.lean", + "statement": "theorem liftActionIndexedSemigroup_sampleTime\n [Fintype State] [DecidableEq State] [DiscreteMeasurableSpace State]\n [Fintype Action]\n (indexed : FEP.ContinuousTimeMarkov.ActionIndexedSemigroup State Action)\n (action : Action) :\n (((liftActionIndexedSemigroup indexed).sampleTime action : ℝ)) =\n indexed.sampleTime action", + "statement_sha256": "4b0e3072ca64de53115eb4f8e99e3c4c41e3d1ed68f0f52cca0cdb630847819f" }, - "FEP.LinearGaussianSemigroup.LinearGaussianParameters.transition_comp_multivariateGaussian": { + "FEP.MarkovSemigroup.NativeActionIndexedKernelSemigroup.liftActionIndexedSemigroup_sampledKernel": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "model" - ], - "role": "typed_binder", - "source": "(model : LinearGaussianParameters Axis)", - "type_source": "LinearGaussianParameters Axis", - "visibility": "explicit" + "names": [], + "role": "instance_requirement", + "source": "[Fintype State]", + "type_source": "Fintype State", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "time" - ], - "role": "typed_binder", - "source": "(time : ℝ≥0)", - "type_source": "ℝ≥0", - "visibility": "explicit" + "names": [], + "role": "instance_requirement", + "source": "[DecidableEq State]", + "type_source": "DecidableEq State", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "sourceMean" - ], - "role": "typed_binder", - "source": "(sourceMean : State Axis)", - "type_source": "State Axis", - "visibility": "explicit" + "names": [], + "role": "instance_requirement", + "source": "[DiscreteMeasurableSpace State]", + "type_source": "DiscreteMeasurableSpace State", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Action]", + "type_source": "Fintype Action", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "sourceCovariance" + "indexed" ], "role": "typed_binder", - "source": "(sourceCovariance : Matrix Axis Axis ℝ)", - "type_source": "Matrix Axis Axis ℝ", + "source": "(indexed : FEP.ContinuousTimeMarkov.ActionIndexedSemigroup State Action)", + "type_source": "FEP.ContinuousTimeMarkov.ActionIndexedSemigroup State Action", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "hSourceCovariance" + "action" ], "role": "typed_binder", - "source": "(hSourceCovariance : sourceCovariance.PosSemidef)", - "type_source": "sourceCovariance.PosSemidef", + "source": "(action : Action)", + "type_source": "Action", "visibility": "explicit" } ], - "conclusion": "model.transition time ∘ₘ\n multivariateGaussian sourceMean sourceCovariance =\n multivariateGaussian\n (model.transitionMean time sourceMean)\n (model.evolution time * sourceCovariance *\n (model.evolution time)ᵀ +\n model.transitionCovariance time)", + "conclusion": "sampledKernel (liftActionIndexedSemigroup indexed) action =\n FEP.NativeBlanket.embeddedKernel (indexed.sampledKernel action)", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Axis" + "State", + "Action" ], "role": "typed_binder", - "source": "{Axis : Type*}", + "source": "{State Action : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -74429,103 +80124,106 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Axis]", - "type_source": "Fintype Axis", + "source": "[MeasurableSpace State]", + "type_source": "MeasurableSpace State", "visibility": "instance" }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "kernel" + ], + "role": "typed_binder", + "source": "{kernel : Action → ℝ≥0 → Kernel State State}", + "type_source": "Action → ℝ≥0 → Kernel State State", + "visibility": "implicit" + }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DecidableEq Axis]", - "type_source": "DecidableEq Axis", + "source": "[∀ action time, IsMarkovKernel (kernel action time)]", + "type_source": "∀ action time, IsMarkovKernel (kernel action time)", "visibility": "instance" } ], "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.markov_semigroup", - "FepSketches.scalar_gaussian_semigroup", - "Mathlib.Analysis.Matrix.PosDef", - "Mathlib.Analysis.Normed.Algebra.MatrixExponential", - "Mathlib.Analysis.SpecialFunctions.Exponential", - "Mathlib.MeasureTheory.Measure.LevyConvergence", - "Mathlib.MeasureTheory.Measure.ProbabilityMeasure", - "Mathlib.Order.Filter.AtTopBot.CountablyGenerated", - "Mathlib.Probability.Distributions.Gaussian.Multivariate", - "Mathlib.Probability.Kernel.Composition.Comp", - "Mathlib.Probability.Kernel.Composition.CompProd", - "Mathlib.Probability.Kernel.Composition.MapComap", - "Mathlib.Tactic.NoncommRing", - "Mathlib.Topology.Instances.NNReal.Lemmas" + "FepSketches.continuous_time_markov", + "FepSketches.native_blanket", + "Mathlib.InformationTheory.KullbackLeibler.DataProcessing", + "Mathlib.Probability.Kernel.Invariance" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.LinearGaussianSemigroup.LinearGaussianParameters", + "namespace": "FEP.MarkovSemigroup.NativeActionIndexedKernelSemigroup", "namespace_variable_context": [ - "{Axis : Type*} [Fintype Axis] [DecidableEq Axis]" + "{State Action : Type*} [MeasurableSpace State]\n {kernel : Action → ℝ≥0 → Kernel State State}\n [∀ action time, IsMarkovKernel (kernel action time)]" ], "preceding_scope_directives": [], - "qualified_name": "FEP.LinearGaussianSemigroup.LinearGaussianParameters.transition_comp_multivariateGaussian", - "source_line": 810, - "source_owner": "src/fep_lean/formal/linear_gaussian_semigroup.lean", - "statement": "theorem transition_comp_multivariateGaussian\n (model : LinearGaussianParameters Axis) (time : ℝ≥0)\n (sourceMean : State Axis)\n (sourceCovariance : Matrix Axis Axis ℝ)\n (hSourceCovariance : sourceCovariance.PosSemidef) :\n model.transition time ∘ₘ\n multivariateGaussian sourceMean sourceCovariance =\n multivariateGaussian\n (model.transitionMean time sourceMean)\n (model.evolution time * sourceCovariance *\n (model.evolution time)ᵀ +\n model.transitionCovariance time)", - "statement_sha256": "111487c2fe415320d5c644cee29f1975b0eed4fe2a584f99ad369f39f25123b4" + "qualified_name": "FEP.MarkovSemigroup.NativeActionIndexedKernelSemigroup.liftActionIndexedSemigroup_sampledKernel", + "source_line": 218, + "source_owner": "src/fep_lean/formal/markov_semigroup.lean", + "statement": "theorem liftActionIndexedSemigroup_sampledKernel\n [Fintype State] [DecidableEq State] [DiscreteMeasurableSpace State]\n [Fintype Action]\n (indexed : FEP.ContinuousTimeMarkov.ActionIndexedSemigroup State Action)\n (action : Action) :\n sampledKernel (liftActionIndexedSemigroup indexed) action =\n FEP.NativeBlanket.embeddedKernel (indexed.sampledKernel action)", + "statement_sha256": "03f786654e2e246450e3e1f04dc0cb288493cd306cf414d801cd2fbe05b9ef8a" }, - "FEP.LinearGaussianSemigroup.LinearGaussianParameters.transition_covariance": { + "FEP.MarkovSemigroup.NativeKernelSemigroup.liftFiniteMarkovSemigroup_kernel": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "model" - ], - "role": "typed_binder", - "source": "(model : LinearGaussianParameters Axis)", - "type_source": "LinearGaussianParameters Axis", - "visibility": "explicit" + "names": [], + "role": "instance_requirement", + "source": "[Fintype State]", + "type_source": "Fintype State", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "time" - ], - "role": "typed_binder", - "source": "(time : ℝ≥0)", - "type_source": "ℝ≥0", - "visibility": "explicit" + "names": [], + "role": "instance_requirement", + "source": "[DecidableEq State]", + "type_source": "DecidableEq State", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DiscreteMeasurableSpace State]", + "type_source": "DiscreteMeasurableSpace State", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "state" + "semigroup" ], "role": "typed_binder", - "source": "(state : State Axis)", - "type_source": "State Axis", + "source": "(semigroup : FEP.ContinuousTimeMarkov.FiniteMarkovSemigroup State)", + "type_source": "FEP.ContinuousTimeMarkov.FiniteMarkovSemigroup State", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "left", - "right" + "time" ], "role": "typed_binder", - "source": "(left right : Axis)", - "type_source": "Axis", + "source": "(time : ℝ≥0)", + "type_source": "ℝ≥0", "visibility": "explicit" } ], - "conclusion": "cov[fun next => next left, fun next => next right;\n model.transition time state] =\n model.transitionCovariance time left right", + "conclusion": "embeddedFiniteKernelFamily semigroup time =\n FEP.NativeBlanket.embeddedKernel\n (semigroup.kernel time.1 time.2)", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Axis" + "State" ], "role": "typed_binder", - "source": "{Axis : Type*}", + "source": "{State : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -74533,92 +80231,110 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Axis]", - "type_source": "Fintype Axis", + "source": "[MeasurableSpace State]", + "type_source": "MeasurableSpace State", "visibility": "instance" }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "kernel" + ], + "role": "typed_binder", + "source": "{kernel : ℝ≥0 → Kernel State State}", + "type_source": "ℝ≥0 → Kernel State State", + "visibility": "implicit" + }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DecidableEq Axis]", - "type_source": "DecidableEq Axis", + "source": "[∀ time, IsMarkovKernel (kernel time)]", + "type_source": "∀ time, IsMarkovKernel (kernel time)", "visibility": "instance" } ], "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.markov_semigroup", - "FepSketches.scalar_gaussian_semigroup", - "Mathlib.Analysis.Matrix.PosDef", - "Mathlib.Analysis.Normed.Algebra.MatrixExponential", - "Mathlib.Analysis.SpecialFunctions.Exponential", - "Mathlib.MeasureTheory.Measure.LevyConvergence", - "Mathlib.MeasureTheory.Measure.ProbabilityMeasure", - "Mathlib.Order.Filter.AtTopBot.CountablyGenerated", - "Mathlib.Probability.Distributions.Gaussian.Multivariate", - "Mathlib.Probability.Kernel.Composition.Comp", - "Mathlib.Probability.Kernel.Composition.CompProd", - "Mathlib.Probability.Kernel.Composition.MapComap", - "Mathlib.Tactic.NoncommRing", - "Mathlib.Topology.Instances.NNReal.Lemmas" + "FepSketches.continuous_time_markov", + "FepSketches.native_blanket", + "Mathlib.InformationTheory.KullbackLeibler.DataProcessing", + "Mathlib.Probability.Kernel.Invariance" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.LinearGaussianSemigroup.LinearGaussianParameters", + "namespace": "FEP.MarkovSemigroup.NativeKernelSemigroup", "namespace_variable_context": [ - "{Axis : Type*} [Fintype Axis] [DecidableEq Axis]" + "{State : Type*} [MeasurableSpace State]\n {kernel : ℝ≥0 → Kernel State State}\n [∀ time, IsMarkovKernel (kernel time)]" ], "preceding_scope_directives": [], - "qualified_name": "FEP.LinearGaussianSemigroup.LinearGaussianParameters.transition_covariance", - "source_line": 918, - "source_owner": "src/fep_lean/formal/linear_gaussian_semigroup.lean", - "statement": "theorem transition_covariance (model : LinearGaussianParameters Axis)\n (time : ℝ≥0) (state : State Axis) (left right : Axis) :\n cov[fun next => next left, fun next => next right;\n model.transition time state] =\n model.transitionCovariance time left right", - "statement_sha256": "f16b69b145e2382bf5f1a77df5875eaf5d7afff180f6cfce47f8e3538e57658e" + "qualified_name": "FEP.MarkovSemigroup.NativeKernelSemigroup.liftFiniteMarkovSemigroup_kernel", + "source_line": 132, + "source_owner": "src/fep_lean/formal/markov_semigroup.lean", + "statement": "theorem liftFiniteMarkovSemigroup_kernel\n [Fintype State] [DecidableEq State] [DiscreteMeasurableSpace State]\n (semigroup : FEP.ContinuousTimeMarkov.FiniteMarkovSemigroup State)\n (time : ℝ≥0) :\n embeddedFiniteKernelFamily semigroup time =\n FEP.NativeBlanket.embeddedKernel\n (semigroup.kernel time.1 time.2)", + "statement_sha256": "899aedd9d8fe02b7c247b982b0b1c3834bb41706667848f2f6e384ad0f1f5c46" }, - "FEP.LinearGaussianSemigroup.LinearGaussianParameters.transition_mean": { + "FEP.MarkovSemigroup.NativeKernelSemigroup.nativeKL_nonincrease": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "model" + "semigroup" ], "role": "typed_binder", - "source": "(model : LinearGaussianParameters Axis)", - "type_source": "LinearGaussianParameters Axis", + "source": "(semigroup : NativeKernelSemigroup kernel)", + "type_source": "NativeKernelSemigroup kernel", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "time" + "earlier", + "increment" ], "role": "typed_binder", - "source": "(time : ℝ≥0)", + "source": "(earlier increment : ℝ≥0)", "type_source": "ℝ≥0", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "state" + "actual", + "reference" ], "role": "typed_binder", - "source": "(state : State Axis)", - "type_source": "State Axis", + "source": "(actual reference : Measure State)", + "type_source": "Measure State", "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[IsFiniteMeasure actual]", + "type_source": "IsFiniteMeasure actual", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[IsFiniteMeasure reference]", + "type_source": "IsFiniteMeasure reference", + "visibility": "instance" } ], - "conclusion": "(∫ next, next ∂model.transition time state) =\n model.transitionMean time state", + "conclusion": "InformationTheory.klDiv (kernel (earlier + increment) ∘ₘ actual)\n (kernel (earlier + increment) ∘ₘ reference) ≤\n InformationTheory.klDiv (kernel earlier ∘ₘ actual)\n (kernel earlier ∘ₘ reference)", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Axis" + "State" ], "role": "typed_binder", - "source": "{Axis : Type*}", + "source": "{State : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -74626,165 +80342,120 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Axis]", - "type_source": "Fintype Axis", + "source": "[MeasurableSpace State]", + "type_source": "MeasurableSpace State", "visibility": "instance" }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "kernel" + ], + "role": "typed_binder", + "source": "{kernel : ℝ≥0 → Kernel State State}", + "type_source": "ℝ≥0 → Kernel State State", + "visibility": "implicit" + }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DecidableEq Axis]", - "type_source": "DecidableEq Axis", + "source": "[∀ time, IsMarkovKernel (kernel time)]", + "type_source": "∀ time, IsMarkovKernel (kernel time)", "visibility": "instance" } ], "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.markov_semigroup", - "FepSketches.scalar_gaussian_semigroup", - "Mathlib.Analysis.Matrix.PosDef", - "Mathlib.Analysis.Normed.Algebra.MatrixExponential", - "Mathlib.Analysis.SpecialFunctions.Exponential", - "Mathlib.MeasureTheory.Measure.LevyConvergence", - "Mathlib.MeasureTheory.Measure.ProbabilityMeasure", - "Mathlib.Order.Filter.AtTopBot.CountablyGenerated", - "Mathlib.Probability.Distributions.Gaussian.Multivariate", - "Mathlib.Probability.Kernel.Composition.Comp", - "Mathlib.Probability.Kernel.Composition.CompProd", - "Mathlib.Probability.Kernel.Composition.MapComap", - "Mathlib.Tactic.NoncommRing", - "Mathlib.Topology.Instances.NNReal.Lemmas" + "FepSketches.continuous_time_markov", + "FepSketches.native_blanket", + "Mathlib.InformationTheory.KullbackLeibler.DataProcessing", + "Mathlib.Probability.Kernel.Invariance" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.LinearGaussianSemigroup.LinearGaussianParameters", + "namespace": "FEP.MarkovSemigroup.NativeKernelSemigroup", "namespace_variable_context": [ - "{Axis : Type*} [Fintype Axis] [DecidableEq Axis]" + "{State : Type*} [MeasurableSpace State]\n {kernel : ℝ≥0 → Kernel State State}\n [∀ time, IsMarkovKernel (kernel time)]" ], "preceding_scope_directives": [], - "qualified_name": "FEP.LinearGaussianSemigroup.LinearGaussianParameters.transition_mean", - "source_line": 909, - "source_owner": "src/fep_lean/formal/linear_gaussian_semigroup.lean", - "statement": "theorem transition_mean (model : LinearGaussianParameters Axis)\n (time : ℝ≥0) (state : State Axis) :\n (∫ next, next ∂model.transition time state) =\n model.transitionMean time state", - "statement_sha256": "e7e7cfcb39500eb221aff8d10a33c22e461bf747dd465c63124efec1e4a7cdf6" + "qualified_name": "FEP.MarkovSemigroup.NativeKernelSemigroup.nativeKL_nonincrease", + "source_line": 93, + "source_owner": "src/fep_lean/formal/markov_semigroup.lean", + "statement": "theorem nativeKL_nonincrease\n (semigroup : NativeKernelSemigroup kernel)\n (earlier increment : ℝ≥0)\n (actual reference : Measure State)\n [IsFiniteMeasure actual] [IsFiniteMeasure reference] :\n InformationTheory.klDiv (kernel (earlier + increment) ∘ₘ actual)\n (kernel (earlier + increment) ∘ₘ reference) ≤\n InformationTheory.klDiv (kernel earlier ∘ₘ actual)\n (kernel earlier ∘ₘ reference)", + "statement_sha256": "d3d466ac9078304e917ca65efbb381109cddf9b778322254a5ac2c28f0e1fc43" }, - "FEP.LinearGaussianSemigroup.LinearGaussianParameters.transition_univ": { + "FEP.MarkovSemigroup.NativeKernelSemigroup.nativeKL_to_invariant_nonincrease": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "model" + "semigroup" ], "role": "typed_binder", - "source": "(model : LinearGaussianParameters Axis)", - "type_source": "LinearGaussianParameters Axis", + "source": "(semigroup : NativeKernelSemigroup kernel)", + "type_source": "NativeKernelSemigroup kernel", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "time" + "earlier", + "increment" ], "role": "typed_binder", - "source": "(time : ℝ≥0)", + "source": "(earlier increment : ℝ≥0)", "type_source": "ℝ≥0", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "state" + "actual", + "invariant" ], "role": "typed_binder", - "source": "(state : State Axis)", - "type_source": "State Axis", + "source": "(actual invariant : Measure State)", + "type_source": "Measure State", "visibility": "explicit" - } - ], - "conclusion": "model.transition time state Set.univ = 1", - "context_binders": [ - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "Axis" - ], - "role": "typed_binder", - "source": "{Axis : Type*}", - "type_source": "Type*", - "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Axis]", - "type_source": "Fintype Axis", + "source": "[IsFiniteMeasure actual]", + "type_source": "IsFiniteMeasure actual", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DecidableEq Axis]", - "type_source": "DecidableEq Axis", + "source": "[IsFiniteMeasure invariant]", + "type_source": "IsFiniteMeasure invariant", "visibility": "instance" - } - ], - "declaration_mentions": [], - "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", - "import_context": [ - "FepSketches.markov_semigroup", - "FepSketches.scalar_gaussian_semigroup", - "Mathlib.Analysis.Matrix.PosDef", - "Mathlib.Analysis.Normed.Algebra.MatrixExponential", - "Mathlib.Analysis.SpecialFunctions.Exponential", - "Mathlib.MeasureTheory.Measure.LevyConvergence", - "Mathlib.MeasureTheory.Measure.ProbabilityMeasure", - "Mathlib.Order.Filter.AtTopBot.CountablyGenerated", - "Mathlib.Probability.Distributions.Gaussian.Multivariate", - "Mathlib.Probability.Kernel.Composition.Comp", - "Mathlib.Probability.Kernel.Composition.CompProd", - "Mathlib.Probability.Kernel.Composition.MapComap", - "Mathlib.Tactic.NoncommRing", - "Mathlib.Topology.Instances.NNReal.Lemmas" - ], - "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.LinearGaussianSemigroup.LinearGaussianParameters", - "namespace_variable_context": [ - "{Axis : Type*} [Fintype Axis] [DecidableEq Axis]" - ], - "preceding_scope_directives": [], - "qualified_name": "FEP.LinearGaussianSemigroup.LinearGaussianParameters.transition_univ", - "source_line": 630, - "source_owner": "src/fep_lean/formal/linear_gaussian_semigroup.lean", - "statement": "theorem transition_univ (model : LinearGaussianParameters Axis)\n (time : ℝ≥0) (state : State Axis) :\n model.transition time state Set.univ = 1", - "statement_sha256": "fbc80c30beab40b9cc63a2bb67e768ddcf0540a614364332039674ae127ed7b0" - }, - "FEP.LinearGaussianSemigroup.LinearGaussianParameters.transition_zero": { - "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [ + }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "model" + "hInvariant" ], "role": "typed_binder", - "source": "(model : LinearGaussianParameters Axis)", - "type_source": "LinearGaussianParameters Axis", + "source": "(hInvariant : InvariantLaw semigroup invariant)", + "type_source": "InvariantLaw semigroup invariant", "visibility": "explicit" } ], - "conclusion": "model.transition 0 = Kernel.id", + "conclusion": "InformationTheory.klDiv\n (kernel (earlier + increment) ∘ₘ actual) invariant ≤\n InformationTheory.klDiv (kernel earlier ∘ₘ actual) invariant", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Axis" + "State" ], "role": "typed_binder", - "source": "{Axis : Type*}", + "source": "{State : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -74792,163 +80463,99 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Axis]", - "type_source": "Fintype Axis", + "source": "[MeasurableSpace State]", + "type_source": "MeasurableSpace State", "visibility": "instance" }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[DecidableEq Axis]", - "type_source": "DecidableEq Axis", - "visibility": "instance" - } - ], - "declaration_mentions": [], - "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", - "import_context": [ - "FepSketches.markov_semigroup", - "FepSketches.scalar_gaussian_semigroup", - "Mathlib.Analysis.Matrix.PosDef", - "Mathlib.Analysis.Normed.Algebra.MatrixExponential", - "Mathlib.Analysis.SpecialFunctions.Exponential", - "Mathlib.MeasureTheory.Measure.LevyConvergence", - "Mathlib.MeasureTheory.Measure.ProbabilityMeasure", - "Mathlib.Order.Filter.AtTopBot.CountablyGenerated", - "Mathlib.Probability.Distributions.Gaussian.Multivariate", - "Mathlib.Probability.Kernel.Composition.Comp", - "Mathlib.Probability.Kernel.Composition.CompProd", - "Mathlib.Probability.Kernel.Composition.MapComap", - "Mathlib.Tactic.NoncommRing", - "Mathlib.Topology.Instances.NNReal.Lemmas" - ], - "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.LinearGaussianSemigroup.LinearGaussianParameters", - "namespace_variable_context": [ - "{Axis : Type*} [Fintype Axis] [DecidableEq Axis]" - ], - "preceding_scope_directives": [], - "qualified_name": "FEP.LinearGaussianSemigroup.LinearGaussianParameters.transition_zero", - "source_line": 637, - "source_owner": "src/fep_lean/formal/linear_gaussian_semigroup.lean", - "statement": "theorem transition_zero (model : LinearGaussianParameters Axis) :\n model.transition 0 = Kernel.id", - "statement_sha256": "c68ce184d77cac35b0d329f8f759874999be9e299309c1827abbe0b7dacd559b" - }, - "FEP.MarkovBlanket.boolDynamics_nontrivial": { - "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [], - "conclusion": "let current : DynamicState Bool Bool Bool Bool", - "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Internal", - "Sensory", - "Active", - "External" + "kernel" ], "role": "typed_binder", - "source": "{Internal Sensory Active External : Type*}", - "type_source": "Type*", + "source": "{kernel : ℝ≥0 → Kernel State State}", + "type_source": "ℝ≥0 → Kernel State State", "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Internal]", - "type_source": "Fintype Internal", - "visibility": "instance" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype Sensory]", - "type_source": "Fintype Sensory", - "visibility": "instance" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype Active]", - "type_source": "Fintype Active", + "source": "[∀ time, IsMarkovKernel (kernel time)]", + "type_source": "∀ time, IsMarkovKernel (kernel time)", "visibility": "instance" - }, + } + ], + "declaration_mentions": [ { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype External]", - "type_source": "Fintype External", - "visibility": "instance" + "identifier": "nativeKL_nonincrease", + "qualified_name": "FEP.MarkovSemigroup.NativeKernelSemigroup.nativeKL_nonincrease", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" } ], - "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.finite_information" + "FepSketches.continuous_time_markov", + "FepSketches.native_blanket", + "Mathlib.InformationTheory.KullbackLeibler.DataProcessing", + "Mathlib.Probability.Kernel.Invariance" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.MarkovBlanket", + "namespace": "FEP.MarkovSemigroup.NativeKernelSemigroup", "namespace_variable_context": [ - "{Internal Sensory Active External : Type*}\n [Fintype Internal] [Fintype Sensory] [Fintype Active] [Fintype External]" + "{State : Type*} [MeasurableSpace State]\n {kernel : ℝ≥0 → Kernel State State}\n [∀ time, IsMarkovKernel (kernel time)]" ], "preceding_scope_directives": [], - "qualified_name": "FEP.MarkovBlanket.boolDynamics_nontrivial", - "source_line": 254, - "source_owner": "src/fep_lean/formal/markov_blanket.lean", - "statement": "theorem boolDynamics_nontrivial :\n let current : DynamicState Bool Bool Bool Bool", - "statement_sha256": "dbc61ec8c7e6df6fd932d8302fb2d1f37fb18c97895174a9d896db72a4c869c9" + "qualified_name": "FEP.MarkovSemigroup.NativeKernelSemigroup.nativeKL_to_invariant_nonincrease", + "source_line": 109, + "source_owner": "src/fep_lean/formal/markov_semigroup.lean", + "statement": "theorem nativeKL_to_invariant_nonincrease\n (semigroup : NativeKernelSemigroup kernel)\n (earlier increment : ℝ≥0)\n (actual invariant : Measure State)\n [IsFiniteMeasure actual] [IsFiniteMeasure invariant]\n (hInvariant : InvariantLaw semigroup invariant) :\n InformationTheory.klDiv\n (kernel (earlier + increment) ∘ₘ actual) invariant ≤\n InformationTheory.klDiv (kernel earlier ∘ₘ actual) invariant", + "statement_sha256": "1f5def394414d28ff1a0803d4f43a7bebf0fb4f146dfe25ef40fdea137b1acee" }, - "FEP.MarkovBlanket.conditionalJoint_fstMarginal": { + "FEP.MarkovSemigroup.NativeKernelSemigroup.reversibleLaw_invariantLaw": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "model" + "semigroup" ], "role": "typed_binder", - "source": "(model : StaticModel Internal Sensory Active External)", - "type_source": "StaticModel Internal Sensory Active External", + "source": "(semigroup : NativeKernelSemigroup kernel)", + "type_source": "NativeKernelSemigroup kernel", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "blanket" + "law" ], "role": "typed_binder", - "source": "(blanket : Blanket Sensory Active)", - "type_source": "Blanket Sensory Active", + "source": "(law : Measure State)", + "type_source": "Measure State", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "internal" + "hReversible" ], "role": "typed_binder", - "source": "(internal : Internal)", - "type_source": "Internal", + "source": "(hReversible : ReversibleLaw semigroup law)", + "type_source": "ReversibleLaw semigroup law", "visibility": "explicit" } ], - "conclusion": "(conditionalJoint model blanket).fstMarginal internal =\n model.internalGiven blanket internal", + "conclusion": "InvariantLaw semigroup law", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Internal", - "Sensory", - "Active", - "External" + "State" ], "role": "typed_binder", - "source": "{Internal Sensory Active External : Type*}", + "source": "{State : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -74956,967 +80563,841 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Internal]", - "type_source": "Fintype Internal", - "visibility": "instance" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype Sensory]", - "type_source": "Fintype Sensory", + "source": "[MeasurableSpace State]", + "type_source": "MeasurableSpace State", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype Active]", - "type_source": "Fintype Active", - "visibility": "instance" + "names": [ + "kernel" + ], + "role": "typed_binder", + "source": "{kernel : ℝ≥0 → Kernel State State}", + "type_source": "ℝ≥0 → Kernel State State", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype External]", - "type_source": "Fintype External", + "source": "[∀ time, IsMarkovKernel (kernel time)]", + "type_source": "∀ time, IsMarkovKernel (kernel time)", "visibility": "instance" } ], "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.finite_information" + "FepSketches.continuous_time_markov", + "FepSketches.native_blanket", + "Mathlib.InformationTheory.KullbackLeibler.DataProcessing", + "Mathlib.Probability.Kernel.Invariance" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.MarkovBlanket", + "namespace": "FEP.MarkovSemigroup.NativeKernelSemigroup", "namespace_variable_context": [ - "{Internal Sensory Active External : Type*}\n [Fintype Internal] [Fintype Sensory] [Fintype Active] [Fintype External]" + "{State : Type*} [MeasurableSpace State]\n {kernel : ℝ≥0 → Kernel State State}\n [∀ time, IsMarkovKernel (kernel time)]" ], "preceding_scope_directives": [], - "qualified_name": "FEP.MarkovBlanket.conditionalJoint_fstMarginal", - "source_line": 93, - "source_owner": "src/fep_lean/formal/markov_blanket.lean", - "statement": "theorem conditionalJoint_fstMarginal\n (model : StaticModel Internal Sensory Active External)\n (blanket : Blanket Sensory Active) (internal : Internal) :\n (conditionalJoint model blanket).fstMarginal internal =\n model.internalGiven blanket internal", - "statement_sha256": "c1888944490d1f099605a0a9a901570dc953de2d4be5ca36db4c3be2c5571eb7" + "qualified_name": "FEP.MarkovSemigroup.NativeKernelSemigroup.reversibleLaw_invariantLaw", + "source_line": 84, + "source_owner": "src/fep_lean/formal/markov_semigroup.lean", + "statement": "theorem reversibleLaw_invariantLaw\n (semigroup : NativeKernelSemigroup kernel) (law : Measure State)\n (hReversible : ReversibleLaw semigroup law) :\n InvariantLaw semigroup law", + "statement_sha256": "f40a51a4ac22b2001eceb9ef59bb402ec725f900c90f89aea6df277950dc9663" }, - "FEP.MarkovBlanket.conditional_internal_external_factorization": { + "FEP.MeasureBayes.conditionalExpectation_tower": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "model" + "joint" ], "role": "typed_binder", - "source": "(model : StaticModel Internal Sensory Active External)", - "type_source": "StaticModel Internal Sensory Active External", + "source": "(joint : Measure (Observation × Conditioned))", + "type_source": "Measure (Observation × Conditioned)", "visibility": "explicit" }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[IsFiniteMeasure joint]", + "type_source": "IsFiniteMeasure joint", + "visibility": "instance" + }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "blanket" + "f" ], "role": "typed_binder", - "source": "(blanket : Blanket Sensory Active)", - "type_source": "Blanket Sensory Active", - "visibility": "explicit" + "source": "{f : Observation × Conditioned → ℝ}", + "type_source": "Observation × Conditioned → ℝ", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "hblanket" + "hf" ], "role": "typed_binder", - "source": "(hblanket : 0 < model.blanketLaw blanket)", - "type_source": "0 < model.blanketLaw blanket", + "source": "(hf : Integrable f joint)", + "type_source": "Integrable f joint", "visibility": "explicit" + } + ], + "conclusion": "(∫ observation,\n ∫ conditioned, f (observation, conditioned) ∂joint.condKernel observation\n ∂joint.fst) = ∫ pair, f pair ∂joint", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "Ω", + "Observation", + "Intermediate" + ], + "role": "typed_binder", + "source": "{Ω Observation Intermediate : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "internal" + "mΩ" ], "role": "typed_binder", - "source": "(internal : Internal)", - "type_source": "Internal", - "visibility": "explicit" + "source": "{mΩ : MeasurableSpace Ω}", + "type_source": "MeasurableSpace Ω", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "external" + "mObservation" ], "role": "typed_binder", - "source": "(external : External)", - "type_source": "External", - "visibility": "explicit" - } - ], - "conclusion": "staticJoint model ((blanket, internal), external) /\n model.blanketLaw blanket =\n conditionalJoint model blanket (internal, external)", - "context_binders": [ + "source": "{mObservation : MeasurableSpace Observation}", + "type_source": "MeasurableSpace Observation", + "visibility": "implicit" + }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Internal", - "Sensory", - "Active", - "External" + "mIntermediate" ], "role": "typed_binder", - "source": "{Internal Sensory Active External : Type*}", - "type_source": "Type*", + "source": "{mIntermediate : MeasurableSpace Intermediate}", + "type_source": "MeasurableSpace Intermediate", "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Internal]", - "type_source": "Fintype Internal", + "source": "[StandardBorelSpace Ω]", + "type_source": "StandardBorelSpace Ω", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Sensory]", - "type_source": "Fintype Sensory", + "source": "[Nonempty Ω]", + "type_source": "Nonempty Ω", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype Active]", - "type_source": "Fintype Active", - "visibility": "instance" + "names": [ + "prior" + ], + "role": "typed_binder", + "source": "{prior : Measure Ω}", + "type_source": "Measure Ω", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype External]", - "type_source": "Fintype External", + "source": "[IsFiniteMeasure prior]", + "type_source": "IsFiniteMeasure prior", "visibility": "instance" - } - ], - "declaration_mentions": [ - { - "identifier": "staticJoint_factorization", - "qualified_name": "FEP.MarkovBlanket.staticJoint_factorization", - "resolution": "exact or same-namespace source identifier", - "role": "proof_reference" - } - ], - "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", - "import_context": [ - "FepSketches.finite_information" - ], - "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.MarkovBlanket", - "namespace_variable_context": [ - "{Internal Sensory Active External : Type*}\n [Fintype Internal] [Fintype Sensory] [Fintype Active] [Fintype External]" - ], - "preceding_scope_directives": [], - "qualified_name": "FEP.MarkovBlanket.conditional_internal_external_factorization", - "source_line": 75, - "source_owner": "src/fep_lean/formal/markov_blanket.lean", - "statement": "theorem conditional_internal_external_factorization\n (model : StaticModel Internal Sensory Active External)\n (blanket : Blanket Sensory Active) (hblanket : 0 < model.blanketLaw blanket)\n (internal : Internal) (external : External) :\n staticJoint model ((blanket, internal), external) /\n model.blanketLaw blanket =\n conditionalJoint model blanket (internal, external)", - "statement_sha256": "371f2d90d0cc7b5c8f9121f6cd64e0d90a5c9c434ac6215ce7a38f29aaeb1e16" - }, - "FEP.MarkovBlanket.conditional_mutualInformation_zero": { - "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [ + }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "model" + "likelihood" ], "role": "typed_binder", - "source": "(model : StaticModel Internal Sensory Active External)", - "type_source": "StaticModel Internal Sensory Active External", - "visibility": "explicit" + "source": "{likelihood : Kernel Ω Observation}", + "type_source": "Kernel Ω Observation", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "blanket" - ], - "role": "typed_binder", - "source": "(blanket : Blanket Sensory Active)", - "type_source": "Blanket Sensory Active", - "visibility": "explicit" - } - ], - "conclusion": "mutualInformation (conditionalJoint model blanket) = 0", - "context_binders": [ + "names": [], + "role": "instance_requirement", + "source": "[IsFiniteKernel likelihood]", + "type_source": "IsFiniteKernel likelihood", + "visibility": "instance" + }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Internal", - "Sensory", - "Active", - "External" + "Conditioned" ], "role": "typed_binder", - "source": "{Internal Sensory Active External : Type*}", + "source": "{Conditioned : Type*}", "type_source": "Type*", "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype Internal]", - "type_source": "Fintype Internal", - "visibility": "instance" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype Sensory]", - "type_source": "Fintype Sensory", - "visibility": "instance" + "names": [ + "mConditioned" + ], + "role": "typed_binder", + "source": "{mConditioned : MeasurableSpace Conditioned}", + "type_source": "MeasurableSpace Conditioned", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Active]", - "type_source": "Fintype Active", + "source": "[StandardBorelSpace Conditioned]", + "type_source": "StandardBorelSpace Conditioned", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype External]", - "type_source": "Fintype External", + "source": "[Nonempty Conditioned]", + "type_source": "Nonempty Conditioned", "visibility": "instance" } ], - "declaration_mentions": [ - { - "candidates": [ - "FEP.FiniteInformation.mutualInformation_product_eq_zero" - ], - "identifier": "mutualInformation_product_eq_zero", - "resolution": "unresolved lexical scope", - "role": "proof_reference" - } - ], + "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.finite_information" + "FepSketches.finite_probability", + "Mathlib.Probability.Kernel.Disintegration.Integral", + "Mathlib.Probability.Kernel.Posterior" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.MarkovBlanket", + "namespace": "FEP.MeasureBayes", "namespace_variable_context": [ - "{Internal Sensory Active External : Type*}\n [Fintype Internal] [Fintype Sensory] [Fintype Active] [Fintype External]" + "{Ω Observation Intermediate : Type*}\n {mΩ : MeasurableSpace Ω} {mObservation : MeasurableSpace Observation}\n {mIntermediate : MeasurableSpace Intermediate}", + "[StandardBorelSpace Ω] [Nonempty Ω]\n {prior : Measure Ω} [IsFiniteMeasure prior]\n {likelihood : Kernel Ω Observation} [IsFiniteKernel likelihood]", + "{Conditioned : Type*} {mConditioned : MeasurableSpace Conditioned}\n [StandardBorelSpace Conditioned] [Nonempty Conditioned]" ], "preceding_scope_directives": [], - "qualified_name": "FEP.MarkovBlanket.conditional_mutualInformation_zero", - "source_line": 66, - "source_owner": "src/fep_lean/formal/markov_blanket.lean", - "statement": "theorem conditional_mutualInformation_zero\n (model : StaticModel Internal Sensory Active External)\n (blanket : Blanket Sensory Active) :\n mutualInformation (conditionalJoint model blanket) = 0", - "statement_sha256": "3cbf614c63d29a067afcb34e92df5eabaf9082c1fe8506670c648d316e8e5796" + "qualified_name": "FEP.MeasureBayes.conditionalExpectation_tower", + "source_line": 103, + "source_owner": "src/fep_lean/formal/measure_bayes.lean", + "statement": "theorem conditionalExpectation_tower\n (joint : Measure (Observation × Conditioned)) [IsFiniteMeasure joint]\n {f : Observation × Conditioned → ℝ} (hf : Integrable f joint) :\n (∫ observation,\n ∫ conditioned, f (observation, conditioned) ∂joint.condKernel observation\n ∂joint.fst) = ∫ pair, f pair ∂joint", + "statement_sha256": "a707ced0efea83b7eed8fe10d665d1146a46acc6782c3dec9778d2aad5743ffc" }, - "FEP.MarkovBlanket.staticJoint_factorization": { + "FEP.MeasureBayes.conditionalKernel_reconstruction": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "model" + "joint" ], "role": "typed_binder", - "source": "(model : StaticModel Internal Sensory Active External)", - "type_source": "StaticModel Internal Sensory Active External", + "source": "(joint : Measure (Observation × Conditioned))", + "type_source": "Measure (Observation × Conditioned)", "visibility": "explicit" }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[IsFiniteMeasure joint]", + "type_source": "IsFiniteMeasure joint", + "visibility": "instance" + } + ], + "conclusion": "joint.fst ⊗ₘ joint.condKernel = joint", + "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "blanket" + "Ω", + "Observation", + "Intermediate" ], "role": "typed_binder", - "source": "(blanket : Blanket Sensory Active)", - "type_source": "Blanket Sensory Active", - "visibility": "explicit" + "source": "{Ω Observation Intermediate : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "internal" + "mΩ" ], "role": "typed_binder", - "source": "(internal : Internal)", - "type_source": "Internal", - "visibility": "explicit" + "source": "{mΩ : MeasurableSpace Ω}", + "type_source": "MeasurableSpace Ω", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "external" + "mObservation" ], "role": "typed_binder", - "source": "(external : External)", - "type_source": "External", - "visibility": "explicit" - } - ], - "conclusion": "staticJoint model ((blanket, internal), external) =\n (model.blanketLaw blanket * model.internalGiven blanket internal) *\n model.externalGiven blanket external", - "context_binders": [ + "source": "{mObservation : MeasurableSpace Observation}", + "type_source": "MeasurableSpace Observation", + "visibility": "implicit" + }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Internal", - "Sensory", - "Active", - "External" + "mIntermediate" ], "role": "typed_binder", - "source": "{Internal Sensory Active External : Type*}", - "type_source": "Type*", + "source": "{mIntermediate : MeasurableSpace Intermediate}", + "type_source": "MeasurableSpace Intermediate", "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Internal]", - "type_source": "Fintype Internal", + "source": "[StandardBorelSpace Ω]", + "type_source": "StandardBorelSpace Ω", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Sensory]", - "type_source": "Fintype Sensory", + "source": "[Nonempty Ω]", + "type_source": "Nonempty Ω", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype Active]", - "type_source": "Fintype Active", - "visibility": "instance" + "names": [ + "prior" + ], + "role": "typed_binder", + "source": "{prior : Measure Ω}", + "type_source": "Measure Ω", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype External]", - "type_source": "Fintype External", + "source": "[IsFiniteMeasure prior]", + "type_source": "IsFiniteMeasure prior", "visibility": "instance" - } - ], - "declaration_mentions": [], - "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", - "import_context": [ - "FepSketches.finite_information" - ], - "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.MarkovBlanket", - "namespace_variable_context": [ - "{Internal Sensory Active External : Type*}\n [Fintype Internal] [Fintype Sensory] [Fintype Active] [Fintype External]" - ], - "preceding_scope_directives": [], - "qualified_name": "FEP.MarkovBlanket.staticJoint_factorization", - "source_line": 49, - "source_owner": "src/fep_lean/formal/markov_blanket.lean", - "statement": "theorem staticJoint_factorization\n (model : StaticModel Internal Sensory Active External)\n (blanket : Blanket Sensory Active) (internal : Internal)\n (external : External) :\n staticJoint model ((blanket, internal), external) =\n (model.blanketLaw blanket * model.internalGiven blanket internal) *\n model.externalGiven blanket external", - "statement_sha256": "549bac9b820e79c7ca8fc3d9f1a08d7bbc0ae55a9580f196b6b184a07df9d17d" - }, - "FEP.MarkovBlanket.transition_eq_staticJoint_nextStaticModel": { - "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [ + }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "dynamics" + "likelihood" ], "role": "typed_binder", - "source": "(dynamics : Dynamics Internal Sensory Active External)", - "type_source": "Dynamics Internal Sensory Active External", - "visibility": "explicit" + "source": "{likelihood : Kernel Ω Observation}", + "type_source": "Kernel Ω Observation", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "current", - "next" - ], - "role": "typed_binder", - "source": "(current next : DynamicState Internal Sensory Active External)", - "type_source": "DynamicState Internal Sensory Active External", - "visibility": "explicit" - } - ], - "conclusion": "transition dynamics current next =\n staticJoint (nextStaticModel dynamics current)\n (staticCoordinates next)", - "context_binders": [ + "names": [], + "role": "instance_requirement", + "source": "[IsFiniteKernel likelihood]", + "type_source": "IsFiniteKernel likelihood", + "visibility": "instance" + }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Internal", - "Sensory", - "Active", - "External" + "Conditioned" ], "role": "typed_binder", - "source": "{Internal Sensory Active External : Type*}", + "source": "{Conditioned : Type*}", "type_source": "Type*", "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype Internal]", - "type_source": "Fintype Internal", - "visibility": "instance" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype Sensory]", - "type_source": "Fintype Sensory", - "visibility": "instance" + "names": [ + "mConditioned" + ], + "role": "typed_binder", + "source": "{mConditioned : MeasurableSpace Conditioned}", + "type_source": "MeasurableSpace Conditioned", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Active]", - "type_source": "Fintype Active", + "source": "[StandardBorelSpace Conditioned]", + "type_source": "StandardBorelSpace Conditioned", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype External]", - "type_source": "Fintype External", + "source": "[Nonempty Conditioned]", + "type_source": "Nonempty Conditioned", "visibility": "instance" } ], "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.finite_information" + "FepSketches.finite_probability", + "Mathlib.Probability.Kernel.Disintegration.Integral", + "Mathlib.Probability.Kernel.Posterior" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.MarkovBlanket", + "namespace": "FEP.MeasureBayes", "namespace_variable_context": [ - "{Internal Sensory Active External : Type*}\n [Fintype Internal] [Fintype Sensory] [Fintype Active] [Fintype External]" + "{Ω Observation Intermediate : Type*}\n {mΩ : MeasurableSpace Ω} {mObservation : MeasurableSpace Observation}\n {mIntermediate : MeasurableSpace Intermediate}", + "[StandardBorelSpace Ω] [Nonempty Ω]\n {prior : Measure Ω} [IsFiniteMeasure prior]\n {likelihood : Kernel Ω Observation} [IsFiniteKernel likelihood]", + "{Conditioned : Type*} {mConditioned : MeasurableSpace Conditioned}\n [StandardBorelSpace Conditioned] [Nonempty Conditioned]" ], "preceding_scope_directives": [], - "qualified_name": "FEP.MarkovBlanket.transition_eq_staticJoint_nextStaticModel", - "source_line": 189, - "source_owner": "src/fep_lean/formal/markov_blanket.lean", - "statement": "theorem transition_eq_staticJoint_nextStaticModel\n (dynamics : Dynamics Internal Sensory Active External)\n (current next : DynamicState Internal Sensory Active External) :\n transition dynamics current next =\n staticJoint (nextStaticModel dynamics current)\n (staticCoordinates next)", - "statement_sha256": "416486a3cce3fab40e6cca88cb75abb9b706cd33b662c36fe428867eac8a8c06" + "qualified_name": "FEP.MeasureBayes.conditionalKernel_reconstruction", + "source_line": 96, + "source_owner": "src/fep_lean/formal/measure_bayes.lean", + "statement": "theorem conditionalKernel_reconstruction\n (joint : Measure (Observation × Conditioned)) [IsFiniteMeasure joint] :\n joint.fst ⊗ₘ joint.condKernel = joint", + "statement_sha256": "912e9622c0a14c5e5dd6e736ef895dd316ad066925522d9c65b423f62863aca0" }, - "FEP.MarkovBlanket.transition_factorization": { + "FEP.MeasureBayes.finite_posterior_normalized": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "dynamics" + "finitePrior" ], "role": "typed_binder", - "source": "(dynamics : Dynamics Internal Sensory Active External)", - "type_source": "Dynamics Internal Sensory Active External", + "source": "(finitePrior : FiniteLaw Parameter)", + "type_source": "FiniteLaw Parameter", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "current", - "next" + "finiteLikelihood" ], "role": "typed_binder", - "source": "(current next : DynamicState Internal Sensory Active External)", - "type_source": "DynamicState Internal Sensory Active External", + "source": "(finiteLikelihood : FiniteKernel Parameter Evidence)", + "type_source": "FiniteKernel Parameter Evidence", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "evidence" + ], + "role": "typed_binder", + "source": "(evidence : Evidence)", + "type_source": "Evidence", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hEvidence" + ], + "role": "typed_binder", + "source": "(hEvidence : 0 < finiteLikelihood.predictive finitePrior evidence)", + "type_source": "0 < finiteLikelihood.predictive finitePrior evidence", "visibility": "explicit" } ], - "conclusion": "transition dynamics current next =\n dynamics.internalFlow (current.1, current.2.1) next.1 *\n (dynamics.sensoryFlow (current.2.2.2, current.2.2.1) next.2.1 *\n (dynamics.activeFlow (current.1, current.2.1) next.2.2.1 *\n dynamics.externalFlow\n (current.2.2.2, current.2.2.1) next.2.2.2))", + "conclusion": "∑ parameter, finiteLikelihood.posterior finitePrior evidence hEvidence parameter = 1", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Internal", - "Sensory", - "Active", - "External" + "Ω", + "Observation", + "Intermediate" + ], + "role": "typed_binder", + "source": "{Ω Observation Intermediate : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "mΩ" + ], + "role": "typed_binder", + "source": "{mΩ : MeasurableSpace Ω}", + "type_source": "MeasurableSpace Ω", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "mObservation" + ], + "role": "typed_binder", + "source": "{mObservation : MeasurableSpace Observation}", + "type_source": "MeasurableSpace Observation", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "mIntermediate" ], "role": "typed_binder", - "source": "{Internal Sensory Active External : Type*}", - "type_source": "Type*", + "source": "{mIntermediate : MeasurableSpace Intermediate}", + "type_source": "MeasurableSpace Intermediate", "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Internal]", - "type_source": "Fintype Internal", + "source": "[StandardBorelSpace Ω]", + "type_source": "StandardBorelSpace Ω", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Sensory]", - "type_source": "Fintype Sensory", + "source": "[Nonempty Ω]", + "type_source": "Nonempty Ω", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype Active]", - "type_source": "Fintype Active", - "visibility": "instance" + "names": [ + "prior" + ], + "role": "typed_binder", + "source": "{prior : Measure Ω}", + "type_source": "Measure Ω", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype External]", - "type_source": "Fintype External", + "source": "[IsFiniteMeasure prior]", + "type_source": "IsFiniteMeasure prior", "visibility": "instance" - } - ], - "declaration_mentions": [], - "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", - "import_context": [ - "FepSketches.finite_information" - ], - "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.MarkovBlanket", - "namespace_variable_context": [ - "{Internal Sensory Active External : Type*}\n [Fintype Internal] [Fintype Sensory] [Fintype Active] [Fintype External]" - ], - "preceding_scope_directives": [], - "qualified_name": "FEP.MarkovBlanket.transition_factorization", - "source_line": 174, - "source_owner": "src/fep_lean/formal/markov_blanket.lean", - "statement": "theorem transition_factorization\n (dynamics : Dynamics Internal Sensory Active External)\n (current next : DynamicState Internal Sensory Active External) :\n transition dynamics current next =\n dynamics.internalFlow (current.1, current.2.1) next.1 *\n (dynamics.sensoryFlow (current.2.2.2, current.2.2.1) next.2.1 *\n (dynamics.activeFlow (current.1, current.2.1) next.2.2.1 *\n dynamics.externalFlow\n (current.2.2.2, current.2.2.1) next.2.2.2))", - "statement_sha256": "e96acf19240e98fe3483940433f1e66f7d0f8ffe80973b5b9c3112969545b1bc" - }, - "FEP.MarkovBlanket.transition_row_conditional_factorization": { - "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [ + }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "dynamics" + "likelihood" ], "role": "typed_binder", - "source": "(dynamics : Dynamics Internal Sensory Active External)", - "type_source": "Dynamics Internal Sensory Active External", - "visibility": "explicit" + "source": "{likelihood : Kernel Ω Observation}", + "type_source": "Kernel Ω Observation", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "current", - "next" - ], - "role": "typed_binder", - "source": "(current next : DynamicState Internal Sensory Active External)", - "type_source": "DynamicState Internal Sensory Active External", - "visibility": "explicit" + "names": [], + "role": "instance_requirement", + "source": "[IsFiniteKernel likelihood]", + "type_source": "IsFiniteKernel likelihood", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "hblanket" + "Conditioned" ], "role": "typed_binder", - "source": "(hblanket :\n 0 < (nextStaticModel dynamics current).blanketLaw\n (next.2.1, next.2.2.1))", - "type_source": "0 < (nextStaticModel dynamics current).blanketLaw\n (next.2.1, next.2.2.1)", - "visibility": "explicit" - } - ], - "conclusion": "transition dynamics current next /\n (nextStaticModel dynamics current).blanketLaw\n (next.2.1, next.2.2.1) =\n conditionalJoint (nextStaticModel dynamics current)\n (next.2.1, next.2.2.1) (next.1, next.2.2.2)", - "context_binders": [ + "source": "{Conditioned : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Internal", - "Sensory", - "Active", - "External" + "mConditioned" ], "role": "typed_binder", - "source": "{Internal Sensory Active External : Type*}", - "type_source": "Type*", + "source": "{mConditioned : MeasurableSpace Conditioned}", + "type_source": "MeasurableSpace Conditioned", "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Internal]", - "type_source": "Fintype Internal", + "source": "[StandardBorelSpace Conditioned]", + "type_source": "StandardBorelSpace Conditioned", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Sensory]", - "type_source": "Fintype Sensory", + "source": "[Nonempty Conditioned]", + "type_source": "Nonempty Conditioned", "visibility": "instance" }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "Parameter", + "Evidence" + ], + "role": "typed_binder", + "source": "{Parameter Evidence : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Active]", - "type_source": "Fintype Active", + "source": "[Fintype Parameter]", + "type_source": "Fintype Parameter", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype External]", - "type_source": "Fintype External", + "source": "[Fintype Evidence]", + "type_source": "Fintype Evidence", "visibility": "instance" } ], - "declaration_mentions": [ - { - "identifier": "conditional_internal_external_factorization", - "qualified_name": "FEP.MarkovBlanket.conditional_internal_external_factorization", - "resolution": "exact or same-namespace source identifier", - "role": "proof_reference" - }, - { - "identifier": "transition_eq_staticJoint_nextStaticModel", - "qualified_name": "FEP.MarkovBlanket.transition_eq_staticJoint_nextStaticModel", - "resolution": "exact or same-namespace source identifier", - "role": "proof_reference" - } - ], + "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.finite_information" + "FepSketches.finite_probability", + "Mathlib.Probability.Kernel.Disintegration.Integral", + "Mathlib.Probability.Kernel.Posterior" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.MarkovBlanket", + "namespace": "FEP.MeasureBayes", "namespace_variable_context": [ - "{Internal Sensory Active External : Type*}\n [Fintype Internal] [Fintype Sensory] [Fintype Active] [Fintype External]" + "{Ω Observation Intermediate : Type*}\n {mΩ : MeasurableSpace Ω} {mObservation : MeasurableSpace Observation}\n {mIntermediate : MeasurableSpace Intermediate}", + "[StandardBorelSpace Ω] [Nonempty Ω]\n {prior : Measure Ω} [IsFiniteMeasure prior]\n {likelihood : Kernel Ω Observation} [IsFiniteKernel likelihood]", + "{Conditioned : Type*} {mConditioned : MeasurableSpace Conditioned}\n [StandardBorelSpace Conditioned] [Nonempty Conditioned]", + "{Parameter Evidence : Type*}\n [Fintype Parameter] [Fintype Evidence]" ], "preceding_scope_directives": [], - "qualified_name": "FEP.MarkovBlanket.transition_row_conditional_factorization", - "source_line": 216, - "source_owner": "src/fep_lean/formal/markov_blanket.lean", - "statement": "theorem transition_row_conditional_factorization\n (dynamics : Dynamics Internal Sensory Active External)\n (current next : DynamicState Internal Sensory Active External)\n (hblanket :\n 0 < (nextStaticModel dynamics current).blanketLaw\n (next.2.1, next.2.2.1)) :\n transition dynamics current next /\n (nextStaticModel dynamics current).blanketLaw\n (next.2.1, next.2.2.1) =\n conditionalJoint (nextStaticModel dynamics current)\n (next.2.1, next.2.2.1) (next.1, next.2.2.2)", - "statement_sha256": "8afc292c6df134ae2a40092366b55e2ee066df9eb8ebf3c74d7b216f64eef474" + "qualified_name": "FEP.MeasureBayes.finite_posterior_normalized", + "source_line": 131, + "source_owner": "src/fep_lean/formal/measure_bayes.lean", + "statement": "theorem finite_posterior_normalized\n (finitePrior : FiniteLaw Parameter)\n (finiteLikelihood : FiniteKernel Parameter Evidence)\n (evidence : Evidence)\n (hEvidence : 0 < finiteLikelihood.predictive finitePrior evidence) :\n ∑ parameter, finiteLikelihood.posterior finitePrior evidence hEvidence parameter = 1", + "statement_sha256": "eaff30d4606227a5b180f82b9a1668ea7ca6350d85e4bd4300fd1856465cb525" }, - "FEP.MarkovBlanket.transition_row_conditional_mutualInformation_zero": { + "FEP.MeasureBayes.finite_posterior_reconstruction": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "dynamics" + "finitePrior" ], "role": "typed_binder", - "source": "(dynamics : Dynamics Internal Sensory Active External)", - "type_source": "Dynamics Internal Sensory Active External", + "source": "(finitePrior : FiniteLaw Parameter)", + "type_source": "FiniteLaw Parameter", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "current" + "finiteLikelihood" ], "role": "typed_binder", - "source": "(current : DynamicState Internal Sensory Active External)", - "type_source": "DynamicState Internal Sensory Active External", + "source": "(finiteLikelihood : FiniteKernel Parameter Evidence)", + "type_source": "FiniteKernel Parameter Evidence", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "blanket" + "evidence" ], "role": "typed_binder", - "source": "(blanket : Blanket Sensory Active)", - "type_source": "Blanket Sensory Active", + "source": "(evidence : Evidence)", + "type_source": "Evidence", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hEvidence" + ], + "role": "typed_binder", + "source": "(hEvidence : 0 < finiteLikelihood.predictive finitePrior evidence)", + "type_source": "0 < finiteLikelihood.predictive finitePrior evidence", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "parameter" + ], + "role": "typed_binder", + "source": "(parameter : Parameter)", + "type_source": "Parameter", "visibility": "explicit" } ], - "conclusion": "mutualInformation\n (conditionalJoint (nextStaticModel dynamics current) blanket) = 0", + "conclusion": "finiteLikelihood.posterior finitePrior evidence hEvidence parameter *\n finiteLikelihood.predictive finitePrior evidence =\n finitePrior parameter * finiteLikelihood parameter evidence", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Internal", - "Sensory", - "Active", - "External" + "Ω", + "Observation", + "Intermediate" ], "role": "typed_binder", - "source": "{Internal Sensory Active External : Type*}", + "source": "{Ω Observation Intermediate : Type*}", "type_source": "Type*", "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype Internal]", - "type_source": "Fintype Internal", - "visibility": "instance" + "names": [ + "mΩ" + ], + "role": "typed_binder", + "source": "{mΩ : MeasurableSpace Ω}", + "type_source": "MeasurableSpace Ω", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype Sensory]", - "type_source": "Fintype Sensory", - "visibility": "instance" + "names": [ + "mObservation" + ], + "role": "typed_binder", + "source": "{mObservation : MeasurableSpace Observation}", + "type_source": "MeasurableSpace Observation", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "mIntermediate" + ], + "role": "typed_binder", + "source": "{mIntermediate : MeasurableSpace Intermediate}", + "type_source": "MeasurableSpace Intermediate", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Active]", - "type_source": "Fintype Active", + "source": "[StandardBorelSpace Ω]", + "type_source": "StandardBorelSpace Ω", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype External]", - "type_source": "Fintype External", + "source": "[Nonempty Ω]", + "type_source": "Nonempty Ω", "visibility": "instance" - } - ], - "declaration_mentions": [ - { - "identifier": "conditional_mutualInformation_zero", - "qualified_name": "FEP.MarkovBlanket.conditional_mutualInformation_zero", - "resolution": "exact or same-namespace source identifier", - "role": "proof_reference" - } - ], - "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", - "import_context": [ - "FepSketches.finite_information" - ], - "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.MarkovBlanket", - "namespace_variable_context": [ - "{Internal Sensory Active External : Type*}\n [Fintype Internal] [Fintype Sensory] [Fintype Active] [Fintype External]" - ], - "preceding_scope_directives": [], - "qualified_name": "FEP.MarkovBlanket.transition_row_conditional_mutualInformation_zero", - "source_line": 235, - "source_owner": "src/fep_lean/formal/markov_blanket.lean", - "statement": "theorem transition_row_conditional_mutualInformation_zero\n (dynamics : Dynamics Internal Sensory Active External)\n (current : DynamicState Internal Sensory Active External)\n (blanket : Blanket Sensory Active) :\n mutualInformation\n (conditionalJoint (nextStaticModel dynamics current) blanket) = 0", - "statement_sha256": "062598717fdef8c65dabd8be07468078b5bdd097f07cbc9711f7c609283f4030" - }, - "FEP.MarkovSemigroup.NativeActionIndexedKernelSemigroup.boolBlanketNativeActionIndexedSemigroup_false_kernel": { - "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [], - "conclusion": "sampledKernel boolBlanketNativeActionIndexedSemigroup false =\n (Kernel.id : Kernel FEP.ContinuousTimeMarkov.BoolBlanketState\n FEP.ContinuousTimeMarkov.BoolBlanketState)", - "context_binders": [ + }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "State", - "Action" + "prior" ], "role": "typed_binder", - "source": "{State Action : Type*}", - "type_source": "Type*", + "source": "{prior : Measure Ω}", + "type_source": "Measure Ω", "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[MeasurableSpace State]", - "type_source": "MeasurableSpace State", + "source": "[IsFiniteMeasure prior]", + "type_source": "IsFiniteMeasure prior", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "kernel" + "likelihood" ], "role": "typed_binder", - "source": "{kernel : Action → ℝ≥0 → Kernel State State}", - "type_source": "Action → ℝ≥0 → Kernel State State", + "source": "{likelihood : Kernel Ω Observation}", + "type_source": "Kernel Ω Observation", "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[∀ action time, IsMarkovKernel (kernel action time)]", - "type_source": "∀ action time, IsMarkovKernel (kernel action time)", + "source": "[IsFiniteKernel likelihood]", + "type_source": "IsFiniteKernel likelihood", "visibility": "instance" - } - ], - "declaration_mentions": [ - { - "identifier": "FEP.ContinuousTimeMarkov.boolBlanketActionIndexedSemigroup_false_kernel", - "qualified_name": "FEP.ContinuousTimeMarkov.boolBlanketActionIndexedSemigroup_false_kernel", - "resolution": "exact or same-namespace source identifier", - "role": "proof_reference" - }, - { - "identifier": "FEP.NativeBlanket.embeddedKernel_identity", - "qualified_name": "FEP.NativeBlanket.embeddedKernel_identity", - "resolution": "exact or same-namespace source identifier", - "role": "proof_reference" }, - { - "identifier": "liftActionIndexedSemigroup_sampledKernel", - "qualified_name": "FEP.MarkovSemigroup.NativeActionIndexedKernelSemigroup.liftActionIndexedSemigroup_sampledKernel", - "resolution": "exact or same-namespace source identifier", - "role": "proof_reference" - } - ], - "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", - "import_context": [ - "FepSketches.continuous_time_markov", - "FepSketches.native_blanket", - "Mathlib.InformationTheory.KullbackLeibler.DataProcessing", - "Mathlib.Probability.Kernel.Invariance" - ], - "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.MarkovSemigroup.NativeActionIndexedKernelSemigroup", - "namespace_variable_context": [ - "{State Action : Type*} [MeasurableSpace State]\n {kernel : Action → ℝ≥0 → Kernel State State}\n [∀ action time, IsMarkovKernel (kernel action time)]" - ], - "preceding_scope_directives": [], - "qualified_name": "FEP.MarkovSemigroup.NativeActionIndexedKernelSemigroup.boolBlanketNativeActionIndexedSemigroup_false_kernel", - "source_line": 238, - "source_owner": "src/fep_lean/formal/markov_semigroup.lean", - "statement": "theorem boolBlanketNativeActionIndexedSemigroup_false_kernel :\n sampledKernel boolBlanketNativeActionIndexedSemigroup false =\n (Kernel.id : Kernel FEP.ContinuousTimeMarkov.BoolBlanketState\n FEP.ContinuousTimeMarkov.BoolBlanketState)", - "statement_sha256": "bd1aa99a8e302027e5627880d88fe4e265d55ba30ff1e239ef798e7d38df611a" - }, - "FEP.MarkovSemigroup.NativeActionIndexedKernelSemigroup.boolBlanketNativeActionIndexedSemigroup_kernels_ne": { - "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [], - "conclusion": "sampledKernel boolBlanketNativeActionIndexedSemigroup false ≠\n sampledKernel boolBlanketNativeActionIndexedSemigroup true", - "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "State", - "Action" + "Conditioned" ], "role": "typed_binder", - "source": "{State Action : Type*}", + "source": "{Conditioned : Type*}", "type_source": "Type*", "visibility": "implicit" }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[MeasurableSpace State]", - "type_source": "MeasurableSpace State", - "visibility": "instance" - }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "kernel" + "mConditioned" ], "role": "typed_binder", - "source": "{kernel : Action → ℝ≥0 → Kernel State State}", - "type_source": "Action → ℝ≥0 → Kernel State State", + "source": "{mConditioned : MeasurableSpace Conditioned}", + "type_source": "MeasurableSpace Conditioned", "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[∀ action time, IsMarkovKernel (kernel action time)]", - "type_source": "∀ action time, IsMarkovKernel (kernel action time)", + "source": "[StandardBorelSpace Conditioned]", + "type_source": "StandardBorelSpace Conditioned", "visibility": "instance" - } - ], - "declaration_mentions": [ - { - "identifier": "FEP.ContinuousTimeMarkov.blanketRefreshSemigroup_transition_pos", - "qualified_name": "FEP.ContinuousTimeMarkov.blanketRefreshSemigroup_transition_pos", - "resolution": "exact or same-namespace source identifier", - "role": "proof_reference" - }, - { - "identifier": "FEP.NativeBlanket.embeddedKernel_apply_singleton", - "qualified_name": "FEP.NativeBlanket.embeddedKernel_apply_singleton", - "resolution": "exact or same-namespace source identifier", - "role": "proof_reference" }, { - "identifier": "boolBlanketNativeActionIndexedSemigroup_false_kernel", - "qualified_name": "FEP.MarkovSemigroup.NativeActionIndexedKernelSemigroup.boolBlanketNativeActionIndexedSemigroup_false_kernel", - "resolution": "exact or same-namespace source identifier", - "role": "proof_reference" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Nonempty Conditioned]", + "type_source": "Nonempty Conditioned", + "visibility": "instance" }, - { - "identifier": "boolBlanketNativeActionIndexedSemigroup_true_kernel", - "qualified_name": "FEP.MarkovSemigroup.NativeActionIndexedKernelSemigroup.boolBlanketNativeActionIndexedSemigroup_true_kernel", - "resolution": "exact or same-namespace source identifier", - "role": "proof_reference" - } - ], - "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", - "import_context": [ - "FepSketches.continuous_time_markov", - "FepSketches.native_blanket", - "Mathlib.InformationTheory.KullbackLeibler.DataProcessing", - "Mathlib.Probability.Kernel.Invariance" - ], - "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.MarkovSemigroup.NativeActionIndexedKernelSemigroup", - "namespace_variable_context": [ - "{State Action : Type*} [MeasurableSpace State]\n {kernel : Action → ℝ≥0 → Kernel State State}\n [∀ action time, IsMarkovKernel (kernel action time)]" - ], - "preceding_scope_directives": [], - "qualified_name": "FEP.MarkovSemigroup.NativeActionIndexedKernelSemigroup.boolBlanketNativeActionIndexedSemigroup_kernels_ne", - "source_line": 275, - "source_owner": "src/fep_lean/formal/markov_semigroup.lean", - "statement": "theorem boolBlanketNativeActionIndexedSemigroup_kernels_ne :\n sampledKernel boolBlanketNativeActionIndexedSemigroup false ≠\n sampledKernel boolBlanketNativeActionIndexedSemigroup true", - "statement_sha256": "931a5da60bcdff5edb69667f013943659624a97de40e4b23b37afbba489f08f8" - }, - "FEP.MarkovSemigroup.NativeActionIndexedKernelSemigroup.boolBlanketNativeActionIndexedSemigroup_true_kernel": { - "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [], - "conclusion": "sampledKernel boolBlanketNativeActionIndexedSemigroup true =\n FEP.NativeBlanket.embeddedKernel\n FEP.ContinuousTimeMarkov.boolBlanketRefreshKernel", - "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "State", - "Action" + "Parameter", + "Evidence" ], "role": "typed_binder", - "source": "{State Action : Type*}", + "source": "{Parameter Evidence : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -75924,902 +81405,894 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[MeasurableSpace State]", - "type_source": "MeasurableSpace State", + "source": "[Fintype Parameter]", + "type_source": "Fintype Parameter", "visibility": "instance" }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "kernel" - ], - "role": "typed_binder", - "source": "{kernel : Action → ℝ≥0 → Kernel State State}", - "type_source": "Action → ℝ≥0 → Kernel State State", - "visibility": "implicit" - }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[∀ action time, IsMarkovKernel (kernel action time)]", - "type_source": "∀ action time, IsMarkovKernel (kernel action time)", + "source": "[Fintype Evidence]", + "type_source": "Fintype Evidence", "visibility": "instance" } ], - "declaration_mentions": [ - { - "identifier": "FEP.ContinuousTimeMarkov.boolBlanketActionIndexedSemigroup_true_kernel", - "qualified_name": "FEP.ContinuousTimeMarkov.boolBlanketActionIndexedSemigroup_true_kernel", - "resolution": "exact or same-namespace source identifier", - "role": "proof_reference" - }, - { - "identifier": "liftActionIndexedSemigroup_sampledKernel", - "qualified_name": "FEP.MarkovSemigroup.NativeActionIndexedKernelSemigroup.liftActionIndexedSemigroup_sampledKernel", - "resolution": "exact or same-namespace source identifier", - "role": "proof_reference" - } - ], + "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.continuous_time_markov", - "FepSketches.native_blanket", - "Mathlib.InformationTheory.KullbackLeibler.DataProcessing", - "Mathlib.Probability.Kernel.Invariance" + "FepSketches.finite_probability", + "Mathlib.Probability.Kernel.Disintegration.Integral", + "Mathlib.Probability.Kernel.Posterior" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.MarkovSemigroup.NativeActionIndexedKernelSemigroup", + "namespace": "FEP.MeasureBayes", "namespace_variable_context": [ - "{State Action : Type*} [MeasurableSpace State]\n {kernel : Action → ℝ≥0 → Kernel State State}\n [∀ action time, IsMarkovKernel (kernel action time)]" + "{Ω Observation Intermediate : Type*}\n {mΩ : MeasurableSpace Ω} {mObservation : MeasurableSpace Observation}\n {mIntermediate : MeasurableSpace Intermediate}", + "[StandardBorelSpace Ω] [Nonempty Ω]\n {prior : Measure Ω} [IsFiniteMeasure prior]\n {likelihood : Kernel Ω Observation} [IsFiniteKernel likelihood]", + "{Conditioned : Type*} {mConditioned : MeasurableSpace Conditioned}\n [StandardBorelSpace Conditioned] [Nonempty Conditioned]", + "{Parameter Evidence : Type*}\n [Fintype Parameter] [Fintype Evidence]" ], "preceding_scope_directives": [], - "qualified_name": "FEP.MarkovSemigroup.NativeActionIndexedKernelSemigroup.boolBlanketNativeActionIndexedSemigroup_true_kernel", - "source_line": 258, - "source_owner": "src/fep_lean/formal/markov_semigroup.lean", - "statement": "theorem boolBlanketNativeActionIndexedSemigroup_true_kernel :\n sampledKernel boolBlanketNativeActionIndexedSemigroup true =\n FEP.NativeBlanket.embeddedKernel\n FEP.ContinuousTimeMarkov.boolBlanketRefreshKernel", - "statement_sha256": "4557c2b23f7b628f701de8075b9ad65ae895e534361027934956bdda9c5c0fbf" + "qualified_name": "FEP.MeasureBayes.finite_posterior_reconstruction", + "source_line": 118, + "source_owner": "src/fep_lean/formal/measure_bayes.lean", + "statement": "theorem finite_posterior_reconstruction\n (finitePrior : FiniteLaw Parameter)\n (finiteLikelihood : FiniteKernel Parameter Evidence)\n (evidence : Evidence)\n (hEvidence : 0 < finiteLikelihood.predictive finitePrior evidence)\n (parameter : Parameter) :\n finiteLikelihood.posterior finitePrior evidence hEvidence parameter *\n finiteLikelihood.predictive finitePrior evidence =\n finitePrior parameter * finiteLikelihood parameter evidence", + "statement_sha256": "5dd3b5b5318b65bb50c56d679346798da45d8d74263d4b1804962ba42224686b" }, - "FEP.MarkovSemigroup.NativeActionIndexedKernelSemigroup.liftActionIndexedSemigroup_kernel": { + "FEP.MeasureBayes.finite_zero_evidence_boundary": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype State]", - "type_source": "Fintype State", - "visibility": "instance" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[DecidableEq State]", - "type_source": "DecidableEq State", - "visibility": "instance" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace State]", - "type_source": "DiscreteMeasurableSpace State", - "visibility": "instance" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype Action]", - "type_source": "Fintype Action", - "visibility": "instance" + "names": [ + "finitePrior" + ], + "role": "typed_binder", + "source": "(finitePrior : FiniteLaw Parameter)", + "type_source": "FiniteLaw Parameter", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "indexed" + "finiteLikelihood" ], "role": "typed_binder", - "source": "(indexed : FEP.ContinuousTimeMarkov.ActionIndexedSemigroup State Action)", - "type_source": "FEP.ContinuousTimeMarkov.ActionIndexedSemigroup State Action", + "source": "(finiteLikelihood : FiniteKernel Parameter Evidence)", + "type_source": "FiniteKernel Parameter Evidence", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "action" + "evidence" ], "role": "typed_binder", - "source": "(action : Action)", - "type_source": "Action", + "source": "(evidence : Evidence)", + "type_source": "Evidence", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "time" + "hzero" ], "role": "typed_binder", - "source": "(time : ℝ≥0)", - "type_source": "ℝ≥0", + "source": "(hzero : finiteLikelihood.predictive finitePrior evidence = 0)", + "type_source": "finiteLikelihood.predictive finitePrior evidence = 0", "visibility": "explicit" } ], - "conclusion": "embeddedActionKernelFamily indexed action time =\n FEP.NativeBlanket.embeddedKernel\n ((indexed.semigroup action).kernel time.1 time.2)", + "conclusion": "¬0 < finiteLikelihood.predictive finitePrior evidence", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "State", - "Action" + "Ω", + "Observation", + "Intermediate" ], "role": "typed_binder", - "source": "{State Action : Type*}", + "source": "{Ω Observation Intermediate : Type*}", "type_source": "Type*", "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[MeasurableSpace State]", - "type_source": "MeasurableSpace State", - "visibility": "instance" + "names": [ + "mΩ" + ], + "role": "typed_binder", + "source": "{mΩ : MeasurableSpace Ω}", + "type_source": "MeasurableSpace Ω", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "kernel" + "mObservation" ], "role": "typed_binder", - "source": "{kernel : Action → ℝ≥0 → Kernel State State}", - "type_source": "Action → ℝ≥0 → Kernel State State", + "source": "{mObservation : MeasurableSpace Observation}", + "type_source": "MeasurableSpace Observation", "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[∀ action time, IsMarkovKernel (kernel action time)]", - "type_source": "∀ action time, IsMarkovKernel (kernel action time)", - "visibility": "instance" - } - ], - "declaration_mentions": [], - "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", - "import_context": [ - "FepSketches.continuous_time_markov", - "FepSketches.native_blanket", - "Mathlib.InformationTheory.KullbackLeibler.DataProcessing", - "Mathlib.Probability.Kernel.Invariance" - ], - "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.MarkovSemigroup.NativeActionIndexedKernelSemigroup", - "namespace_variable_context": [ - "{State Action : Type*} [MeasurableSpace State]\n {kernel : Action → ℝ≥0 → Kernel State State}\n [∀ action time, IsMarkovKernel (kernel action time)]" - ], - "preceding_scope_directives": [], - "qualified_name": "FEP.MarkovSemigroup.NativeActionIndexedKernelSemigroup.liftActionIndexedSemigroup_kernel", - "source_line": 196, - "source_owner": "src/fep_lean/formal/markov_semigroup.lean", - "statement": "theorem liftActionIndexedSemigroup_kernel\n [Fintype State] [DecidableEq State] [DiscreteMeasurableSpace State]\n [Fintype Action]\n (indexed : FEP.ContinuousTimeMarkov.ActionIndexedSemigroup State Action)\n (action : Action) (time : ℝ≥0) :\n embeddedActionKernelFamily indexed action time =\n FEP.NativeBlanket.embeddedKernel\n ((indexed.semigroup action).kernel time.1 time.2)", - "statement_sha256": "0a55e558726bfb846eda75d11c6d8bc81472a0dce9b61435a9cd8bb5c4a2015d" - }, - "FEP.MarkovSemigroup.NativeActionIndexedKernelSemigroup.liftActionIndexedSemigroup_sampleTime": { - "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [ + "names": [ + "mIntermediate" + ], + "role": "typed_binder", + "source": "{mIntermediate : MeasurableSpace Intermediate}", + "type_source": "MeasurableSpace Intermediate", + "visibility": "implicit" + }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype State]", - "type_source": "Fintype State", + "source": "[StandardBorelSpace Ω]", + "type_source": "StandardBorelSpace Ω", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DecidableEq State]", - "type_source": "DecidableEq State", + "source": "[Nonempty Ω]", + "type_source": "Nonempty Ω", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace State]", - "type_source": "DiscreteMeasurableSpace State", - "visibility": "instance" + "names": [ + "prior" + ], + "role": "typed_binder", + "source": "{prior : Measure Ω}", + "type_source": "Measure Ω", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Action]", - "type_source": "Fintype Action", + "source": "[IsFiniteMeasure prior]", + "type_source": "IsFiniteMeasure prior", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "indexed" + "likelihood" ], "role": "typed_binder", - "source": "(indexed : FEP.ContinuousTimeMarkov.ActionIndexedSemigroup State Action)", - "type_source": "FEP.ContinuousTimeMarkov.ActionIndexedSemigroup State Action", - "visibility": "explicit" + "source": "{likelihood : Kernel Ω Observation}", + "type_source": "Kernel Ω Observation", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[IsFiniteKernel likelihood]", + "type_source": "IsFiniteKernel likelihood", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "action" + "Conditioned" ], "role": "typed_binder", - "source": "(action : Action)", - "type_source": "Action", - "visibility": "explicit" - } - ], - "conclusion": "(((liftActionIndexedSemigroup indexed).sampleTime action : ℝ)) =\n indexed.sampleTime action", - "context_binders": [ + "source": "{Conditioned : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "State", - "Action" + "mConditioned" ], "role": "typed_binder", - "source": "{State Action : Type*}", - "type_source": "Type*", + "source": "{mConditioned : MeasurableSpace Conditioned}", + "type_source": "MeasurableSpace Conditioned", "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[MeasurableSpace State]", - "type_source": "MeasurableSpace State", + "source": "[StandardBorelSpace Conditioned]", + "type_source": "StandardBorelSpace Conditioned", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Nonempty Conditioned]", + "type_source": "Nonempty Conditioned", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "kernel" + "Parameter", + "Evidence" ], "role": "typed_binder", - "source": "{kernel : Action → ℝ≥0 → Kernel State State}", - "type_source": "Action → ℝ≥0 → Kernel State State", + "source": "{Parameter Evidence : Type*}", + "type_source": "Type*", "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[∀ action time, IsMarkovKernel (kernel action time)]", - "type_source": "∀ action time, IsMarkovKernel (kernel action time)", + "source": "[Fintype Parameter]", + "type_source": "Fintype Parameter", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Evidence]", + "type_source": "Fintype Evidence", "visibility": "instance" } ], "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.continuous_time_markov", - "FepSketches.native_blanket", - "Mathlib.InformationTheory.KullbackLeibler.DataProcessing", - "Mathlib.Probability.Kernel.Invariance" + "FepSketches.finite_probability", + "Mathlib.Probability.Kernel.Disintegration.Integral", + "Mathlib.Probability.Kernel.Posterior" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.MarkovSemigroup.NativeActionIndexedKernelSemigroup", + "namespace": "FEP.MeasureBayes", "namespace_variable_context": [ - "{State Action : Type*} [MeasurableSpace State]\n {kernel : Action → ℝ≥0 → Kernel State State}\n [∀ action time, IsMarkovKernel (kernel action time)]" + "{Ω Observation Intermediate : Type*}\n {mΩ : MeasurableSpace Ω} {mObservation : MeasurableSpace Observation}\n {mIntermediate : MeasurableSpace Intermediate}", + "[StandardBorelSpace Ω] [Nonempty Ω]\n {prior : Measure Ω} [IsFiniteMeasure prior]\n {likelihood : Kernel Ω Observation} [IsFiniteKernel likelihood]", + "{Conditioned : Type*} {mConditioned : MeasurableSpace Conditioned}\n [StandardBorelSpace Conditioned] [Nonempty Conditioned]", + "{Parameter Evidence : Type*}\n [Fintype Parameter] [Fintype Evidence]" ], "preceding_scope_directives": [], - "qualified_name": "FEP.MarkovSemigroup.NativeActionIndexedKernelSemigroup.liftActionIndexedSemigroup_sampleTime", - "source_line": 208, - "source_owner": "src/fep_lean/formal/markov_semigroup.lean", - "statement": "theorem liftActionIndexedSemigroup_sampleTime\n [Fintype State] [DecidableEq State] [DiscreteMeasurableSpace State]\n [Fintype Action]\n (indexed : FEP.ContinuousTimeMarkov.ActionIndexedSemigroup State Action)\n (action : Action) :\n (((liftActionIndexedSemigroup indexed).sampleTime action : ℝ)) =\n indexed.sampleTime action", - "statement_sha256": "4b0e3072ca64de53115eb4f8e99e3c4c41e3d1ed68f0f52cca0cdb630847819f" + "qualified_name": "FEP.MeasureBayes.finite_zero_evidence_boundary", + "source_line": 141, + "source_owner": "src/fep_lean/formal/measure_bayes.lean", + "statement": "theorem finite_zero_evidence_boundary\n (finitePrior : FiniteLaw Parameter)\n (finiteLikelihood : FiniteKernel Parameter Evidence)\n (evidence : Evidence)\n (hzero : finiteLikelihood.predictive finitePrior evidence = 0) :\n ¬0 < finiteLikelihood.predictive finitePrior evidence", + "statement_sha256": "799904848d9fe3f368b05fe21bbca05cb3aa102ba4bac7e91db23f8bd42b2ba1" }, - "FEP.MarkovSemigroup.NativeActionIndexedKernelSemigroup.liftActionIndexedSemigroup_sampledKernel": { + "FEP.MeasureBayes.likelihoodRatio_reconstruction": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype State]", - "type_source": "Fintype State", - "visibility": "instance" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[DecidableEq State]", - "type_source": "DecidableEq State", - "visibility": "instance" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace State]", - "type_source": "DiscreteMeasurableSpace State", - "visibility": "instance" + "names": [ + "target", + "reference" + ], + "role": "typed_binder", + "source": "(target reference : Measure Ω)", + "type_source": "Measure Ω", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Action]", - "type_source": "Fintype Action", + "source": "[target.HaveLebesgueDecomposition reference]", + "type_source": "target.HaveLebesgueDecomposition reference", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "indexed" - ], - "role": "typed_binder", - "source": "(indexed : FEP.ContinuousTimeMarkov.ActionIndexedSemigroup State Action)", - "type_source": "FEP.ContinuousTimeMarkov.ActionIndexedSemigroup State Action", - "visibility": "explicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "action" + "h_ac" ], "role": "typed_binder", - "source": "(action : Action)", - "type_source": "Action", + "source": "(h_ac : target ≪ reference)", + "type_source": "target ≪ reference", "visibility": "explicit" } ], - "conclusion": "sampledKernel (liftActionIndexedSemigroup indexed) action =\n FEP.NativeBlanket.embeddedKernel (indexed.sampledKernel action)", + "conclusion": "reference.withDensity (target.rnDeriv reference) = target", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "State", - "Action" + "Ω", + "Observation", + "Intermediate" ], "role": "typed_binder", - "source": "{State Action : Type*}", + "source": "{Ω Observation Intermediate : Type*}", "type_source": "Type*", "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[MeasurableSpace State]", - "type_source": "MeasurableSpace State", - "visibility": "instance" + "names": [ + "mΩ" + ], + "role": "typed_binder", + "source": "{mΩ : MeasurableSpace Ω}", + "type_source": "MeasurableSpace Ω", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "kernel" + "mObservation" ], "role": "typed_binder", - "source": "{kernel : Action → ℝ≥0 → Kernel State State}", - "type_source": "Action → ℝ≥0 → Kernel State State", + "source": "{mObservation : MeasurableSpace Observation}", + "type_source": "MeasurableSpace Observation", "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[∀ action time, IsMarkovKernel (kernel action time)]", - "type_source": "∀ action time, IsMarkovKernel (kernel action time)", - "visibility": "instance" + "names": [ + "mIntermediate" + ], + "role": "typed_binder", + "source": "{mIntermediate : MeasurableSpace Intermediate}", + "type_source": "MeasurableSpace Intermediate", + "visibility": "implicit" } ], "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.continuous_time_markov", - "FepSketches.native_blanket", - "Mathlib.InformationTheory.KullbackLeibler.DataProcessing", - "Mathlib.Probability.Kernel.Invariance" + "FepSketches.finite_probability", + "Mathlib.Probability.Kernel.Disintegration.Integral", + "Mathlib.Probability.Kernel.Posterior" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.MarkovSemigroup.NativeActionIndexedKernelSemigroup", + "namespace": "FEP.MeasureBayes", "namespace_variable_context": [ - "{State Action : Type*} [MeasurableSpace State]\n {kernel : Action → ℝ≥0 → Kernel State State}\n [∀ action time, IsMarkovKernel (kernel action time)]" + "{Ω Observation Intermediate : Type*}\n {mΩ : MeasurableSpace Ω} {mObservation : MeasurableSpace Observation}\n {mIntermediate : MeasurableSpace Intermediate}" ], "preceding_scope_directives": [], - "qualified_name": "FEP.MarkovSemigroup.NativeActionIndexedKernelSemigroup.liftActionIndexedSemigroup_sampledKernel", - "source_line": 218, - "source_owner": "src/fep_lean/formal/markov_semigroup.lean", - "statement": "theorem liftActionIndexedSemigroup_sampledKernel\n [Fintype State] [DecidableEq State] [DiscreteMeasurableSpace State]\n [Fintype Action]\n (indexed : FEP.ContinuousTimeMarkov.ActionIndexedSemigroup State Action)\n (action : Action) :\n sampledKernel (liftActionIndexedSemigroup indexed) action =\n FEP.NativeBlanket.embeddedKernel (indexed.sampledKernel action)", - "statement_sha256": "03f786654e2e246450e3e1f04dc0cb288493cd306cf414d801cd2fbe05b9ef8a" + "qualified_name": "FEP.MeasureBayes.likelihoodRatio_reconstruction", + "source_line": 28, + "source_owner": "src/fep_lean/formal/measure_bayes.lean", + "statement": "theorem likelihoodRatio_reconstruction (target reference : Measure Ω)\n [target.HaveLebesgueDecomposition reference]\n (h_ac : target ≪ reference) :\n reference.withDensity (target.rnDeriv reference) = target", + "statement_sha256": "0e9ed7be9d3ae4cb0e60a240bf56a184cacc0da349b25e445a27f5b450127a09" }, - "FEP.MarkovSemigroup.NativeKernelSemigroup.liftFiniteMarkovSemigroup_kernel": { + "FEP.MeasureBayes.likelihoodRatio_reconstruction_iff": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype State]", - "type_source": "Fintype State", - "visibility": "instance" + "names": [ + "target", + "reference" + ], + "role": "typed_binder", + "source": "(target reference : Measure Ω)", + "type_source": "Measure Ω", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DecidableEq State]", - "type_source": "DecidableEq State", + "source": "[target.HaveLebesgueDecomposition reference]", + "type_source": "target.HaveLebesgueDecomposition reference", "visibility": "instance" - }, + } + ], + "conclusion": "target ≪ reference ↔\n reference.withDensity (target.rnDeriv reference) = target", + "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace State]", - "type_source": "DiscreteMeasurableSpace State", - "visibility": "instance" + "names": [ + "Ω", + "Observation", + "Intermediate" + ], + "role": "typed_binder", + "source": "{Ω Observation Intermediate : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "semigroup" + "mΩ" ], "role": "typed_binder", - "source": "(semigroup : FEP.ContinuousTimeMarkov.FiniteMarkovSemigroup State)", - "type_source": "FEP.ContinuousTimeMarkov.FiniteMarkovSemigroup State", - "visibility": "explicit" + "source": "{mΩ : MeasurableSpace Ω}", + "type_source": "MeasurableSpace Ω", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "time" + "mObservation" ], "role": "typed_binder", - "source": "(time : ℝ≥0)", - "type_source": "ℝ≥0", - "visibility": "explicit" - } - ], - "conclusion": "embeddedFiniteKernelFamily semigroup time =\n FEP.NativeBlanket.embeddedKernel\n (semigroup.kernel time.1 time.2)", - "context_binders": [ + "source": "{mObservation : MeasurableSpace Observation}", + "type_source": "MeasurableSpace Observation", + "visibility": "implicit" + }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "State" + "mIntermediate" ], "role": "typed_binder", - "source": "{State : Type*}", - "type_source": "Type*", + "source": "{mIntermediate : MeasurableSpace Intermediate}", + "type_source": "MeasurableSpace Intermediate", "visibility": "implicit" + } + ], + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.finite_probability", + "Mathlib.Probability.Kernel.Disintegration.Integral", + "Mathlib.Probability.Kernel.Posterior" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.MeasureBayes", + "namespace_variable_context": [ + "{Ω Observation Intermediate : Type*}\n {mΩ : MeasurableSpace Ω} {mObservation : MeasurableSpace Observation}\n {mIntermediate : MeasurableSpace Intermediate}" + ], + "preceding_scope_directives": [], + "qualified_name": "FEP.MeasureBayes.likelihoodRatio_reconstruction_iff", + "source_line": 36, + "source_owner": "src/fep_lean/formal/measure_bayes.lean", + "statement": "theorem likelihoodRatio_reconstruction_iff (target reference : Measure Ω)\n [target.HaveLebesgueDecomposition reference] :\n target ≪ reference ↔\n reference.withDensity (target.rnDeriv reference) = target", + "statement_sha256": "9a26129a8a9115f14e550167b4002924eaf2121055d3a0426febc8a0030b4ffd" + }, + "FEP.MeasureBayes.posterior_composite": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[StandardBorelSpace Observation]", + "type_source": "StandardBorelSpace Observation", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[MeasurableSpace State]", - "type_source": "MeasurableSpace State", + "source": "[Nonempty Observation]", + "type_source": "Nonempty Observation", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "kernel" + "later" ], "role": "typed_binder", - "source": "{kernel : ℝ≥0 → Kernel State State}", - "type_source": "ℝ≥0 → Kernel State State", - "visibility": "implicit" + "source": "(later : Kernel Observation Intermediate)", + "type_source": "Kernel Observation Intermediate", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[∀ time, IsMarkovKernel (kernel time)]", - "type_source": "∀ time, IsMarkovKernel (kernel time)", + "source": "[IsFiniteKernel later]", + "type_source": "IsFiniteKernel later", "visibility": "instance" } ], - "declaration_mentions": [], - "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", - "import_context": [ - "FepSketches.continuous_time_markov", - "FepSketches.native_blanket", - "Mathlib.InformationTheory.KullbackLeibler.DataProcessing", - "Mathlib.Probability.Kernel.Invariance" - ], - "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.MarkovSemigroup.NativeKernelSemigroup", - "namespace_variable_context": [ - "{State : Type*} [MeasurableSpace State]\n {kernel : ℝ≥0 → Kernel State State}\n [∀ time, IsMarkovKernel (kernel time)]" - ], - "preceding_scope_directives": [], - "qualified_name": "FEP.MarkovSemigroup.NativeKernelSemigroup.liftFiniteMarkovSemigroup_kernel", - "source_line": 132, - "source_owner": "src/fep_lean/formal/markov_semigroup.lean", - "statement": "theorem liftFiniteMarkovSemigroup_kernel\n [Fintype State] [DecidableEq State] [DiscreteMeasurableSpace State]\n (semigroup : FEP.ContinuousTimeMarkov.FiniteMarkovSemigroup State)\n (time : ℝ≥0) :\n embeddedFiniteKernelFamily semigroup time =\n FEP.NativeBlanket.embeddedKernel\n (semigroup.kernel time.1 time.2)", - "statement_sha256": "899aedd9d8fe02b7c247b982b0b1c3834bb41706667848f2f6e384ad0f1f5c46" - }, - "FEP.MarkovSemigroup.NativeKernelSemigroup.nativeKL_nonincrease": { - "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [ + "conclusion": "(later ∘ₖ likelihood)†prior =ᵐ[later ∘ₘ likelihood ∘ₘ prior]\n likelihood†prior ∘ₖ later†(likelihood ∘ₘ prior)", + "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "semigroup" + "Ω", + "Observation", + "Intermediate" ], "role": "typed_binder", - "source": "(semigroup : NativeKernelSemigroup kernel)", - "type_source": "NativeKernelSemigroup kernel", - "visibility": "explicit" + "source": "{Ω Observation Intermediate : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "earlier", - "increment" + "mΩ" ], "role": "typed_binder", - "source": "(earlier increment : ℝ≥0)", - "type_source": "ℝ≥0", - "visibility": "explicit" + "source": "{mΩ : MeasurableSpace Ω}", + "type_source": "MeasurableSpace Ω", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "actual", - "reference" + "mObservation" ], "role": "typed_binder", - "source": "(actual reference : Measure State)", - "type_source": "Measure State", - "visibility": "explicit" + "source": "{mObservation : MeasurableSpace Observation}", + "type_source": "MeasurableSpace Observation", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "mIntermediate" + ], + "role": "typed_binder", + "source": "{mIntermediate : MeasurableSpace Intermediate}", + "type_source": "MeasurableSpace Intermediate", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[IsFiniteMeasure actual]", - "type_source": "IsFiniteMeasure actual", + "source": "[StandardBorelSpace Ω]", + "type_source": "StandardBorelSpace Ω", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[IsFiniteMeasure reference]", - "type_source": "IsFiniteMeasure reference", + "source": "[Nonempty Ω]", + "type_source": "Nonempty Ω", "visibility": "instance" - } - ], - "conclusion": "InformationTheory.klDiv (kernel (earlier + increment) ∘ₘ actual)\n (kernel (earlier + increment) ∘ₘ reference) ≤\n InformationTheory.klDiv (kernel earlier ∘ₘ actual)\n (kernel earlier ∘ₘ reference)", - "context_binders": [ + }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "State" + "prior" ], "role": "typed_binder", - "source": "{State : Type*}", - "type_source": "Type*", + "source": "{prior : Measure Ω}", + "type_source": "Measure Ω", "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[MeasurableSpace State]", - "type_source": "MeasurableSpace State", + "source": "[IsFiniteMeasure prior]", + "type_source": "IsFiniteMeasure prior", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "kernel" + "likelihood" ], "role": "typed_binder", - "source": "{kernel : ℝ≥0 → Kernel State State}", - "type_source": "ℝ≥0 → Kernel State State", + "source": "{likelihood : Kernel Ω Observation}", + "type_source": "Kernel Ω Observation", "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[∀ time, IsMarkovKernel (kernel time)]", - "type_source": "∀ time, IsMarkovKernel (kernel time)", + "source": "[IsFiniteKernel likelihood]", + "type_source": "IsFiniteKernel likelihood", "visibility": "instance" } ], "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.continuous_time_markov", - "FepSketches.native_blanket", - "Mathlib.InformationTheory.KullbackLeibler.DataProcessing", - "Mathlib.Probability.Kernel.Invariance" + "FepSketches.finite_probability", + "Mathlib.Probability.Kernel.Disintegration.Integral", + "Mathlib.Probability.Kernel.Posterior" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.MarkovSemigroup.NativeKernelSemigroup", + "namespace": "FEP.MeasureBayes", "namespace_variable_context": [ - "{State : Type*} [MeasurableSpace State]\n {kernel : ℝ≥0 → Kernel State State}\n [∀ time, IsMarkovKernel (kernel time)]" + "{Ω Observation Intermediate : Type*}\n {mΩ : MeasurableSpace Ω} {mObservation : MeasurableSpace Observation}\n {mIntermediate : MeasurableSpace Intermediate}", + "[StandardBorelSpace Ω] [Nonempty Ω]\n {prior : Measure Ω} [IsFiniteMeasure prior]\n {likelihood : Kernel Ω Observation} [IsFiniteKernel likelihood]" ], "preceding_scope_directives": [], - "qualified_name": "FEP.MarkovSemigroup.NativeKernelSemigroup.nativeKL_nonincrease", - "source_line": 93, - "source_owner": "src/fep_lean/formal/markov_semigroup.lean", - "statement": "theorem nativeKL_nonincrease\n (semigroup : NativeKernelSemigroup kernel)\n (earlier increment : ℝ≥0)\n (actual reference : Measure State)\n [IsFiniteMeasure actual] [IsFiniteMeasure reference] :\n InformationTheory.klDiv (kernel (earlier + increment) ∘ₘ actual)\n (kernel (earlier + increment) ∘ₘ reference) ≤\n InformationTheory.klDiv (kernel earlier ∘ₘ actual)\n (kernel earlier ∘ₘ reference)", - "statement_sha256": "d3d466ac9078304e917ca65efbb381109cddf9b778322254a5ac2c28f0e1fc43" + "qualified_name": "FEP.MeasureBayes.posterior_composite", + "source_line": 82, + "source_owner": "src/fep_lean/formal/measure_bayes.lean", + "statement": "theorem posterior_composite\n [StandardBorelSpace Observation] [Nonempty Observation]\n (later : Kernel Observation Intermediate) [IsFiniteKernel later] :\n (later ∘ₖ likelihood)†prior =ᵐ[later ∘ₘ likelihood ∘ₘ prior]\n likelihood†prior ∘ₖ later†(likelihood ∘ₘ prior)", + "statement_sha256": "9ec1ea83ee5f540a0d6e0a299cb43df6ddc8d5404c5fbd4a38aa62dba5c3d69b" }, - "FEP.MarkovSemigroup.NativeKernelSemigroup.nativeKL_to_invariant_nonincrease": { + "FEP.MeasureBayes.posterior_density_as_likelihood_tilt": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[MeasurableSpace.CountableOrCountablyGenerated Ω Observation]", + "type_source": "MeasurableSpace.CountableOrCountablyGenerated Ω Observation", + "visibility": "instance" + }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "semigroup" + "h_ac" ], "role": "typed_binder", - "source": "(semigroup : NativeKernelSemigroup kernel)", - "type_source": "NativeKernelSemigroup kernel", + "source": "(h_ac : ∀ᵐ parameter ∂prior,\n likelihood parameter ≪ likelihood ∘ₘ prior)", + "type_source": "∀ᵐ parameter ∂prior,\n likelihood parameter ≪ likelihood ∘ₘ prior", "visibility": "explicit" + } + ], + "conclusion": "∀ᵐ observation ∂likelihood ∘ₘ prior,\n (likelihood†prior) observation =\n prior.withDensity (fun parameter =>\n likelihood.rnDeriv\n (Kernel.const Ω (likelihood ∘ₘ prior)) parameter observation)", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "Ω", + "Observation", + "Intermediate" + ], + "role": "typed_binder", + "source": "{Ω Observation Intermediate : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "earlier", - "increment" + "mΩ" ], "role": "typed_binder", - "source": "(earlier increment : ℝ≥0)", - "type_source": "ℝ≥0", - "visibility": "explicit" + "source": "{mΩ : MeasurableSpace Ω}", + "type_source": "MeasurableSpace Ω", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "actual", - "invariant" + "mObservation" ], "role": "typed_binder", - "source": "(actual invariant : Measure State)", - "type_source": "Measure State", - "visibility": "explicit" + "source": "{mObservation : MeasurableSpace Observation}", + "type_source": "MeasurableSpace Observation", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "mIntermediate" + ], + "role": "typed_binder", + "source": "{mIntermediate : MeasurableSpace Intermediate}", + "type_source": "MeasurableSpace Intermediate", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[IsFiniteMeasure actual]", - "type_source": "IsFiniteMeasure actual", + "source": "[StandardBorelSpace Ω]", + "type_source": "StandardBorelSpace Ω", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[IsFiniteMeasure invariant]", - "type_source": "IsFiniteMeasure invariant", + "source": "[Nonempty Ω]", + "type_source": "Nonempty Ω", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "hInvariant" - ], - "role": "typed_binder", - "source": "(hInvariant : InvariantLaw semigroup invariant)", - "type_source": "InvariantLaw semigroup invariant", - "visibility": "explicit" - } - ], - "conclusion": "InformationTheory.klDiv\n (kernel (earlier + increment) ∘ₘ actual) invariant ≤\n InformationTheory.klDiv (kernel earlier ∘ₘ actual) invariant", - "context_binders": [ - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "State" + "prior" ], "role": "typed_binder", - "source": "{State : Type*}", - "type_source": "Type*", + "source": "{prior : Measure Ω}", + "type_source": "Measure Ω", "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[MeasurableSpace State]", - "type_source": "MeasurableSpace State", + "source": "[IsFiniteMeasure prior]", + "type_source": "IsFiniteMeasure prior", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "kernel" + "likelihood" ], "role": "typed_binder", - "source": "{kernel : ℝ≥0 → Kernel State State}", - "type_source": "ℝ≥0 → Kernel State State", + "source": "{likelihood : Kernel Ω Observation}", + "type_source": "Kernel Ω Observation", "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[∀ time, IsMarkovKernel (kernel time)]", - "type_source": "∀ time, IsMarkovKernel (kernel time)", + "source": "[IsFiniteKernel likelihood]", + "type_source": "IsFiniteKernel likelihood", "visibility": "instance" } ], - "declaration_mentions": [ - { - "identifier": "nativeKL_nonincrease", - "qualified_name": "FEP.MarkovSemigroup.NativeKernelSemigroup.nativeKL_nonincrease", - "resolution": "exact or same-namespace source identifier", - "role": "proof_reference" - } - ], + "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.continuous_time_markov", - "FepSketches.native_blanket", - "Mathlib.InformationTheory.KullbackLeibler.DataProcessing", - "Mathlib.Probability.Kernel.Invariance" + "FepSketches.finite_probability", + "Mathlib.Probability.Kernel.Disintegration.Integral", + "Mathlib.Probability.Kernel.Posterior" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.MarkovSemigroup.NativeKernelSemigroup", + "namespace": "FEP.MeasureBayes", "namespace_variable_context": [ - "{State : Type*} [MeasurableSpace State]\n {kernel : ℝ≥0 → Kernel State State}\n [∀ time, IsMarkovKernel (kernel time)]" + "{Ω Observation Intermediate : Type*}\n {mΩ : MeasurableSpace Ω} {mObservation : MeasurableSpace Observation}\n {mIntermediate : MeasurableSpace Intermediate}", + "[StandardBorelSpace Ω] [Nonempty Ω]\n {prior : Measure Ω} [IsFiniteMeasure prior]\n {likelihood : Kernel Ω Observation} [IsFiniteKernel likelihood]" ], "preceding_scope_directives": [], - "qualified_name": "FEP.MarkovSemigroup.NativeKernelSemigroup.nativeKL_to_invariant_nonincrease", - "source_line": 109, - "source_owner": "src/fep_lean/formal/markov_semigroup.lean", - "statement": "theorem nativeKL_to_invariant_nonincrease\n (semigroup : NativeKernelSemigroup kernel)\n (earlier increment : ℝ≥0)\n (actual invariant : Measure State)\n [IsFiniteMeasure actual] [IsFiniteMeasure invariant]\n (hInvariant : InvariantLaw semigroup invariant) :\n InformationTheory.klDiv\n (kernel (earlier + increment) ∘ₘ actual) invariant ≤\n InformationTheory.klDiv (kernel earlier ∘ₘ actual) invariant", - "statement_sha256": "1f5def394414d28ff1a0803d4f43a7bebf0fb4f146dfe25ef40fdea137b1acee" + "qualified_name": "FEP.MeasureBayes.posterior_density_as_likelihood_tilt", + "source_line": 50, + "source_owner": "src/fep_lean/formal/measure_bayes.lean", + "statement": "theorem posterior_density_as_likelihood_tilt\n [MeasurableSpace.CountableOrCountablyGenerated Ω Observation]\n (h_ac : ∀ᵐ parameter ∂prior,\n likelihood parameter ≪ likelihood ∘ₘ prior) :\n ∀ᵐ observation ∂likelihood ∘ₘ prior,\n (likelihood†prior) observation =\n prior.withDensity (fun parameter =>\n likelihood.rnDeriv\n (Kernel.const Ω (likelihood ∘ₘ prior)) parameter observation)", + "statement_sha256": "c757cd57f838f191966f59864567e4a8ac99800390c88a29f052f57b7bf15576" }, - "FEP.MarkovSemigroup.NativeKernelSemigroup.reversibleLaw_invariantLaw": { + "FEP.MeasureBayes.posterior_involution": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[StandardBorelSpace Observation]", + "type_source": "StandardBorelSpace Observation", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Nonempty Observation]", + "type_source": "Nonempty Observation", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[IsMarkovKernel likelihood]", + "type_source": "IsMarkovKernel likelihood", + "visibility": "instance" + } + ], + "conclusion": "(likelihood†prior)†(likelihood ∘ₘ prior) =ᵐ[prior] likelihood", + "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "semigroup" + "Ω", + "Observation", + "Intermediate" ], "role": "typed_binder", - "source": "(semigroup : NativeKernelSemigroup kernel)", - "type_source": "NativeKernelSemigroup kernel", - "visibility": "explicit" + "source": "{Ω Observation Intermediate : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "law" + "mΩ" ], "role": "typed_binder", - "source": "(law : Measure State)", - "type_source": "Measure State", - "visibility": "explicit" + "source": "{mΩ : MeasurableSpace Ω}", + "type_source": "MeasurableSpace Ω", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "hReversible" + "mObservation" ], "role": "typed_binder", - "source": "(hReversible : ReversibleLaw semigroup law)", - "type_source": "ReversibleLaw semigroup law", - "visibility": "explicit" - } - ], - "conclusion": "InvariantLaw semigroup law", - "context_binders": [ + "source": "{mObservation : MeasurableSpace Observation}", + "type_source": "MeasurableSpace Observation", + "visibility": "implicit" + }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "State" + "mIntermediate" ], "role": "typed_binder", - "source": "{State : Type*}", - "type_source": "Type*", + "source": "{mIntermediate : MeasurableSpace Intermediate}", + "type_source": "MeasurableSpace Intermediate", "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[MeasurableSpace State]", - "type_source": "MeasurableSpace State", + "source": "[StandardBorelSpace Ω]", + "type_source": "StandardBorelSpace Ω", "visibility": "instance" }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "kernel" - ], - "role": "typed_binder", - "source": "{kernel : ℝ≥0 → Kernel State State}", - "type_source": "ℝ≥0 → Kernel State State", - "visibility": "implicit" - }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[∀ time, IsMarkovKernel (kernel time)]", - "type_source": "∀ time, IsMarkovKernel (kernel time)", + "source": "[Nonempty Ω]", + "type_source": "Nonempty Ω", "visibility": "instance" - } - ], - "declaration_mentions": [], - "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", - "import_context": [ - "FepSketches.continuous_time_markov", - "FepSketches.native_blanket", - "Mathlib.InformationTheory.KullbackLeibler.DataProcessing", - "Mathlib.Probability.Kernel.Invariance" - ], - "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.MarkovSemigroup.NativeKernelSemigroup", - "namespace_variable_context": [ - "{State : Type*} [MeasurableSpace State]\n {kernel : ℝ≥0 → Kernel State State}\n [∀ time, IsMarkovKernel (kernel time)]" - ], - "preceding_scope_directives": [], - "qualified_name": "FEP.MarkovSemigroup.NativeKernelSemigroup.reversibleLaw_invariantLaw", - "source_line": 84, - "source_owner": "src/fep_lean/formal/markov_semigroup.lean", - "statement": "theorem reversibleLaw_invariantLaw\n (semigroup : NativeKernelSemigroup kernel) (law : Measure State)\n (hReversible : ReversibleLaw semigroup law) :\n InvariantLaw semigroup law", - "statement_sha256": "f40a51a4ac22b2001eceb9ef59bb402ec725f900c90f89aea6df277950dc9663" - }, - "FEP.MeasureBayes.conditionalExpectation_tower": { - "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [ + }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "joint" + "prior" ], "role": "typed_binder", - "source": "(joint : Measure (Observation × Conditioned))", - "type_source": "Measure (Observation × Conditioned)", - "visibility": "explicit" + "source": "{prior : Measure Ω}", + "type_source": "Measure Ω", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[IsFiniteMeasure joint]", - "type_source": "IsFiniteMeasure joint", + "source": "[IsFiniteMeasure prior]", + "type_source": "IsFiniteMeasure prior", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "f" + "likelihood" ], "role": "typed_binder", - "source": "{f : Observation × Conditioned → ℝ}", - "type_source": "Observation × Conditioned → ℝ", + "source": "{likelihood : Kernel Ω Observation}", + "type_source": "Kernel Ω Observation", "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "hf" - ], - "role": "typed_binder", - "source": "(hf : Integrable f joint)", - "type_source": "Integrable f joint", - "visibility": "explicit" + "names": [], + "role": "instance_requirement", + "source": "[IsFiniteKernel likelihood]", + "type_source": "IsFiniteKernel likelihood", + "visibility": "instance" } ], - "conclusion": "(∫ observation,\n ∫ conditioned, f (observation, conditioned) ∂joint.condKernel observation\n ∂joint.fst) = ∫ pair, f pair ∂joint", + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.finite_probability", + "Mathlib.Probability.Kernel.Disintegration.Integral", + "Mathlib.Probability.Kernel.Posterior" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.MeasureBayes", + "namespace_variable_context": [ + "{Ω Observation Intermediate : Type*}\n {mΩ : MeasurableSpace Ω} {mObservation : MeasurableSpace Observation}\n {mIntermediate : MeasurableSpace Intermediate}", + "[StandardBorelSpace Ω] [Nonempty Ω]\n {prior : Measure Ω} [IsFiniteMeasure prior]\n {likelihood : Kernel Ω Observation} [IsFiniteKernel likelihood]" + ], + "preceding_scope_directives": [], + "qualified_name": "FEP.MeasureBayes.posterior_involution", + "source_line": 74, + "source_owner": "src/fep_lean/formal/measure_bayes.lean", + "statement": "theorem posterior_involution\n [StandardBorelSpace Observation] [Nonempty Observation]\n [IsMarkovKernel likelihood] :\n (likelihood†prior)†(likelihood ∘ₘ prior) =ᵐ[prior] likelihood", + "statement_sha256": "c57de54a2011125a7d0364b0ac34fc3d807463ad2326349cb229a50c407ca5c3" + }, + "FEP.MeasureBayes.posterior_joint_reconstruction": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [], + "conclusion": "(likelihood ∘ₘ prior) ⊗ₘ likelihood†prior =\n (prior ⊗ₘ likelihood).map Prod.swap", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -76914,42 +82387,6 @@ "source": "[IsFiniteKernel likelihood]", "type_source": "IsFiniteKernel likelihood", "visibility": "instance" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "Conditioned" - ], - "role": "typed_binder", - "source": "{Conditioned : Type*}", - "type_source": "Type*", - "visibility": "implicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "mConditioned" - ], - "role": "typed_binder", - "source": "{mConditioned : MeasurableSpace Conditioned}", - "type_source": "MeasurableSpace Conditioned", - "visibility": "implicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[StandardBorelSpace Conditioned]", - "type_source": "StandardBorelSpace Conditioned", - "visibility": "instance" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Nonempty Conditioned]", - "type_source": "Nonempty Conditioned", - "visibility": "instance" } ], "declaration_mentions": [], @@ -76963,39 +82400,28 @@ "namespace": "FEP.MeasureBayes", "namespace_variable_context": [ "{Ω Observation Intermediate : Type*}\n {mΩ : MeasurableSpace Ω} {mObservation : MeasurableSpace Observation}\n {mIntermediate : MeasurableSpace Intermediate}", - "[StandardBorelSpace Ω] [Nonempty Ω]\n {prior : Measure Ω} [IsFiniteMeasure prior]\n {likelihood : Kernel Ω Observation} [IsFiniteKernel likelihood]", - "{Conditioned : Type*} {mConditioned : MeasurableSpace Conditioned}\n [StandardBorelSpace Conditioned] [Nonempty Conditioned]" + "[StandardBorelSpace Ω] [Nonempty Ω]\n {prior : Measure Ω} [IsFiniteMeasure prior]\n {likelihood : Kernel Ω Observation} [IsFiniteKernel likelihood]" ], "preceding_scope_directives": [], - "qualified_name": "FEP.MeasureBayes.conditionalExpectation_tower", - "source_line": 103, + "qualified_name": "FEP.MeasureBayes.posterior_joint_reconstruction", + "source_line": 62, "source_owner": "src/fep_lean/formal/measure_bayes.lean", - "statement": "theorem conditionalExpectation_tower\n (joint : Measure (Observation × Conditioned)) [IsFiniteMeasure joint]\n {f : Observation × Conditioned → ℝ} (hf : Integrable f joint) :\n (∫ observation,\n ∫ conditioned, f (observation, conditioned) ∂joint.condKernel observation\n ∂joint.fst) = ∫ pair, f pair ∂joint", - "statement_sha256": "a707ced0efea83b7eed8fe10d665d1146a46acc6782c3dec9778d2aad5743ffc" + "statement": "theorem posterior_joint_reconstruction :\n (likelihood ∘ₘ prior) ⊗ₘ likelihood†prior =\n (prior ⊗ₘ likelihood).map Prod.swap", + "statement_sha256": "092d4dc9512fe694ab87aed7e5c096a32cdf3e6589bf246b4d18b268d171b725" }, - "FEP.MeasureBayes.conditionalKernel_reconstruction": { + "FEP.MeasureBayes.posterior_reconstructs_prior": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "joint" - ], - "role": "typed_binder", - "source": "(joint : Measure (Observation × Conditioned))", - "type_source": "Measure (Observation × Conditioned)", - "visibility": "explicit" - }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[IsFiniteMeasure joint]", - "type_source": "IsFiniteMeasure joint", + "source": "[IsMarkovKernel likelihood]", + "type_source": "IsMarkovKernel likelihood", "visibility": "instance" } ], - "conclusion": "joint.fst ⊗ₘ joint.condKernel = joint", + "conclusion": "likelihood†prior ∘ₘ likelihood ∘ₘ prior = prior", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -77090,1629 +82516,2164 @@ "source": "[IsFiniteKernel likelihood]", "type_source": "IsFiniteKernel likelihood", "visibility": "instance" - }, + } + ], + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.finite_probability", + "Mathlib.Probability.Kernel.Disintegration.Integral", + "Mathlib.Probability.Kernel.Posterior" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.MeasureBayes", + "namespace_variable_context": [ + "{Ω Observation Intermediate : Type*}\n {mΩ : MeasurableSpace Ω} {mObservation : MeasurableSpace Observation}\n {mIntermediate : MeasurableSpace Intermediate}", + "[StandardBorelSpace Ω] [Nonempty Ω]\n {prior : Measure Ω} [IsFiniteMeasure prior]\n {likelihood : Kernel Ω Observation} [IsFiniteKernel likelihood]" + ], + "preceding_scope_directives": [], + "qualified_name": "FEP.MeasureBayes.posterior_reconstructs_prior", + "source_line": 68, + "source_owner": "src/fep_lean/formal/measure_bayes.lean", + "statement": "theorem posterior_reconstructs_prior [IsMarkovKernel likelihood] :\n likelihood†prior ∘ₘ likelihood ∘ₘ prior = prior", + "statement_sha256": "ebeff6ea880ffcddf73263dd3f8d12226415ee3d8bfa1cfb4b683b8c96c7ce20" + }, + "FEP.NativeBlanket.blanketCoordinate_measurable": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [], + "conclusion": "Measurable\n (blanketCoordinate :\n StaticState Internal Sensory Active External → Blanket Sensory Active)", + "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Conditioned" + "Internal", + "Sensory", + "Active", + "External" ], "role": "typed_binder", - "source": "{Conditioned : Type*}", + "source": "{Internal Sensory Active External : Type*}", "type_source": "Type*", "visibility": "implicit" }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Internal]", + "type_source": "Fintype Internal", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Sensory]", + "type_source": "Fintype Sensory", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Active]", + "type_source": "Fintype Active", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype External]", + "type_source": "Fintype External", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[MeasurableSpace Internal]", + "type_source": "MeasurableSpace Internal", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[MeasurableSpace Sensory]", + "type_source": "MeasurableSpace Sensory", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[MeasurableSpace Active]", + "type_source": "MeasurableSpace Active", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[MeasurableSpace External]", + "type_source": "MeasurableSpace External", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DiscreteMeasurableSpace Internal]", + "type_source": "DiscreteMeasurableSpace Internal", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DiscreteMeasurableSpace Sensory]", + "type_source": "DiscreteMeasurableSpace Sensory", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DiscreteMeasurableSpace Active]", + "type_source": "DiscreteMeasurableSpace Active", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DiscreteMeasurableSpace External]", + "type_source": "DiscreteMeasurableSpace External", + "visibility": "instance" + } + ], + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.markov_blanket", + "Mathlib.MeasureTheory.Integral.Bochner.SumMeasure", + "Mathlib.Probability.Independence.Conditional", + "Mathlib.Probability.Kernel.Composition.Comp" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.NativeBlanket", + "namespace_variable_context": [ + "{Internal Sensory Active External : Type*}\n [Fintype Internal] [Fintype Sensory] [Fintype Active] [Fintype External]\n [MeasurableSpace Internal] [MeasurableSpace Sensory]\n [MeasurableSpace Active] [MeasurableSpace External]\n [DiscreteMeasurableSpace Internal] [DiscreteMeasurableSpace Sensory]\n [DiscreteMeasurableSpace Active] [DiscreteMeasurableSpace External]" + ], + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DiscreteMeasurableSpace β] in" + } + ], + "qualified_name": "FEP.NativeBlanket.blanketCoordinate_measurable", + "source_line": 238, + "source_owner": "src/fep_lean/formal/native_blanket.lean", + "statement": "theorem blanketCoordinate_measurable :\n Measurable\n (blanketCoordinate :\n StaticState Internal Sensory Active External → Blanket Sensory Active)", + "statement_sha256": "7a2477c26a3e5ed32a6f4241ffcfe179b2ec3e188216a64c51cd78e8c2b34af5" + }, + "FEP.NativeBlanket.blanketTripleCoordinate_measurable": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [], + "conclusion": "Measurable\n (blanketTripleCoordinate :\n StaticState Internal Sensory Active External →\n Blanket Sensory Active × (Internal × External))", + "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "mConditioned" + "Internal", + "Sensory", + "Active", + "External" ], "role": "typed_binder", - "source": "{mConditioned : MeasurableSpace Conditioned}", - "type_source": "MeasurableSpace Conditioned", + "source": "{Internal Sensory Active External : Type*}", + "type_source": "Type*", "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[StandardBorelSpace Conditioned]", - "type_source": "StandardBorelSpace Conditioned", + "source": "[Fintype Internal]", + "type_source": "Fintype Internal", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Nonempty Conditioned]", - "type_source": "Nonempty Conditioned", + "source": "[Fintype Sensory]", + "type_source": "Fintype Sensory", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Active]", + "type_source": "Fintype Active", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype External]", + "type_source": "Fintype External", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[MeasurableSpace Internal]", + "type_source": "MeasurableSpace Internal", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[MeasurableSpace Sensory]", + "type_source": "MeasurableSpace Sensory", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[MeasurableSpace Active]", + "type_source": "MeasurableSpace Active", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[MeasurableSpace External]", + "type_source": "MeasurableSpace External", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DiscreteMeasurableSpace Internal]", + "type_source": "DiscreteMeasurableSpace Internal", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DiscreteMeasurableSpace Sensory]", + "type_source": "DiscreteMeasurableSpace Sensory", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DiscreteMeasurableSpace Active]", + "type_source": "DiscreteMeasurableSpace Active", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DiscreteMeasurableSpace External]", + "type_source": "DiscreteMeasurableSpace External", "visibility": "instance" } ], "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.finite_probability", - "Mathlib.Probability.Kernel.Disintegration.Integral", - "Mathlib.Probability.Kernel.Posterior" + "FepSketches.markov_blanket", + "Mathlib.MeasureTheory.Integral.Bochner.SumMeasure", + "Mathlib.Probability.Independence.Conditional", + "Mathlib.Probability.Kernel.Composition.Comp" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.MeasureBayes", + "namespace": "FEP.NativeBlanket", "namespace_variable_context": [ - "{Ω Observation Intermediate : Type*}\n {mΩ : MeasurableSpace Ω} {mObservation : MeasurableSpace Observation}\n {mIntermediate : MeasurableSpace Intermediate}", - "[StandardBorelSpace Ω] [Nonempty Ω]\n {prior : Measure Ω} [IsFiniteMeasure prior]\n {likelihood : Kernel Ω Observation} [IsFiniteKernel likelihood]", - "{Conditioned : Type*} {mConditioned : MeasurableSpace Conditioned}\n [StandardBorelSpace Conditioned] [Nonempty Conditioned]" + "{Internal Sensory Active External : Type*}\n [Fintype Internal] [Fintype Sensory] [Fintype Active] [Fintype External]\n [MeasurableSpace Internal] [MeasurableSpace Sensory]\n [MeasurableSpace Active] [MeasurableSpace External]\n [DiscreteMeasurableSpace Internal] [DiscreteMeasurableSpace Sensory]\n [DiscreteMeasurableSpace Active] [DiscreteMeasurableSpace External]" ], - "preceding_scope_directives": [], - "qualified_name": "FEP.MeasureBayes.conditionalKernel_reconstruction", - "source_line": 96, - "source_owner": "src/fep_lean/formal/measure_bayes.lean", - "statement": "theorem conditionalKernel_reconstruction\n (joint : Measure (Observation × Conditioned)) [IsFiniteMeasure joint] :\n joint.fst ⊗ₘ joint.condKernel = joint", - "statement_sha256": "912e9622c0a14c5e5dd6e736ef895dd316ad066925522d9c65b423f62863aca0" + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DiscreteMeasurableSpace β] in" + } + ], + "qualified_name": "FEP.NativeBlanket.blanketTripleCoordinate_measurable", + "source_line": 256, + "source_owner": "src/fep_lean/formal/native_blanket.lean", + "statement": "theorem blanketTripleCoordinate_measurable :\n Measurable\n (blanketTripleCoordinate :\n StaticState Internal Sensory Active External →\n Blanket Sensory Active × (Internal × External))", + "statement_sha256": "2ccdcddf40f7b531ad33c6c54dcd3ccd1f82aa6a26c16a67bbf738a582a93b70" }, - "FEP.MeasureBayes.finite_posterior_normalized": { + "FEP.NativeBlanket.condIndepFun_measurableImages": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Nonempty Internal]", + "type_source": "Nonempty Internal", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Nonempty External]", + "type_source": "Nonempty External", + "visibility": "instance" + }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "finitePrior" + "InternalImage", + "ExternalImage" ], "role": "typed_binder", - "source": "(finitePrior : FiniteLaw Parameter)", - "type_source": "FiniteLaw Parameter", + "source": "{InternalImage ExternalImage : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[MeasurableSpace InternalImage]", + "type_source": "MeasurableSpace InternalImage", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[MeasurableSpace ExternalImage]", + "type_source": "MeasurableSpace ExternalImage", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "model" + ], + "role": "typed_binder", + "source": "(model : StaticModel Internal Sensory Active External)", + "type_source": "StaticModel Internal Sensory Active External", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "finiteLikelihood" + "internalImage" ], "role": "typed_binder", - "source": "(finiteLikelihood : FiniteKernel Parameter Evidence)", - "type_source": "FiniteKernel Parameter Evidence", + "source": "(internalImage : Internal → InternalImage)", + "type_source": "Internal → InternalImage", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "evidence" + "externalImage" ], "role": "typed_binder", - "source": "(evidence : Evidence)", - "type_source": "Evidence", + "source": "(externalImage : External → ExternalImage)", + "type_source": "External → ExternalImage", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "hEvidence" + "internalMeasurable" ], "role": "typed_binder", - "source": "(hEvidence : 0 < finiteLikelihood.predictive finitePrior evidence)", - "type_source": "0 < finiteLikelihood.predictive finitePrior evidence", + "source": "(internalMeasurable : Measurable internalImage)", + "type_source": "Measurable internalImage", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "externalMeasurable" + ], + "role": "typed_binder", + "source": "(externalMeasurable : Measurable externalImage)", + "type_source": "Measurable externalImage", "visibility": "explicit" } ], - "conclusion": "∑ parameter, finiteLikelihood.posterior finitePrior evidence hEvidence parameter = 1", + "conclusion": "CondIndepFun\n (MeasurableSpace.comap blanketCoordinate inferInstance)\n blanketCoordinate_measurable.comap_le\n (internalImage ∘ internalCoordinate)\n (externalImage ∘ externalCoordinate)\n (embeddedLaw (staticJoint model))", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Ω", - "Observation", - "Intermediate" + "Internal", + "Sensory", + "Active", + "External" ], "role": "typed_binder", - "source": "{Ω Observation Intermediate : Type*}", + "source": "{Internal Sensory Active External : Type*}", "type_source": "Type*", "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "mΩ" + "names": [], + "role": "instance_requirement", + "source": "[Fintype Internal]", + "type_source": "Fintype Internal", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Sensory]", + "type_source": "Fintype Sensory", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Active]", + "type_source": "Fintype Active", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype External]", + "type_source": "Fintype External", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[MeasurableSpace Internal]", + "type_source": "MeasurableSpace Internal", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[MeasurableSpace Sensory]", + "type_source": "MeasurableSpace Sensory", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[MeasurableSpace Active]", + "type_source": "MeasurableSpace Active", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[MeasurableSpace External]", + "type_source": "MeasurableSpace External", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DiscreteMeasurableSpace Internal]", + "type_source": "DiscreteMeasurableSpace Internal", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DiscreteMeasurableSpace Sensory]", + "type_source": "DiscreteMeasurableSpace Sensory", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DiscreteMeasurableSpace Active]", + "type_source": "DiscreteMeasurableSpace Active", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DiscreteMeasurableSpace External]", + "type_source": "DiscreteMeasurableSpace External", + "visibility": "instance" + } + ], + "declaration_mentions": [ + { + "identifier": "staticJoint_condIndepFun", + "qualified_name": "FEP.NativeBlanket.staticJoint_condIndepFun", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + } + ], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.markov_blanket", + "Mathlib.MeasureTheory.Integral.Bochner.SumMeasure", + "Mathlib.Probability.Independence.Conditional", + "Mathlib.Probability.Kernel.Composition.Comp" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.NativeBlanket", + "namespace_variable_context": [ + "{Internal Sensory Active External : Type*}\n [Fintype Internal] [Fintype Sensory] [Fintype Active] [Fintype External]\n [MeasurableSpace Internal] [MeasurableSpace Sensory]\n [MeasurableSpace Active] [MeasurableSpace External]\n [DiscreteMeasurableSpace Internal] [DiscreteMeasurableSpace Sensory]\n [DiscreteMeasurableSpace Active] [DiscreteMeasurableSpace External]" + ], + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DiscreteMeasurableSpace β] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [MeasurableSpace Internal] [MeasurableSpace Sensory]" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [MeasurableSpace Internal] [MeasurableSpace Sensory]" + } + ], + "qualified_name": "FEP.NativeBlanket.condIndepFun_measurableImages", + "source_line": 570, + "source_owner": "src/fep_lean/formal/native_blanket.lean", + "statement": "theorem condIndepFun_measurableImages\n [Nonempty Internal] [Nonempty External]\n {InternalImage ExternalImage : Type*}\n [MeasurableSpace InternalImage] [MeasurableSpace ExternalImage]\n (model : StaticModel Internal Sensory Active External)\n (internalImage : Internal → InternalImage)\n (externalImage : External → ExternalImage)\n (internalMeasurable : Measurable internalImage)\n (externalMeasurable : Measurable externalImage) :\n CondIndepFun\n (MeasurableSpace.comap blanketCoordinate inferInstance)\n blanketCoordinate_measurable.comap_le\n (internalImage ∘ internalCoordinate)\n (externalImage ∘ externalCoordinate)\n (embeddedLaw (staticJoint model))", + "statement_sha256": "239541dd9a013320a5e05c94e7599fe9eae7775966e5626db7430260673d5690" + }, + "FEP.NativeBlanket.correlatedBlanket_nonvacuous": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [], + "conclusion": "letI : MeasurableSpace Bool", + "context_binders": [], + "declaration_mentions": [ + { + "identifier": "staticJoint_condIndepFun", + "qualified_name": "FEP.NativeBlanket.staticJoint_condIndepFun", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + }, + { + "candidates": [ + "FEP.MarkovBlanket.staticJoint_factorization" ], - "role": "typed_binder", - "source": "{mΩ : MeasurableSpace Ω}", - "type_source": "MeasurableSpace Ω", - "visibility": "implicit" + "identifier": "staticJoint_factorization", + "resolution": "unresolved lexical scope", + "role": "proof_reference" + } + ], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.markov_blanket", + "Mathlib.MeasureTheory.Integral.Bochner.SumMeasure", + "Mathlib.Probability.Independence.Conditional", + "Mathlib.Probability.Kernel.Composition.Comp" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.NativeBlanket", + "namespace_variable_context": [], + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DiscreteMeasurableSpace β] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [MeasurableSpace Internal] [MeasurableSpace Sensory]" }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [MeasurableSpace Internal] [MeasurableSpace Sensory]" + } + ], + "qualified_name": "FEP.NativeBlanket.correlatedBlanket_nonvacuous", + "source_line": 621, + "source_owner": "src/fep_lean/formal/native_blanket.lean", + "statement": "theorem correlatedBlanket_nonvacuous :\n letI : MeasurableSpace Bool", + "statement_sha256": "88b0ea9cd73d2a63c4d364a9096872aeea54d8cd307b726ad51634d4ef92c3f2" + }, + "FEP.NativeBlanket.embeddedConditionalPairKernel_eq_prod": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "mObservation" + "model" ], "role": "typed_binder", - "source": "{mObservation : MeasurableSpace Observation}", - "type_source": "MeasurableSpace Observation", - "visibility": "implicit" - }, + "source": "(model : StaticModel Internal Sensory Active External)", + "type_source": "StaticModel Internal Sensory Active External", + "visibility": "explicit" + } + ], + "conclusion": "embeddedKernel (conditionalPairKernel model) =\n embeddedKernel model.internalGiven ×ₖ embeddedKernel model.externalGiven", + "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "mIntermediate" + "Internal", + "Sensory", + "Active", + "External" ], "role": "typed_binder", - "source": "{mIntermediate : MeasurableSpace Intermediate}", - "type_source": "MeasurableSpace Intermediate", + "source": "{Internal Sensory Active External : Type*}", + "type_source": "Type*", "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[StandardBorelSpace Ω]", - "type_source": "StandardBorelSpace Ω", - "visibility": "instance" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Nonempty Ω]", - "type_source": "Nonempty Ω", + "source": "[Fintype Internal]", + "type_source": "Fintype Internal", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "prior" - ], - "role": "typed_binder", - "source": "{prior : Measure Ω}", - "type_source": "Measure Ω", - "visibility": "implicit" + "names": [], + "role": "instance_requirement", + "source": "[Fintype Sensory]", + "type_source": "Fintype Sensory", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[IsFiniteMeasure prior]", - "type_source": "IsFiniteMeasure prior", + "source": "[Fintype Active]", + "type_source": "Fintype Active", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "likelihood" - ], - "role": "typed_binder", - "source": "{likelihood : Kernel Ω Observation}", - "type_source": "Kernel Ω Observation", - "visibility": "implicit" + "names": [], + "role": "instance_requirement", + "source": "[Fintype External]", + "type_source": "Fintype External", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[IsFiniteKernel likelihood]", - "type_source": "IsFiniteKernel likelihood", + "source": "[MeasurableSpace Internal]", + "type_source": "MeasurableSpace Internal", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "Conditioned" - ], - "role": "typed_binder", - "source": "{Conditioned : Type*}", - "type_source": "Type*", - "visibility": "implicit" + "names": [], + "role": "instance_requirement", + "source": "[MeasurableSpace Sensory]", + "type_source": "MeasurableSpace Sensory", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "mConditioned" - ], - "role": "typed_binder", - "source": "{mConditioned : MeasurableSpace Conditioned}", - "type_source": "MeasurableSpace Conditioned", - "visibility": "implicit" + "names": [], + "role": "instance_requirement", + "source": "[MeasurableSpace Active]", + "type_source": "MeasurableSpace Active", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[StandardBorelSpace Conditioned]", - "type_source": "StandardBorelSpace Conditioned", + "source": "[MeasurableSpace External]", + "type_source": "MeasurableSpace External", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Nonempty Conditioned]", - "type_source": "Nonempty Conditioned", + "source": "[DiscreteMeasurableSpace Internal]", + "type_source": "DiscreteMeasurableSpace Internal", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "Parameter", - "Evidence" - ], - "role": "typed_binder", - "source": "{Parameter Evidence : Type*}", - "type_source": "Type*", - "visibility": "implicit" + "names": [], + "role": "instance_requirement", + "source": "[DiscreteMeasurableSpace Sensory]", + "type_source": "DiscreteMeasurableSpace Sensory", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Parameter]", - "type_source": "Fintype Parameter", + "source": "[DiscreteMeasurableSpace Active]", + "type_source": "DiscreteMeasurableSpace Active", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Evidence]", - "type_source": "Fintype Evidence", + "source": "[DiscreteMeasurableSpace External]", + "type_source": "DiscreteMeasurableSpace External", "visibility": "instance" } ], - "declaration_mentions": [], + "declaration_mentions": [ + { + "identifier": "embeddedKernel_apply_singleton", + "qualified_name": "FEP.NativeBlanket.embeddedKernel_apply_singleton", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + } + ], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.finite_probability", - "Mathlib.Probability.Kernel.Disintegration.Integral", - "Mathlib.Probability.Kernel.Posterior" + "FepSketches.markov_blanket", + "Mathlib.MeasureTheory.Integral.Bochner.SumMeasure", + "Mathlib.Probability.Independence.Conditional", + "Mathlib.Probability.Kernel.Composition.Comp" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.MeasureBayes", + "namespace": "FEP.NativeBlanket", "namespace_variable_context": [ - "{Ω Observation Intermediate : Type*}\n {mΩ : MeasurableSpace Ω} {mObservation : MeasurableSpace Observation}\n {mIntermediate : MeasurableSpace Intermediate}", - "[StandardBorelSpace Ω] [Nonempty Ω]\n {prior : Measure Ω} [IsFiniteMeasure prior]\n {likelihood : Kernel Ω Observation} [IsFiniteKernel likelihood]", - "{Conditioned : Type*} {mConditioned : MeasurableSpace Conditioned}\n [StandardBorelSpace Conditioned] [Nonempty Conditioned]", - "{Parameter Evidence : Type*}\n [Fintype Parameter] [Fintype Evidence]" + "{Internal Sensory Active External : Type*}\n [Fintype Internal] [Fintype Sensory] [Fintype Active] [Fintype External]\n [MeasurableSpace Internal] [MeasurableSpace Sensory]\n [MeasurableSpace Active] [MeasurableSpace External]\n [DiscreteMeasurableSpace Internal] [DiscreteMeasurableSpace Sensory]\n [DiscreteMeasurableSpace Active] [DiscreteMeasurableSpace External]" ], - "preceding_scope_directives": [], - "qualified_name": "FEP.MeasureBayes.finite_posterior_normalized", - "source_line": 131, - "source_owner": "src/fep_lean/formal/measure_bayes.lean", - "statement": "theorem finite_posterior_normalized\n (finitePrior : FiniteLaw Parameter)\n (finiteLikelihood : FiniteKernel Parameter Evidence)\n (evidence : Evidence)\n (hEvidence : 0 < finiteLikelihood.predictive finitePrior evidence) :\n ∑ parameter, finiteLikelihood.posterior finitePrior evidence hEvidence parameter = 1", - "statement_sha256": "eaff30d4606227a5b180f82b9a1668ea7ca6350d85e4bd4300fd1856465cb525" + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DiscreteMeasurableSpace β] in" + } + ], + "qualified_name": "FEP.NativeBlanket.embeddedConditionalPairKernel_eq_prod", + "source_line": 279, + "source_owner": "src/fep_lean/formal/native_blanket.lean", + "statement": "theorem embeddedConditionalPairKernel_eq_prod\n (model : StaticModel Internal Sensory Active External) :\n embeddedKernel (conditionalPairKernel model) =\n embeddedKernel model.internalGiven ×ₖ embeddedKernel model.externalGiven", + "statement_sha256": "a0355133a2c67f1084449a380409b797a9e595ed007d767b9b90dc4c9faac41c" }, - "FEP.MeasureBayes.finite_posterior_reconstruction": { + "FEP.NativeBlanket.embeddedKernel_apply": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "finitePrior" - ], - "role": "typed_binder", - "source": "(finitePrior : FiniteLaw Parameter)", - "type_source": "FiniteLaw Parameter", - "visibility": "explicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "finiteLikelihood" - ], - "role": "typed_binder", - "source": "(finiteLikelihood : FiniteKernel Parameter Evidence)", - "type_source": "FiniteKernel Parameter Evidence", - "visibility": "explicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "evidence" - ], - "role": "typed_binder", - "source": "(evidence : Evidence)", - "type_source": "Evidence", - "visibility": "explicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "hEvidence" + "kernel" ], "role": "typed_binder", - "source": "(hEvidence : 0 < finiteLikelihood.predictive finitePrior evidence)", - "type_source": "0 < finiteLikelihood.predictive finitePrior evidence", + "source": "(kernel : FiniteKernel α β)", + "type_source": "FiniteKernel α β", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "parameter" + "state" ], "role": "typed_binder", - "source": "(parameter : Parameter)", - "type_source": "Parameter", + "source": "(state : α)", + "type_source": "α", "visibility": "explicit" } ], - "conclusion": "finiteLikelihood.posterior finitePrior evidence hEvidence parameter *\n finiteLikelihood.predictive finitePrior evidence =\n finitePrior parameter * finiteLikelihood parameter evidence", + "conclusion": "embeddedKernel kernel state = embeddedLaw (kernel.row state)", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Ω", - "Observation", - "Intermediate" + "α", + "β" ], "role": "typed_binder", - "source": "{Ω Observation Intermediate : Type*}", + "source": "{α β : Type*}", "type_source": "Type*", "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "mΩ" - ], - "role": "typed_binder", - "source": "{mΩ : MeasurableSpace Ω}", - "type_source": "MeasurableSpace Ω", - "visibility": "implicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "mObservation" - ], - "role": "typed_binder", - "source": "{mObservation : MeasurableSpace Observation}", - "type_source": "MeasurableSpace Observation", - "visibility": "implicit" + "names": [], + "role": "instance_requirement", + "source": "[Fintype α]", + "type_source": "Fintype α", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "mIntermediate" - ], - "role": "typed_binder", - "source": "{mIntermediate : MeasurableSpace Intermediate}", - "type_source": "MeasurableSpace Intermediate", - "visibility": "implicit" + "names": [], + "role": "instance_requirement", + "source": "[Fintype β]", + "type_source": "Fintype β", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[StandardBorelSpace Ω]", - "type_source": "StandardBorelSpace Ω", + "source": "[MeasurableSpace α]", + "type_source": "MeasurableSpace α", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Nonempty Ω]", - "type_source": "Nonempty Ω", + "source": "[MeasurableSpace β]", + "type_source": "MeasurableSpace β", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "prior" - ], - "role": "typed_binder", - "source": "{prior : Measure Ω}", - "type_source": "Measure Ω", - "visibility": "implicit" + "names": [], + "role": "instance_requirement", + "source": "[DiscreteMeasurableSpace α]", + "type_source": "DiscreteMeasurableSpace α", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[IsFiniteMeasure prior]", - "type_source": "IsFiniteMeasure prior", + "source": "[DiscreteMeasurableSpace β]", + "type_source": "DiscreteMeasurableSpace β", "visibility": "instance" - }, + } + ], + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.markov_blanket", + "Mathlib.MeasureTheory.Integral.Bochner.SumMeasure", + "Mathlib.Probability.Independence.Conditional", + "Mathlib.Probability.Kernel.Composition.Comp" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.NativeBlanket", + "namespace_variable_context": [ + "{α β : Type*} [Fintype α] [Fintype β]\n [MeasurableSpace α] [MeasurableSpace β]\n [DiscreteMeasurableSpace α] [DiscreteMeasurableSpace β]" + ], + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DiscreteMeasurableSpace β] in" + } + ], + "qualified_name": "FEP.NativeBlanket.embeddedKernel_apply", + "source_line": 113, + "source_owner": "src/fep_lean/formal/native_blanket.lean", + "statement": "theorem embeddedKernel_apply (kernel : FiniteKernel α β) (state : α) :\n embeddedKernel kernel state = embeddedLaw (kernel.row state)", + "statement_sha256": "e23bc2940c661635638d172e8d8764c3f61a229b50d56bb5648759a6fdaf6540" + }, + "FEP.NativeBlanket.embeddedKernel_apply_singleton": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "likelihood" + "kernel" ], "role": "typed_binder", - "source": "{likelihood : Kernel Ω Observation}", - "type_source": "Kernel Ω Observation", - "visibility": "implicit" + "source": "(kernel : FiniteKernel α β)", + "type_source": "FiniteKernel α β", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[IsFiniteKernel likelihood]", - "type_source": "IsFiniteKernel likelihood", - "visibility": "instance" + "names": [ + "state" + ], + "role": "typed_binder", + "source": "(state : α)", + "type_source": "α", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Conditioned" + "target" ], "role": "typed_binder", - "source": "{Conditioned : Type*}", - "type_source": "Type*", - "visibility": "implicit" - }, + "source": "(target : β)", + "type_source": "β", + "visibility": "explicit" + } + ], + "conclusion": "embeddedKernel kernel state {target} = ENNReal.ofReal (kernel state target)", + "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "mConditioned" + "α", + "β" ], "role": "typed_binder", - "source": "{mConditioned : MeasurableSpace Conditioned}", - "type_source": "MeasurableSpace Conditioned", + "source": "{α β : Type*}", + "type_source": "Type*", "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[StandardBorelSpace Conditioned]", - "type_source": "StandardBorelSpace Conditioned", + "source": "[Fintype α]", + "type_source": "Fintype α", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Nonempty Conditioned]", - "type_source": "Nonempty Conditioned", + "source": "[Fintype β]", + "type_source": "Fintype β", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "Parameter", - "Evidence" - ], - "role": "typed_binder", - "source": "{Parameter Evidence : Type*}", - "type_source": "Type*", - "visibility": "implicit" + "names": [], + "role": "instance_requirement", + "source": "[MeasurableSpace α]", + "type_source": "MeasurableSpace α", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Parameter]", - "type_source": "Fintype Parameter", + "source": "[MeasurableSpace β]", + "type_source": "MeasurableSpace β", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Evidence]", - "type_source": "Fintype Evidence", + "source": "[DiscreteMeasurableSpace α]", + "type_source": "DiscreteMeasurableSpace α", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DiscreteMeasurableSpace β]", + "type_source": "DiscreteMeasurableSpace β", "visibility": "instance" } ], - "declaration_mentions": [], + "declaration_mentions": [ + { + "identifier": "embeddedKernel_apply", + "qualified_name": "FEP.NativeBlanket.embeddedKernel_apply", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + }, + { + "identifier": "embeddedLaw_apply_singleton", + "qualified_name": "FEP.NativeBlanket.embeddedLaw_apply_singleton", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + } + ], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.finite_probability", - "Mathlib.Probability.Kernel.Disintegration.Integral", - "Mathlib.Probability.Kernel.Posterior" + "FepSketches.markov_blanket", + "Mathlib.MeasureTheory.Integral.Bochner.SumMeasure", + "Mathlib.Probability.Independence.Conditional", + "Mathlib.Probability.Kernel.Composition.Comp" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.MeasureBayes", + "namespace": "FEP.NativeBlanket", "namespace_variable_context": [ - "{Ω Observation Intermediate : Type*}\n {mΩ : MeasurableSpace Ω} {mObservation : MeasurableSpace Observation}\n {mIntermediate : MeasurableSpace Intermediate}", - "[StandardBorelSpace Ω] [Nonempty Ω]\n {prior : Measure Ω} [IsFiniteMeasure prior]\n {likelihood : Kernel Ω Observation} [IsFiniteKernel likelihood]", - "{Conditioned : Type*} {mConditioned : MeasurableSpace Conditioned}\n [StandardBorelSpace Conditioned] [Nonempty Conditioned]", - "{Parameter Evidence : Type*}\n [Fintype Parameter] [Fintype Evidence]" + "{α β : Type*} [Fintype α] [Fintype β]\n [MeasurableSpace α] [MeasurableSpace β]\n [DiscreteMeasurableSpace α] [DiscreteMeasurableSpace β]" ], - "preceding_scope_directives": [], - "qualified_name": "FEP.MeasureBayes.finite_posterior_reconstruction", - "source_line": 118, - "source_owner": "src/fep_lean/formal/measure_bayes.lean", - "statement": "theorem finite_posterior_reconstruction\n (finitePrior : FiniteLaw Parameter)\n (finiteLikelihood : FiniteKernel Parameter Evidence)\n (evidence : Evidence)\n (hEvidence : 0 < finiteLikelihood.predictive finitePrior evidence)\n (parameter : Parameter) :\n finiteLikelihood.posterior finitePrior evidence hEvidence parameter *\n finiteLikelihood.predictive finitePrior evidence =\n finitePrior parameter * finiteLikelihood parameter evidence", - "statement_sha256": "5dd3b5b5318b65bb50c56d679346798da45d8d74263d4b1804962ba42224686b" + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DiscreteMeasurableSpace β] in" + } + ], + "qualified_name": "FEP.NativeBlanket.embeddedKernel_apply_singleton", + "source_line": 117, + "source_owner": "src/fep_lean/formal/native_blanket.lean", + "statement": "theorem embeddedKernel_apply_singleton\n (kernel : FiniteKernel α β) (state : α) (target : β) :\n embeddedKernel kernel state {target} = ENNReal.ofReal (kernel state target)", + "statement_sha256": "848b46bb22fe343daf67c9e02e5d86fa4d5e336832d3e43513ed85ef54e6bb27" }, - "FEP.MeasureBayes.finite_zero_evidence_boundary": { + "FEP.NativeBlanket.embeddedKernel_comp": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "finitePrior" + "γ" ], "role": "typed_binder", - "source": "(finitePrior : FiniteLaw Parameter)", - "type_source": "FiniteLaw Parameter", - "visibility": "explicit" + "source": "{γ : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "finiteLikelihood" - ], - "role": "typed_binder", - "source": "(finiteLikelihood : FiniteKernel Parameter Evidence)", - "type_source": "FiniteKernel Parameter Evidence", - "visibility": "explicit" + "names": [], + "role": "instance_requirement", + "source": "[Fintype γ]", + "type_source": "Fintype γ", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[MeasurableSpace γ]", + "type_source": "MeasurableSpace γ", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DiscreteMeasurableSpace γ]", + "type_source": "DiscreteMeasurableSpace γ", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "evidence" + "later" ], "role": "typed_binder", - "source": "(evidence : Evidence)", - "type_source": "Evidence", + "source": "(later : FiniteKernel β γ)", + "type_source": "FiniteKernel β γ", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "hzero" + "earlier" ], "role": "typed_binder", - "source": "(hzero : finiteLikelihood.predictive finitePrior evidence = 0)", - "type_source": "finiteLikelihood.predictive finitePrior evidence = 0", + "source": "(earlier : FiniteKernel α β)", + "type_source": "FiniteKernel α β", "visibility": "explicit" } ], - "conclusion": "¬0 < finiteLikelihood.predictive finitePrior evidence", + "conclusion": "embeddedKernel (FiniteKernel.comp later earlier) =\n embeddedKernel later ∘ₖ embeddedKernel earlier", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Ω", - "Observation", - "Intermediate" + "α", + "β" ], "role": "typed_binder", - "source": "{Ω Observation Intermediate : Type*}", + "source": "{α β : Type*}", "type_source": "Type*", "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "mΩ" - ], - "role": "typed_binder", - "source": "{mΩ : MeasurableSpace Ω}", - "type_source": "MeasurableSpace Ω", - "visibility": "implicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "mObservation" - ], - "role": "typed_binder", - "source": "{mObservation : MeasurableSpace Observation}", - "type_source": "MeasurableSpace Observation", - "visibility": "implicit" + "names": [], + "role": "instance_requirement", + "source": "[Fintype α]", + "type_source": "Fintype α", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "mIntermediate" - ], - "role": "typed_binder", - "source": "{mIntermediate : MeasurableSpace Intermediate}", - "type_source": "MeasurableSpace Intermediate", - "visibility": "implicit" + "names": [], + "role": "instance_requirement", + "source": "[Fintype β]", + "type_source": "Fintype β", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[StandardBorelSpace Ω]", - "type_source": "StandardBorelSpace Ω", + "source": "[MeasurableSpace α]", + "type_source": "MeasurableSpace α", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Nonempty Ω]", - "type_source": "Nonempty Ω", + "source": "[MeasurableSpace β]", + "type_source": "MeasurableSpace β", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "prior" - ], - "role": "typed_binder", - "source": "{prior : Measure Ω}", - "type_source": "Measure Ω", - "visibility": "implicit" + "names": [], + "role": "instance_requirement", + "source": "[DiscreteMeasurableSpace α]", + "type_source": "DiscreteMeasurableSpace α", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[IsFiniteMeasure prior]", - "type_source": "IsFiniteMeasure prior", + "source": "[DiscreteMeasurableSpace β]", + "type_source": "DiscreteMeasurableSpace β", "visibility": "instance" - }, + } + ], + "declaration_mentions": [ { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "likelihood" - ], - "role": "typed_binder", - "source": "{likelihood : Kernel Ω Observation}", - "type_source": "Kernel Ω Observation", - "visibility": "implicit" + "identifier": "embeddedKernel_apply", + "qualified_name": "FEP.NativeBlanket.embeddedKernel_apply", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" }, + { + "identifier": "embeddedPredictive_eq_comp", + "qualified_name": "FEP.NativeBlanket.embeddedPredictive_eq_comp", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + } + ], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.markov_blanket", + "Mathlib.MeasureTheory.Integral.Bochner.SumMeasure", + "Mathlib.Probability.Independence.Conditional", + "Mathlib.Probability.Kernel.Composition.Comp" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.NativeBlanket", + "namespace_variable_context": [ + "{α β : Type*} [Fintype α] [Fintype β]\n [MeasurableSpace α] [MeasurableSpace β]\n [DiscreteMeasurableSpace α] [DiscreteMeasurableSpace β]" + ], + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DiscreteMeasurableSpace β] in" + } + ], + "qualified_name": "FEP.NativeBlanket.embeddedKernel_comp", + "source_line": 184, + "source_owner": "src/fep_lean/formal/native_blanket.lean", + "statement": "theorem embeddedKernel_comp {γ : Type*} [Fintype γ]\n [MeasurableSpace γ] [DiscreteMeasurableSpace γ]\n (later : FiniteKernel β γ) (earlier : FiniteKernel α β) :\n embeddedKernel (FiniteKernel.comp later earlier) =\n embeddedKernel later ∘ₖ embeddedKernel earlier", + "statement_sha256": "529d5b1f6a8a0bb59d97c13986f5735c238e256203f2424d62dda6413ea9605e" + }, + "FEP.NativeBlanket.embeddedKernel_identity": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[IsFiniteKernel likelihood]", - "type_source": "IsFiniteKernel likelihood", + "source": "[DecidableEq α]", + "type_source": "DecidableEq α", "visibility": "instance" - }, + } + ], + "conclusion": "embeddedKernel (FiniteKernel.identity : FiniteKernel α α) = Kernel.id", + "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Conditioned" + "α", + "β" ], "role": "typed_binder", - "source": "{Conditioned : Type*}", + "source": "{α β : Type*}", "type_source": "Type*", "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "mConditioned" - ], - "role": "typed_binder", - "source": "{mConditioned : MeasurableSpace Conditioned}", - "type_source": "MeasurableSpace Conditioned", - "visibility": "implicit" + "names": [], + "role": "instance_requirement", + "source": "[Fintype α]", + "type_source": "Fintype α", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[StandardBorelSpace Conditioned]", - "type_source": "StandardBorelSpace Conditioned", + "source": "[Fintype β]", + "type_source": "Fintype β", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Nonempty Conditioned]", - "type_source": "Nonempty Conditioned", + "source": "[MeasurableSpace α]", + "type_source": "MeasurableSpace α", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "Parameter", - "Evidence" - ], - "role": "typed_binder", - "source": "{Parameter Evidence : Type*}", - "type_source": "Type*", - "visibility": "implicit" + "names": [], + "role": "instance_requirement", + "source": "[MeasurableSpace β]", + "type_source": "MeasurableSpace β", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Parameter]", - "type_source": "Fintype Parameter", + "source": "[DiscreteMeasurableSpace α]", + "type_source": "DiscreteMeasurableSpace α", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Evidence]", - "type_source": "Fintype Evidence", + "source": "[DiscreteMeasurableSpace β]", + "type_source": "DiscreteMeasurableSpace β", "visibility": "instance" } ], - "declaration_mentions": [], + "declaration_mentions": [ + { + "identifier": "embeddedKernel_apply_singleton", + "qualified_name": "FEP.NativeBlanket.embeddedKernel_apply_singleton", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + } + ], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.finite_probability", - "Mathlib.Probability.Kernel.Disintegration.Integral", - "Mathlib.Probability.Kernel.Posterior" + "FepSketches.markov_blanket", + "Mathlib.MeasureTheory.Integral.Bochner.SumMeasure", + "Mathlib.Probability.Independence.Conditional", + "Mathlib.Probability.Kernel.Composition.Comp" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.MeasureBayes", + "namespace": "FEP.NativeBlanket", "namespace_variable_context": [ - "{Ω Observation Intermediate : Type*}\n {mΩ : MeasurableSpace Ω} {mObservation : MeasurableSpace Observation}\n {mIntermediate : MeasurableSpace Intermediate}", - "[StandardBorelSpace Ω] [Nonempty Ω]\n {prior : Measure Ω} [IsFiniteMeasure prior]\n {likelihood : Kernel Ω Observation} [IsFiniteKernel likelihood]", - "{Conditioned : Type*} {mConditioned : MeasurableSpace Conditioned}\n [StandardBorelSpace Conditioned] [Nonempty Conditioned]", - "{Parameter Evidence : Type*}\n [Fintype Parameter] [Fintype Evidence]" + "{α β : Type*} [Fintype α] [Fintype β]\n [MeasurableSpace α] [MeasurableSpace β]\n [DiscreteMeasurableSpace α] [DiscreteMeasurableSpace β]" ], - "preceding_scope_directives": [], - "qualified_name": "FEP.MeasureBayes.finite_zero_evidence_boundary", - "source_line": 141, - "source_owner": "src/fep_lean/formal/measure_bayes.lean", - "statement": "theorem finite_zero_evidence_boundary\n (finitePrior : FiniteLaw Parameter)\n (finiteLikelihood : FiniteKernel Parameter Evidence)\n (evidence : Evidence)\n (hzero : finiteLikelihood.predictive finitePrior evidence = 0) :\n ¬0 < finiteLikelihood.predictive finitePrior evidence", - "statement_sha256": "799904848d9fe3f368b05fe21bbca05cb3aa102ba4bac7e91db23f8bd42b2ba1" + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DiscreteMeasurableSpace β] in" + } + ], + "qualified_name": "FEP.NativeBlanket.embeddedKernel_identity", + "source_line": 130, + "source_owner": "src/fep_lean/formal/native_blanket.lean", + "statement": "theorem embeddedKernel_identity [DecidableEq α] :\n embeddedKernel (FiniteKernel.identity : FiniteKernel α α) = Kernel.id", + "statement_sha256": "fd5ac223e982b9bcfd5ee38d33ee4344e3747eaed8bb590e9ee11790168e6914" }, - "FEP.MeasureBayes.likelihoodRatio_reconstruction": { + "FEP.NativeBlanket.embeddedLaw_apply_singleton": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "target", - "reference" + "law" ], "role": "typed_binder", - "source": "(target reference : Measure Ω)", - "type_source": "Measure Ω", + "source": "(law : FiniteLaw α)", + "type_source": "FiniteLaw α", "visibility": "explicit" }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[target.HaveLebesgueDecomposition reference]", - "type_source": "target.HaveLebesgueDecomposition reference", - "visibility": "instance" - }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "h_ac" + "state" ], "role": "typed_binder", - "source": "(h_ac : target ≪ reference)", - "type_source": "target ≪ reference", + "source": "(state : α)", + "type_source": "α", "visibility": "explicit" } ], - "conclusion": "reference.withDensity (target.rnDeriv reference) = target", + "conclusion": "embeddedLaw law {state} = ENNReal.ofReal (law state)", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Ω", - "Observation", - "Intermediate" + "α", + "β" ], "role": "typed_binder", - "source": "{Ω Observation Intermediate : Type*}", + "source": "{α β : Type*}", "type_source": "Type*", "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "mΩ" - ], - "role": "typed_binder", - "source": "{mΩ : MeasurableSpace Ω}", - "type_source": "MeasurableSpace Ω", - "visibility": "implicit" + "names": [], + "role": "instance_requirement", + "source": "[Fintype α]", + "type_source": "Fintype α", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "mObservation" - ], - "role": "typed_binder", - "source": "{mObservation : MeasurableSpace Observation}", - "type_source": "MeasurableSpace Observation", - "visibility": "implicit" + "names": [], + "role": "instance_requirement", + "source": "[Fintype β]", + "type_source": "Fintype β", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "mIntermediate" - ], - "role": "typed_binder", - "source": "{mIntermediate : MeasurableSpace Intermediate}", - "type_source": "MeasurableSpace Intermediate", - "visibility": "implicit" + "names": [], + "role": "instance_requirement", + "source": "[MeasurableSpace α]", + "type_source": "MeasurableSpace α", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[MeasurableSpace β]", + "type_source": "MeasurableSpace β", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DiscreteMeasurableSpace α]", + "type_source": "DiscreteMeasurableSpace α", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DiscreteMeasurableSpace β]", + "type_source": "DiscreteMeasurableSpace β", + "visibility": "instance" } ], "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.finite_probability", - "Mathlib.Probability.Kernel.Disintegration.Integral", - "Mathlib.Probability.Kernel.Posterior" + "FepSketches.markov_blanket", + "Mathlib.MeasureTheory.Integral.Bochner.SumMeasure", + "Mathlib.Probability.Independence.Conditional", + "Mathlib.Probability.Kernel.Composition.Comp" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.MeasureBayes", + "namespace": "FEP.NativeBlanket", "namespace_variable_context": [ - "{Ω Observation Intermediate : Type*}\n {mΩ : MeasurableSpace Ω} {mObservation : MeasurableSpace Observation}\n {mIntermediate : MeasurableSpace Intermediate}" + "{α β : Type*} [Fintype α] [Fintype β]\n [MeasurableSpace α] [MeasurableSpace β]\n [DiscreteMeasurableSpace α] [DiscreteMeasurableSpace β]" ], "preceding_scope_directives": [], - "qualified_name": "FEP.MeasureBayes.likelihoodRatio_reconstruction", - "source_line": 28, - "source_owner": "src/fep_lean/formal/measure_bayes.lean", - "statement": "theorem likelihoodRatio_reconstruction (target reference : Measure Ω)\n [target.HaveLebesgueDecomposition reference]\n (h_ac : target ≪ reference) :\n reference.withDensity (target.rnDeriv reference) = target", - "statement_sha256": "0e9ed7be9d3ae4cb0e60a240bf56a184cacc0da349b25e445a27f5b450127a09" + "qualified_name": "FEP.NativeBlanket.embeddedLaw_apply_singleton", + "source_line": 39, + "source_owner": "src/fep_lean/formal/native_blanket.lean", + "statement": "theorem embeddedLaw_apply_singleton (law : FiniteLaw α) (state : α) :\n embeddedLaw law {state} = ENNReal.ofReal (law state)", + "statement_sha256": "66e9981fa09b7d0d545d9ac3758823d79b37eafb5ae377ff8abd9a74aea43662" }, - "FEP.MeasureBayes.likelihoodRatio_reconstruction_iff": { + "FEP.NativeBlanket.embeddedLaw_apply_univ": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "target", - "reference" + "law" ], "role": "typed_binder", - "source": "(target reference : Measure Ω)", - "type_source": "Measure Ω", + "source": "(law : FiniteLaw α)", + "type_source": "FiniteLaw α", "visibility": "explicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[target.HaveLebesgueDecomposition reference]", - "type_source": "target.HaveLebesgueDecomposition reference", - "visibility": "instance" } ], - "conclusion": "target ≪ reference ↔\n reference.withDensity (target.rnDeriv reference) = target", + "conclusion": "embeddedLaw law Set.univ = 1", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Ω", - "Observation", - "Intermediate" + "α", + "β" ], "role": "typed_binder", - "source": "{Ω Observation Intermediate : Type*}", + "source": "{α β : Type*}", "type_source": "Type*", "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "mΩ" - ], - "role": "typed_binder", - "source": "{mΩ : MeasurableSpace Ω}", - "type_source": "MeasurableSpace Ω", - "visibility": "implicit" + "names": [], + "role": "instance_requirement", + "source": "[Fintype α]", + "type_source": "Fintype α", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "mObservation" - ], - "role": "typed_binder", - "source": "{mObservation : MeasurableSpace Observation}", - "type_source": "MeasurableSpace Observation", - "visibility": "implicit" + "names": [], + "role": "instance_requirement", + "source": "[Fintype β]", + "type_source": "Fintype β", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "mIntermediate" - ], - "role": "typed_binder", - "source": "{mIntermediate : MeasurableSpace Intermediate}", - "type_source": "MeasurableSpace Intermediate", - "visibility": "implicit" + "names": [], + "role": "instance_requirement", + "source": "[MeasurableSpace α]", + "type_source": "MeasurableSpace α", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[MeasurableSpace β]", + "type_source": "MeasurableSpace β", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DiscreteMeasurableSpace α]", + "type_source": "DiscreteMeasurableSpace α", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DiscreteMeasurableSpace β]", + "type_source": "DiscreteMeasurableSpace β", + "visibility": "instance" } ], "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.finite_probability", - "Mathlib.Probability.Kernel.Disintegration.Integral", - "Mathlib.Probability.Kernel.Posterior" + "FepSketches.markov_blanket", + "Mathlib.MeasureTheory.Integral.Bochner.SumMeasure", + "Mathlib.Probability.Independence.Conditional", + "Mathlib.Probability.Kernel.Composition.Comp" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.MeasureBayes", + "namespace": "FEP.NativeBlanket", "namespace_variable_context": [ - "{Ω Observation Intermediate : Type*}\n {mΩ : MeasurableSpace Ω} {mObservation : MeasurableSpace Observation}\n {mIntermediate : MeasurableSpace Intermediate}" + "{α β : Type*} [Fintype α] [Fintype β]\n [MeasurableSpace α] [MeasurableSpace β]\n [DiscreteMeasurableSpace α] [DiscreteMeasurableSpace β]" ], "preceding_scope_directives": [], - "qualified_name": "FEP.MeasureBayes.likelihoodRatio_reconstruction_iff", - "source_line": 36, - "source_owner": "src/fep_lean/formal/measure_bayes.lean", - "statement": "theorem likelihoodRatio_reconstruction_iff (target reference : Measure Ω)\n [target.HaveLebesgueDecomposition reference] :\n target ≪ reference ↔\n reference.withDensity (target.rnDeriv reference) = target", - "statement_sha256": "9a26129a8a9115f14e550167b4002924eaf2121055d3a0426febc8a0030b4ffd" + "qualified_name": "FEP.NativeBlanket.embeddedLaw_apply_univ", + "source_line": 47, + "source_owner": "src/fep_lean/formal/native_blanket.lean", + "statement": "theorem embeddedLaw_apply_univ (law : FiniteLaw α) :\n embeddedLaw law Set.univ = 1", + "statement_sha256": "248e44206c481c6b1fd87c5c1cf015641f6192fc7073180ef1477322661c1d55" }, - "FEP.MeasureBayes.posterior_composite": { + "FEP.NativeBlanket.embeddedLaw_injective": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [ + "binders": [], + "conclusion": "Function.Injective (embeddedLaw : FiniteLaw α → Measure α)", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "α", + "β" + ], + "role": "typed_binder", + "source": "{α β : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[StandardBorelSpace Observation]", - "type_source": "StandardBorelSpace Observation", + "source": "[Fintype α]", + "type_source": "Fintype α", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Nonempty Observation]", - "type_source": "Nonempty Observation", + "source": "[Fintype β]", + "type_source": "Fintype β", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "later" - ], - "role": "typed_binder", - "source": "(later : Kernel Observation Intermediate)", - "type_source": "Kernel Observation Intermediate", - "visibility": "explicit" + "names": [], + "role": "instance_requirement", + "source": "[MeasurableSpace α]", + "type_source": "MeasurableSpace α", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[IsFiniteKernel later]", - "type_source": "IsFiniteKernel later", + "source": "[MeasurableSpace β]", + "type_source": "MeasurableSpace β", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DiscreteMeasurableSpace α]", + "type_source": "DiscreteMeasurableSpace α", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[DiscreteMeasurableSpace β]", + "type_source": "DiscreteMeasurableSpace β", "visibility": "instance" } ], - "conclusion": "(later ∘ₖ likelihood)†prior =ᵐ[later ∘ₘ likelihood ∘ₘ prior]\n likelihood†prior ∘ₖ later†(likelihood ∘ₘ prior)", - "context_binders": [ + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.markov_blanket", + "Mathlib.MeasureTheory.Integral.Bochner.SumMeasure", + "Mathlib.Probability.Independence.Conditional", + "Mathlib.Probability.Kernel.Composition.Comp" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.NativeBlanket", + "namespace_variable_context": [ + "{α β : Type*} [Fintype α] [Fintype β]\n [MeasurableSpace α] [MeasurableSpace β]\n [DiscreteMeasurableSpace α] [DiscreteMeasurableSpace β]" + ], + "preceding_scope_directives": [], + "qualified_name": "FEP.NativeBlanket.embeddedLaw_injective", + "source_line": 68, + "source_owner": "src/fep_lean/formal/native_blanket.lean", + "statement": "theorem embeddedLaw_injective :\n Function.Injective (embeddedLaw : FiniteLaw α → Measure α)", + "statement_sha256": "fda99e3ad733943d914c049175e153113063755809c00dd27dfb34c81dbed41c" + }, + "FEP.NativeBlanket.embeddedLaw_integral_eq_sum": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Ω", - "Observation", - "Intermediate" + "law" ], "role": "typed_binder", - "source": "{Ω Observation Intermediate : Type*}", - "type_source": "Type*", - "visibility": "implicit" + "source": "(law : FiniteLaw α)", + "type_source": "FiniteLaw α", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "mΩ" + "observable" ], "role": "typed_binder", - "source": "{mΩ : MeasurableSpace Ω}", - "type_source": "MeasurableSpace Ω", - "visibility": "implicit" - }, + "source": "(observable : α → ℝ)", + "type_source": "α → ℝ", + "visibility": "explicit" + } + ], + "conclusion": "∫ state, observable state ∂embeddedLaw law =\n ∑ state, law state * observable state", + "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "mObservation" + "α", + "β" ], "role": "typed_binder", - "source": "{mObservation : MeasurableSpace Observation}", - "type_source": "MeasurableSpace Observation", + "source": "{α β : Type*}", + "type_source": "Type*", "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "mIntermediate" - ], - "role": "typed_binder", - "source": "{mIntermediate : MeasurableSpace Intermediate}", - "type_source": "MeasurableSpace Intermediate", - "visibility": "implicit" + "names": [], + "role": "instance_requirement", + "source": "[Fintype α]", + "type_source": "Fintype α", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[StandardBorelSpace Ω]", - "type_source": "StandardBorelSpace Ω", + "source": "[Fintype β]", + "type_source": "Fintype β", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Nonempty Ω]", - "type_source": "Nonempty Ω", + "source": "[MeasurableSpace α]", + "type_source": "MeasurableSpace α", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "prior" - ], - "role": "typed_binder", - "source": "{prior : Measure Ω}", - "type_source": "Measure Ω", - "visibility": "implicit" + "names": [], + "role": "instance_requirement", + "source": "[MeasurableSpace β]", + "type_source": "MeasurableSpace β", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[IsFiniteMeasure prior]", - "type_source": "IsFiniteMeasure prior", + "source": "[DiscreteMeasurableSpace α]", + "type_source": "DiscreteMeasurableSpace α", "visibility": "instance" }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "likelihood" - ], - "role": "typed_binder", - "source": "{likelihood : Kernel Ω Observation}", - "type_source": "Kernel Ω Observation", - "visibility": "implicit" - }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[IsFiniteKernel likelihood]", - "type_source": "IsFiniteKernel likelihood", + "source": "[DiscreteMeasurableSpace β]", + "type_source": "DiscreteMeasurableSpace β", "visibility": "instance" } ], - "declaration_mentions": [], + "declaration_mentions": [ + { + "identifier": "embeddedLaw_real_singleton", + "qualified_name": "FEP.NativeBlanket.embeddedLaw_real_singleton", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + } + ], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.finite_probability", - "Mathlib.Probability.Kernel.Disintegration.Integral", - "Mathlib.Probability.Kernel.Posterior" + "FepSketches.markov_blanket", + "Mathlib.MeasureTheory.Integral.Bochner.SumMeasure", + "Mathlib.Probability.Independence.Conditional", + "Mathlib.Probability.Kernel.Composition.Comp" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.MeasureBayes", + "namespace": "FEP.NativeBlanket", "namespace_variable_context": [ - "{Ω Observation Intermediate : Type*}\n {mΩ : MeasurableSpace Ω} {mObservation : MeasurableSpace Observation}\n {mIntermediate : MeasurableSpace Intermediate}", - "[StandardBorelSpace Ω] [Nonempty Ω]\n {prior : Measure Ω} [IsFiniteMeasure prior]\n {likelihood : Kernel Ω Observation} [IsFiniteKernel likelihood]" + "{α β : Type*} [Fintype α] [Fintype β]\n [MeasurableSpace α] [MeasurableSpace β]\n [DiscreteMeasurableSpace α] [DiscreteMeasurableSpace β]" ], "preceding_scope_directives": [], - "qualified_name": "FEP.MeasureBayes.posterior_composite", - "source_line": 82, - "source_owner": "src/fep_lean/formal/measure_bayes.lean", - "statement": "theorem posterior_composite\n [StandardBorelSpace Observation] [Nonempty Observation]\n (later : Kernel Observation Intermediate) [IsFiniteKernel later] :\n (later ∘ₖ likelihood)†prior =ᵐ[later ∘ₘ likelihood ∘ₘ prior]\n likelihood†prior ∘ₖ later†(likelihood ∘ₘ prior)", - "statement_sha256": "9ec1ea83ee5f540a0d6e0a299cb43df6ddc8d5404c5fbd4a38aa62dba5c3d69b" + "qualified_name": "FEP.NativeBlanket.embeddedLaw_integral_eq_sum", + "source_line": 78, + "source_owner": "src/fep_lean/formal/native_blanket.lean", + "statement": "theorem embeddedLaw_integral_eq_sum (law : FiniteLaw α) (observable : α → ℝ) :\n ∫ state, observable state ∂embeddedLaw law =\n ∑ state, law state * observable state", + "statement_sha256": "c41ad4195022b56efcd83f080097063714f72266bf63b1c549b0d01638b1fd4c" }, - "FEP.MeasureBayes.posterior_density_as_likelihood_tilt": { + "FEP.NativeBlanket.embeddedLaw_joint_eq_compProd": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[MeasurableSpace.CountableOrCountablyGenerated Ω Observation]", - "type_source": "MeasurableSpace.CountableOrCountablyGenerated Ω Observation", - "visibility": "instance" + "names": [ + "prior" + ], + "role": "typed_binder", + "source": "(prior : FiniteLaw α)", + "type_source": "FiniteLaw α", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "h_ac" + "kernel" ], "role": "typed_binder", - "source": "(h_ac : ∀ᵐ parameter ∂prior,\n likelihood parameter ≪ likelihood ∘ₘ prior)", - "type_source": "∀ᵐ parameter ∂prior,\n likelihood parameter ≪ likelihood ∘ₘ prior", + "source": "(kernel : FiniteKernel α β)", + "type_source": "FiniteKernel α β", "visibility": "explicit" } ], - "conclusion": "∀ᵐ observation ∂likelihood ∘ₘ prior,\n (likelihood†prior) observation =\n prior.withDensity (fun parameter =>\n likelihood.rnDeriv\n (Kernel.const Ω (likelihood ∘ₘ prior)) parameter observation)", + "conclusion": "embeddedLaw (kernel.joint prior) =\n embeddedLaw prior ⊗ₘ embeddedKernel kernel", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Ω", - "Observation", - "Intermediate" + "α", + "β" ], "role": "typed_binder", - "source": "{Ω Observation Intermediate : Type*}", + "source": "{α β : Type*}", "type_source": "Type*", "visibility": "implicit" }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "mΩ" - ], - "role": "typed_binder", - "source": "{mΩ : MeasurableSpace Ω}", - "type_source": "MeasurableSpace Ω", - "visibility": "implicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "mObservation" - ], - "role": "typed_binder", - "source": "{mObservation : MeasurableSpace Observation}", - "type_source": "MeasurableSpace Observation", - "visibility": "implicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "mIntermediate" - ], - "role": "typed_binder", - "source": "{mIntermediate : MeasurableSpace Intermediate}", - "type_source": "MeasurableSpace Intermediate", - "visibility": "implicit" - }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[StandardBorelSpace Ω]", - "type_source": "StandardBorelSpace Ω", + "source": "[Fintype α]", + "type_source": "Fintype α", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Nonempty Ω]", - "type_source": "Nonempty Ω", + "source": "[Fintype β]", + "type_source": "Fintype β", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "prior" - ], - "role": "typed_binder", - "source": "{prior : Measure Ω}", - "type_source": "Measure Ω", - "visibility": "implicit" + "names": [], + "role": "instance_requirement", + "source": "[MeasurableSpace α]", + "type_source": "MeasurableSpace α", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[IsFiniteMeasure prior]", - "type_source": "IsFiniteMeasure prior", + "source": "[MeasurableSpace β]", + "type_source": "MeasurableSpace β", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "likelihood" - ], - "role": "typed_binder", - "source": "{likelihood : Kernel Ω Observation}", - "type_source": "Kernel Ω Observation", - "visibility": "implicit" + "names": [], + "role": "instance_requirement", + "source": "[DiscreteMeasurableSpace α]", + "type_source": "DiscreteMeasurableSpace α", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[IsFiniteKernel likelihood]", - "type_source": "IsFiniteKernel likelihood", + "source": "[DiscreteMeasurableSpace β]", + "type_source": "DiscreteMeasurableSpace β", "visibility": "instance" } ], - "declaration_mentions": [], + "declaration_mentions": [ + { + "identifier": "embeddedLaw_apply_singleton", + "qualified_name": "FEP.NativeBlanket.embeddedLaw_apply_singleton", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + } + ], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.finite_probability", - "Mathlib.Probability.Kernel.Disintegration.Integral", - "Mathlib.Probability.Kernel.Posterior" + "FepSketches.markov_blanket", + "Mathlib.MeasureTheory.Integral.Bochner.SumMeasure", + "Mathlib.Probability.Independence.Conditional", + "Mathlib.Probability.Kernel.Composition.Comp" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.MeasureBayes", + "namespace": "FEP.NativeBlanket", "namespace_variable_context": [ - "{Ω Observation Intermediate : Type*}\n {mΩ : MeasurableSpace Ω} {mObservation : MeasurableSpace Observation}\n {mIntermediate : MeasurableSpace Intermediate}", - "[StandardBorelSpace Ω] [Nonempty Ω]\n {prior : Measure Ω} [IsFiniteMeasure prior]\n {likelihood : Kernel Ω Observation} [IsFiniteKernel likelihood]" + "{α β : Type*} [Fintype α] [Fintype β]\n [MeasurableSpace α] [MeasurableSpace β]\n [DiscreteMeasurableSpace α] [DiscreteMeasurableSpace β]" ], - "preceding_scope_directives": [], - "qualified_name": "FEP.MeasureBayes.posterior_density_as_likelihood_tilt", - "source_line": 50, - "source_owner": "src/fep_lean/formal/measure_bayes.lean", - "statement": "theorem posterior_density_as_likelihood_tilt\n [MeasurableSpace.CountableOrCountablyGenerated Ω Observation]\n (h_ac : ∀ᵐ parameter ∂prior,\n likelihood parameter ≪ likelihood ∘ₘ prior) :\n ∀ᵐ observation ∂likelihood ∘ₘ prior,\n (likelihood†prior) observation =\n prior.withDensity (fun parameter =>\n likelihood.rnDeriv\n (Kernel.const Ω (likelihood ∘ₘ prior)) parameter observation)", - "statement_sha256": "c757cd57f838f191966f59864567e4a8ac99800390c88a29f052f57b7bf15576" + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DiscreteMeasurableSpace β] in" + } + ], + "qualified_name": "FEP.NativeBlanket.embeddedLaw_joint_eq_compProd", + "source_line": 147, + "source_owner": "src/fep_lean/formal/native_blanket.lean", + "statement": "theorem embeddedLaw_joint_eq_compProd\n (prior : FiniteLaw α) (kernel : FiniteKernel α β) :\n embeddedLaw (kernel.joint prior) =\n embeddedLaw prior ⊗ₘ embeddedKernel kernel", + "statement_sha256": "ef50e5e28fc6ab36373055ef30da1d6cbbe4bf8a7a68fb7a81dfbe30088ecd5b" }, - "FEP.MeasureBayes.posterior_involution": { + "FEP.NativeBlanket.embeddedLaw_map": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[StandardBorelSpace Observation]", - "type_source": "StandardBorelSpace Observation", - "visibility": "instance" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Nonempty Observation]", - "type_source": "Nonempty Observation", - "visibility": "instance" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[IsMarkovKernel likelihood]", - "type_source": "IsMarkovKernel likelihood", + "source": "[DecidableEq β]", + "type_source": "DecidableEq β", "visibility": "instance" - } - ], - "conclusion": "(likelihood†prior)†(likelihood ∘ₘ prior) =ᵐ[prior] likelihood", - "context_binders": [ - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "Ω", - "Observation", - "Intermediate" - ], - "role": "typed_binder", - "source": "{Ω Observation Intermediate : Type*}", - "type_source": "Type*", - "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "mΩ" + "law" ], "role": "typed_binder", - "source": "{mΩ : MeasurableSpace Ω}", - "type_source": "MeasurableSpace Ω", - "visibility": "implicit" + "source": "(law : FiniteLaw α)", + "type_source": "FiniteLaw α", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "mObservation" + "mapState" ], "role": "typed_binder", - "source": "{mObservation : MeasurableSpace Observation}", - "type_source": "MeasurableSpace Observation", - "visibility": "implicit" - }, + "source": "(mapState : α → β)", + "type_source": "α → β", + "visibility": "explicit" + } + ], + "conclusion": "(embeddedLaw law).map mapState = embeddedLaw (law.map mapState)", + "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "mIntermediate" + "α", + "β" ], "role": "typed_binder", - "source": "{mIntermediate : MeasurableSpace Intermediate}", - "type_source": "MeasurableSpace Intermediate", + "source": "{α β : Type*}", + "type_source": "Type*", "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[StandardBorelSpace Ω]", - "type_source": "StandardBorelSpace Ω", + "source": "[Fintype α]", + "type_source": "Fintype α", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Nonempty Ω]", - "type_source": "Nonempty Ω", + "source": "[Fintype β]", + "type_source": "Fintype β", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "prior" - ], - "role": "typed_binder", - "source": "{prior : Measure Ω}", - "type_source": "Measure Ω", - "visibility": "implicit" + "names": [], + "role": "instance_requirement", + "source": "[MeasurableSpace α]", + "type_source": "MeasurableSpace α", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[IsFiniteMeasure prior]", - "type_source": "IsFiniteMeasure prior", + "source": "[MeasurableSpace β]", + "type_source": "MeasurableSpace β", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "likelihood" - ], - "role": "typed_binder", - "source": "{likelihood : Kernel Ω Observation}", - "type_source": "Kernel Ω Observation", - "visibility": "implicit" + "names": [], + "role": "instance_requirement", + "source": "[DiscreteMeasurableSpace α]", + "type_source": "DiscreteMeasurableSpace α", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[IsFiniteKernel likelihood]", - "type_source": "IsFiniteKernel likelihood", + "source": "[DiscreteMeasurableSpace β]", + "type_source": "DiscreteMeasurableSpace β", "visibility": "instance" } ], - "declaration_mentions": [], + "declaration_mentions": [ + { + "identifier": "embeddedLaw_apply_singleton", + "qualified_name": "FEP.NativeBlanket.embeddedLaw_apply_singleton", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + } + ], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.finite_probability", - "Mathlib.Probability.Kernel.Disintegration.Integral", - "Mathlib.Probability.Kernel.Posterior" + "FepSketches.markov_blanket", + "Mathlib.MeasureTheory.Integral.Bochner.SumMeasure", + "Mathlib.Probability.Independence.Conditional", + "Mathlib.Probability.Kernel.Composition.Comp" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.MeasureBayes", + "namespace": "FEP.NativeBlanket", "namespace_variable_context": [ - "{Ω Observation Intermediate : Type*}\n {mΩ : MeasurableSpace Ω} {mObservation : MeasurableSpace Observation}\n {mIntermediate : MeasurableSpace Intermediate}", - "[StandardBorelSpace Ω] [Nonempty Ω]\n {prior : Measure Ω} [IsFiniteMeasure prior]\n {likelihood : Kernel Ω Observation} [IsFiniteKernel likelihood]" + "{α β : Type*} [Fintype α] [Fintype β]\n [MeasurableSpace α] [MeasurableSpace β]\n [DiscreteMeasurableSpace α] [DiscreteMeasurableSpace β]" ], "preceding_scope_directives": [], - "qualified_name": "FEP.MeasureBayes.posterior_involution", - "source_line": 74, - "source_owner": "src/fep_lean/formal/measure_bayes.lean", - "statement": "theorem posterior_involution\n [StandardBorelSpace Observation] [Nonempty Observation]\n [IsMarkovKernel likelihood] :\n (likelihood†prior)†(likelihood ∘ₘ prior) =ᵐ[prior] likelihood", - "statement_sha256": "c57de54a2011125a7d0364b0ac34fc3d807463ad2326349cb229a50c407ca5c3" + "qualified_name": "FEP.NativeBlanket.embeddedLaw_map", + "source_line": 87, + "source_owner": "src/fep_lean/formal/native_blanket.lean", + "statement": "theorem embeddedLaw_map [DecidableEq β]\n (law : FiniteLaw α) (mapState : α → β) :\n (embeddedLaw law).map mapState = embeddedLaw (law.map mapState)", + "statement_sha256": "b573853d500701cf57d7e51ac0d49b49bb352a3671b604bc7cb884d64194c186" }, - "FEP.MeasureBayes.posterior_joint_reconstruction": { + "FEP.NativeBlanket.embeddedLaw_real_singleton": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [], - "conclusion": "(likelihood ∘ₘ prior) ⊗ₘ likelihood†prior =\n (prior ⊗ₘ likelihood).map Prod.swap", - "context_binders": [ - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "Ω", - "Observation", - "Intermediate" - ], - "role": "typed_binder", - "source": "{Ω Observation Intermediate : Type*}", - "type_source": "Type*", - "visibility": "implicit" - }, + "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "mΩ" + "law" ], "role": "typed_binder", - "source": "{mΩ : MeasurableSpace Ω}", - "type_source": "MeasurableSpace Ω", - "visibility": "implicit" + "source": "(law : FiniteLaw α)", + "type_source": "FiniteLaw α", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "mObservation" + "state" ], "role": "typed_binder", - "source": "{mObservation : MeasurableSpace Observation}", - "type_source": "MeasurableSpace Observation", - "visibility": "implicit" - }, + "source": "(state : α)", + "type_source": "α", + "visibility": "explicit" + } + ], + "conclusion": "(embeddedLaw law).real {state} = law state", + "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "mIntermediate" + "α", + "β" ], "role": "typed_binder", - "source": "{mIntermediate : MeasurableSpace Intermediate}", - "type_source": "MeasurableSpace Intermediate", + "source": "{α β : Type*}", + "type_source": "Type*", "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[StandardBorelSpace Ω]", - "type_source": "StandardBorelSpace Ω", + "source": "[Fintype α]", + "type_source": "Fintype α", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Nonempty Ω]", - "type_source": "Nonempty Ω", + "source": "[Fintype β]", + "type_source": "Fintype β", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "prior" - ], - "role": "typed_binder", - "source": "{prior : Measure Ω}", - "type_source": "Measure Ω", - "visibility": "implicit" + "names": [], + "role": "instance_requirement", + "source": "[MeasurableSpace α]", + "type_source": "MeasurableSpace α", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[IsFiniteMeasure prior]", - "type_source": "IsFiniteMeasure prior", + "source": "[MeasurableSpace β]", + "type_source": "MeasurableSpace β", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "likelihood" - ], - "role": "typed_binder", - "source": "{likelihood : Kernel Ω Observation}", - "type_source": "Kernel Ω Observation", - "visibility": "implicit" + "names": [], + "role": "instance_requirement", + "source": "[DiscreteMeasurableSpace α]", + "type_source": "DiscreteMeasurableSpace α", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[IsFiniteKernel likelihood]", - "type_source": "IsFiniteKernel likelihood", + "source": "[DiscreteMeasurableSpace β]", + "type_source": "DiscreteMeasurableSpace β", "visibility": "instance" } ], - "declaration_mentions": [], + "declaration_mentions": [ + { + "identifier": "embeddedLaw_apply_singleton", + "qualified_name": "FEP.NativeBlanket.embeddedLaw_apply_singleton", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + } + ], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.finite_probability", - "Mathlib.Probability.Kernel.Disintegration.Integral", - "Mathlib.Probability.Kernel.Posterior" + "FepSketches.markov_blanket", + "Mathlib.MeasureTheory.Integral.Bochner.SumMeasure", + "Mathlib.Probability.Independence.Conditional", + "Mathlib.Probability.Kernel.Composition.Comp" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.MeasureBayes", + "namespace": "FEP.NativeBlanket", "namespace_variable_context": [ - "{Ω Observation Intermediate : Type*}\n {mΩ : MeasurableSpace Ω} {mObservation : MeasurableSpace Observation}\n {mIntermediate : MeasurableSpace Intermediate}", - "[StandardBorelSpace Ω] [Nonempty Ω]\n {prior : Measure Ω} [IsFiniteMeasure prior]\n {likelihood : Kernel Ω Observation} [IsFiniteKernel likelihood]" + "{α β : Type*} [Fintype α] [Fintype β]\n [MeasurableSpace α] [MeasurableSpace β]\n [DiscreteMeasurableSpace α] [DiscreteMeasurableSpace β]" ], "preceding_scope_directives": [], - "qualified_name": "FEP.MeasureBayes.posterior_joint_reconstruction", + "qualified_name": "FEP.NativeBlanket.embeddedLaw_real_singleton", "source_line": 62, - "source_owner": "src/fep_lean/formal/measure_bayes.lean", - "statement": "theorem posterior_joint_reconstruction :\n (likelihood ∘ₘ prior) ⊗ₘ likelihood†prior =\n (prior ⊗ₘ likelihood).map Prod.swap", - "statement_sha256": "092d4dc9512fe694ab87aed7e5c096a32cdf3e6589bf246b4d18b268d171b725" + "source_owner": "src/fep_lean/formal/native_blanket.lean", + "statement": "theorem embeddedLaw_real_singleton (law : FiniteLaw α) (state : α) :\n (embeddedLaw law).real {state} = law state", + "statement_sha256": "a0a1b352dac09b3e4d0b2c5ea8be2d3e83ae71ef72837e7a37dfc1695e90c568" }, - "FEP.MeasureBayes.posterior_reconstructs_prior": { + "FEP.NativeBlanket.embeddedPredictive_eq_comp": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[IsMarkovKernel likelihood]", - "type_source": "IsMarkovKernel likelihood", - "visibility": "instance" - } - ], - "conclusion": "likelihood†prior ∘ₘ likelihood ∘ₘ prior = prior", - "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Ω", - "Observation", - "Intermediate" - ], - "role": "typed_binder", - "source": "{Ω Observation Intermediate : Type*}", - "type_source": "Type*", - "visibility": "implicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "mΩ" + "prior" ], "role": "typed_binder", - "source": "{mΩ : MeasurableSpace Ω}", - "type_source": "MeasurableSpace Ω", - "visibility": "implicit" + "source": "(prior : FiniteLaw α)", + "type_source": "FiniteLaw α", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "mObservation" + "kernel" ], "role": "typed_binder", - "source": "{mObservation : MeasurableSpace Observation}", - "type_source": "MeasurableSpace Observation", - "visibility": "implicit" - }, + "source": "(kernel : FiniteKernel α β)", + "type_source": "FiniteKernel α β", + "visibility": "explicit" + } + ], + "conclusion": "embeddedLaw (kernel.predictive prior) =\n embeddedKernel kernel ∘ₘ embeddedLaw prior", + "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "mIntermediate" + "α", + "β" ], "role": "typed_binder", - "source": "{mIntermediate : MeasurableSpace Intermediate}", - "type_source": "MeasurableSpace Intermediate", + "source": "{α β : Type*}", + "type_source": "Type*", "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[StandardBorelSpace Ω]", - "type_source": "StandardBorelSpace Ω", + "source": "[Fintype α]", + "type_source": "Fintype α", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Nonempty Ω]", - "type_source": "Nonempty Ω", + "source": "[Fintype β]", + "type_source": "Fintype β", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "prior" - ], - "role": "typed_binder", - "source": "{prior : Measure Ω}", - "type_source": "Measure Ω", - "visibility": "implicit" + "names": [], + "role": "instance_requirement", + "source": "[MeasurableSpace α]", + "type_source": "MeasurableSpace α", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[IsFiniteMeasure prior]", - "type_source": "IsFiniteMeasure prior", + "source": "[MeasurableSpace β]", + "type_source": "MeasurableSpace β", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "likelihood" - ], - "role": "typed_binder", - "source": "{likelihood : Kernel Ω Observation}", - "type_source": "Kernel Ω Observation", - "visibility": "implicit" + "names": [], + "role": "instance_requirement", + "source": "[DiscreteMeasurableSpace α]", + "type_source": "DiscreteMeasurableSpace α", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[IsFiniteKernel likelihood]", - "type_source": "IsFiniteKernel likelihood", + "source": "[DiscreteMeasurableSpace β]", + "type_source": "DiscreteMeasurableSpace β", "visibility": "instance" } ], - "declaration_mentions": [], + "declaration_mentions": [ + { + "identifier": "embeddedLaw_apply_singleton", + "qualified_name": "FEP.NativeBlanket.embeddedLaw_apply_singleton", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + } + ], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.finite_probability", - "Mathlib.Probability.Kernel.Disintegration.Integral", - "Mathlib.Probability.Kernel.Posterior" + "FepSketches.markov_blanket", + "Mathlib.MeasureTheory.Integral.Bochner.SumMeasure", + "Mathlib.Probability.Independence.Conditional", + "Mathlib.Probability.Kernel.Composition.Comp" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.MeasureBayes", + "namespace": "FEP.NativeBlanket", "namespace_variable_context": [ - "{Ω Observation Intermediate : Type*}\n {mΩ : MeasurableSpace Ω} {mObservation : MeasurableSpace Observation}\n {mIntermediate : MeasurableSpace Intermediate}", - "[StandardBorelSpace Ω] [Nonempty Ω]\n {prior : Measure Ω} [IsFiniteMeasure prior]\n {likelihood : Kernel Ω Observation} [IsFiniteKernel likelihood]" + "{α β : Type*} [Fintype α] [Fintype β]\n [MeasurableSpace α] [MeasurableSpace β]\n [DiscreteMeasurableSpace α] [DiscreteMeasurableSpace β]" ], - "preceding_scope_directives": [], - "qualified_name": "FEP.MeasureBayes.posterior_reconstructs_prior", - "source_line": 68, - "source_owner": "src/fep_lean/formal/measure_bayes.lean", - "statement": "theorem posterior_reconstructs_prior [IsMarkovKernel likelihood] :\n likelihood†prior ∘ₘ likelihood ∘ₘ prior = prior", - "statement_sha256": "ebeff6ea880ffcddf73263dd3f8d12226415ee3d8bfa1cfb4b683b8c96c7ce20" + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DiscreteMeasurableSpace β] in" + } + ], + "qualified_name": "FEP.NativeBlanket.embeddedPredictive_eq_comp", + "source_line": 163, + "source_owner": "src/fep_lean/formal/native_blanket.lean", + "statement": "theorem embeddedPredictive_eq_comp\n (prior : FiniteLaw α) (kernel : FiniteKernel α β) :\n embeddedLaw (kernel.predictive prior) =\n embeddedKernel kernel ∘ₘ embeddedLaw prior", + "statement_sha256": "f1df7ccf2933d1d8aaf3dc0768230b7f5928ece9193a85fb08ad2cda927d7f66" }, - "FEP.NativeBlanket.blanketCoordinate_measurable": { + "FEP.NativeBlanket.externalCoordinate_measurable": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [], - "conclusion": "Measurable\n (blanketCoordinate :\n StaticState Internal Sensory Active External → Blanket Sensory Active)", + "conclusion": "Measurable\n (externalCoordinate :\n StaticState Internal Sensory Active External → External)", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -78844,16 +84805,16 @@ "source": "omit [DiscreteMeasurableSpace β] in" } ], - "qualified_name": "FEP.NativeBlanket.blanketCoordinate_measurable", - "source_line": 238, + "qualified_name": "FEP.NativeBlanket.externalCoordinate_measurable", + "source_line": 250, "source_owner": "src/fep_lean/formal/native_blanket.lean", - "statement": "theorem blanketCoordinate_measurable :\n Measurable\n (blanketCoordinate :\n StaticState Internal Sensory Active External → Blanket Sensory Active)", - "statement_sha256": "7a2477c26a3e5ed32a6f4241ffcfe179b2ec3e188216a64c51cd78e8c2b34af5" + "statement": "theorem externalCoordinate_measurable :\n Measurable\n (externalCoordinate :\n StaticState Internal Sensory Active External → External)", + "statement_sha256": "dd55d082d3200007838b57444a93840a9e25e108f17a726c8722df282d48133a" }, - "FEP.NativeBlanket.blanketTripleCoordinate_measurable": { + "FEP.NativeBlanket.internalCoordinate_measurable": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [], - "conclusion": "Measurable\n (blanketTripleCoordinate :\n StaticState Internal Sensory Active External →\n Blanket Sensory Active × (Internal × External))", + "conclusion": "Measurable\n (internalCoordinate :\n StaticState Internal Sensory Active External → Internal)", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -78985,13 +84946,13 @@ "source": "omit [DiscreteMeasurableSpace β] in" } ], - "qualified_name": "FEP.NativeBlanket.blanketTripleCoordinate_measurable", - "source_line": 256, + "qualified_name": "FEP.NativeBlanket.internalCoordinate_measurable", + "source_line": 244, "source_owner": "src/fep_lean/formal/native_blanket.lean", - "statement": "theorem blanketTripleCoordinate_measurable :\n Measurable\n (blanketTripleCoordinate :\n StaticState Internal Sensory Active External →\n Blanket Sensory Active × (Internal × External))", - "statement_sha256": "2ccdcddf40f7b531ad33c6c54dcd3ccd1f82aa6a26c16a67bbf738a582a93b70" + "statement": "theorem internalCoordinate_measurable :\n Measurable\n (internalCoordinate :\n StaticState Internal Sensory Active External → Internal)", + "statement_sha256": "13bb07003599a3855ecc0d7abf7ccf8739f6e254ad03d6d8a4016ea4fa4c2519" }, - "FEP.NativeBlanket.condIndepFun_measurableImages": { + "FEP.NativeBlanket.prediction_preserves_nativeBlanket": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { @@ -79013,82 +84974,25 @@ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "InternalImage", - "ExternalImage" - ], - "role": "typed_binder", - "source": "{InternalImage ExternalImage : Type*}", - "type_source": "Type*", - "visibility": "implicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[MeasurableSpace InternalImage]", - "type_source": "MeasurableSpace InternalImage", - "visibility": "instance" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[MeasurableSpace ExternalImage]", - "type_source": "MeasurableSpace ExternalImage", - "visibility": "instance" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "model" - ], - "role": "typed_binder", - "source": "(model : StaticModel Internal Sensory Active External)", - "type_source": "StaticModel Internal Sensory Active External", - "visibility": "explicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "internalImage" - ], - "role": "typed_binder", - "source": "(internalImage : Internal → InternalImage)", - "type_source": "Internal → InternalImage", - "visibility": "explicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "externalImage" - ], - "role": "typed_binder", - "source": "(externalImage : External → ExternalImage)", - "type_source": "External → ExternalImage", - "visibility": "explicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "internalMeasurable" + "dynamics" ], "role": "typed_binder", - "source": "(internalMeasurable : Measurable internalImage)", - "type_source": "Measurable internalImage", + "source": "(dynamics : Dynamics Internal Sensory Active External)", + "type_source": "Dynamics Internal Sensory Active External", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "externalMeasurable" + "current" ], "role": "typed_binder", - "source": "(externalMeasurable : Measurable externalImage)", - "type_source": "Measurable externalImage", + "source": "(current : DynamicState Internal Sensory Active External)", + "type_source": "DynamicState Internal Sensory Active External", "visibility": "explicit" } ], - "conclusion": "CondIndepFun\n (MeasurableSpace.comap blanketCoordinate inferInstance)\n blanketCoordinate_measurable.comap_le\n (internalImage ∘ internalCoordinate)\n (externalImage ∘ externalCoordinate)\n (embeddedLaw (staticJoint model))", + "conclusion": "CondIndepFun\n (MeasurableSpace.comap blanketCoordinate inferInstance)\n blanketCoordinate_measurable.comap_le\n internalCoordinate externalCoordinate\n (embeddedLaw (staticJoint (nextStaticModel dynamics current)))", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -79237,69 +85141,31 @@ "source": "omit [MeasurableSpace Internal] [MeasurableSpace Sensory]" } ], - "qualified_name": "FEP.NativeBlanket.condIndepFun_measurableImages", - "source_line": 570, + "qualified_name": "FEP.NativeBlanket.prediction_preserves_nativeBlanket", + "source_line": 591, "source_owner": "src/fep_lean/formal/native_blanket.lean", - "statement": "theorem condIndepFun_measurableImages\n [Nonempty Internal] [Nonempty External]\n {InternalImage ExternalImage : Type*}\n [MeasurableSpace InternalImage] [MeasurableSpace ExternalImage]\n (model : StaticModel Internal Sensory Active External)\n (internalImage : Internal → InternalImage)\n (externalImage : External → ExternalImage)\n (internalMeasurable : Measurable internalImage)\n (externalMeasurable : Measurable externalImage) :\n CondIndepFun\n (MeasurableSpace.comap blanketCoordinate inferInstance)\n blanketCoordinate_measurable.comap_le\n (internalImage ∘ internalCoordinate)\n (externalImage ∘ externalCoordinate)\n (embeddedLaw (staticJoint model))", - "statement_sha256": "239541dd9a013320a5e05c94e7599fe9eae7775966e5626db7430260673d5690" + "statement": "theorem prediction_preserves_nativeBlanket\n [Nonempty Internal] [Nonempty External]\n (dynamics : Dynamics Internal Sensory Active External)\n (current : DynamicState Internal Sensory Active External) :\n CondIndepFun\n (MeasurableSpace.comap blanketCoordinate inferInstance)\n blanketCoordinate_measurable.comap_le\n internalCoordinate externalCoordinate\n (embeddedLaw (staticJoint (nextStaticModel dynamics current)))", + "statement_sha256": "f6476caaf747155c2538c82fc398879a19740dd507b617516303f77cf2749381" }, - "FEP.NativeBlanket.correlatedBlanket_nonvacuous": { + "FEP.NativeBlanket.staticJoint_condIndepFun": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [], - "conclusion": "letI : MeasurableSpace Bool", - "context_binders": [], - "declaration_mentions": [ - { - "identifier": "staticJoint_condIndepFun", - "qualified_name": "FEP.NativeBlanket.staticJoint_condIndepFun", - "resolution": "exact or same-namespace source identifier", - "role": "proof_reference" - }, - { - "candidates": [ - "FEP.MarkovBlanket.staticJoint_factorization" - ], - "identifier": "staticJoint_factorization", - "resolution": "unresolved lexical scope", - "role": "proof_reference" - } - ], - "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", - "import_context": [ - "FepSketches.markov_blanket", - "Mathlib.MeasureTheory.Integral.Bochner.SumMeasure", - "Mathlib.Probability.Independence.Conditional", - "Mathlib.Probability.Kernel.Composition.Comp" - ], - "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.NativeBlanket", - "namespace_variable_context": [], - "preceding_scope_directives": [ + "binders": [ { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DiscreteMeasurableSpace β] in" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Nonempty Internal]", + "type_source": "Nonempty Internal", + "visibility": "instance" }, { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [MeasurableSpace Internal] [MeasurableSpace Sensory]" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Nonempty External]", + "type_source": "Nonempty External", + "visibility": "instance" }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [MeasurableSpace Internal] [MeasurableSpace Sensory]" - } - ], - "qualified_name": "FEP.NativeBlanket.correlatedBlanket_nonvacuous", - "source_line": 621, - "source_owner": "src/fep_lean/formal/native_blanket.lean", - "statement": "theorem correlatedBlanket_nonvacuous :\n letI : MeasurableSpace Bool", - "statement_sha256": "88b0ea9cd73d2a63c4d364a9096872aeea54d8cd307b726ad51634d4ef92c3f2" - }, - "FEP.NativeBlanket.embeddedConditionalPairKernel_eq_prod": { - "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ @@ -79311,7 +85177,7 @@ "visibility": "explicit" } ], - "conclusion": "embeddedKernel (conditionalPairKernel model) =\n embeddedKernel model.internalGiven ×ₖ embeddedKernel model.externalGiven", + "conclusion": "CondIndepFun\n (MeasurableSpace.comap blanketCoordinate inferInstance)\n blanketCoordinate_measurable.comap_le\n internalCoordinate externalCoordinate\n (embeddedLaw (staticJoint model))", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -79425,8 +85291,26 @@ ], "declaration_mentions": [ { - "identifier": "embeddedKernel_apply_singleton", - "qualified_name": "FEP.NativeBlanket.embeddedKernel_apply_singleton", + "identifier": "blanketCoordinate_measurable", + "qualified_name": "FEP.NativeBlanket.blanketCoordinate_measurable", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + }, + { + "identifier": "externalCoordinate_measurable", + "qualified_name": "FEP.NativeBlanket.externalCoordinate_measurable", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + }, + { + "identifier": "internalCoordinate_measurable", + "qualified_name": "FEP.NativeBlanket.internalCoordinate_measurable", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + }, + { + "identifier": "staticJoint_map_triple_factorization", + "qualified_name": "FEP.NativeBlanket.staticJoint_map_triple_factorization", "resolution": "exact or same-namespace source identifier", "role": "proof_reference" } @@ -79448,48 +85332,50 @@ "directive": "omit", "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", "source": "omit [DiscreteMeasurableSpace β] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [MeasurableSpace Internal] [MeasurableSpace Sensory]" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [MeasurableSpace Internal] [MeasurableSpace Sensory]" } ], - "qualified_name": "FEP.NativeBlanket.embeddedConditionalPairKernel_eq_prod", - "source_line": 279, + "qualified_name": "FEP.NativeBlanket.staticJoint_condIndepFun", + "source_line": 521, "source_owner": "src/fep_lean/formal/native_blanket.lean", - "statement": "theorem embeddedConditionalPairKernel_eq_prod\n (model : StaticModel Internal Sensory Active External) :\n embeddedKernel (conditionalPairKernel model) =\n embeddedKernel model.internalGiven ×ₖ embeddedKernel model.externalGiven", - "statement_sha256": "a0355133a2c67f1084449a380409b797a9e595ed007d767b9b90dc4c9faac41c" + "statement": "theorem staticJoint_condIndepFun\n [Nonempty Internal] [Nonempty External]\n (model : StaticModel Internal Sensory Active External) :\n CondIndepFun\n (MeasurableSpace.comap blanketCoordinate inferInstance)\n blanketCoordinate_measurable.comap_le\n internalCoordinate externalCoordinate\n (embeddedLaw (staticJoint model))", + "statement_sha256": "cedd1a438e8c7c70c54e098ff14e3844321c921b54e2bebe351a111c44c1ae8c" }, - "FEP.NativeBlanket.embeddedKernel_apply": { + "FEP.NativeBlanket.staticJoint_map_blanket": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "kernel" - ], - "role": "typed_binder", - "source": "(kernel : FiniteKernel α β)", - "type_source": "FiniteKernel α β", - "visibility": "explicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "state" + "model" ], "role": "typed_binder", - "source": "(state : α)", - "type_source": "α", + "source": "(model : StaticModel Internal Sensory Active External)", + "type_source": "StaticModel Internal Sensory Active External", "visibility": "explicit" } ], - "conclusion": "embeddedKernel kernel state = embeddedLaw (kernel.row state)", + "conclusion": "(embeddedLaw (staticJoint model)).map blanketCoordinate =\n embeddedLaw model.blanketLaw", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "α", - "β" + "Internal", + "Sensory", + "Active", + "External" ], "role": "typed_binder", - "source": "{α β : Type*}", + "source": "{Internal Sensory Active External : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -79497,187 +85383,100 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype α]", - "type_source": "Fintype α", + "source": "[Fintype Internal]", + "type_source": "Fintype Internal", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype β]", - "type_source": "Fintype β", + "source": "[Fintype Sensory]", + "type_source": "Fintype Sensory", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[MeasurableSpace α]", - "type_source": "MeasurableSpace α", + "source": "[Fintype Active]", + "type_source": "Fintype Active", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[MeasurableSpace β]", - "type_source": "MeasurableSpace β", + "source": "[Fintype External]", + "type_source": "Fintype External", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace α]", - "type_source": "DiscreteMeasurableSpace α", + "source": "[MeasurableSpace Internal]", + "type_source": "MeasurableSpace Internal", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace β]", - "type_source": "DiscreteMeasurableSpace β", + "source": "[MeasurableSpace Sensory]", + "type_source": "MeasurableSpace Sensory", "visibility": "instance" - } - ], - "declaration_mentions": [], - "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", - "import_context": [ - "FepSketches.markov_blanket", - "Mathlib.MeasureTheory.Integral.Bochner.SumMeasure", - "Mathlib.Probability.Independence.Conditional", - "Mathlib.Probability.Kernel.Composition.Comp" - ], - "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.NativeBlanket", - "namespace_variable_context": [ - "{α β : Type*} [Fintype α] [Fintype β]\n [MeasurableSpace α] [MeasurableSpace β]\n [DiscreteMeasurableSpace α] [DiscreteMeasurableSpace β]" - ], - "preceding_scope_directives": [ - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DiscreteMeasurableSpace β] in" - } - ], - "qualified_name": "FEP.NativeBlanket.embeddedKernel_apply", - "source_line": 113, - "source_owner": "src/fep_lean/formal/native_blanket.lean", - "statement": "theorem embeddedKernel_apply (kernel : FiniteKernel α β) (state : α) :\n embeddedKernel kernel state = embeddedLaw (kernel.row state)", - "statement_sha256": "e23bc2940c661635638d172e8d8764c3f61a229b50d56bb5648759a6fdaf6540" - }, - "FEP.NativeBlanket.embeddedKernel_apply_singleton": { - "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [ - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "kernel" - ], - "role": "typed_binder", - "source": "(kernel : FiniteKernel α β)", - "type_source": "FiniteKernel α β", - "visibility": "explicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "state" - ], - "role": "typed_binder", - "source": "(state : α)", - "type_source": "α", - "visibility": "explicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "target" - ], - "role": "typed_binder", - "source": "(target : β)", - "type_source": "β", - "visibility": "explicit" - } - ], - "conclusion": "embeddedKernel kernel state {target} = ENNReal.ofReal (kernel state target)", - "context_binders": [ - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "α", - "β" - ], - "role": "typed_binder", - "source": "{α β : Type*}", - "type_source": "Type*", - "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype α]", - "type_source": "Fintype α", + "source": "[MeasurableSpace Active]", + "type_source": "MeasurableSpace Active", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype β]", - "type_source": "Fintype β", + "source": "[MeasurableSpace External]", + "type_source": "MeasurableSpace External", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[MeasurableSpace α]", - "type_source": "MeasurableSpace α", + "source": "[DiscreteMeasurableSpace Internal]", + "type_source": "DiscreteMeasurableSpace Internal", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[MeasurableSpace β]", - "type_source": "MeasurableSpace β", + "source": "[DiscreteMeasurableSpace Sensory]", + "type_source": "DiscreteMeasurableSpace Sensory", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace α]", - "type_source": "DiscreteMeasurableSpace α", + "source": "[DiscreteMeasurableSpace Active]", + "type_source": "DiscreteMeasurableSpace Active", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace β]", - "type_source": "DiscreteMeasurableSpace β", + "source": "[DiscreteMeasurableSpace External]", + "type_source": "DiscreteMeasurableSpace External", "visibility": "instance" } ], - "declaration_mentions": [ - { - "identifier": "embeddedKernel_apply", - "qualified_name": "FEP.NativeBlanket.embeddedKernel_apply", - "resolution": "exact or same-namespace source identifier", - "role": "proof_reference" - }, - { - "identifier": "embeddedLaw_apply_singleton", - "qualified_name": "FEP.NativeBlanket.embeddedLaw_apply_singleton", - "resolution": "exact or same-namespace source identifier", - "role": "proof_reference" - } - ], + "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ "FepSketches.markov_blanket", @@ -79688,31 +85487,57 @@ "line_coordinate_kind": "formal_resource_file", "namespace": "FEP.NativeBlanket", "namespace_variable_context": [ - "{α β : Type*} [Fintype α] [Fintype β]\n [MeasurableSpace α] [MeasurableSpace β]\n [DiscreteMeasurableSpace α] [DiscreteMeasurableSpace β]" + "{Internal Sensory Active External : Type*}\n [Fintype Internal] [Fintype Sensory] [Fintype Active] [Fintype External]\n [MeasurableSpace Internal] [MeasurableSpace Sensory]\n [MeasurableSpace Active] [MeasurableSpace External]\n [DiscreteMeasurableSpace Internal] [DiscreteMeasurableSpace Sensory]\n [DiscreteMeasurableSpace Active] [DiscreteMeasurableSpace External]" ], "preceding_scope_directives": [ { "directive": "omit", "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", "source": "omit [DiscreteMeasurableSpace β] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [MeasurableSpace Internal] [MeasurableSpace Sensory]" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [MeasurableSpace Internal] [MeasurableSpace Sensory]" } ], - "qualified_name": "FEP.NativeBlanket.embeddedKernel_apply_singleton", - "source_line": 117, + "qualified_name": "FEP.NativeBlanket.staticJoint_map_blanket", + "source_line": 387, "source_owner": "src/fep_lean/formal/native_blanket.lean", - "statement": "theorem embeddedKernel_apply_singleton\n (kernel : FiniteKernel α β) (state : α) (target : β) :\n embeddedKernel kernel state {target} = ENNReal.ofReal (kernel state target)", - "statement_sha256": "848b46bb22fe343daf67c9e02e5d86fa4d5e336832d3e43513ed85ef54e6bb27" + "statement": "theorem staticJoint_map_blanket\n (model : StaticModel Internal Sensory Active External) :\n (embeddedLaw (staticJoint model)).map blanketCoordinate =\n embeddedLaw model.blanketLaw", + "statement_sha256": "06ffc7f6f303ef6f40e23ef9499e985daffad3fa918621fb66a65eee55368c0d" }, - "FEP.NativeBlanket.embeddedKernel_comp": { + "FEP.NativeBlanket.staticJoint_map_blanket_external": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "γ" + "model" ], "role": "typed_binder", - "source": "{γ : Type*}", + "source": "(model : StaticModel Internal Sensory Active External)", + "type_source": "StaticModel Internal Sensory Active External", + "visibility": "explicit" + } + ], + "conclusion": "(embeddedLaw (staticJoint model)).map\n (fun state => (blanketCoordinate state, externalCoordinate state)) =\n (embeddedLaw (staticJoint model)).map blanketCoordinate ⊗ₘ\n embeddedKernel model.externalGiven", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "Internal", + "Sensory", + "Active", + "External" + ], + "role": "typed_binder", + "source": "{Internal Sensory Active External : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -79720,119 +85545,115 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype γ]", - "type_source": "Fintype γ", + "source": "[Fintype Internal]", + "type_source": "Fintype Internal", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[MeasurableSpace γ]", - "type_source": "MeasurableSpace γ", + "source": "[Fintype Sensory]", + "type_source": "Fintype Sensory", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace γ]", - "type_source": "DiscreteMeasurableSpace γ", + "source": "[Fintype Active]", + "type_source": "Fintype Active", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "later" - ], - "role": "typed_binder", - "source": "(later : FiniteKernel β γ)", - "type_source": "FiniteKernel β γ", - "visibility": "explicit" + "names": [], + "role": "instance_requirement", + "source": "[Fintype External]", + "type_source": "Fintype External", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "earlier" - ], - "role": "typed_binder", - "source": "(earlier : FiniteKernel α β)", - "type_source": "FiniteKernel α β", - "visibility": "explicit" - } - ], - "conclusion": "embeddedKernel (FiniteKernel.comp later earlier) =\n embeddedKernel later ∘ₖ embeddedKernel earlier", - "context_binders": [ + "names": [], + "role": "instance_requirement", + "source": "[MeasurableSpace Internal]", + "type_source": "MeasurableSpace Internal", + "visibility": "instance" + }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "α", - "β" - ], - "role": "typed_binder", - "source": "{α β : Type*}", - "type_source": "Type*", - "visibility": "implicit" + "names": [], + "role": "instance_requirement", + "source": "[MeasurableSpace Sensory]", + "type_source": "MeasurableSpace Sensory", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype α]", - "type_source": "Fintype α", + "source": "[MeasurableSpace Active]", + "type_source": "MeasurableSpace Active", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype β]", - "type_source": "Fintype β", + "source": "[MeasurableSpace External]", + "type_source": "MeasurableSpace External", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[MeasurableSpace α]", - "type_source": "MeasurableSpace α", + "source": "[DiscreteMeasurableSpace Internal]", + "type_source": "DiscreteMeasurableSpace Internal", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[MeasurableSpace β]", - "type_source": "MeasurableSpace β", + "source": "[DiscreteMeasurableSpace Sensory]", + "type_source": "DiscreteMeasurableSpace Sensory", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace α]", - "type_source": "DiscreteMeasurableSpace α", + "source": "[DiscreteMeasurableSpace Active]", + "type_source": "DiscreteMeasurableSpace Active", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace β]", - "type_source": "DiscreteMeasurableSpace β", + "source": "[DiscreteMeasurableSpace External]", + "type_source": "DiscreteMeasurableSpace External", "visibility": "instance" } ], "declaration_mentions": [ { - "identifier": "embeddedKernel_apply", - "qualified_name": "FEP.NativeBlanket.embeddedKernel_apply", + "identifier": "embeddedLaw_joint_eq_compProd", + "qualified_name": "FEP.NativeBlanket.embeddedLaw_joint_eq_compProd", "resolution": "exact or same-namespace source identifier", "role": "proof_reference" }, { - "identifier": "embeddedPredictive_eq_comp", - "qualified_name": "FEP.NativeBlanket.embeddedPredictive_eq_comp", + "identifier": "embeddedLaw_map", + "qualified_name": "FEP.NativeBlanket.embeddedLaw_map", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + }, + { + "identifier": "staticJoint_map_blanket", + "qualified_name": "FEP.NativeBlanket.staticJoint_map_blanket", "resolution": "exact or same-namespace source identifier", "role": "proof_reference" } @@ -79847,43 +85668,57 @@ "line_coordinate_kind": "formal_resource_file", "namespace": "FEP.NativeBlanket", "namespace_variable_context": [ - "{α β : Type*} [Fintype α] [Fintype β]\n [MeasurableSpace α] [MeasurableSpace β]\n [DiscreteMeasurableSpace α] [DiscreteMeasurableSpace β]" + "{Internal Sensory Active External : Type*}\n [Fintype Internal] [Fintype Sensory] [Fintype Active] [Fintype External]\n [MeasurableSpace Internal] [MeasurableSpace Sensory]\n [MeasurableSpace Active] [MeasurableSpace External]\n [DiscreteMeasurableSpace Internal] [DiscreteMeasurableSpace Sensory]\n [DiscreteMeasurableSpace Active] [DiscreteMeasurableSpace External]" ], "preceding_scope_directives": [ { "directive": "omit", "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", "source": "omit [DiscreteMeasurableSpace β] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [MeasurableSpace Internal] [MeasurableSpace Sensory]" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [MeasurableSpace Internal] [MeasurableSpace Sensory]" } ], - "qualified_name": "FEP.NativeBlanket.embeddedKernel_comp", - "source_line": 184, + "qualified_name": "FEP.NativeBlanket.staticJoint_map_blanket_external", + "source_line": 414, "source_owner": "src/fep_lean/formal/native_blanket.lean", - "statement": "theorem embeddedKernel_comp {γ : Type*} [Fintype γ]\n [MeasurableSpace γ] [DiscreteMeasurableSpace γ]\n (later : FiniteKernel β γ) (earlier : FiniteKernel α β) :\n embeddedKernel (FiniteKernel.comp later earlier) =\n embeddedKernel later ∘ₖ embeddedKernel earlier", - "statement_sha256": "529d5b1f6a8a0bb59d97c13986f5735c238e256203f2424d62dda6413ea9605e" + "statement": "theorem staticJoint_map_blanket_external\n (model : StaticModel Internal Sensory Active External) :\n (embeddedLaw (staticJoint model)).map\n (fun state => (blanketCoordinate state, externalCoordinate state)) =\n (embeddedLaw (staticJoint model)).map blanketCoordinate ⊗ₘ\n embeddedKernel model.externalGiven", + "statement_sha256": "630209d62ba7b7cda7130769db3402b6787c26c4ac81d405f3ceffee35d4c7dd" }, - "FEP.NativeBlanket.embeddedKernel_identity": { + "FEP.NativeBlanket.staticJoint_map_blanket_internal": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[DecidableEq α]", - "type_source": "DecidableEq α", - "visibility": "instance" + "names": [ + "model" + ], + "role": "typed_binder", + "source": "(model : StaticModel Internal Sensory Active External)", + "type_source": "StaticModel Internal Sensory Active External", + "visibility": "explicit" } ], - "conclusion": "embeddedKernel (FiniteKernel.identity : FiniteKernel α α) = Kernel.id", + "conclusion": "(embeddedLaw (staticJoint model)).map\n (fun state => (blanketCoordinate state, internalCoordinate state)) =\n (embeddedLaw (staticJoint model)).map blanketCoordinate ⊗ₘ\n embeddedKernel model.internalGiven", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "α", - "β" + "Internal", + "Sensory", + "Active", + "External" ], "role": "typed_binder", - "source": "{α β : Type*}", + "source": "{Internal Sensory Active External : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -79891,171 +85726,107 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype α]", - "type_source": "Fintype α", + "source": "[Fintype Internal]", + "type_source": "Fintype Internal", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype β]", - "type_source": "Fintype β", + "source": "[Fintype Sensory]", + "type_source": "Fintype Sensory", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[MeasurableSpace α]", - "type_source": "MeasurableSpace α", + "source": "[Fintype Active]", + "type_source": "Fintype Active", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[MeasurableSpace β]", - "type_source": "MeasurableSpace β", + "source": "[Fintype External]", + "type_source": "Fintype External", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace α]", - "type_source": "DiscreteMeasurableSpace α", + "source": "[MeasurableSpace Internal]", + "type_source": "MeasurableSpace Internal", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace β]", - "type_source": "DiscreteMeasurableSpace β", + "source": "[MeasurableSpace Sensory]", + "type_source": "MeasurableSpace Sensory", "visibility": "instance" - } - ], - "declaration_mentions": [ - { - "identifier": "embeddedKernel_apply_singleton", - "qualified_name": "FEP.NativeBlanket.embeddedKernel_apply_singleton", - "resolution": "exact or same-namespace source identifier", - "role": "proof_reference" - } - ], - "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", - "import_context": [ - "FepSketches.markov_blanket", - "Mathlib.MeasureTheory.Integral.Bochner.SumMeasure", - "Mathlib.Probability.Independence.Conditional", - "Mathlib.Probability.Kernel.Composition.Comp" - ], - "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.NativeBlanket", - "namespace_variable_context": [ - "{α β : Type*} [Fintype α] [Fintype β]\n [MeasurableSpace α] [MeasurableSpace β]\n [DiscreteMeasurableSpace α] [DiscreteMeasurableSpace β]" - ], - "preceding_scope_directives": [ - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DiscreteMeasurableSpace β] in" - } - ], - "qualified_name": "FEP.NativeBlanket.embeddedKernel_identity", - "source_line": 130, - "source_owner": "src/fep_lean/formal/native_blanket.lean", - "statement": "theorem embeddedKernel_identity [DecidableEq α] :\n embeddedKernel (FiniteKernel.identity : FiniteKernel α α) = Kernel.id", - "statement_sha256": "fd5ac223e982b9bcfd5ee38d33ee4344e3747eaed8bb590e9ee11790168e6914" - }, - "FEP.NativeBlanket.embeddedLaw_apply_singleton": { - "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [ - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "law" - ], - "role": "typed_binder", - "source": "(law : FiniteLaw α)", - "type_source": "FiniteLaw α", - "visibility": "explicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "state" - ], - "role": "typed_binder", - "source": "(state : α)", - "type_source": "α", - "visibility": "explicit" - } - ], - "conclusion": "embeddedLaw law {state} = ENNReal.ofReal (law state)", - "context_binders": [ - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "α", - "β" - ], - "role": "typed_binder", - "source": "{α β : Type*}", - "type_source": "Type*", - "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype α]", - "type_source": "Fintype α", + "source": "[MeasurableSpace Active]", + "type_source": "MeasurableSpace Active", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype β]", - "type_source": "Fintype β", + "source": "[MeasurableSpace External]", + "type_source": "MeasurableSpace External", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[MeasurableSpace α]", - "type_source": "MeasurableSpace α", + "source": "[DiscreteMeasurableSpace Internal]", + "type_source": "DiscreteMeasurableSpace Internal", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[MeasurableSpace β]", - "type_source": "MeasurableSpace β", + "source": "[DiscreteMeasurableSpace Sensory]", + "type_source": "DiscreteMeasurableSpace Sensory", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace α]", - "type_source": "DiscreteMeasurableSpace α", + "source": "[DiscreteMeasurableSpace Active]", + "type_source": "DiscreteMeasurableSpace Active", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace β]", - "type_source": "DiscreteMeasurableSpace β", + "source": "[DiscreteMeasurableSpace External]", + "type_source": "DiscreteMeasurableSpace External", "visibility": "instance" } ], - "declaration_mentions": [], + "declaration_mentions": [ + { + "identifier": "staticJoint_map_blanket", + "qualified_name": "FEP.NativeBlanket.staticJoint_map_blanket", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + } + ], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ "FepSketches.markov_blanket", @@ -80066,39 +85837,57 @@ "line_coordinate_kind": "formal_resource_file", "namespace": "FEP.NativeBlanket", "namespace_variable_context": [ - "{α β : Type*} [Fintype α] [Fintype β]\n [MeasurableSpace α] [MeasurableSpace β]\n [DiscreteMeasurableSpace α] [DiscreteMeasurableSpace β]" + "{Internal Sensory Active External : Type*}\n [Fintype Internal] [Fintype Sensory] [Fintype Active] [Fintype External]\n [MeasurableSpace Internal] [MeasurableSpace Sensory]\n [MeasurableSpace Active] [MeasurableSpace External]\n [DiscreteMeasurableSpace Internal] [DiscreteMeasurableSpace Sensory]\n [DiscreteMeasurableSpace Active] [DiscreteMeasurableSpace External]" ], - "preceding_scope_directives": [], - "qualified_name": "FEP.NativeBlanket.embeddedLaw_apply_singleton", - "source_line": 39, + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DiscreteMeasurableSpace β] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [MeasurableSpace Internal] [MeasurableSpace Sensory]" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [MeasurableSpace Internal] [MeasurableSpace Sensory]" + } + ], + "qualified_name": "FEP.NativeBlanket.staticJoint_map_blanket_internal", + "source_line": 404, "source_owner": "src/fep_lean/formal/native_blanket.lean", - "statement": "theorem embeddedLaw_apply_singleton (law : FiniteLaw α) (state : α) :\n embeddedLaw law {state} = ENNReal.ofReal (law state)", - "statement_sha256": "66e9981fa09b7d0d545d9ac3758823d79b37eafb5ae377ff8abd9a74aea43662" + "statement": "theorem staticJoint_map_blanket_internal\n (model : StaticModel Internal Sensory Active External) :\n (embeddedLaw (staticJoint model)).map\n (fun state => (blanketCoordinate state, internalCoordinate state)) =\n (embeddedLaw (staticJoint model)).map blanketCoordinate ⊗ₘ\n embeddedKernel model.internalGiven", + "statement_sha256": "b6fd98539ad6b1f9e582b33068959a55a08d8d460556d2f3b1dd8ec1189067b1" }, - "FEP.NativeBlanket.embeddedLaw_apply_univ": { + "FEP.NativeBlanket.staticJoint_map_triple_factorization": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "law" + "model" ], "role": "typed_binder", - "source": "(law : FiniteLaw α)", - "type_source": "FiniteLaw α", + "source": "(model : StaticModel Internal Sensory Active External)", + "type_source": "StaticModel Internal Sensory Active External", "visibility": "explicit" } ], - "conclusion": "embeddedLaw law Set.univ = 1", + "conclusion": "(embeddedLaw (staticJoint model)).map blanketTripleCoordinate =\n (embeddedLaw (staticJoint model)).map blanketCoordinate ⊗ₘ\n (embeddedKernel model.internalGiven ×ₖ\n embeddedKernel model.externalGiven)", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "α", - "β" + "Internal", + "Sensory", + "Active", + "External" ], "role": "typed_binder", - "source": "{α β : Type*}", + "source": "{Internal Sensory Active External : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -80106,137 +85895,125 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype α]", - "type_source": "Fintype α", + "source": "[Fintype Internal]", + "type_source": "Fintype Internal", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype β]", - "type_source": "Fintype β", + "source": "[Fintype Sensory]", + "type_source": "Fintype Sensory", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[MeasurableSpace α]", - "type_source": "MeasurableSpace α", + "source": "[Fintype Active]", + "type_source": "Fintype Active", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[MeasurableSpace β]", - "type_source": "MeasurableSpace β", + "source": "[Fintype External]", + "type_source": "Fintype External", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace α]", - "type_source": "DiscreteMeasurableSpace α", + "source": "[MeasurableSpace Internal]", + "type_source": "MeasurableSpace Internal", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace β]", - "type_source": "DiscreteMeasurableSpace β", + "source": "[MeasurableSpace Sensory]", + "type_source": "MeasurableSpace Sensory", "visibility": "instance" - } - ], - "declaration_mentions": [], - "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", - "import_context": [ - "FepSketches.markov_blanket", - "Mathlib.MeasureTheory.Integral.Bochner.SumMeasure", - "Mathlib.Probability.Independence.Conditional", - "Mathlib.Probability.Kernel.Composition.Comp" - ], - "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.NativeBlanket", - "namespace_variable_context": [ - "{α β : Type*} [Fintype α] [Fintype β]\n [MeasurableSpace α] [MeasurableSpace β]\n [DiscreteMeasurableSpace α] [DiscreteMeasurableSpace β]" - ], - "preceding_scope_directives": [], - "qualified_name": "FEP.NativeBlanket.embeddedLaw_apply_univ", - "source_line": 47, - "source_owner": "src/fep_lean/formal/native_blanket.lean", - "statement": "theorem embeddedLaw_apply_univ (law : FiniteLaw α) :\n embeddedLaw law Set.univ = 1", - "statement_sha256": "248e44206c481c6b1fd87c5c1cf015641f6192fc7073180ef1477322661c1d55" - }, - "FEP.NativeBlanket.embeddedLaw_injective": { - "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [], - "conclusion": "Function.Injective (embeddedLaw : FiniteLaw α → Measure α)", - "context_binders": [ - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "α", - "β" - ], - "role": "typed_binder", - "source": "{α β : Type*}", - "type_source": "Type*", - "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype α]", - "type_source": "Fintype α", + "source": "[MeasurableSpace Active]", + "type_source": "MeasurableSpace Active", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype β]", - "type_source": "Fintype β", + "source": "[MeasurableSpace External]", + "type_source": "MeasurableSpace External", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[MeasurableSpace α]", - "type_source": "MeasurableSpace α", + "source": "[DiscreteMeasurableSpace Internal]", + "type_source": "DiscreteMeasurableSpace Internal", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[MeasurableSpace β]", - "type_source": "MeasurableSpace β", + "source": "[DiscreteMeasurableSpace Sensory]", + "type_source": "DiscreteMeasurableSpace Sensory", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace α]", - "type_source": "DiscreteMeasurableSpace α", + "source": "[DiscreteMeasurableSpace Active]", + "type_source": "DiscreteMeasurableSpace Active", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace β]", - "type_source": "DiscreteMeasurableSpace β", + "source": "[DiscreteMeasurableSpace External]", + "type_source": "DiscreteMeasurableSpace External", "visibility": "instance" } ], - "declaration_mentions": [], + "declaration_mentions": [ + { + "identifier": "embeddedConditionalPairKernel_eq_prod", + "qualified_name": "FEP.NativeBlanket.embeddedConditionalPairKernel_eq_prod", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + }, + { + "identifier": "embeddedLaw_joint_eq_compProd", + "qualified_name": "FEP.NativeBlanket.embeddedLaw_joint_eq_compProd", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + }, + { + "identifier": "embeddedLaw_map", + "qualified_name": "FEP.NativeBlanket.embeddedLaw_map", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + }, + { + "identifier": "staticJoint_map_blanket", + "qualified_name": "FEP.NativeBlanket.staticJoint_map_blanket", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + } + ], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ "FepSketches.markov_blanket", @@ -80247,49 +86024,87 @@ "line_coordinate_kind": "formal_resource_file", "namespace": "FEP.NativeBlanket", "namespace_variable_context": [ - "{α β : Type*} [Fintype α] [Fintype β]\n [MeasurableSpace α] [MeasurableSpace β]\n [DiscreteMeasurableSpace α] [DiscreteMeasurableSpace β]" + "{Internal Sensory Active External : Type*}\n [Fintype Internal] [Fintype Sensory] [Fintype Active] [Fintype External]\n [MeasurableSpace Internal] [MeasurableSpace Sensory]\n [MeasurableSpace Active] [MeasurableSpace External]\n [DiscreteMeasurableSpace Internal] [DiscreteMeasurableSpace Sensory]\n [DiscreteMeasurableSpace Active] [DiscreteMeasurableSpace External]" ], - "preceding_scope_directives": [], - "qualified_name": "FEP.NativeBlanket.embeddedLaw_injective", - "source_line": 68, + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [DiscreteMeasurableSpace β] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [MeasurableSpace Internal] [MeasurableSpace Sensory]" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [MeasurableSpace Internal] [MeasurableSpace Sensory]" + } + ], + "qualified_name": "FEP.NativeBlanket.staticJoint_map_triple_factorization", + "source_line": 440, "source_owner": "src/fep_lean/formal/native_blanket.lean", - "statement": "theorem embeddedLaw_injective :\n Function.Injective (embeddedLaw : FiniteLaw α → Measure α)", - "statement_sha256": "fda99e3ad733943d914c049175e153113063755809c00dd27dfb34c81dbed41c" + "statement": "theorem staticJoint_map_triple_factorization\n (model : StaticModel Internal Sensory Active External) :\n (embeddedLaw (staticJoint model)).map blanketTripleCoordinate =\n (embeddedLaw (staticJoint model)).map blanketCoordinate ⊗ₘ\n (embeddedKernel model.internalGiven ×ₖ\n embeddedKernel model.externalGiven)", + "statement_sha256": "7adba43e42476c62aa650cae6bf875e985860169b4ee984c8c063ab0d1e490b8" }, - "FEP.NativeBlanket.embeddedLaw_integral_eq_sum": { + "FEP.NativeBlanket.staticJoint_rectangle_factorization": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "law" + "model" ], "role": "typed_binder", - "source": "(law : FiniteLaw α)", - "type_source": "FiniteLaw α", + "source": "(model : StaticModel Internal Sensory Active External)", + "type_source": "StaticModel Internal Sensory Active External", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "observable" + "blanket" ], "role": "typed_binder", - "source": "(observable : α → ℝ)", - "type_source": "α → ℝ", + "source": "(blanket : Blanket Sensory Active)", + "type_source": "Blanket Sensory Active", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "internal" + ], + "role": "typed_binder", + "source": "(internal : Internal)", + "type_source": "Internal", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "external" + ], + "role": "typed_binder", + "source": "(external : External)", + "type_source": "External", "visibility": "explicit" } ], - "conclusion": "∫ state, observable state ∂embeddedLaw law =\n ∑ state, law state * observable state", + "conclusion": "embeddedLaw (staticJoint model)\n (blanketCoordinate ⁻¹' {blanket} ∩\n internalCoordinate ⁻¹' {internal} ∩\n externalCoordinate ⁻¹' {external}) =\n ENNReal.ofReal (model.blanketLaw blanket) *\n ENNReal.ofReal (model.internalGiven blanket internal) *\n ENNReal.ofReal (model.externalGiven blanket external)", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "α", - "β" + "Internal", + "Sensory", + "Active", + "External" ], "role": "typed_binder", - "source": "{α β : Type*}", + "source": "{Internal Sensory Active External : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -80297,161 +86112,96 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype α]", - "type_source": "Fintype α", + "source": "[Fintype Internal]", + "type_source": "Fintype Internal", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype β]", - "type_source": "Fintype β", + "source": "[Fintype Sensory]", + "type_source": "Fintype Sensory", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[MeasurableSpace α]", - "type_source": "MeasurableSpace α", + "source": "[Fintype Active]", + "type_source": "Fintype Active", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[MeasurableSpace β]", - "type_source": "MeasurableSpace β", + "source": "[Fintype External]", + "type_source": "Fintype External", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace α]", - "type_source": "DiscreteMeasurableSpace α", + "source": "[MeasurableSpace Internal]", + "type_source": "MeasurableSpace Internal", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace β]", - "type_source": "DiscreteMeasurableSpace β", + "source": "[MeasurableSpace Sensory]", + "type_source": "MeasurableSpace Sensory", "visibility": "instance" - } - ], - "declaration_mentions": [ - { - "identifier": "embeddedLaw_real_singleton", - "qualified_name": "FEP.NativeBlanket.embeddedLaw_real_singleton", - "resolution": "exact or same-namespace source identifier", - "role": "proof_reference" - } - ], - "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", - "import_context": [ - "FepSketches.markov_blanket", - "Mathlib.MeasureTheory.Integral.Bochner.SumMeasure", - "Mathlib.Probability.Independence.Conditional", - "Mathlib.Probability.Kernel.Composition.Comp" - ], - "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.NativeBlanket", - "namespace_variable_context": [ - "{α β : Type*} [Fintype α] [Fintype β]\n [MeasurableSpace α] [MeasurableSpace β]\n [DiscreteMeasurableSpace α] [DiscreteMeasurableSpace β]" - ], - "preceding_scope_directives": [], - "qualified_name": "FEP.NativeBlanket.embeddedLaw_integral_eq_sum", - "source_line": 78, - "source_owner": "src/fep_lean/formal/native_blanket.lean", - "statement": "theorem embeddedLaw_integral_eq_sum (law : FiniteLaw α) (observable : α → ℝ) :\n ∫ state, observable state ∂embeddedLaw law =\n ∑ state, law state * observable state", - "statement_sha256": "c41ad4195022b56efcd83f080097063714f72266bf63b1c549b0d01638b1fd4c" - }, - "FEP.NativeBlanket.embeddedLaw_joint_eq_compProd": { - "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [ - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "prior" - ], - "role": "typed_binder", - "source": "(prior : FiniteLaw α)", - "type_source": "FiniteLaw α", - "visibility": "explicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "kernel" - ], - "role": "typed_binder", - "source": "(kernel : FiniteKernel α β)", - "type_source": "FiniteKernel α β", - "visibility": "explicit" - } - ], - "conclusion": "embeddedLaw (kernel.joint prior) =\n embeddedLaw prior ⊗ₘ embeddedKernel kernel", - "context_binders": [ - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "α", - "β" - ], - "role": "typed_binder", - "source": "{α β : Type*}", - "type_source": "Type*", - "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype α]", - "type_source": "Fintype α", + "source": "[MeasurableSpace Active]", + "type_source": "MeasurableSpace Active", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype β]", - "type_source": "Fintype β", + "source": "[MeasurableSpace External]", + "type_source": "MeasurableSpace External", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[MeasurableSpace α]", - "type_source": "MeasurableSpace α", + "source": "[DiscreteMeasurableSpace Internal]", + "type_source": "DiscreteMeasurableSpace Internal", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[MeasurableSpace β]", - "type_source": "MeasurableSpace β", + "source": "[DiscreteMeasurableSpace Sensory]", + "type_source": "DiscreteMeasurableSpace Sensory", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace α]", - "type_source": "DiscreteMeasurableSpace α", + "source": "[DiscreteMeasurableSpace Active]", + "type_source": "DiscreteMeasurableSpace Active", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace β]", - "type_source": "DiscreteMeasurableSpace β", + "source": "[DiscreteMeasurableSpace External]", + "type_source": "DiscreteMeasurableSpace External", "visibility": "instance" } ], @@ -80461,6 +86211,14 @@ "qualified_name": "FEP.NativeBlanket.embeddedLaw_apply_singleton", "resolution": "exact or same-namespace source identifier", "role": "proof_reference" + }, + { + "candidates": [ + "FEP.MarkovBlanket.staticJoint_factorization" + ], + "identifier": "staticJoint_factorization", + "resolution": "unresolved lexical scope", + "role": "proof_reference" } ], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", @@ -80473,289 +86231,509 @@ "line_coordinate_kind": "formal_resource_file", "namespace": "FEP.NativeBlanket", "namespace_variable_context": [ - "{α β : Type*} [Fintype α] [Fintype β]\n [MeasurableSpace α] [MeasurableSpace β]\n [DiscreteMeasurableSpace α] [DiscreteMeasurableSpace β]" + "{Internal Sensory Active External : Type*}\n [Fintype Internal] [Fintype Sensory] [Fintype Active] [Fintype External]\n [MeasurableSpace Internal] [MeasurableSpace Sensory]\n [MeasurableSpace Active] [MeasurableSpace External]\n [DiscreteMeasurableSpace Internal] [DiscreteMeasurableSpace Sensory]\n [DiscreteMeasurableSpace Active] [DiscreteMeasurableSpace External]" ], "preceding_scope_directives": [ { "directive": "omit", "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", "source": "omit [DiscreteMeasurableSpace β] in" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [MeasurableSpace Internal] [MeasurableSpace Sensory]" + }, + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [MeasurableSpace Internal] [MeasurableSpace Sensory]" } ], - "qualified_name": "FEP.NativeBlanket.embeddedLaw_joint_eq_compProd", - "source_line": 147, + "qualified_name": "FEP.NativeBlanket.staticJoint_rectangle_factorization", + "source_line": 471, "source_owner": "src/fep_lean/formal/native_blanket.lean", - "statement": "theorem embeddedLaw_joint_eq_compProd\n (prior : FiniteLaw α) (kernel : FiniteKernel α β) :\n embeddedLaw (kernel.joint prior) =\n embeddedLaw prior ⊗ₘ embeddedKernel kernel", - "statement_sha256": "ef50e5e28fc6ab36373055ef30da1d6cbbe4bf8a7a68fb7a81dfbe30088ecd5b" + "statement": "theorem staticJoint_rectangle_factorization\n (model : StaticModel Internal Sensory Active External)\n (blanket : Blanket Sensory Active) (internal : Internal)\n (external : External) :\n embeddedLaw (staticJoint model)\n (blanketCoordinate ⁻¹' {blanket} ∩\n internalCoordinate ⁻¹' {internal} ∩\n externalCoordinate ⁻¹' {external}) =\n ENNReal.ofReal (model.blanketLaw blanket) *\n ENNReal.ofReal (model.internalGiven blanket internal) *\n ENNReal.ofReal (model.externalGiven blanket external)", + "statement_sha256": "fb970a984330d993828d9fb40b25a7a2aea9a0af8c8f9cd53301cb4fb5a2fd35" }, - "FEP.NativeBlanket.embeddedLaw_map": { + "FEP.NessFlow.detailed_balance_iff": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[DecidableEq β]", - "type_source": "DecidableEq β", - "visibility": "instance" + "names": [ + "ω" + ], + "role": "typed_binder", + "source": "(ω : ℝ)", + "type_source": "ℝ", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "law" + "g" ], "role": "typed_binder", - "source": "(law : FiniteLaw α)", - "type_source": "FiniteLaw α", + "source": "(g : Fin 2 → ℝ)", + "type_source": "Fin 2 → ℝ", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "mapState" + "hg" ], "role": "typed_binder", - "source": "(mapState : α → β)", - "type_source": "α → β", + "source": "(hg : g 0 ≠ 0 ∨ g 1 ≠ 0)", + "type_source": "g 0 ≠ 0 ∨ g 1 ≠ 0", "visibility": "explicit" } ], - "conclusion": "(embeddedLaw law).map mapState = embeddedLaw (law.map mapState)", - "context_binders": [ + "conclusion": "solenoidal ω g = 0 ↔ ω = 0", + "context_binders": [], + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "Mathlib.Algebra.Order.Ring.Unbundled.Basic", + "Mathlib.Basic.Real.Basic", + "Mathlib.Tactic" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.NessFlow", + "namespace_variable_context": [], + "preceding_scope_directives": [], + "qualified_name": "FEP.NessFlow.detailed_balance_iff", + "source_line": 92, + "source_owner": "src/fep_lean/formal/ness_flow.lean", + "statement": "theorem detailed_balance_iff (ω : ℝ) (g : Fin 2 → ℝ) (hg : g 0 ≠ 0 ∨ g 1 ≠ 0) :\n solenoidal ω g = 0 ↔ ω = 0", + "statement_sha256": "c3ae16c78df071e45d673df3992eeba42d718270626a3ad0c996ffc6f96f844e" + }, + "FEP.NessFlow.entropyProduction_eq_zero_iff": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "α", - "β" + "precision", + "ω", + "γ" ], "role": "typed_binder", - "source": "{α β : Type*}", - "type_source": "Type*", - "visibility": "implicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype α]", - "type_source": "Fintype α", - "visibility": "instance" + "source": "(precision ω γ : ℝ)", + "type_source": "ℝ", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype β]", - "type_source": "Fintype β", - "visibility": "instance" + "names": [ + "hp" + ], + "role": "typed_binder", + "source": "(hp : 0 < precision)", + "type_source": "0 < precision", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[MeasurableSpace α]", - "type_source": "MeasurableSpace α", - "visibility": "instance" - }, + "names": [ + "hg" + ], + "role": "typed_binder", + "source": "(hg : 0 < γ)", + "type_source": "0 < γ", + "visibility": "explicit" + } + ], + "conclusion": "entropyProduction precision ω γ = 0 ↔ ω = 0", + "context_binders": [], + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "Mathlib.Algebra.Order.Ring.Unbundled.Basic", + "Mathlib.Basic.Real.Basic", + "Mathlib.Tactic" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.NessFlow", + "namespace_variable_context": [], + "preceding_scope_directives": [], + "qualified_name": "FEP.NessFlow.entropyProduction_eq_zero_iff", + "source_line": 126, + "source_owner": "src/fep_lean/formal/ness_flow.lean", + "statement": "theorem entropyProduction_eq_zero_iff (precision ω γ : ℝ)\n (hp : 0 < precision) (hg : 0 < γ) : entropyProduction precision ω γ = 0 ↔ ω = 0", + "statement_sha256": "c496ae321867396c84ba79c532378a1d8aab9e36b5c249064222e9a3a186518f" + }, + "FEP.NessFlow.entropyProduction_nonneg": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[MeasurableSpace β]", - "type_source": "MeasurableSpace β", - "visibility": "instance" + "names": [ + "precision", + "ω", + "γ" + ], + "role": "typed_binder", + "source": "(precision ω γ : ℝ)", + "type_source": "ℝ", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace α]", - "type_source": "DiscreteMeasurableSpace α", - "visibility": "instance" + "names": [ + "hp" + ], + "role": "typed_binder", + "source": "(hp : 0 ≤ precision)", + "type_source": "0 ≤ precision", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace β]", - "type_source": "DiscreteMeasurableSpace β", - "visibility": "instance" - } - ], - "declaration_mentions": [ - { - "identifier": "embeddedLaw_apply_singleton", - "qualified_name": "FEP.NativeBlanket.embeddedLaw_apply_singleton", - "resolution": "exact or same-namespace source identifier", - "role": "proof_reference" + "names": [ + "hg" + ], + "role": "typed_binder", + "source": "(hg : 0 ≤ γ)", + "type_source": "0 ≤ γ", + "visibility": "explicit" } ], + "conclusion": "0 ≤ entropyProduction precision ω γ", + "context_binders": [], + "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.markov_blanket", - "Mathlib.MeasureTheory.Integral.Bochner.SumMeasure", - "Mathlib.Probability.Independence.Conditional", - "Mathlib.Probability.Kernel.Composition.Comp" + "Mathlib.Algebra.Order.Ring.Unbundled.Basic", + "Mathlib.Basic.Real.Basic", + "Mathlib.Tactic" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.NativeBlanket", - "namespace_variable_context": [ - "{α β : Type*} [Fintype α] [Fintype β]\n [MeasurableSpace α] [MeasurableSpace β]\n [DiscreteMeasurableSpace α] [DiscreteMeasurableSpace β]" - ], + "namespace": "FEP.NessFlow", + "namespace_variable_context": [], "preceding_scope_directives": [], - "qualified_name": "FEP.NativeBlanket.embeddedLaw_map", - "source_line": 87, - "source_owner": "src/fep_lean/formal/native_blanket.lean", - "statement": "theorem embeddedLaw_map [DecidableEq β]\n (law : FiniteLaw α) (mapState : α → β) :\n (embeddedLaw law).map mapState = embeddedLaw (law.map mapState)", - "statement_sha256": "b573853d500701cf57d7e51ac0d49b49bb352a3671b604bc7cb884d64194c186" + "qualified_name": "FEP.NessFlow.entropyProduction_nonneg", + "source_line": 118, + "source_owner": "src/fep_lean/formal/ness_flow.lean", + "statement": "theorem entropyProduction_nonneg (precision ω γ : ℝ)\n (hp : 0 ≤ precision) (hg : 0 ≤ γ) : 0 ≤ entropyProduction precision ω γ", + "statement_sha256": "d95b89433ca338dd7a73db9344b37ea64b02f662a4ee15053a0ad64110e5446b" }, - "FEP.NativeBlanket.embeddedLaw_real_singleton": { + "FEP.NessFlow.flow_work_eq_dissipation": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "law" + "γ", + "ω" ], "role": "typed_binder", - "source": "(law : FiniteLaw α)", - "type_source": "FiniteLaw α", + "source": "(γ ω : ℝ)", + "type_source": "ℝ", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "state" + "g" ], "role": "typed_binder", - "source": "(state : α)", - "type_source": "α", + "source": "(g : Fin 2 → ℝ)", + "type_source": "Fin 2 → ℝ", "visibility": "explicit" } ], - "conclusion": "(embeddedLaw law).real {state} = law state", - "context_binders": [ + "conclusion": "dot (flow γ ω g) g = -γ * normSq g", + "context_binders": [], + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "Mathlib.Algebra.Order.Ring.Unbundled.Basic", + "Mathlib.Basic.Real.Basic", + "Mathlib.Tactic" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.NessFlow", + "namespace_variable_context": [], + "preceding_scope_directives": [], + "qualified_name": "FEP.NessFlow.flow_work_eq_dissipation", + "source_line": 77, + "source_owner": "src/fep_lean/formal/ness_flow.lean", + "statement": "theorem flow_work_eq_dissipation (γ ω : ℝ) (g : Fin 2 → ℝ) :\n dot (flow γ ω g) g = -γ * normSq g", + "statement_sha256": "a4e911e860ba95acd91517f17b356b8e55e4b8cdd8054311d24815fd29e9696b" + }, + "FEP.NessFlow.freeEnergy_non_increasing": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "α", - "β" + "γ" ], "role": "typed_binder", - "source": "{α β : Type*}", - "type_source": "Type*", - "visibility": "implicit" + "source": "(γ : ℝ)", + "type_source": "ℝ", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype α]", - "type_source": "Fintype α", - "visibility": "instance" + "names": [ + "hγ" + ], + "role": "typed_binder", + "source": "(hγ : 0 ≤ γ)", + "type_source": "0 ≤ γ", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype β]", - "type_source": "Fintype β", - "visibility": "instance" - }, + "names": [ + "g" + ], + "role": "typed_binder", + "source": "(g : Fin 2 → ℝ)", + "type_source": "Fin 2 → ℝ", + "visibility": "explicit" + } + ], + "conclusion": "dot (flow γ ω g) g ≤ 0", + "context_binders": [], + "declaration_mentions": [ { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[MeasurableSpace α]", - "type_source": "MeasurableSpace α", - "visibility": "instance" + "identifier": "flow_work_eq_dissipation", + "qualified_name": "FEP.NessFlow.flow_work_eq_dissipation", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" }, + { + "identifier": "normSq_nonneg", + "qualified_name": "FEP.NessFlow.normSq_nonneg", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + } + ], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "Mathlib.Algebra.Order.Ring.Unbundled.Basic", + "Mathlib.Basic.Real.Basic", + "Mathlib.Tactic" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.NessFlow", + "namespace_variable_context": [], + "preceding_scope_directives": [], + "qualified_name": "FEP.NessFlow.freeEnergy_non_increasing", + "source_line": 83, + "source_owner": "src/fep_lean/formal/ness_flow.lean", + "statement": "theorem freeEnergy_non_increasing (γ : ℝ) (hγ : 0 ≤ γ) (g : Fin 2 → ℝ) :\n dot (flow γ ω g) g ≤ 0", + "statement_sha256": "c5cc44b7f1ce5214642b92b6a7141a6ba776ab423f5c5b257a95e408e6cbaa38" + }, + "FEP.NessFlow.ness_signature": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[MeasurableSpace β]", - "type_source": "MeasurableSpace β", - "visibility": "instance" + "names": [ + "ω" + ], + "role": "typed_binder", + "source": "(ω : ℝ)", + "type_source": "ℝ", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace α]", - "type_source": "DiscreteMeasurableSpace α", - "visibility": "instance" + "names": [ + "g" + ], + "role": "typed_binder", + "source": "(g : Fin 2 → ℝ)", + "type_source": "Fin 2 → ℝ", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace β]", - "type_source": "DiscreteMeasurableSpace β", - "visibility": "instance" + "names": [ + "hg" + ], + "role": "typed_binder", + "source": "(hg : g 0 ≠ 0 ∨ g 1 ≠ 0)", + "type_source": "g 0 ≠ 0 ∨ g 1 ≠ 0", + "visibility": "explicit" } ], + "conclusion": "(solenoidal ω g = 0) ↔ (ω = 0)", + "context_binders": [], "declaration_mentions": [ { - "identifier": "embeddedLaw_apply_singleton", - "qualified_name": "FEP.NativeBlanket.embeddedLaw_apply_singleton", + "identifier": "detailed_balance_iff", + "qualified_name": "FEP.NessFlow.detailed_balance_iff", "resolution": "exact or same-namespace source identifier", "role": "proof_reference" } ], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.markov_blanket", - "Mathlib.MeasureTheory.Integral.Bochner.SumMeasure", - "Mathlib.Probability.Independence.Conditional", - "Mathlib.Probability.Kernel.Composition.Comp" + "Mathlib.Algebra.Order.Ring.Unbundled.Basic", + "Mathlib.Basic.Real.Basic", + "Mathlib.Tactic" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.NessFlow", + "namespace_variable_context": [], + "preceding_scope_directives": [], + "qualified_name": "FEP.NessFlow.ness_signature", + "source_line": 154, + "source_owner": "src/fep_lean/formal/ness_flow.lean", + "statement": "theorem ness_signature (ω : ℝ) (g : Fin 2 → ℝ) (hg : g 0 ≠ 0 ∨ g 1 ≠ 0) :\n (solenoidal ω g = 0) ↔ (ω = 0)", + "statement_sha256": "5f30d878443eef99e928ecb6dafbab9d83951494f3cb6bb56c0845af990f696e" + }, + "FEP.NessFlow.normSq_nonneg": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "v" + ], + "role": "typed_binder", + "source": "(v : Fin 2 → ℝ)", + "type_source": "Fin 2 → ℝ", + "visibility": "explicit" + } + ], + "conclusion": "0 ≤ normSq v", + "context_binders": [], + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "Mathlib.Algebra.Order.Ring.Unbundled.Basic", + "Mathlib.Basic.Real.Basic", + "Mathlib.Tactic" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.NessFlow", + "namespace_variable_context": [], + "preceding_scope_directives": [], + "qualified_name": "FEP.NessFlow.normSq_nonneg", + "source_line": 42, + "source_owner": "src/fep_lean/formal/ness_flow.lean", + "statement": "theorem normSq_nonneg (v : Fin 2 → ℝ) : 0 ≤ normSq v", + "statement_sha256": "fafd19ff3801f506a4b0844cee2d0e8a314bbde6d55fde8a73fb682016bf6b96" + }, + "FEP.NessFlow.solenoidal_antisymm": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "ω" + ], + "role": "typed_binder", + "source": "(ω : ℝ)", + "type_source": "ℝ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "v", + "w" + ], + "role": "typed_binder", + "source": "(v w : Fin 2 → ℝ)", + "type_source": "Fin 2 → ℝ", + "visibility": "explicit" + } + ], + "conclusion": "dot (solenoidal ω v) w = -dot (solenoidal ω w) v", + "context_binders": [], + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "Mathlib.Algebra.Order.Ring.Unbundled.Basic", + "Mathlib.Basic.Real.Basic", + "Mathlib.Tactic" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.NativeBlanket", - "namespace_variable_context": [ - "{α β : Type*} [Fintype α] [Fintype β]\n [MeasurableSpace α] [MeasurableSpace β]\n [DiscreteMeasurableSpace α] [DiscreteMeasurableSpace β]" - ], + "namespace": "FEP.NessFlow", + "namespace_variable_context": [], "preceding_scope_directives": [], - "qualified_name": "FEP.NativeBlanket.embeddedLaw_real_singleton", - "source_line": 62, - "source_owner": "src/fep_lean/formal/native_blanket.lean", - "statement": "theorem embeddedLaw_real_singleton (law : FiniteLaw α) (state : α) :\n (embeddedLaw law).real {state} = law state", - "statement_sha256": "a0a1b352dac09b3e4d0b2c5ea8be2d3e83ae71ef72837e7a37dfc1695e90c568" + "qualified_name": "FEP.NessFlow.solenoidal_antisymm", + "source_line": 54, + "source_owner": "src/fep_lean/formal/ness_flow.lean", + "statement": "theorem solenoidal_antisymm (ω : ℝ) (v w : Fin 2 → ℝ) :\n dot (solenoidal ω v) w = -dot (solenoidal ω w) v", + "statement_sha256": "8c4c8034aa5c0b300f1c02973ac72b8023aafdf206661f3bb7d1b1f1c2b4f6ff" }, - "FEP.NativeBlanket.embeddedPredictive_eq_comp": { + "FEP.NessFlow.solenoidal_orthogonal": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "prior" + "ω" ], "role": "typed_binder", - "source": "(prior : FiniteLaw α)", - "type_source": "FiniteLaw α", + "source": "(ω : ℝ)", + "type_source": "ℝ", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "kernel" + "g" ], "role": "typed_binder", - "source": "(kernel : FiniteKernel α β)", - "type_source": "FiniteKernel α β", + "source": "(g : Fin 2 → ℝ)", + "type_source": "Fin 2 → ℝ", "visibility": "explicit" } ], - "conclusion": "embeddedLaw (kernel.predictive prior) =\n embeddedKernel kernel ∘ₘ embeddedLaw prior", + "conclusion": "dot (solenoidal ω g) g = 0", + "context_binders": [], + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "Mathlib.Algebra.Order.Ring.Unbundled.Basic", + "Mathlib.Basic.Real.Basic", + "Mathlib.Tactic" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.NessFlow", + "namespace_variable_context": [], + "preceding_scope_directives": [], + "qualified_name": "FEP.NessFlow.solenoidal_orthogonal", + "source_line": 61, + "source_owner": "src/fep_lean/formal/ness_flow.lean", + "statement": "theorem solenoidal_orthogonal (ω : ℝ) (g : Fin 2 → ℝ) :\n dot (solenoidal ω g) g = 0", + "statement_sha256": "14982221cb83c0d573a0b5094daf2d09a33bd6230d0726f98410cb1427f93208" + }, + "FEP.PathThermodynamics.biasedCycleKernel_pos": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "i", + "j" + ], + "role": "typed_binder", + "source": "(i j : Fin 3)", + "type_source": "Fin 3", + "visibility": "explicit" + } + ], + "conclusion": "0 < biasedCycleKernel i j", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "α", - "β" + "Path", + "State" ], "role": "typed_binder", - "source": "{α β : Type*}", + "source": "{Path State : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -80763,99 +86741,132 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype α]", - "type_source": "Fintype α", + "source": "[Fintype Path]", + "type_source": "Fintype Path", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype β]", - "type_source": "Fintype β", + "source": "[Fintype State]", + "type_source": "Fintype State", "visibility": "instance" - }, + } + ], + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.finite_markov_dynamics", + "FepSketches.variational_duality" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.PathThermodynamics", + "namespace_variable_context": [ + "{Path State : Type*} [Fintype Path] [Fintype State]" + ], + "preceding_scope_directives": [ { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[MeasurableSpace α]", - "type_source": "MeasurableSpace α", - "visibility": "instance" - }, + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Fintype S] in" + } + ], + "qualified_name": "FEP.PathThermodynamics.biasedCycleKernel_pos", + "source_line": 945, + "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "statement": "theorem biasedCycleKernel_pos (i j : Fin 3) : 0 < biasedCycleKernel i j", + "statement_sha256": "7e719111660e0e37ec4f5cc96f3bad9b190cf16898b2ab1eed103dbd6ee756f9" + }, + "FEP.PathThermodynamics.biasedCycle_entropyProduction": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [], + "conclusion": "entropyProduction (markovPathProtocol biasedCycleKernel\n FiniteLaw.uniform biasedCycleKernel FiniteLaw.uniform 1) =\n Real.log 2 / 4", + "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[MeasurableSpace β]", - "type_source": "MeasurableSpace β", - "visibility": "instance" + "names": [ + "Path", + "State" + ], + "role": "typed_binder", + "source": "{Path State : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace α]", - "type_source": "DiscreteMeasurableSpace α", + "source": "[Fintype Path]", + "type_source": "Fintype Path", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace β]", - "type_source": "DiscreteMeasurableSpace β", + "source": "[Fintype State]", + "type_source": "Fintype State", "visibility": "instance" } ], "declaration_mentions": [ { - "identifier": "embeddedLaw_apply_singleton", - "qualified_name": "FEP.NativeBlanket.embeddedLaw_apply_singleton", + "identifier": "biasedCycleKernel_pos", + "qualified_name": "FEP.PathThermodynamics.biasedCycleKernel_pos", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + }, + { + "identifier": "biasedCycle_invariant", + "qualified_name": "FEP.PathThermodynamics.biasedCycle_invariant", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + }, + { + "identifier": "entropyProduction_markov_stationary", + "qualified_name": "FEP.PathThermodynamics.entropyProduction_markov_stationary", "resolution": "exact or same-namespace source identifier", "role": "proof_reference" } ], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.markov_blanket", - "Mathlib.MeasureTheory.Integral.Bochner.SumMeasure", - "Mathlib.Probability.Independence.Conditional", - "Mathlib.Probability.Kernel.Composition.Comp" + "FepSketches.finite_markov_dynamics", + "FepSketches.variational_duality" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.NativeBlanket", + "namespace": "FEP.PathThermodynamics", "namespace_variable_context": [ - "{α β : Type*} [Fintype α] [Fintype β]\n [MeasurableSpace α] [MeasurableSpace β]\n [DiscreteMeasurableSpace α] [DiscreteMeasurableSpace β]" + "{Path State : Type*} [Fintype Path] [Fintype State]" ], "preceding_scope_directives": [ { "directive": "omit", "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DiscreteMeasurableSpace β] in" + "source": "omit [Fintype S] in" } ], - "qualified_name": "FEP.NativeBlanket.embeddedPredictive_eq_comp", - "source_line": 163, - "source_owner": "src/fep_lean/formal/native_blanket.lean", - "statement": "theorem embeddedPredictive_eq_comp\n (prior : FiniteLaw α) (kernel : FiniteKernel α β) :\n embeddedLaw (kernel.predictive prior) =\n embeddedKernel kernel ∘ₘ embeddedLaw prior", - "statement_sha256": "f1df7ccf2933d1d8aaf3dc0768230b7f5928ece9193a85fb08ad2cda927d7f66" + "qualified_name": "FEP.PathThermodynamics.biasedCycle_entropyProduction", + "source_line": 966, + "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "statement": "theorem biasedCycle_entropyProduction :\n entropyProduction (markovPathProtocol biasedCycleKernel\n FiniteLaw.uniform biasedCycleKernel FiniteLaw.uniform 1) =\n Real.log 2 / 4", + "statement_sha256": "5a86721b81cdcbd448ce8e23ce62e1cb36a963d687bb26c516b6caf9e466f6f7" }, - "FEP.NativeBlanket.externalCoordinate_measurable": { + "FEP.PathThermodynamics.biasedCycle_entropyProduction_pos": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [], - "conclusion": "Measurable\n (externalCoordinate :\n StaticState Internal Sensory Active External → External)", + "conclusion": "0 < entropyProduction (markovPathProtocol biasedCycleKernel\n FiniteLaw.uniform biasedCycleKernel FiniteLaw.uniform 1)", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Internal", - "Sensory", - "Active", - "External" + "Path", + "State" ], "role": "typed_binder", - "source": "{Internal Sensory Active External : Type*}", + "source": "{Path State : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -80863,318 +86874,410 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Internal]", - "type_source": "Fintype Internal", - "visibility": "instance" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype Sensory]", - "type_source": "Fintype Sensory", + "source": "[Fintype Path]", + "type_source": "Fintype Path", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Active]", - "type_source": "Fintype Active", + "source": "[Fintype State]", + "type_source": "Fintype State", "visibility": "instance" - }, + } + ], + "declaration_mentions": [ { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype External]", - "type_source": "Fintype External", - "visibility": "instance" - }, + "identifier": "biasedCycle_entropyProduction", + "qualified_name": "FEP.PathThermodynamics.biasedCycle_entropyProduction", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + } + ], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.finite_markov_dynamics", + "FepSketches.variational_duality" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.PathThermodynamics", + "namespace_variable_context": [ + "{Path State : Type*} [Fintype Path] [Fintype State]" + ], + "preceding_scope_directives": [ { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[MeasurableSpace Internal]", - "type_source": "MeasurableSpace Internal", - "visibility": "instance" - }, + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Fintype S] in" + } + ], + "qualified_name": "FEP.PathThermodynamics.biasedCycle_entropyProduction_pos", + "source_line": 980, + "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "statement": "theorem biasedCycle_entropyProduction_pos :\n 0 < entropyProduction (markovPathProtocol biasedCycleKernel\n FiniteLaw.uniform biasedCycleKernel FiniteLaw.uniform 1)", + "statement_sha256": "0e9a5c40cfe395026916a1046a75bbfbb01a826ded1f37e975ed2fa7040f8f27" + }, + "FEP.PathThermodynamics.biasedCycle_invariant": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [], + "conclusion": "IsInvariant (FiniteLaw.uniform : FiniteLaw (Fin 3)) biasedCycleKernel", + "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[MeasurableSpace Sensory]", - "type_source": "MeasurableSpace Sensory", - "visibility": "instance" + "names": [ + "Path", + "State" + ], + "role": "typed_binder", + "source": "{Path State : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[MeasurableSpace Active]", - "type_source": "MeasurableSpace Active", + "source": "[Fintype Path]", + "type_source": "Fintype Path", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[MeasurableSpace External]", - "type_source": "MeasurableSpace External", + "source": "[Fintype State]", + "type_source": "Fintype State", "visibility": "instance" - }, + } + ], + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.finite_markov_dynamics", + "FepSketches.variational_duality" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.PathThermodynamics", + "namespace_variable_context": [ + "{Path State : Type*} [Fintype Path] [Fintype State]" + ], + "preceding_scope_directives": [ { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace Internal]", - "type_source": "DiscreteMeasurableSpace Internal", - "visibility": "instance" - }, + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Fintype S] in" + } + ], + "qualified_name": "FEP.PathThermodynamics.biasedCycle_invariant", + "source_line": 949, + "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "statement": "theorem biasedCycle_invariant :\n IsInvariant (FiniteLaw.uniform : FiniteLaw (Fin 3)) biasedCycleKernel", + "statement_sha256": "c194321b0dc794754fcf183edf595589220e8569c4e0215cdefed37f9861b333" + }, + "FEP.PathThermodynamics.biasedCycle_not_reversible": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [], + "conclusion": "¬ IsReversible (FiniteLaw.uniform : FiniteLaw (Fin 3)) biasedCycleKernel", + "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace Sensory]", - "type_source": "DiscreteMeasurableSpace Sensory", - "visibility": "instance" + "names": [ + "Path", + "State" + ], + "role": "typed_binder", + "source": "{Path State : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace Active]", - "type_source": "DiscreteMeasurableSpace Active", + "source": "[Fintype Path]", + "type_source": "Fintype Path", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace External]", - "type_source": "DiscreteMeasurableSpace External", + "source": "[Fintype State]", + "type_source": "Fintype State", "visibility": "instance" } ], "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.markov_blanket", - "Mathlib.MeasureTheory.Integral.Bochner.SumMeasure", - "Mathlib.Probability.Independence.Conditional", - "Mathlib.Probability.Kernel.Composition.Comp" + "FepSketches.finite_markov_dynamics", + "FepSketches.variational_duality" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.NativeBlanket", + "namespace": "FEP.PathThermodynamics", "namespace_variable_context": [ - "{Internal Sensory Active External : Type*}\n [Fintype Internal] [Fintype Sensory] [Fintype Active] [Fintype External]\n [MeasurableSpace Internal] [MeasurableSpace Sensory]\n [MeasurableSpace Active] [MeasurableSpace External]\n [DiscreteMeasurableSpace Internal] [DiscreteMeasurableSpace Sensory]\n [DiscreteMeasurableSpace Active] [DiscreteMeasurableSpace External]" + "{Path State : Type*} [Fintype Path] [Fintype State]" ], "preceding_scope_directives": [ { "directive": "omit", "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DiscreteMeasurableSpace β] in" + "source": "omit [Fintype S] in" } ], - "qualified_name": "FEP.NativeBlanket.externalCoordinate_measurable", - "source_line": 250, - "source_owner": "src/fep_lean/formal/native_blanket.lean", - "statement": "theorem externalCoordinate_measurable :\n Measurable\n (externalCoordinate :\n StaticState Internal Sensory Active External → External)", - "statement_sha256": "dd55d082d3200007838b57444a93840a9e25e108f17a726c8722df282d48133a" + "qualified_name": "FEP.PathThermodynamics.biasedCycle_not_reversible", + "source_line": 958, + "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "statement": "theorem biasedCycle_not_reversible :\n ¬ IsReversible (FiniteLaw.uniform : FiniteLaw (Fin 3)) biasedCycleKernel", + "statement_sha256": "f3d286c421b7ab0ce72e014f769e0d0835259d1b405b82fd49a4c0e5fd49c8e4" }, - "FEP.NativeBlanket.internalCoordinate_measurable": { + "FEP.PathThermodynamics.crooks_of_entropyProduction": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [], - "conclusion": "Measurable\n (internalCoordinate :\n StaticState Internal Sensory Active External → Internal)", - "context_binders": [ + "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Internal", - "Sensory", - "Active", - "External" + "protocol" ], "role": "typed_binder", - "source": "{Internal Sensory Active External : Type*}", - "type_source": "Type*", - "visibility": "implicit" + "source": "(protocol : FinitePathProtocol Path)", + "type_source": "FinitePathProtocol Path", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype Internal]", - "type_source": "Fintype Internal", - "visibility": "instance" + "names": [ + "beta", + "deltaFreeEnergy" + ], + "role": "typed_binder", + "source": "(beta deltaFreeEnergy : ℝ)", + "type_source": "ℝ", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype Sensory]", - "type_source": "Fintype Sensory", - "visibility": "instance" + "names": [ + "hBeta" + ], + "role": "typed_binder", + "source": "(hBeta : 0 < beta)", + "type_source": "0 < beta", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype Active]", - "type_source": "Fintype Active", - "visibility": "instance" + "names": [ + "hForward" + ], + "role": "typed_binder", + "source": "(hForward : ∀ path, 0 < protocol.forward path)", + "type_source": "∀ path, 0 < protocol.forward path", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype External]", - "type_source": "Fintype External", - "visibility": "instance" - }, + "names": [ + "hReverse" + ], + "role": "typed_binder", + "source": "(hReverse : ∀ path, 0 < protocol.reverseAligned path)", + "type_source": "∀ path, 0 < protocol.reverseAligned path", + "visibility": "explicit" + } + ], + "conclusion": "HasCrooksRelation protocol beta deltaFreeEnergy\n (fun path =>\n deltaFreeEnergy + pathwiseEntropyProduction protocol path / beta)", + "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[MeasurableSpace Internal]", - "type_source": "MeasurableSpace Internal", - "visibility": "instance" + "names": [ + "Path", + "State" + ], + "role": "typed_binder", + "source": "{Path State : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[MeasurableSpace Sensory]", - "type_source": "MeasurableSpace Sensory", + "source": "[Fintype Path]", + "type_source": "Fintype Path", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[MeasurableSpace Active]", - "type_source": "MeasurableSpace Active", + "source": "[Fintype State]", + "type_source": "Fintype State", "visibility": "instance" + } + ], + "declaration_mentions": [ + { + "identifier": "detailedFluctuation_identity", + "qualified_name": "FEP.PathThermodynamics.detailedFluctuation_identity", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + } + ], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.finite_markov_dynamics", + "FepSketches.variational_duality" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.PathThermodynamics", + "namespace_variable_context": [ + "{Path State : Type*} [Fintype Path] [Fintype State]" + ], + "preceding_scope_directives": [], + "qualified_name": "FEP.PathThermodynamics.crooks_of_entropyProduction", + "source_line": 270, + "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "statement": "theorem crooks_of_entropyProduction\n (protocol : FinitePathProtocol Path) (beta deltaFreeEnergy : ℝ)\n (hBeta : 0 < beta)\n (hForward : ∀ path, 0 < protocol.forward path)\n (hReverse : ∀ path, 0 < protocol.reverseAligned path) :\n HasCrooksRelation protocol beta deltaFreeEnergy\n (fun path =>\n deltaFreeEnergy + pathwiseEntropyProduction protocol path / beta)", + "statement_sha256": "b595a96433ec5d7ea56ae505084e2fe0e2877e5d2306e7beb0cfbe080748a687" + }, + "FEP.PathThermodynamics.detailedFluctuation_identity": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "protocol" + ], + "role": "typed_binder", + "source": "(protocol : FinitePathProtocol Path)", + "type_source": "FinitePathProtocol Path", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[MeasurableSpace External]", - "type_source": "MeasurableSpace External", - "visibility": "instance" + "names": [ + "hForward" + ], + "role": "typed_binder", + "source": "(hForward : ∀ path, 0 < protocol.forward path)", + "type_source": "∀ path, 0 < protocol.forward path", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace Internal]", - "type_source": "DiscreteMeasurableSpace Internal", - "visibility": "instance" + "names": [ + "hReverse" + ], + "role": "typed_binder", + "source": "(hReverse : ∀ path, 0 < protocol.reverseAligned path)", + "type_source": "∀ path, 0 < protocol.reverseAligned path", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace Sensory]", - "type_source": "DiscreteMeasurableSpace Sensory", - "visibility": "instance" + "names": [ + "path" + ], + "role": "typed_binder", + "source": "(path : Path)", + "type_source": "Path", + "visibility": "explicit" + } + ], + "conclusion": "protocol.reverseAligned path *\n Real.exp (pathwiseEntropyProduction protocol path) =\n protocol.forward path", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "Path", + "State" + ], + "role": "typed_binder", + "source": "{Path State : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace Active]", - "type_source": "DiscreteMeasurableSpace Active", + "source": "[Fintype Path]", + "type_source": "Fintype Path", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace External]", - "type_source": "DiscreteMeasurableSpace External", + "source": "[Fintype State]", + "type_source": "Fintype State", "visibility": "instance" } ], "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.markov_blanket", - "Mathlib.MeasureTheory.Integral.Bochner.SumMeasure", - "Mathlib.Probability.Independence.Conditional", - "Mathlib.Probability.Kernel.Composition.Comp" + "FepSketches.finite_markov_dynamics", + "FepSketches.variational_duality" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.NativeBlanket", + "namespace": "FEP.PathThermodynamics", "namespace_variable_context": [ - "{Internal Sensory Active External : Type*}\n [Fintype Internal] [Fintype Sensory] [Fintype Active] [Fintype External]\n [MeasurableSpace Internal] [MeasurableSpace Sensory]\n [MeasurableSpace Active] [MeasurableSpace External]\n [DiscreteMeasurableSpace Internal] [DiscreteMeasurableSpace Sensory]\n [DiscreteMeasurableSpace Active] [DiscreteMeasurableSpace External]" - ], - "preceding_scope_directives": [ - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DiscreteMeasurableSpace β] in" - } + "{Path State : Type*} [Fintype Path] [Fintype State]" ], - "qualified_name": "FEP.NativeBlanket.internalCoordinate_measurable", - "source_line": 244, - "source_owner": "src/fep_lean/formal/native_blanket.lean", - "statement": "theorem internalCoordinate_measurable :\n Measurable\n (internalCoordinate :\n StaticState Internal Sensory Active External → Internal)", - "statement_sha256": "13bb07003599a3855ecc0d7abf7ccf8739f6e254ad03d6d8a4016ea4fa4c2519" + "preceding_scope_directives": [], + "qualified_name": "FEP.PathThermodynamics.detailedFluctuation_identity", + "source_line": 106, + "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "statement": "theorem detailedFluctuation_identity\n (protocol : FinitePathProtocol Path)\n (hForward : ∀ path, 0 < protocol.forward path)\n (hReverse : ∀ path, 0 < protocol.reverseAligned path) (path : Path) :\n protocol.reverseAligned path *\n Real.exp (pathwiseEntropyProduction protocol path) =\n protocol.forward path", + "statement_sha256": "e242f2fa542e8a6f5cecc1e1a7261fccb7b67aaa4cb8e9d73a41182107fcea3b" }, - "FEP.NativeBlanket.prediction_preserves_nativeBlanket": { + "FEP.PathThermodynamics.entropyProduction_eq_expected_logRatio": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Nonempty Internal]", - "type_source": "Nonempty Internal", - "visibility": "instance" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Nonempty External]", - "type_source": "Nonempty External", - "visibility": "instance" + "names": [ + "protocol" + ], + "role": "typed_binder", + "source": "(protocol : FinitePathProtocol Path)", + "type_source": "FinitePathProtocol Path", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "dynamics" + "hForward" ], "role": "typed_binder", - "source": "(dynamics : Dynamics Internal Sensory Active External)", - "type_source": "Dynamics Internal Sensory Active External", + "source": "(hForward : ∀ path, 0 < protocol.forward path)", + "type_source": "∀ path, 0 < protocol.forward path", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "current" + "hReverse" ], "role": "typed_binder", - "source": "(current : DynamicState Internal Sensory Active External)", - "type_source": "DynamicState Internal Sensory Active External", + "source": "(hReverse : ∀ path, 0 < protocol.reverseAligned path)", + "type_source": "∀ path, 0 < protocol.reverseAligned path", "visibility": "explicit" } ], - "conclusion": "CondIndepFun\n (MeasurableSpace.comap blanketCoordinate inferInstance)\n blanketCoordinate_measurable.comap_le\n internalCoordinate externalCoordinate\n (embeddedLaw (staticJoint (nextStaticModel dynamics current)))", + "conclusion": "entropyProduction protocol =\n ∑ path, protocol.forward path * pathwiseEntropyProduction protocol path", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Internal", - "Sensory", - "Active", - "External" + "Path", + "State" ], "role": "typed_binder", - "source": "{Internal Sensory Active External : Type*}", + "source": "{Path State : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -81182,184 +87285,274 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Internal]", - "type_source": "Fintype Internal", + "source": "[Fintype Path]", + "type_source": "Fintype Path", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Sensory]", - "type_source": "Fintype Sensory", + "source": "[Fintype State]", + "type_source": "Fintype State", "visibility": "instance" + } + ], + "declaration_mentions": [ + { + "candidates": [ + "FEP.FiniteInformation.finiteKL_eq_crossEntropy_sub_entropy" + ], + "identifier": "finiteKL_eq_crossEntropy_sub_entropy", + "resolution": "unresolved lexical scope", + "role": "proof_reference" + } + ], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.finite_markov_dynamics", + "FepSketches.variational_duality" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.PathThermodynamics", + "namespace_variable_context": [ + "{Path State : Type*} [Fintype Path] [Fintype State]" + ], + "preceding_scope_directives": [], + "qualified_name": "FEP.PathThermodynamics.entropyProduction_eq_expected_logRatio", + "source_line": 87, + "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "statement": "theorem entropyProduction_eq_expected_logRatio\n (protocol : FinitePathProtocol Path)\n (hForward : ∀ path, 0 < protocol.forward path)\n (hReverse : ∀ path, 0 < protocol.reverseAligned path) :\n entropyProduction protocol =\n ∑ path, protocol.forward path * pathwiseEntropyProduction protocol path", + "statement_sha256": "abd39ea403d5dacc3fd3ff655a7cd97eec99aaf1594ab32fac663db3ab4bf1ca" + }, + "FEP.PathThermodynamics.entropyProduction_markov_decomposition": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "kernel", + "reverse" + ], + "role": "typed_binder", + "source": "(kernel reverse : FiniteKernel S S)", + "type_source": "FiniteKernel S S", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype Active]", - "type_source": "Fintype Active", - "visibility": "instance" + "names": [ + "initial", + "final" + ], + "role": "typed_binder", + "source": "(initial final : FiniteLaw S)", + "type_source": "FiniteLaw S", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype External]", - "type_source": "Fintype External", - "visibility": "instance" + "names": [ + "hInitial" + ], + "role": "typed_binder", + "source": "(hInitial : ∀ s, 0 < initial s)", + "type_source": "∀ s, 0 < initial s", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[MeasurableSpace Internal]", - "type_source": "MeasurableSpace Internal", - "visibility": "instance" + "names": [ + "hFinal" + ], + "role": "typed_binder", + "source": "(hFinal : ∀ s, 0 < final s)", + "type_source": "∀ s, 0 < final s", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[MeasurableSpace Sensory]", - "type_source": "MeasurableSpace Sensory", - "visibility": "instance" + "names": [ + "hKernel" + ], + "role": "typed_binder", + "source": "(hKernel : ∀ a b, 0 < kernel a b)", + "type_source": "∀ a b, 0 < kernel a b", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[MeasurableSpace Active]", - "type_source": "MeasurableSpace Active", - "visibility": "instance" + "names": [ + "hReverse" + ], + "role": "typed_binder", + "source": "(hReverse : ∀ a b, 0 < reverse a b)", + "type_source": "∀ a b, 0 < reverse a b", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[MeasurableSpace External]", - "type_source": "MeasurableSpace External", - "visibility": "instance" + "names": [ + "n" + ], + "role": "typed_binder", + "source": "(n : ℕ)", + "type_source": "ℕ", + "visibility": "explicit" + } + ], + "conclusion": "entropyProduction (markovPathProtocol kernel initial reverse final n) =\n (∑ path : Fin (n + 1) → S, markovPathLaw kernel initial n path *\n Real.log (initial (path 0) / final (path (Fin.last n)))) +\n ∑ t : Fin n, ∑ path : Fin (n + 1) → S,\n markovPathLaw kernel initial n path *\n Real.log (kernel (path t.castSucc) (path t.succ) /\n reverse (path t.succ) (path t.castSucc))", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "Path", + "State" + ], + "role": "typed_binder", + "source": "{Path State : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace Internal]", - "type_source": "DiscreteMeasurableSpace Internal", + "source": "[Fintype Path]", + "type_source": "Fintype Path", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace Sensory]", - "type_source": "DiscreteMeasurableSpace Sensory", + "source": "[Fintype State]", + "type_source": "Fintype State", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace Active]", - "type_source": "DiscreteMeasurableSpace Active", - "visibility": "instance" + "names": [ + "S" + ], + "role": "typed_binder", + "source": "{S : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace External]", - "type_source": "DiscreteMeasurableSpace External", + "source": "[Fintype S]", + "type_source": "Fintype S", "visibility": "instance" } ], "declaration_mentions": [ { - "identifier": "staticJoint_condIndepFun", - "qualified_name": "FEP.NativeBlanket.staticJoint_condIndepFun", + "identifier": "entropyProduction_eq_expected_logRatio", + "qualified_name": "FEP.PathThermodynamics.entropyProduction_eq_expected_logRatio", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + }, + { + "identifier": "markovPathMass_pos", + "qualified_name": "FEP.PathThermodynamics.markovPathMass_pos", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + }, + { + "identifier": "markovReverseMass_pos", + "qualified_name": "FEP.PathThermodynamics.markovReverseMass_pos", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + }, + { + "identifier": "pathwiseEntropyProduction_markov", + "qualified_name": "FEP.PathThermodynamics.pathwiseEntropyProduction_markov", "resolution": "exact or same-namespace source identifier", "role": "proof_reference" } ], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.markov_blanket", - "Mathlib.MeasureTheory.Integral.Bochner.SumMeasure", - "Mathlib.Probability.Independence.Conditional", - "Mathlib.Probability.Kernel.Composition.Comp" + "FepSketches.finite_markov_dynamics", + "FepSketches.variational_duality" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.NativeBlanket", + "namespace": "FEP.PathThermodynamics", "namespace_variable_context": [ - "{Internal Sensory Active External : Type*}\n [Fintype Internal] [Fintype Sensory] [Fintype Active] [Fintype External]\n [MeasurableSpace Internal] [MeasurableSpace Sensory]\n [MeasurableSpace Active] [MeasurableSpace External]\n [DiscreteMeasurableSpace Internal] [DiscreteMeasurableSpace Sensory]\n [DiscreteMeasurableSpace Active] [DiscreteMeasurableSpace External]" + "{Path State : Type*} [Fintype Path] [Fintype State]", + "{S : Type*} [Fintype S]" ], "preceding_scope_directives": [ { "directive": "omit", "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DiscreteMeasurableSpace β] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [MeasurableSpace Internal] [MeasurableSpace Sensory]" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [MeasurableSpace Internal] [MeasurableSpace Sensory]" + "source": "omit [Fintype S] in" } ], - "qualified_name": "FEP.NativeBlanket.prediction_preserves_nativeBlanket", - "source_line": 591, - "source_owner": "src/fep_lean/formal/native_blanket.lean", - "statement": "theorem prediction_preserves_nativeBlanket\n [Nonempty Internal] [Nonempty External]\n (dynamics : Dynamics Internal Sensory Active External)\n (current : DynamicState Internal Sensory Active External) :\n CondIndepFun\n (MeasurableSpace.comap blanketCoordinate inferInstance)\n blanketCoordinate_measurable.comap_le\n internalCoordinate externalCoordinate\n (embeddedLaw (staticJoint (nextStaticModel dynamics current)))", - "statement_sha256": "f6476caaf747155c2538c82fc398879a19740dd507b617516303f77cf2749381" + "qualified_name": "FEP.PathThermodynamics.entropyProduction_markov_decomposition", + "source_line": 650, + "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "statement": "theorem entropyProduction_markov_decomposition\n (kernel reverse : FiniteKernel S S) (initial final : FiniteLaw S)\n (hInitial : ∀ s, 0 < initial s) (hFinal : ∀ s, 0 < final s)\n (hKernel : ∀ a b, 0 < kernel a b) (hReverse : ∀ a b, 0 < reverse a b)\n (n : ℕ) :\n entropyProduction (markovPathProtocol kernel initial reverse final n) =\n (∑ path : Fin (n + 1) → S, markovPathLaw kernel initial n path *\n Real.log (initial (path 0) / final (path (Fin.last n)))) +\n ∑ t : Fin n, ∑ path : Fin (n + 1) → S,\n markovPathLaw kernel initial n path *\n Real.log (kernel (path t.castSucc) (path t.succ) /\n reverse (path t.succ) (path t.castSucc))", + "statement_sha256": "bb71277d2b91d1c09cbd2f654bc9885b7b1b2c558f7fbe32b2e01e9d8d4aaa11" }, - "FEP.NativeBlanket.staticJoint_condIndepFun": { + "FEP.PathThermodynamics.entropyProduction_markov_eq_localAffinity": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Nonempty Internal]", - "type_source": "Nonempty Internal", - "visibility": "instance" + "names": [ + "kernel" + ], + "role": "typed_binder", + "source": "(kernel : FiniteKernel S S)", + "type_source": "FiniteKernel S S", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Nonempty External]", - "type_source": "Nonempty External", - "visibility": "instance" + "names": [ + "law" + ], + "role": "typed_binder", + "source": "(law : FiniteLaw S)", + "type_source": "FiniteLaw S", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "model" + "hLaw" ], "role": "typed_binder", - "source": "(model : StaticModel Internal Sensory Active External)", - "type_source": "StaticModel Internal Sensory Active External", + "source": "(hLaw : ∀ s, 0 < law s)", + "type_source": "∀ s, 0 < law s", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hKernel" + ], + "role": "typed_binder", + "source": "(hKernel : ∀ a b, 0 < kernel a b)", + "type_source": "∀ a b, 0 < kernel a b", "visibility": "explicit" } ], - "conclusion": "CondIndepFun\n (MeasurableSpace.comap blanketCoordinate inferInstance)\n blanketCoordinate_measurable.comap_le\n internalCoordinate externalCoordinate\n (embeddedLaw (staticJoint model))", + "conclusion": "entropyProduction (markovPathProtocol kernel law kernel law 1) =\n ∑ i : S, ∑ j : S, law i * kernel i j * localAffinity law kernel i j", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Internal", - "Sensory", - "Active", - "External" + "Path", + "State" ], "role": "typed_binder", - "source": "{Internal Sensory Active External : Type*}", + "source": "{Path State : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -81367,348 +87560,455 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Internal]", - "type_source": "Fintype Internal", + "source": "[Fintype Path]", + "type_source": "Fintype Path", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Sensory]", - "type_source": "Fintype Sensory", + "source": "[Fintype State]", + "type_source": "Fintype State", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype Active]", - "type_source": "Fintype Active", - "visibility": "instance" + "names": [ + "S" + ], + "role": "typed_binder", + "source": "{S : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype External]", - "type_source": "Fintype External", + "source": "[Fintype S]", + "type_source": "Fintype S", "visibility": "instance" + } + ], + "declaration_mentions": [ + { + "identifier": "entropyProduction_markov_schnakenberg", + "qualified_name": "FEP.PathThermodynamics.entropyProduction_markov_schnakenberg", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + } + ], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.finite_markov_dynamics", + "FepSketches.variational_duality" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.PathThermodynamics", + "namespace_variable_context": [ + "{Path State : Type*} [Fintype Path] [Fintype State]", + "{S : Type*} [Fintype S]" + ], + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Fintype S] in" + } + ], + "qualified_name": "FEP.PathThermodynamics.entropyProduction_markov_eq_localAffinity", + "source_line": 777, + "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "statement": "theorem entropyProduction_markov_eq_localAffinity\n (kernel : FiniteKernel S S) (law : FiniteLaw S)\n (hLaw : ∀ s, 0 < law s) (hKernel : ∀ a b, 0 < kernel a b) :\n entropyProduction (markovPathProtocol kernel law kernel law 1) =\n ∑ i : S, ∑ j : S, law i * kernel i j * localAffinity law kernel i j", + "statement_sha256": "b5544f0d8889b7669fb410a84c242840e22ef36bf1c2b4a015b81ff8deba87d7" + }, + "FEP.PathThermodynamics.entropyProduction_markov_oneStep": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "kernel", + "reverse" + ], + "role": "typed_binder", + "source": "(kernel reverse : FiniteKernel S S)", + "type_source": "FiniteKernel S S", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[MeasurableSpace Internal]", - "type_source": "MeasurableSpace Internal", - "visibility": "instance" + "names": [ + "initial", + "final" + ], + "role": "typed_binder", + "source": "(initial final : FiniteLaw S)", + "type_source": "FiniteLaw S", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[MeasurableSpace Sensory]", - "type_source": "MeasurableSpace Sensory", - "visibility": "instance" + "names": [ + "hInitial" + ], + "role": "typed_binder", + "source": "(hInitial : ∀ s, 0 < initial s)", + "type_source": "∀ s, 0 < initial s", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[MeasurableSpace Active]", - "type_source": "MeasurableSpace Active", - "visibility": "instance" + "names": [ + "hFinal" + ], + "role": "typed_binder", + "source": "(hFinal : ∀ s, 0 < final s)", + "type_source": "∀ s, 0 < final s", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[MeasurableSpace External]", - "type_source": "MeasurableSpace External", - "visibility": "instance" + "names": [ + "hKernel" + ], + "role": "typed_binder", + "source": "(hKernel : ∀ a b, 0 < kernel a b)", + "type_source": "∀ a b, 0 < kernel a b", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace Internal]", - "type_source": "DiscreteMeasurableSpace Internal", - "visibility": "instance" + "names": [ + "hReverse" + ], + "role": "typed_binder", + "source": "(hReverse : ∀ a b, 0 < reverse a b)", + "type_source": "∀ a b, 0 < reverse a b", + "visibility": "explicit" + } + ], + "conclusion": "entropyProduction (markovPathProtocol kernel initial reverse final 1) =\n ∑ i : S, ∑ j : S, initial i * kernel i j *\n Real.log (initial i * kernel i j / (final j * reverse j i))", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "Path", + "State" + ], + "role": "typed_binder", + "source": "{Path State : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace Sensory]", - "type_source": "DiscreteMeasurableSpace Sensory", + "source": "[Fintype Path]", + "type_source": "Fintype Path", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace Active]", - "type_source": "DiscreteMeasurableSpace Active", + "source": "[Fintype State]", + "type_source": "Fintype State", "visibility": "instance" }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "S" + ], + "role": "typed_binder", + "source": "{S : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace External]", - "type_source": "DiscreteMeasurableSpace External", + "source": "[Fintype S]", + "type_source": "Fintype S", "visibility": "instance" } ], "declaration_mentions": [ { - "identifier": "blanketCoordinate_measurable", - "qualified_name": "FEP.NativeBlanket.blanketCoordinate_measurable", + "identifier": "entropyProduction_eq_expected_logRatio", + "qualified_name": "FEP.PathThermodynamics.entropyProduction_eq_expected_logRatio", "resolution": "exact or same-namespace source identifier", "role": "proof_reference" }, { - "identifier": "externalCoordinate_measurable", - "qualified_name": "FEP.NativeBlanket.externalCoordinate_measurable", + "identifier": "markovPathMass_one", + "qualified_name": "FEP.PathThermodynamics.markovPathMass_one", "resolution": "exact or same-namespace source identifier", "role": "proof_reference" }, { - "identifier": "internalCoordinate_measurable", - "qualified_name": "FEP.NativeBlanket.internalCoordinate_measurable", + "identifier": "markovPathMass_pos", + "qualified_name": "FEP.PathThermodynamics.markovPathMass_pos", "resolution": "exact or same-namespace source identifier", "role": "proof_reference" }, { - "identifier": "staticJoint_map_triple_factorization", - "qualified_name": "FEP.NativeBlanket.staticJoint_map_triple_factorization", + "identifier": "markovReverseMass_one", + "qualified_name": "FEP.PathThermodynamics.markovReverseMass_one", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + }, + { + "identifier": "markovReverseMass_pos", + "qualified_name": "FEP.PathThermodynamics.markovReverseMass_pos", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + }, + { + "identifier": "sum_pathTwo", + "qualified_name": "FEP.PathThermodynamics.sum_pathTwo", "resolution": "exact or same-namespace source identifier", "role": "proof_reference" } ], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.markov_blanket", - "Mathlib.MeasureTheory.Integral.Bochner.SumMeasure", - "Mathlib.Probability.Independence.Conditional", - "Mathlib.Probability.Kernel.Composition.Comp" + "FepSketches.finite_markov_dynamics", + "FepSketches.variational_duality" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.NativeBlanket", + "namespace": "FEP.PathThermodynamics", "namespace_variable_context": [ - "{Internal Sensory Active External : Type*}\n [Fintype Internal] [Fintype Sensory] [Fintype Active] [Fintype External]\n [MeasurableSpace Internal] [MeasurableSpace Sensory]\n [MeasurableSpace Active] [MeasurableSpace External]\n [DiscreteMeasurableSpace Internal] [DiscreteMeasurableSpace Sensory]\n [DiscreteMeasurableSpace Active] [DiscreteMeasurableSpace External]" + "{Path State : Type*} [Fintype Path] [Fintype State]", + "{S : Type*} [Fintype S]" ], "preceding_scope_directives": [ { "directive": "omit", "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DiscreteMeasurableSpace β] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [MeasurableSpace Internal] [MeasurableSpace Sensory]" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [MeasurableSpace Internal] [MeasurableSpace Sensory]" + "source": "omit [Fintype S] in" } ], - "qualified_name": "FEP.NativeBlanket.staticJoint_condIndepFun", - "source_line": 521, - "source_owner": "src/fep_lean/formal/native_blanket.lean", - "statement": "theorem staticJoint_condIndepFun\n [Nonempty Internal] [Nonempty External]\n (model : StaticModel Internal Sensory Active External) :\n CondIndepFun\n (MeasurableSpace.comap blanketCoordinate inferInstance)\n blanketCoordinate_measurable.comap_le\n internalCoordinate externalCoordinate\n (embeddedLaw (staticJoint model))", - "statement_sha256": "cedd1a438e8c7c70c54e098ff14e3844321c921b54e2bebe351a111c44c1ae8c" + "qualified_name": "FEP.PathThermodynamics.entropyProduction_markov_oneStep", + "source_line": 695, + "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "statement": "theorem entropyProduction_markov_oneStep\n (kernel reverse : FiniteKernel S S) (initial final : FiniteLaw S)\n (hInitial : ∀ s, 0 < initial s) (hFinal : ∀ s, 0 < final s)\n (hKernel : ∀ a b, 0 < kernel a b) (hReverse : ∀ a b, 0 < reverse a b) :\n entropyProduction (markovPathProtocol kernel initial reverse final 1) =\n ∑ i : S, ∑ j : S, initial i * kernel i j *\n Real.log (initial i * kernel i j / (final j * reverse j i))", + "statement_sha256": "5934d0cf04c8fd5fb946f24101786439062c315aece566aa05ee7fa0a81e0782" }, - "FEP.NativeBlanket.staticJoint_map_blanket": { + "FEP.PathThermodynamics.entropyProduction_markov_oneStep_split": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "model" + "kernel", + "reverse" ], "role": "typed_binder", - "source": "(model : StaticModel Internal Sensory Active External)", - "type_source": "StaticModel Internal Sensory Active External", + "source": "(kernel reverse : FiniteKernel S S)", + "type_source": "FiniteKernel S S", "visibility": "explicit" - } - ], - "conclusion": "(embeddedLaw (staticJoint model)).map blanketCoordinate =\n embeddedLaw model.blanketLaw", - "context_binders": [ - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "Internal", - "Sensory", - "Active", - "External" - ], - "role": "typed_binder", - "source": "{Internal Sensory Active External : Type*}", - "type_source": "Type*", - "visibility": "implicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype Internal]", - "type_source": "Fintype Internal", - "visibility": "instance" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype Sensory]", - "type_source": "Fintype Sensory", - "visibility": "instance" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype Active]", - "type_source": "Fintype Active", - "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype External]", - "type_source": "Fintype External", - "visibility": "instance" + "names": [ + "initial", + "final" + ], + "role": "typed_binder", + "source": "(initial final : FiniteLaw S)", + "type_source": "FiniteLaw S", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[MeasurableSpace Internal]", - "type_source": "MeasurableSpace Internal", - "visibility": "instance" + "names": [ + "hInitial" + ], + "role": "typed_binder", + "source": "(hInitial : ∀ s, 0 < initial s)", + "type_source": "∀ s, 0 < initial s", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[MeasurableSpace Sensory]", - "type_source": "MeasurableSpace Sensory", - "visibility": "instance" + "names": [ + "hFinal" + ], + "role": "typed_binder", + "source": "(hFinal : ∀ s, 0 < final s)", + "type_source": "∀ s, 0 < final s", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[MeasurableSpace Active]", - "type_source": "MeasurableSpace Active", - "visibility": "instance" + "names": [ + "hKernel" + ], + "role": "typed_binder", + "source": "(hKernel : ∀ a b, 0 < kernel a b)", + "type_source": "∀ a b, 0 < kernel a b", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[MeasurableSpace External]", - "type_source": "MeasurableSpace External", - "visibility": "instance" + "names": [ + "hReverse" + ], + "role": "typed_binder", + "source": "(hReverse : ∀ a b, 0 < reverse a b)", + "type_source": "∀ a b, 0 < reverse a b", + "visibility": "explicit" + } + ], + "conclusion": "entropyProduction (markovPathProtocol kernel initial reverse final 1) =\n (∑ i : S, initial i * Real.log (initial i) -\n ∑ j : S, kernel.predictive initial j * Real.log (final j)) +\n ∑ i : S, ∑ j : S, initial i * kernel i j *\n Real.log (kernel i j / reverse j i)", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "Path", + "State" + ], + "role": "typed_binder", + "source": "{Path State : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace Internal]", - "type_source": "DiscreteMeasurableSpace Internal", + "source": "[Fintype Path]", + "type_source": "Fintype Path", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace Sensory]", - "type_source": "DiscreteMeasurableSpace Sensory", + "source": "[Fintype State]", + "type_source": "Fintype State", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace Active]", - "type_source": "DiscreteMeasurableSpace Active", - "visibility": "instance" + "names": [ + "S" + ], + "role": "typed_binder", + "source": "{S : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace External]", - "type_source": "DiscreteMeasurableSpace External", + "source": "[Fintype S]", + "type_source": "Fintype S", "visibility": "instance" } ], - "declaration_mentions": [], + "declaration_mentions": [ + { + "identifier": "entropyProduction_markov_oneStep", + "qualified_name": "FEP.PathThermodynamics.entropyProduction_markov_oneStep", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + } + ], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.markov_blanket", - "Mathlib.MeasureTheory.Integral.Bochner.SumMeasure", - "Mathlib.Probability.Independence.Conditional", - "Mathlib.Probability.Kernel.Composition.Comp" + "FepSketches.finite_markov_dynamics", + "FepSketches.variational_duality" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.NativeBlanket", + "namespace": "FEP.PathThermodynamics", "namespace_variable_context": [ - "{Internal Sensory Active External : Type*}\n [Fintype Internal] [Fintype Sensory] [Fintype Active] [Fintype External]\n [MeasurableSpace Internal] [MeasurableSpace Sensory]\n [MeasurableSpace Active] [MeasurableSpace External]\n [DiscreteMeasurableSpace Internal] [DiscreteMeasurableSpace Sensory]\n [DiscreteMeasurableSpace Active] [DiscreteMeasurableSpace External]" + "{Path State : Type*} [Fintype Path] [Fintype State]", + "{S : Type*} [Fintype S]" ], "preceding_scope_directives": [ { "directive": "omit", "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DiscreteMeasurableSpace β] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [MeasurableSpace Internal] [MeasurableSpace Sensory]" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [MeasurableSpace Internal] [MeasurableSpace Sensory]" + "source": "omit [Fintype S] in" } ], - "qualified_name": "FEP.NativeBlanket.staticJoint_map_blanket", - "source_line": 387, - "source_owner": "src/fep_lean/formal/native_blanket.lean", - "statement": "theorem staticJoint_map_blanket\n (model : StaticModel Internal Sensory Active External) :\n (embeddedLaw (staticJoint model)).map blanketCoordinate =\n embeddedLaw model.blanketLaw", - "statement_sha256": "06ffc7f6f303ef6f40e23ef9499e985daffad3fa918621fb66a65eee55368c0d" + "qualified_name": "FEP.PathThermodynamics.entropyProduction_markov_oneStep_split", + "source_line": 719, + "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "statement": "theorem entropyProduction_markov_oneStep_split\n (kernel reverse : FiniteKernel S S) (initial final : FiniteLaw S)\n (hInitial : ∀ s, 0 < initial s) (hFinal : ∀ s, 0 < final s)\n (hKernel : ∀ a b, 0 < kernel a b) (hReverse : ∀ a b, 0 < reverse a b) :\n entropyProduction (markovPathProtocol kernel initial reverse final 1) =\n (∑ i : S, initial i * Real.log (initial i) -\n ∑ j : S, kernel.predictive initial j * Real.log (final j)) +\n ∑ i : S, ∑ j : S, initial i * kernel i j *\n Real.log (kernel i j / reverse j i)", + "statement_sha256": "184bb9480de26ec3d3533ed416bab48d49764ffb4fd681058b4d3759cd372711" }, - "FEP.NativeBlanket.staticJoint_map_blanket_external": { + "FEP.PathThermodynamics.entropyProduction_markov_reversedKernel_zero": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "model" + "law" ], "role": "typed_binder", - "source": "(model : StaticModel Internal Sensory Active External)", - "type_source": "StaticModel Internal Sensory Active External", + "source": "(law : FiniteLaw S)", + "type_source": "FiniteLaw S", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "kernel" + ], + "role": "typed_binder", + "source": "(kernel : FiniteKernel S S)", + "type_source": "FiniteKernel S S", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hLaw" + ], + "role": "typed_binder", + "source": "(hLaw : ∀ s, 0 < law s)", + "type_source": "∀ s, 0 < law s", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hInvariant" + ], + "role": "typed_binder", + "source": "(hInvariant : IsInvariant law kernel)", + "type_source": "IsInvariant law kernel", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "n" + ], + "role": "typed_binder", + "source": "(n : ℕ)", + "type_source": "ℕ", "visibility": "explicit" } ], - "conclusion": "(embeddedLaw (staticJoint model)).map\n (fun state => (blanketCoordinate state, externalCoordinate state)) =\n (embeddedLaw (staticJoint model)).map blanketCoordinate ⊗ₘ\n embeddedKernel model.externalGiven", + "conclusion": "entropyProduction (markovPathProtocol kernel law\n (reversedKernel law kernel hLaw hInvariant) law n) = 0", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Internal", - "Sensory", - "Active", - "External" + "Path", + "State" ], "role": "typed_binder", - "source": "{Internal Sensory Active External : Type*}", + "source": "{Path State : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -81716,180 +88016,253 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Internal]", - "type_source": "Fintype Internal", + "source": "[Fintype Path]", + "type_source": "Fintype Path", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Sensory]", - "type_source": "Fintype Sensory", + "source": "[Fintype State]", + "type_source": "Fintype State", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype Active]", - "type_source": "Fintype Active", - "visibility": "instance" + "names": [ + "S" + ], + "role": "typed_binder", + "source": "{S : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype External]", - "type_source": "Fintype External", + "source": "[Fintype S]", + "type_source": "Fintype S", "visibility": "instance" + } + ], + "declaration_mentions": [ + { + "candidates": [ + "FEP.FiniteInformation.finiteKL_self" + ], + "identifier": "finiteKL_self", + "resolution": "unresolved lexical scope", + "role": "proof_reference" }, + { + "identifier": "markovReversePathLaw_reversedKernel", + "qualified_name": "FEP.PathThermodynamics.markovReversePathLaw_reversedKernel", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + } + ], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.finite_markov_dynamics", + "FepSketches.variational_duality" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.PathThermodynamics", + "namespace_variable_context": [ + "{Path State : Type*} [Fintype Path] [Fintype State]", + "{S : Type*} [Fintype S]" + ], + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Fintype S] in" + } + ], + "qualified_name": "FEP.PathThermodynamics.entropyProduction_markov_reversedKernel_zero", + "source_line": 920, + "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "statement": "theorem entropyProduction_markov_reversedKernel_zero (law : FiniteLaw S)\n (kernel : FiniteKernel S S) (hLaw : ∀ s, 0 < law s)\n (hInvariant : IsInvariant law kernel) (n : ℕ) :\n entropyProduction (markovPathProtocol kernel law\n (reversedKernel law kernel hLaw hInvariant) law n) = 0", + "statement_sha256": "89ca3d8a0bbc5fb352d8d0b4294d02b54e57a90d09bdd25366ceae54b15167c6" + }, + "FEP.PathThermodynamics.entropyProduction_markov_reversible_zero": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[MeasurableSpace Internal]", - "type_source": "MeasurableSpace Internal", - "visibility": "instance" + "names": [ + "kernel" + ], + "role": "typed_binder", + "source": "(kernel : FiniteKernel S S)", + "type_source": "FiniteKernel S S", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[MeasurableSpace Sensory]", - "type_source": "MeasurableSpace Sensory", - "visibility": "instance" + "names": [ + "law" + ], + "role": "typed_binder", + "source": "(law : FiniteLaw S)", + "type_source": "FiniteLaw S", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[MeasurableSpace Active]", - "type_source": "MeasurableSpace Active", - "visibility": "instance" - }, + "names": [ + "hReversible" + ], + "role": "typed_binder", + "source": "(hReversible : IsReversible law kernel)", + "type_source": "IsReversible law kernel", + "visibility": "explicit" + } + ], + "conclusion": "entropyProduction (markovPathProtocol kernel law kernel law 1) = 0", + "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[MeasurableSpace External]", - "type_source": "MeasurableSpace External", - "visibility": "instance" + "names": [ + "Path", + "State" + ], + "role": "typed_binder", + "source": "{Path State : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace Internal]", - "type_source": "DiscreteMeasurableSpace Internal", + "source": "[Fintype Path]", + "type_source": "Fintype Path", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace Sensory]", - "type_source": "DiscreteMeasurableSpace Sensory", + "source": "[Fintype State]", + "type_source": "Fintype State", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace Active]", - "type_source": "DiscreteMeasurableSpace Active", - "visibility": "instance" + "names": [ + "S" + ], + "role": "typed_binder", + "source": "{S : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace External]", - "type_source": "DiscreteMeasurableSpace External", + "source": "[Fintype S]", + "type_source": "Fintype S", "visibility": "instance" } ], "declaration_mentions": [ { - "identifier": "embeddedLaw_joint_eq_compProd", - "qualified_name": "FEP.NativeBlanket.embeddedLaw_joint_eq_compProd", - "resolution": "exact or same-namespace source identifier", - "role": "proof_reference" - }, - { - "identifier": "embeddedLaw_map", - "qualified_name": "FEP.NativeBlanket.embeddedLaw_map", - "resolution": "exact or same-namespace source identifier", + "candidates": [ + "FEP.FiniteInformation.finiteKL_self" + ], + "identifier": "finiteKL_self", + "resolution": "unresolved lexical scope", "role": "proof_reference" }, { - "identifier": "staticJoint_map_blanket", - "qualified_name": "FEP.NativeBlanket.staticJoint_map_blanket", + "identifier": "markovPathLaw_eq_reverse_of_reversible", + "qualified_name": "FEP.PathThermodynamics.markovPathLaw_eq_reverse_of_reversible", "resolution": "exact or same-namespace source identifier", "role": "proof_reference" } ], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.markov_blanket", - "Mathlib.MeasureTheory.Integral.Bochner.SumMeasure", - "Mathlib.Probability.Independence.Conditional", - "Mathlib.Probability.Kernel.Composition.Comp" + "FepSketches.finite_markov_dynamics", + "FepSketches.variational_duality" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.NativeBlanket", + "namespace": "FEP.PathThermodynamics", "namespace_variable_context": [ - "{Internal Sensory Active External : Type*}\n [Fintype Internal] [Fintype Sensory] [Fintype Active] [Fintype External]\n [MeasurableSpace Internal] [MeasurableSpace Sensory]\n [MeasurableSpace Active] [MeasurableSpace External]\n [DiscreteMeasurableSpace Internal] [DiscreteMeasurableSpace Sensory]\n [DiscreteMeasurableSpace Active] [DiscreteMeasurableSpace External]" + "{Path State : Type*} [Fintype Path] [Fintype State]", + "{S : Type*} [Fintype S]" ], "preceding_scope_directives": [ { "directive": "omit", "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DiscreteMeasurableSpace β] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [MeasurableSpace Internal] [MeasurableSpace Sensory]" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [MeasurableSpace Internal] [MeasurableSpace Sensory]" + "source": "omit [Fintype S] in" } ], - "qualified_name": "FEP.NativeBlanket.staticJoint_map_blanket_external", - "source_line": 414, - "source_owner": "src/fep_lean/formal/native_blanket.lean", - "statement": "theorem staticJoint_map_blanket_external\n (model : StaticModel Internal Sensory Active External) :\n (embeddedLaw (staticJoint model)).map\n (fun state => (blanketCoordinate state, externalCoordinate state)) =\n (embeddedLaw (staticJoint model)).map blanketCoordinate ⊗ₘ\n embeddedKernel model.externalGiven", - "statement_sha256": "630209d62ba7b7cda7130769db3402b6787c26c4ac81d405f3ceffee35d4c7dd" + "qualified_name": "FEP.PathThermodynamics.entropyProduction_markov_reversible_zero", + "source_line": 811, + "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "statement": "theorem entropyProduction_markov_reversible_zero\n (kernel : FiniteKernel S S) (law : FiniteLaw S)\n (hReversible : IsReversible law kernel) :\n entropyProduction (markovPathProtocol kernel law kernel law 1) = 0", + "statement_sha256": "b90cf45fe89f132bb020bcd6d3b2a3e22977d686351b2ea5a163ec35757475fd" }, - "FEP.NativeBlanket.staticJoint_map_blanket_internal": { + "FEP.PathThermodynamics.entropyProduction_markov_schnakenberg": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "model" + "kernel" ], "role": "typed_binder", - "source": "(model : StaticModel Internal Sensory Active External)", - "type_source": "StaticModel Internal Sensory Active External", + "source": "(kernel : FiniteKernel S S)", + "type_source": "FiniteKernel S S", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "law" + ], + "role": "typed_binder", + "source": "(law : FiniteLaw S)", + "type_source": "FiniteLaw S", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hLaw" + ], + "role": "typed_binder", + "source": "(hLaw : ∀ s, 0 < law s)", + "type_source": "∀ s, 0 < law s", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hKernel" + ], + "role": "typed_binder", + "source": "(hKernel : ∀ a b, 0 < kernel a b)", + "type_source": "∀ a b, 0 < kernel a b", "visibility": "explicit" } ], - "conclusion": "(embeddedLaw (staticJoint model)).map\n (fun state => (blanketCoordinate state, internalCoordinate state)) =\n (embeddedLaw (staticJoint model)).map blanketCoordinate ⊗ₘ\n embeddedKernel model.internalGiven", + "conclusion": "entropyProduction (markovPathProtocol kernel law kernel law 1) =\n ∑ i : S, ∑ j : S, law i * kernel i j *\n Real.log (law i * kernel i j / (law j * kernel j i))", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Internal", - "Sensory", - "Active", - "External" + "Path", + "State" ], "role": "typed_binder", - "source": "{Internal Sensory Active External : Type*}", + "source": "{Path State : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -81897,168 +88270,227 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Internal]", - "type_source": "Fintype Internal", + "source": "[Fintype Path]", + "type_source": "Fintype Path", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Sensory]", - "type_source": "Fintype Sensory", + "source": "[Fintype State]", + "type_source": "Fintype State", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype Active]", - "type_source": "Fintype Active", - "visibility": "instance" + "names": [ + "S" + ], + "role": "typed_binder", + "source": "{S : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype External]", - "type_source": "Fintype External", + "source": "[Fintype S]", + "type_source": "Fintype S", "visibility": "instance" + } + ], + "declaration_mentions": [ + { + "identifier": "entropyProduction_markov_oneStep", + "qualified_name": "FEP.PathThermodynamics.entropyProduction_markov_oneStep", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + } + ], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.finite_markov_dynamics", + "FepSketches.variational_duality" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.PathThermodynamics", + "namespace_variable_context": [ + "{Path State : Type*} [Fintype Path] [Fintype State]", + "{S : Type*} [Fintype S]" + ], + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Fintype S] in" + } + ], + "qualified_name": "FEP.PathThermodynamics.entropyProduction_markov_schnakenberg", + "source_line": 767, + "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "statement": "theorem entropyProduction_markov_schnakenberg\n (kernel : FiniteKernel S S) (law : FiniteLaw S)\n (hLaw : ∀ s, 0 < law s) (hKernel : ∀ a b, 0 < kernel a b) :\n entropyProduction (markovPathProtocol kernel law kernel law 1) =\n ∑ i : S, ∑ j : S, law i * kernel i j *\n Real.log (law i * kernel i j / (law j * kernel j i))", + "statement_sha256": "8ac9f521c2c1c70dbe11f08578102278a9fa4bf7be83d998791f4c27e00f2ae5" + }, + "FEP.PathThermodynamics.entropyProduction_markov_stationary": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "kernel" + ], + "role": "typed_binder", + "source": "(kernel : FiniteKernel S S)", + "type_source": "FiniteKernel S S", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[MeasurableSpace Internal]", - "type_source": "MeasurableSpace Internal", - "visibility": "instance" + "names": [ + "law" + ], + "role": "typed_binder", + "source": "(law : FiniteLaw S)", + "type_source": "FiniteLaw S", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[MeasurableSpace Sensory]", - "type_source": "MeasurableSpace Sensory", - "visibility": "instance" + "names": [ + "hLaw" + ], + "role": "typed_binder", + "source": "(hLaw : ∀ s, 0 < law s)", + "type_source": "∀ s, 0 < law s", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[MeasurableSpace Active]", - "type_source": "MeasurableSpace Active", - "visibility": "instance" + "names": [ + "hKernel" + ], + "role": "typed_binder", + "source": "(hKernel : ∀ a b, 0 < kernel a b)", + "type_source": "∀ a b, 0 < kernel a b", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[MeasurableSpace External]", - "type_source": "MeasurableSpace External", - "visibility": "instance" + "names": [ + "hInvariant" + ], + "role": "typed_binder", + "source": "(hInvariant : IsInvariant law kernel)", + "type_source": "IsInvariant law kernel", + "visibility": "explicit" + } + ], + "conclusion": "entropyProduction (markovPathProtocol kernel law kernel law 1) =\n ∑ i : S, ∑ j : S, law i * kernel i j *\n Real.log (kernel i j / kernel j i)", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "Path", + "State" + ], + "role": "typed_binder", + "source": "{Path State : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace Internal]", - "type_source": "DiscreteMeasurableSpace Internal", + "source": "[Fintype Path]", + "type_source": "Fintype Path", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace Sensory]", - "type_source": "DiscreteMeasurableSpace Sensory", + "source": "[Fintype State]", + "type_source": "Fintype State", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace Active]", - "type_source": "DiscreteMeasurableSpace Active", - "visibility": "instance" + "names": [ + "S" + ], + "role": "typed_binder", + "source": "{S : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace External]", - "type_source": "DiscreteMeasurableSpace External", + "source": "[Fintype S]", + "type_source": "Fintype S", "visibility": "instance" } ], "declaration_mentions": [ { - "identifier": "staticJoint_map_blanket", - "qualified_name": "FEP.NativeBlanket.staticJoint_map_blanket", + "identifier": "entropyProduction_markov_oneStep_split", + "qualified_name": "FEP.PathThermodynamics.entropyProduction_markov_oneStep_split", "resolution": "exact or same-namespace source identifier", "role": "proof_reference" } ], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.markov_blanket", - "Mathlib.MeasureTheory.Integral.Bochner.SumMeasure", - "Mathlib.Probability.Independence.Conditional", - "Mathlib.Probability.Kernel.Composition.Comp" + "FepSketches.finite_markov_dynamics", + "FepSketches.variational_duality" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.NativeBlanket", + "namespace": "FEP.PathThermodynamics", "namespace_variable_context": [ - "{Internal Sensory Active External : Type*}\n [Fintype Internal] [Fintype Sensory] [Fintype Active] [Fintype External]\n [MeasurableSpace Internal] [MeasurableSpace Sensory]\n [MeasurableSpace Active] [MeasurableSpace External]\n [DiscreteMeasurableSpace Internal] [DiscreteMeasurableSpace Sensory]\n [DiscreteMeasurableSpace Active] [DiscreteMeasurableSpace External]" + "{Path State : Type*} [Fintype Path] [Fintype State]", + "{S : Type*} [Fintype S]" ], "preceding_scope_directives": [ { "directive": "omit", "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DiscreteMeasurableSpace β] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [MeasurableSpace Internal] [MeasurableSpace Sensory]" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [MeasurableSpace Internal] [MeasurableSpace Sensory]" + "source": "omit [Fintype S] in" } ], - "qualified_name": "FEP.NativeBlanket.staticJoint_map_blanket_internal", - "source_line": 404, - "source_owner": "src/fep_lean/formal/native_blanket.lean", - "statement": "theorem staticJoint_map_blanket_internal\n (model : StaticModel Internal Sensory Active External) :\n (embeddedLaw (staticJoint model)).map\n (fun state => (blanketCoordinate state, internalCoordinate state)) =\n (embeddedLaw (staticJoint model)).map blanketCoordinate ⊗ₘ\n embeddedKernel model.internalGiven", - "statement_sha256": "b6fd98539ad6b1f9e582b33068959a55a08d8d460556d2f3b1dd8ec1189067b1" + "qualified_name": "FEP.PathThermodynamics.entropyProduction_markov_stationary", + "source_line": 786, + "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "statement": "theorem entropyProduction_markov_stationary\n (kernel : FiniteKernel S S) (law : FiniteLaw S)\n (hLaw : ∀ s, 0 < law s) (hKernel : ∀ a b, 0 < kernel a b)\n (hInvariant : IsInvariant law kernel) :\n entropyProduction (markovPathProtocol kernel law kernel law 1) =\n ∑ i : S, ∑ j : S, law i * kernel i j *\n Real.log (kernel i j / kernel j i)", + "statement_sha256": "6959367d82123275b33bcaf9f72a983f38602327be58830f310452c7183b77d4" }, - "FEP.NativeBlanket.staticJoint_map_triple_factorization": { + "FEP.PathThermodynamics.entropyProduction_nonneg": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "model" + "protocol" ], "role": "typed_binder", - "source": "(model : StaticModel Internal Sensory Active External)", - "type_source": "StaticModel Internal Sensory Active External", + "source": "(protocol : FinitePathProtocol Path)", + "type_source": "FinitePathProtocol Path", "visibility": "explicit" } ], - "conclusion": "(embeddedLaw (staticJoint model)).map blanketTripleCoordinate =\n (embeddedLaw (staticJoint model)).map blanketCoordinate ⊗ₘ\n (embeddedKernel model.internalGiven ×ₖ\n embeddedKernel model.externalGiven)", + "conclusion": "0 ≤ entropyProduction protocol", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Internal", - "Sensory", - "Active", - "External" + "Path", + "State" ], "role": "typed_binder", - "source": "{Internal Sensory Active External : Type*}", + "source": "{Path State : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -82066,216 +88498,300 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Internal]", - "type_source": "Fintype Internal", + "source": "[Fintype Path]", + "type_source": "Fintype Path", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Sensory]", - "type_source": "Fintype Sensory", + "source": "[Fintype State]", + "type_source": "Fintype State", "visibility": "instance" + } + ], + "declaration_mentions": [ + { + "candidates": [ + "FEP.FiniteInformation.finiteKL_nonneg" + ], + "identifier": "finiteKL_nonneg", + "resolution": "unresolved lexical scope", + "role": "proof_reference" + } + ], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.finite_markov_dynamics", + "FepSketches.variational_duality" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.PathThermodynamics", + "namespace_variable_context": [ + "{Path State : Type*} [Fintype Path] [Fintype State]" + ], + "preceding_scope_directives": [], + "qualified_name": "FEP.PathThermodynamics.entropyProduction_nonneg", + "source_line": 82, + "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "statement": "theorem entropyProduction_nonneg (protocol : FinitePathProtocol Path) :\n 0 ≤ entropyProduction protocol", + "statement_sha256": "f69aa684772cdf23bed79c5a8f32d119b1cd71e86470497ef26942a95228e457" + }, + "FEP.PathThermodynamics.finiteJarzynski_eq": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "law" + ], + "role": "typed_binder", + "source": "(law : FiniteLaw Path)", + "type_source": "FiniteLaw Path", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype Active]", - "type_source": "Fintype Active", - "visibility": "instance" + "names": [ + "beta", + "deltaFreeEnergy" + ], + "role": "typed_binder", + "source": "(beta deltaFreeEnergy : ℝ)", + "type_source": "ℝ", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype External]", - "type_source": "Fintype External", - "visibility": "instance" + "names": [ + "work" + ], + "role": "typed_binder", + "source": "(work : Path → ℝ)", + "type_source": "Path → ℝ", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[MeasurableSpace Internal]", - "type_source": "MeasurableSpace Internal", - "visibility": "instance" + "names": [ + "hNormalization" + ], + "role": "typed_binder", + "source": "(hNormalization :\n HasJarzynskiNormalization law beta deltaFreeEnergy work)", + "type_source": "HasJarzynskiNormalization law beta deltaFreeEnergy work", + "visibility": "explicit" + } + ], + "conclusion": "exponentialWorkAverage law beta work =\n Real.exp (-beta * deltaFreeEnergy)", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "Path", + "State" + ], + "role": "typed_binder", + "source": "{Path State : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[MeasurableSpace Sensory]", - "type_source": "MeasurableSpace Sensory", + "source": "[Fintype Path]", + "type_source": "Fintype Path", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[MeasurableSpace Active]", - "type_source": "MeasurableSpace Active", + "source": "[Fintype State]", + "type_source": "Fintype State", "visibility": "instance" + } + ], + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.finite_markov_dynamics", + "FepSketches.variational_duality" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.PathThermodynamics", + "namespace_variable_context": [ + "{Path State : Type*} [Fintype Path] [Fintype State]" + ], + "preceding_scope_directives": [], + "qualified_name": "FEP.PathThermodynamics.finiteJarzynski_eq", + "source_line": 179, + "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "statement": "theorem finiteJarzynski_eq\n (law : FiniteLaw Path) (beta deltaFreeEnergy : ℝ)\n (work : Path → ℝ)\n (hNormalization :\n HasJarzynskiNormalization law beta deltaFreeEnergy work) :\n exponentialWorkAverage law beta work =\n Real.exp (-beta * deltaFreeEnergy)", + "statement_sha256": "a71655539a8fe7a95ee1cc965794d05302b8873cddb46b61abb1a771e6dc391f" + }, + "FEP.PathThermodynamics.finiteJarzynski_of_crooks": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "protocol" + ], + "role": "typed_binder", + "source": "(protocol : FinitePathProtocol Path)", + "type_source": "FinitePathProtocol Path", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[MeasurableSpace External]", - "type_source": "MeasurableSpace External", - "visibility": "instance" + "names": [ + "beta", + "deltaFreeEnergy" + ], + "role": "typed_binder", + "source": "(beta deltaFreeEnergy : ℝ)", + "type_source": "ℝ", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace Internal]", - "type_source": "DiscreteMeasurableSpace Internal", - "visibility": "instance" + "names": [ + "work" + ], + "role": "typed_binder", + "source": "(work : Path → ℝ)", + "type_source": "Path → ℝ", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace Sensory]", - "type_source": "DiscreteMeasurableSpace Sensory", - "visibility": "instance" + "names": [ + "hCrooks" + ], + "role": "typed_binder", + "source": "(hCrooks : HasCrooksRelation protocol beta deltaFreeEnergy work)", + "type_source": "HasCrooksRelation protocol beta deltaFreeEnergy work", + "visibility": "explicit" + } + ], + "conclusion": "exponentialWorkAverage protocol.forward beta work =\n Real.exp (-beta * deltaFreeEnergy)", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "Path", + "State" + ], + "role": "typed_binder", + "source": "{Path State : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace Active]", - "type_source": "DiscreteMeasurableSpace Active", + "source": "[Fintype Path]", + "type_source": "Fintype Path", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace External]", - "type_source": "DiscreteMeasurableSpace External", + "source": "[Fintype State]", + "type_source": "Fintype State", "visibility": "instance" } ], "declaration_mentions": [ { - "identifier": "embeddedConditionalPairKernel_eq_prod", - "qualified_name": "FEP.NativeBlanket.embeddedConditionalPairKernel_eq_prod", - "resolution": "exact or same-namespace source identifier", - "role": "proof_reference" - }, - { - "identifier": "embeddedLaw_joint_eq_compProd", - "qualified_name": "FEP.NativeBlanket.embeddedLaw_joint_eq_compProd", - "resolution": "exact or same-namespace source identifier", - "role": "proof_reference" - }, - { - "identifier": "embeddedLaw_map", - "qualified_name": "FEP.NativeBlanket.embeddedLaw_map", + "identifier": "finiteJarzynski_eq", + "qualified_name": "FEP.PathThermodynamics.finiteJarzynski_eq", "resolution": "exact or same-namespace source identifier", "role": "proof_reference" }, { - "identifier": "staticJoint_map_blanket", - "qualified_name": "FEP.NativeBlanket.staticJoint_map_blanket", + "identifier": "hasJarzynskiNormalization_of_crooks", + "qualified_name": "FEP.PathThermodynamics.hasJarzynskiNormalization_of_crooks", "resolution": "exact or same-namespace source identifier", "role": "proof_reference" } ], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.markov_blanket", - "Mathlib.MeasureTheory.Integral.Bochner.SumMeasure", - "Mathlib.Probability.Independence.Conditional", - "Mathlib.Probability.Kernel.Composition.Comp" + "FepSketches.finite_markov_dynamics", + "FepSketches.variational_duality" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.NativeBlanket", + "namespace": "FEP.PathThermodynamics", "namespace_variable_context": [ - "{Internal Sensory Active External : Type*}\n [Fintype Internal] [Fintype Sensory] [Fintype Active] [Fintype External]\n [MeasurableSpace Internal] [MeasurableSpace Sensory]\n [MeasurableSpace Active] [MeasurableSpace External]\n [DiscreteMeasurableSpace Internal] [DiscreteMeasurableSpace Sensory]\n [DiscreteMeasurableSpace Active] [DiscreteMeasurableSpace External]" - ], - "preceding_scope_directives": [ - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DiscreteMeasurableSpace β] in" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [MeasurableSpace Internal] [MeasurableSpace Sensory]" - }, - { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [MeasurableSpace Internal] [MeasurableSpace Sensory]" - } + "{Path State : Type*} [Fintype Path] [Fintype State]" ], - "qualified_name": "FEP.NativeBlanket.staticJoint_map_triple_factorization", - "source_line": 440, - "source_owner": "src/fep_lean/formal/native_blanket.lean", - "statement": "theorem staticJoint_map_triple_factorization\n (model : StaticModel Internal Sensory Active External) :\n (embeddedLaw (staticJoint model)).map blanketTripleCoordinate =\n (embeddedLaw (staticJoint model)).map blanketCoordinate ⊗ₘ\n (embeddedKernel model.internalGiven ×ₖ\n embeddedKernel model.externalGiven)", - "statement_sha256": "7adba43e42476c62aa650cae6bf875e985860169b4ee984c8c063ab0d1e490b8" + "preceding_scope_directives": [], + "qualified_name": "FEP.PathThermodynamics.finiteJarzynski_of_crooks", + "source_line": 257, + "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "statement": "theorem finiteJarzynski_of_crooks\n (protocol : FinitePathProtocol Path) (beta deltaFreeEnergy : ℝ)\n (work : Path → ℝ)\n (hCrooks : HasCrooksRelation protocol beta deltaFreeEnergy work) :\n exponentialWorkAverage protocol.forward beta work =\n Real.exp (-beta * deltaFreeEnergy)", + "statement_sha256": "6c6dc7947b45ea2292c0dc3dc611835a2ca328afc723eb40739ebcd26602ff40" }, - "FEP.NativeBlanket.staticJoint_rectangle_factorization": { + "FEP.PathThermodynamics.hasJarzynskiNormalization_of_crooks": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "model" + "protocol" ], "role": "typed_binder", - "source": "(model : StaticModel Internal Sensory Active External)", - "type_source": "StaticModel Internal Sensory Active External", + "source": "(protocol : FinitePathProtocol Path)", + "type_source": "FinitePathProtocol Path", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "blanket" + "beta", + "deltaFreeEnergy" ], "role": "typed_binder", - "source": "(blanket : Blanket Sensory Active)", - "type_source": "Blanket Sensory Active", + "source": "(beta deltaFreeEnergy : ℝ)", + "type_source": "ℝ", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "internal" + "work" ], "role": "typed_binder", - "source": "(internal : Internal)", - "type_source": "Internal", + "source": "(work : Path → ℝ)", + "type_source": "Path → ℝ", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "external" + "hCrooks" ], "role": "typed_binder", - "source": "(external : External)", - "type_source": "External", + "source": "(hCrooks : HasCrooksRelation protocol beta deltaFreeEnergy work)", + "type_source": "HasCrooksRelation protocol beta deltaFreeEnergy work", "visibility": "explicit" } ], - "conclusion": "embeddedLaw (staticJoint model)\n (blanketCoordinate ⁻¹' {blanket} ∩\n internalCoordinate ⁻¹' {internal} ∩\n externalCoordinate ⁻¹' {external}) =\n ENNReal.ofReal (model.blanketLaw blanket) *\n ENNReal.ofReal (model.internalGiven blanket internal) *\n ENNReal.ofReal (model.externalGiven blanket external)", + "conclusion": "HasJarzynskiNormalization protocol.forward beta deltaFreeEnergy work", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Internal", - "Sensory", - "Active", - "External" + "Path", + "State" ], "role": "typed_binder", - "source": "{Internal Sensory Active External : Type*}", + "source": "{Path State : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -82283,659 +88799,940 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Internal]", - "type_source": "Fintype Internal", + "source": "[Fintype Path]", + "type_source": "Fintype Path", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Sensory]", - "type_source": "Fintype Sensory", + "source": "[Fintype State]", + "type_source": "Fintype State", "visibility": "instance" - }, + } + ], + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.finite_markov_dynamics", + "FepSketches.variational_duality" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.PathThermodynamics", + "namespace_variable_context": [ + "{Path State : Type*} [Fintype Path] [Fintype State]" + ], + "preceding_scope_directives": [], + "qualified_name": "FEP.PathThermodynamics.hasJarzynskiNormalization_of_crooks", + "source_line": 237, + "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "statement": "theorem hasJarzynskiNormalization_of_crooks\n (protocol : FinitePathProtocol Path) (beta deltaFreeEnergy : ℝ)\n (work : Path → ℝ)\n (hCrooks : HasCrooksRelation protocol beta deltaFreeEnergy work) :\n HasJarzynskiNormalization protocol.forward beta deltaFreeEnergy work", + "statement_sha256": "27b3125171284c1c3b54c9d86eac281fe4d4c34faef5bcd7944cfd9101ca9dee" + }, + "FEP.PathThermodynamics.identityKernel_KL_equality": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Active]", - "type_source": "Fintype Active", + "source": "[DecidableEq State]", + "type_source": "DecidableEq State", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype External]", - "type_source": "Fintype External", - "visibility": "instance" + "names": [ + "actual", + "stationary" + ], + "role": "typed_binder", + "source": "(actual stationary : FiniteLaw State)", + "type_source": "FiniteLaw State", + "visibility": "explicit" + } + ], + "conclusion": "finiteKL\n ((FiniteKernel.identity : FiniteKernel State State).predictive actual)\n stationary = finiteKL actual stationary", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "Path", + "State" + ], + "role": "typed_binder", + "source": "{Path State : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[MeasurableSpace Internal]", - "type_source": "MeasurableSpace Internal", + "source": "[Fintype Path]", + "type_source": "Fintype Path", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[MeasurableSpace Sensory]", - "type_source": "MeasurableSpace Sensory", + "source": "[Fintype State]", + "type_source": "Fintype State", "visibility": "instance" + } + ], + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.finite_markov_dynamics", + "FepSketches.variational_duality" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.PathThermodynamics", + "namespace_variable_context": [ + "{Path State : Type*} [Fintype Path] [Fintype State]" + ], + "preceding_scope_directives": [], + "qualified_name": "FEP.PathThermodynamics.identityKernel_KL_equality", + "source_line": 366, + "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "statement": "theorem identityKernel_KL_equality [DecidableEq State]\n (actual stationary : FiniteLaw State) :\n finiteKL\n ((FiniteKernel.identity : FiniteKernel State State).predictive actual)\n stationary = finiteKL actual stationary", + "statement_sha256": "9c2e278d3a9400d79984636af95b1198d4c6c897c64ea4164bda3799f0fe4c49" + }, + "FEP.PathThermodynamics.integralFluctuation_eq_one": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "protocol" + ], + "role": "typed_binder", + "source": "(protocol : FinitePathProtocol Path)", + "type_source": "FinitePathProtocol Path", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hForward" + ], + "role": "typed_binder", + "source": "(hForward : ∀ path, 0 < protocol.forward path)", + "type_source": "∀ path, 0 < protocol.forward path", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hReverse" + ], + "role": "typed_binder", + "source": "(hReverse : ∀ path, 0 < protocol.reverseAligned path)", + "type_source": "∀ path, 0 < protocol.reverseAligned path", + "visibility": "explicit" + } + ], + "conclusion": "∑ path, protocol.forward path *\n Real.exp (-pathwiseEntropyProduction protocol path) = 1", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "Path", + "State" + ], + "role": "typed_binder", + "source": "{Path State : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[MeasurableSpace Active]", - "type_source": "MeasurableSpace Active", + "source": "[Fintype Path]", + "type_source": "Fintype Path", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[MeasurableSpace External]", - "type_source": "MeasurableSpace External", + "source": "[Fintype State]", + "type_source": "Fintype State", "visibility": "instance" + } + ], + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.finite_markov_dynamics", + "FepSketches.variational_duality" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.PathThermodynamics", + "namespace_variable_context": [ + "{Path State : Type*} [Fintype Path] [Fintype State]" + ], + "preceding_scope_directives": [], + "qualified_name": "FEP.PathThermodynamics.integralFluctuation_eq_one", + "source_line": 120, + "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "statement": "theorem integralFluctuation_eq_one\n (protocol : FinitePathProtocol Path)\n (hForward : ∀ path, 0 < protocol.forward path)\n (hReverse : ∀ path, 0 < protocol.reverseAligned path) :\n ∑ path, protocol.forward path *\n Real.exp (-pathwiseEntropyProduction protocol path) = 1", + "statement_sha256": "fcf7ad08f02d4e7bb47ff7c30904e1d8b06496d8b534f0cb23de9777f271e6f0" + }, + "FEP.PathThermodynamics.irreversibleBool_crooks": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [], + "conclusion": "HasCrooksRelation irreversibleBoolProtocol 1 0 irreversibleCrooksWork", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "Path", + "State" + ], + "role": "typed_binder", + "source": "{Path State : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace Internal]", - "type_source": "DiscreteMeasurableSpace Internal", + "source": "[Fintype Path]", + "type_source": "Fintype Path", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace Sensory]", - "type_source": "DiscreteMeasurableSpace Sensory", + "source": "[Fintype State]", + "type_source": "Fintype State", "visibility": "instance" + } + ], + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.finite_markov_dynamics", + "FepSketches.variational_duality" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.PathThermodynamics", + "namespace_variable_context": [ + "{Path State : Type*} [Fintype Path] [Fintype State]" + ], + "preceding_scope_directives": [], + "qualified_name": "FEP.PathThermodynamics.irreversibleBool_crooks", + "source_line": 420, + "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "statement": "theorem irreversibleBool_crooks :\n HasCrooksRelation irreversibleBoolProtocol 1 0 irreversibleCrooksWork", + "statement_sha256": "bc974c07abce87e801c11a33f64dcce666e2283d2c3e68c7bad1686b81ccb63a" + }, + "FEP.PathThermodynamics.irreversibleBool_entropyProduction_pos": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [], + "conclusion": "0 < entropyProduction irreversibleBoolProtocol", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "Path", + "State" + ], + "role": "typed_binder", + "source": "{Path State : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace Active]", - "type_source": "DiscreteMeasurableSpace Active", + "source": "[Fintype Path]", + "type_source": "Fintype Path", "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[DiscreteMeasurableSpace External]", - "type_source": "DiscreteMeasurableSpace External", + "source": "[Fintype State]", + "type_source": "Fintype State", "visibility": "instance" } ], "declaration_mentions": [ { - "identifier": "embeddedLaw_apply_singleton", - "qualified_name": "FEP.NativeBlanket.embeddedLaw_apply_singleton", - "resolution": "exact or same-namespace source identifier", + "candidates": [ + "FEP.FiniteInformation.finiteKL_eq_zero_iff" + ], + "identifier": "finiteKL_eq_zero_iff", + "resolution": "unresolved lexical scope", "role": "proof_reference" }, { "candidates": [ - "FEP.MarkovBlanket.staticJoint_factorization" + "FEP.FiniteInformation.finiteKL_nonneg" ], - "identifier": "staticJoint_factorization", + "identifier": "finiteKL_nonneg", "resolution": "unresolved lexical scope", "role": "proof_reference" + }, + { + "identifier": "irreversibleForward_ne_reverse", + "qualified_name": "FEP.PathThermodynamics.irreversibleForward_ne_reverse", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" } ], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "FepSketches.markov_blanket", - "Mathlib.MeasureTheory.Integral.Bochner.SumMeasure", - "Mathlib.Probability.Independence.Conditional", - "Mathlib.Probability.Kernel.Composition.Comp" + "FepSketches.finite_markov_dynamics", + "FepSketches.variational_duality" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.NativeBlanket", + "namespace": "FEP.PathThermodynamics", "namespace_variable_context": [ - "{Internal Sensory Active External : Type*}\n [Fintype Internal] [Fintype Sensory] [Fintype Active] [Fintype External]\n [MeasurableSpace Internal] [MeasurableSpace Sensory]\n [MeasurableSpace Active] [MeasurableSpace External]\n [DiscreteMeasurableSpace Internal] [DiscreteMeasurableSpace Sensory]\n [DiscreteMeasurableSpace Active] [DiscreteMeasurableSpace External]" + "{Path State : Type*} [Fintype Path] [Fintype State]" ], - "preceding_scope_directives": [ + "preceding_scope_directives": [], + "qualified_name": "FEP.PathThermodynamics.irreversibleBool_entropyProduction_pos", + "source_line": 403, + "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "statement": "theorem irreversibleBool_entropyProduction_pos :\n 0 < entropyProduction irreversibleBoolProtocol", + "statement_sha256": "7613d1a48af9e4af0e71d3625ec05098e1edebeddc07a4987e5de8bfb4ac754a" + }, + "FEP.PathThermodynamics.irreversibleCrooksWork_nonconstant": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [], + "conclusion": "irreversibleCrooksWork true ≠ irreversibleCrooksWork false", + "context_binders": [ { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [DiscreteMeasurableSpace β] in" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "Path", + "State" + ], + "role": "typed_binder", + "source": "{Path State : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [MeasurableSpace Internal] [MeasurableSpace Sensory]" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Path]", + "type_source": "Fintype Path", + "visibility": "instance" }, { - "directive": "omit", - "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", - "source": "omit [MeasurableSpace Internal] [MeasurableSpace Sensory]" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype State]", + "type_source": "Fintype State", + "visibility": "instance" } ], - "qualified_name": "FEP.NativeBlanket.staticJoint_rectangle_factorization", - "source_line": 471, - "source_owner": "src/fep_lean/formal/native_blanket.lean", - "statement": "theorem staticJoint_rectangle_factorization\n (model : StaticModel Internal Sensory Active External)\n (blanket : Blanket Sensory Active) (internal : Internal)\n (external : External) :\n embeddedLaw (staticJoint model)\n (blanketCoordinate ⁻¹' {blanket} ∩\n internalCoordinate ⁻¹' {internal} ∩\n externalCoordinate ⁻¹' {external}) =\n ENNReal.ofReal (model.blanketLaw blanket) *\n ENNReal.ofReal (model.internalGiven blanket internal) *\n ENNReal.ofReal (model.externalGiven blanket external)", - "statement_sha256": "fb970a984330d993828d9fb40b25a7a2aea9a0af8c8f9cd53301cb4fb5a2fd35" + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.finite_markov_dynamics", + "FepSketches.variational_duality" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.PathThermodynamics", + "namespace_variable_context": [ + "{Path State : Type*} [Fintype Path] [Fintype State]" + ], + "preceding_scope_directives": [], + "qualified_name": "FEP.PathThermodynamics.irreversibleCrooksWork_nonconstant", + "source_line": 429, + "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "statement": "theorem irreversibleCrooksWork_nonconstant :\n irreversibleCrooksWork true ≠ irreversibleCrooksWork false", + "statement_sha256": "71f430969fca9fc684d8742ea1d0ab6fb57ed4442ccc8ce0ba27042890ff80b7" }, - "FEP.NessFlow.detailed_balance_iff": { + "FEP.PathThermodynamics.irreversibleForward_ne_reverse": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [ + "binders": [], + "conclusion": "irreversibleForward ≠ irreversibleReverse", + "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "ω" + "Path", + "State" ], "role": "typed_binder", - "source": "(ω : ℝ)", - "type_source": "ℝ", - "visibility": "explicit" + "source": "{Path State : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "g" - ], - "role": "typed_binder", - "source": "(g : Fin 2 → ℝ)", - "type_source": "Fin 2 → ℝ", - "visibility": "explicit" + "names": [], + "role": "instance_requirement", + "source": "[Fintype Path]", + "type_source": "Fintype Path", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "hg" - ], - "role": "typed_binder", - "source": "(hg : g 0 ≠ 0 ∨ g 1 ≠ 0)", - "type_source": "g 0 ≠ 0 ∨ g 1 ≠ 0", - "visibility": "explicit" + "names": [], + "role": "instance_requirement", + "source": "[Fintype State]", + "type_source": "Fintype State", + "visibility": "instance" } ], - "conclusion": "solenoidal ω g = 0 ↔ ω = 0", - "context_binders": [], "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "Mathlib.Algebra.Order.Ring.Unbundled.Basic", - "Mathlib.Basic.Real.Basic", - "Mathlib.Tactic" + "FepSketches.finite_markov_dynamics", + "FepSketches.variational_duality" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.NessFlow", - "namespace_variable_context": [], + "namespace": "FEP.PathThermodynamics", + "namespace_variable_context": [ + "{Path State : Type*} [Fintype Path] [Fintype State]" + ], "preceding_scope_directives": [], - "qualified_name": "FEP.NessFlow.detailed_balance_iff", - "source_line": 92, - "source_owner": "src/fep_lean/formal/ness_flow.lean", - "statement": "theorem detailed_balance_iff (ω : ℝ) (g : Fin 2 → ℝ) (hg : g 0 ≠ 0 ∨ g 1 ≠ 0) :\n solenoidal ω g = 0 ↔ ω = 0", - "statement_sha256": "c3ae16c78df071e45d673df3992eeba42d718270626a3ad0c996ffc6f96f844e" + "qualified_name": "FEP.PathThermodynamics.irreversibleForward_ne_reverse", + "source_line": 395, + "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "statement": "theorem irreversibleForward_ne_reverse :\n irreversibleForward ≠ irreversibleReverse", + "statement_sha256": "74bd318dd6ab38ed4b14aa0850b01c141fd693212ae97712e7209695c130799a" }, - "FEP.NessFlow.entropyProduction_eq_zero_iff": { + "FEP.PathThermodynamics.irreversibleForward_unitWork_not_jarzynski": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [ + "binders": [], + "conclusion": "¬ HasJarzynskiNormalization irreversibleBoolProtocol.forward 1 0\n (fun _ => 1)", + "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "precision", - "ω", - "γ" + "Path", + "State" ], "role": "typed_binder", - "source": "(precision ω γ : ℝ)", - "type_source": "ℝ", - "visibility": "explicit" + "source": "{Path State : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "hp" - ], - "role": "typed_binder", - "source": "(hp : 0 < precision)", - "type_source": "0 < precision", - "visibility": "explicit" + "names": [], + "role": "instance_requirement", + "source": "[Fintype Path]", + "type_source": "Fintype Path", + "visibility": "instance" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "hg" - ], - "role": "typed_binder", - "source": "(hg : 0 < γ)", - "type_source": "0 < γ", - "visibility": "explicit" + "names": [], + "role": "instance_requirement", + "source": "[Fintype State]", + "type_source": "Fintype State", + "visibility": "instance" } ], - "conclusion": "entropyProduction precision ω γ = 0 ↔ ω = 0", - "context_binders": [], "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "Mathlib.Algebra.Order.Ring.Unbundled.Basic", - "Mathlib.Basic.Real.Basic", - "Mathlib.Tactic" + "FepSketches.finite_markov_dynamics", + "FepSketches.variational_duality" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.NessFlow", - "namespace_variable_context": [], + "namespace": "FEP.PathThermodynamics", + "namespace_variable_context": [ + "{Path State : Type*} [Fintype Path] [Fintype State]" + ], "preceding_scope_directives": [], - "qualified_name": "FEP.NessFlow.entropyProduction_eq_zero_iff", - "source_line": 126, - "source_owner": "src/fep_lean/formal/ness_flow.lean", - "statement": "theorem entropyProduction_eq_zero_iff (precision ω γ : ℝ)\n (hp : 0 < precision) (hg : 0 < γ) : entropyProduction precision ω γ = 0 ↔ ω = 0", - "statement_sha256": "c496ae321867396c84ba79c532378a1d8aab9e36b5c249064222e9a3a186518f" + "qualified_name": "FEP.PathThermodynamics.irreversibleForward_unitWork_not_jarzynski", + "source_line": 454, + "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "statement": "theorem irreversibleForward_unitWork_not_jarzynski :\n ¬ HasJarzynskiNormalization irreversibleBoolProtocol.forward 1 0\n (fun _ => 1)", + "statement_sha256": "335368feaf773449832f1186e402e09da48ee37ee05d70c34dfe9c534f7431cb" }, - "FEP.NessFlow.entropyProduction_nonneg": { + "FEP.PathThermodynamics.isInvariant_of_isReversible": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "precision", - "ω", - "γ" + "law" ], "role": "typed_binder", - "source": "(precision ω γ : ℝ)", - "type_source": "ℝ", + "source": "(law : FiniteLaw State)", + "type_source": "FiniteLaw State", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "hp" + "kernel" ], "role": "typed_binder", - "source": "(hp : 0 ≤ precision)", - "type_source": "0 ≤ precision", + "source": "(kernel : FiniteKernel State State)", + "type_source": "FiniteKernel State State", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "hg" + "hReversible" ], "role": "typed_binder", - "source": "(hg : 0 ≤ γ)", - "type_source": "0 ≤ γ", + "source": "(hReversible : IsReversible law kernel)", + "type_source": "IsReversible law kernel", "visibility": "explicit" } ], - "conclusion": "0 ≤ entropyProduction precision ω γ", - "context_binders": [], + "conclusion": "FEP.FiniteMarkovDynamics.IsInvariant law kernel", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "Path", + "State" + ], + "role": "typed_binder", + "source": "{Path State : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Path]", + "type_source": "Fintype Path", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype State]", + "type_source": "Fintype State", + "visibility": "instance" + } + ], "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "Mathlib.Algebra.Order.Ring.Unbundled.Basic", - "Mathlib.Basic.Real.Basic", - "Mathlib.Tactic" + "FepSketches.finite_markov_dynamics", + "FepSketches.variational_duality" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.NessFlow", - "namespace_variable_context": [], + "namespace": "FEP.PathThermodynamics", + "namespace_variable_context": [ + "{Path State : Type*} [Fintype Path] [Fintype State]" + ], "preceding_scope_directives": [], - "qualified_name": "FEP.NessFlow.entropyProduction_nonneg", - "source_line": 118, - "source_owner": "src/fep_lean/formal/ness_flow.lean", - "statement": "theorem entropyProduction_nonneg (precision ω γ : ℝ)\n (hp : 0 ≤ precision) (hg : 0 ≤ γ) : 0 ≤ entropyProduction precision ω γ", - "statement_sha256": "d95b89433ca338dd7a73db9344b37ea64b02f662a4ee15053a0ad64110e5446b" + "qualified_name": "FEP.PathThermodynamics.isInvariant_of_isReversible", + "source_line": 328, + "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "statement": "theorem isInvariant_of_isReversible\n (law : FiniteLaw State) (kernel : FiniteKernel State State)\n (hReversible : IsReversible law kernel) :\n FEP.FiniteMarkovDynamics.IsInvariant law kernel", + "statement_sha256": "830a07291304aff920362afe6d693ccccba22e4bef4dc72cacf8913a5c79072a" }, - "FEP.NessFlow.flow_work_eq_dissipation": { + "FEP.PathThermodynamics.jarzynski_without_crooks": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [ + "binders": [], + "conclusion": "HasJarzynskiNormalization irreversibleBoolProtocol.forward 1 0\n (fun _ => 0) ∧\n ¬ HasCrooksRelation irreversibleBoolProtocol 1 0 (fun _ => 0)", + "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "γ", - "ω" + "Path", + "State" ], "role": "typed_binder", - "source": "(γ ω : ℝ)", - "type_source": "ℝ", - "visibility": "explicit" + "source": "{Path State : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "g" - ], - "role": "typed_binder", - "source": "(g : Fin 2 → ℝ)", - "type_source": "Fin 2 → ℝ", - "visibility": "explicit" + "names": [], + "role": "instance_requirement", + "source": "[Fintype Path]", + "type_source": "Fintype Path", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype State]", + "type_source": "Fintype State", + "visibility": "instance" } ], - "conclusion": "dot (flow γ ω g) g = -γ * normSq g", - "context_binders": [], "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "Mathlib.Algebra.Order.Ring.Unbundled.Basic", - "Mathlib.Basic.Real.Basic", - "Mathlib.Tactic" + "FepSketches.finite_markov_dynamics", + "FepSketches.variational_duality" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.NessFlow", - "namespace_variable_context": [], + "namespace": "FEP.PathThermodynamics", + "namespace_variable_context": [ + "{Path State : Type*} [Fintype Path] [Fintype State]" + ], "preceding_scope_directives": [], - "qualified_name": "FEP.NessFlow.flow_work_eq_dissipation", - "source_line": 77, - "source_owner": "src/fep_lean/formal/ness_flow.lean", - "statement": "theorem flow_work_eq_dissipation (γ ω : ℝ) (g : Fin 2 → ℝ) :\n dot (flow γ ω g) g = -γ * normSq g", - "statement_sha256": "a4e911e860ba95acd91517f17b356b8e55e4b8cdd8054311d24815fd29e9696b" + "qualified_name": "FEP.PathThermodynamics.jarzynski_without_crooks", + "source_line": 438, + "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "statement": "theorem jarzynski_without_crooks :\n HasJarzynskiNormalization irreversibleBoolProtocol.forward 1 0\n (fun _ => 0) ∧\n ¬ HasCrooksRelation irreversibleBoolProtocol 1 0 (fun _ => 0)", + "statement_sha256": "3edcfef3421f01494e50fcf721fe7aa4e2079ac0061d58201fea32511f89736c" }, - "FEP.NessFlow.freeEnergy_non_increasing": { + "FEP.PathThermodynamics.localAffinity_zero_of_reversible": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "γ" + "kernel" ], "role": "typed_binder", - "source": "(γ : ℝ)", - "type_source": "ℝ", + "source": "(kernel : FiniteKernel S S)", + "type_source": "FiniteKernel S S", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "hγ" + "law" ], "role": "typed_binder", - "source": "(hγ : 0 ≤ γ)", - "type_source": "0 ≤ γ", + "source": "(law : FiniteLaw S)", + "type_source": "FiniteLaw S", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "g" + "hReversible" ], "role": "typed_binder", - "source": "(g : Fin 2 → ℝ)", - "type_source": "Fin 2 → ℝ", + "source": "(hReversible : IsReversible law kernel)", + "type_source": "IsReversible law kernel", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "source", + "target" + ], + "role": "typed_binder", + "source": "(source target : S)", + "type_source": "S", "visibility": "explicit" } ], - "conclusion": "dot (flow γ ω g) g ≤ 0", - "context_binders": [], - "declaration_mentions": [ + "conclusion": "localAffinity law kernel source target = 0", + "context_binders": [ { - "identifier": "flow_work_eq_dissipation", - "qualified_name": "FEP.NessFlow.flow_work_eq_dissipation", - "resolution": "exact or same-namespace source identifier", - "role": "proof_reference" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "Path", + "State" + ], + "role": "typed_binder", + "source": "{Path State : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { - "identifier": "normSq_nonneg", - "qualified_name": "FEP.NessFlow.normSq_nonneg", - "resolution": "exact or same-namespace source identifier", - "role": "proof_reference" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Path]", + "type_source": "Fintype Path", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype State]", + "type_source": "Fintype State", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "S" + ], + "role": "typed_binder", + "source": "{S : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype S]", + "type_source": "Fintype S", + "visibility": "instance" } ], + "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "Mathlib.Algebra.Order.Ring.Unbundled.Basic", - "Mathlib.Basic.Real.Basic", - "Mathlib.Tactic" + "FepSketches.finite_markov_dynamics", + "FepSketches.variational_duality" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.NessFlow", - "namespace_variable_context": [], - "preceding_scope_directives": [], - "qualified_name": "FEP.NessFlow.freeEnergy_non_increasing", - "source_line": 83, - "source_owner": "src/fep_lean/formal/ness_flow.lean", - "statement": "theorem freeEnergy_non_increasing (γ : ℝ) (hγ : 0 ≤ γ) (g : Fin 2 → ℝ) :\n dot (flow γ ω g) g ≤ 0", - "statement_sha256": "c5cc44b7f1ce5214642b92b6a7141a6ba776ab423f5c5b257a95e408e6cbaa38" + "namespace": "FEP.PathThermodynamics", + "namespace_variable_context": [ + "{Path State : Type*} [Fintype Path] [Fintype State]", + "{S : Type*} [Fintype S]" + ], + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Fintype S] in" + } + ], + "qualified_name": "FEP.PathThermodynamics.localAffinity_zero_of_reversible", + "source_line": 823, + "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "statement": "theorem localAffinity_zero_of_reversible\n (kernel : FiniteKernel S S) (law : FiniteLaw S)\n (hReversible : IsReversible law kernel) (source target : S) :\n localAffinity law kernel source target = 0", + "statement_sha256": "08da27fc32de1558496ee795bb41a7a577b7ad3ecd60e8ec6057b2b4c5eed767" }, - "FEP.NessFlow.ness_signature": { + "FEP.PathThermodynamics.localAffinity_zero_reverseRate_boundary": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "ω" + "law" ], "role": "typed_binder", - "source": "(ω : ℝ)", - "type_source": "ℝ", + "source": "(law : FiniteLaw State)", + "type_source": "FiniteLaw State", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "g" + "kernel" ], "role": "typed_binder", - "source": "(g : Fin 2 → ℝ)", - "type_source": "Fin 2 → ℝ", + "source": "(kernel : FiniteKernel State State)", + "type_source": "FiniteKernel State State", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "hg" + "source", + "target" ], "role": "typed_binder", - "source": "(hg : g 0 ≠ 0 ∨ g 1 ≠ 0)", - "type_source": "g 0 ≠ 0 ∨ g 1 ≠ 0", + "source": "(source target : State)", + "type_source": "State", "visibility": "explicit" - } - ], - "conclusion": "(solenoidal ω g = 0) ↔ (ω = 0)", - "context_binders": [], - "declaration_mentions": [ + }, { - "identifier": "detailed_balance_iff", - "qualified_name": "FEP.NessFlow.detailed_balance_iff", - "resolution": "exact or same-namespace source identifier", - "role": "proof_reference" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hZero" + ], + "role": "typed_binder", + "source": "(hZero : kernel target source = 0)", + "type_source": "kernel target source = 0", + "visibility": "explicit" } ], - "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", - "import_context": [ - "Mathlib.Algebra.Order.Ring.Unbundled.Basic", - "Mathlib.Basic.Real.Basic", - "Mathlib.Tactic" - ], - "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.NessFlow", - "namespace_variable_context": [], - "preceding_scope_directives": [], - "qualified_name": "FEP.NessFlow.ness_signature", - "source_line": 154, - "source_owner": "src/fep_lean/formal/ness_flow.lean", - "statement": "theorem ness_signature (ω : ℝ) (g : Fin 2 → ℝ) (hg : g 0 ≠ 0 ∨ g 1 ≠ 0) :\n (solenoidal ω g = 0) ↔ (ω = 0)", - "statement_sha256": "5f30d878443eef99e928ecb6dafbab9d83951494f3cb6bb56c0845af990f696e" - }, - "FEP.NessFlow.normSq_nonneg": { - "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [ + "conclusion": "localAffinity law kernel source target = 0", + "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "v" + "Path", + "State" ], "role": "typed_binder", - "source": "(v : Fin 2 → ℝ)", - "type_source": "Fin 2 → ℝ", - "visibility": "explicit" + "source": "{Path State : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Path]", + "type_source": "Fintype Path", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype State]", + "type_source": "Fintype State", + "visibility": "instance" } ], - "conclusion": "0 ≤ normSq v", - "context_binders": [], "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ - "Mathlib.Algebra.Order.Ring.Unbundled.Basic", - "Mathlib.Basic.Real.Basic", - "Mathlib.Tactic" + "FepSketches.finite_markov_dynamics", + "FepSketches.variational_duality" ], "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.NessFlow", - "namespace_variable_context": [], + "namespace": "FEP.PathThermodynamics", + "namespace_variable_context": [ + "{Path State : Type*} [Fintype Path] [Fintype State]" + ], "preceding_scope_directives": [], - "qualified_name": "FEP.NessFlow.normSq_nonneg", - "source_line": 42, - "source_owner": "src/fep_lean/formal/ness_flow.lean", - "statement": "theorem normSq_nonneg (v : Fin 2 → ℝ) : 0 ≤ normSq v", - "statement_sha256": "fafd19ff3801f506a4b0844cee2d0e8a314bbde6d55fde8a73fb682016bf6b96" + "qualified_name": "FEP.PathThermodynamics.localAffinity_zero_reverseRate_boundary", + "source_line": 319, + "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "statement": "theorem localAffinity_zero_reverseRate_boundary\n (law : FiniteLaw State) (kernel : FiniteKernel State State)\n (source target : State) (hZero : kernel target source = 0) :\n localAffinity law kernel source target = 0", + "statement_sha256": "2f218319679dc3a5f9d6e9c6d1334f725c9d6c80a4795b2da31e7e40ebbf9baa" }, - "FEP.NessFlow.solenoidal_antisymm": { + "FEP.PathThermodynamics.localDetailedBalance_current_zero": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "ω" + "law" ], "role": "typed_binder", - "source": "(ω : ℝ)", - "type_source": "ℝ", + "source": "(law : FiniteLaw State)", + "type_source": "FiniteLaw State", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "v", - "w" + "kernel" ], "role": "typed_binder", - "source": "(v w : Fin 2 → ℝ)", - "type_source": "Fin 2 → ℝ", + "source": "(kernel : FiniteKernel State State)", + "type_source": "FiniteKernel State State", "visibility": "explicit" - } - ], - "conclusion": "dot (solenoidal ω v) w = -dot (solenoidal ω w) v", - "context_binders": [], - "declaration_mentions": [], - "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", - "import_context": [ - "Mathlib.Algebra.Order.Ring.Unbundled.Basic", - "Mathlib.Basic.Real.Basic", - "Mathlib.Tactic" - ], - "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.NessFlow", - "namespace_variable_context": [], - "preceding_scope_directives": [], - "qualified_name": "FEP.NessFlow.solenoidal_antisymm", - "source_line": 54, - "source_owner": "src/fep_lean/formal/ness_flow.lean", - "statement": "theorem solenoidal_antisymm (ω : ℝ) (v w : Fin 2 → ℝ) :\n dot (solenoidal ω v) w = -dot (solenoidal ω w) v", - "statement_sha256": "8c4c8034aa5c0b300f1c02973ac72b8023aafdf206661f3bb7d1b1f1c2b4f6ff" - }, - "FEP.NessFlow.solenoidal_orthogonal": { - "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [ + }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "ω" + "hReversible" ], "role": "typed_binder", - "source": "(ω : ℝ)", - "type_source": "ℝ", + "source": "(hReversible : IsReversible law kernel)", + "type_source": "IsReversible law kernel", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "g" + "source", + "target" ], "role": "typed_binder", - "source": "(g : Fin 2 → ℝ)", - "type_source": "Fin 2 → ℝ", + "source": "(source target : State)", + "type_source": "State", "visibility": "explicit" } ], - "conclusion": "dot (solenoidal ω g) g = 0", - "context_binders": [], - "declaration_mentions": [], - "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", - "import_context": [ - "Mathlib.Algebra.Order.Ring.Unbundled.Basic", - "Mathlib.Basic.Real.Basic", - "Mathlib.Tactic" - ], - "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.NessFlow", - "namespace_variable_context": [], - "preceding_scope_directives": [], - "qualified_name": "FEP.NessFlow.solenoidal_orthogonal", - "source_line": 61, - "source_owner": "src/fep_lean/formal/ness_flow.lean", - "statement": "theorem solenoidal_orthogonal (ω : ℝ) (g : Fin 2 → ℝ) :\n dot (solenoidal ω g) g = 0", - "statement_sha256": "14982221cb83c0d573a0b5094daf2d09a33bd6230d0726f98410cb1427f93208" - }, - "FEP.PathThermodynamics.crooks_of_entropyProduction": { - "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [ + "conclusion": "probabilityCurrent law kernel source target = 0", + "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "protocol" + "Path", + "State" ], "role": "typed_binder", - "source": "(protocol : FinitePathProtocol Path)", - "type_source": "FinitePathProtocol Path", - "visibility": "explicit" + "source": "{Path State : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "beta", - "deltaFreeEnergy" - ], - "role": "typed_binder", - "source": "(beta deltaFreeEnergy : ℝ)", - "type_source": "ℝ", - "visibility": "explicit" + "names": [], + "role": "instance_requirement", + "source": "[Fintype Path]", + "type_source": "Fintype Path", + "visibility": "instance" }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype State]", + "type_source": "Fintype State", + "visibility": "instance" + } + ], + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.finite_markov_dynamics", + "FepSketches.variational_duality" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.PathThermodynamics", + "namespace_variable_context": [ + "{Path State : Type*} [Fintype Path] [Fintype State]" + ], + "preceding_scope_directives": [], + "qualified_name": "FEP.PathThermodynamics.localDetailedBalance_current_zero", + "source_line": 304, + "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "statement": "theorem localDetailedBalance_current_zero\n (law : FiniteLaw State) (kernel : FiniteKernel State State)\n (hReversible : IsReversible law kernel) (source target : State) :\n probabilityCurrent law kernel source target = 0", + "statement_sha256": "e88f4388b57888276f96543dd122480d3cab967c2128c58be1fb827c13cb9e59" + }, + "FEP.PathThermodynamics.markovPathLaw_eq_reverse_of_reversible": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "hBeta" + "kernel" ], "role": "typed_binder", - "source": "(hBeta : 0 < beta)", - "type_source": "0 < beta", + "source": "(kernel : FiniteKernel S S)", + "type_source": "FiniteKernel S S", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "hForward" + "law" ], "role": "typed_binder", - "source": "(hForward : ∀ path, 0 < protocol.forward path)", - "type_source": "∀ path, 0 < protocol.forward path", + "source": "(law : FiniteLaw S)", + "type_source": "FiniteLaw S", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "hReverse" + "hReversible" ], "role": "typed_binder", - "source": "(hReverse : ∀ path, 0 < protocol.reverseAligned path)", - "type_source": "∀ path, 0 < protocol.reverseAligned path", + "source": "(hReversible : IsReversible law kernel)", + "type_source": "IsReversible law kernel", "visibility": "explicit" } ], - "conclusion": "HasCrooksRelation protocol beta deltaFreeEnergy\n (fun path =>\n deltaFreeEnergy + pathwiseEntropyProduction protocol path / beta)", + "conclusion": "markovPathLaw kernel law 1 = markovReversePathLaw kernel law 1", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -82963,12 +89760,36 @@ "source": "[Fintype State]", "type_source": "Fintype State", "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "S" + ], + "role": "typed_binder", + "source": "{S : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype S]", + "type_source": "Fintype S", + "visibility": "instance" } ], "declaration_mentions": [ { - "identifier": "detailedFluctuation_identity", - "qualified_name": "FEP.PathThermodynamics.detailedFluctuation_identity", + "identifier": "markovPathMass_one", + "qualified_name": "FEP.PathThermodynamics.markovPathMass_one", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + }, + { + "identifier": "markovReverseMass_one", + "qualified_name": "FEP.PathThermodynamics.markovReverseMass_one", "resolution": "exact or same-namespace source identifier", "role": "proof_reference" } @@ -82981,46 +89802,53 @@ "line_coordinate_kind": "formal_resource_file", "namespace": "FEP.PathThermodynamics", "namespace_variable_context": [ - "{Path State : Type*} [Fintype Path] [Fintype State]" + "{Path State : Type*} [Fintype Path] [Fintype State]", + "{S : Type*} [Fintype S]" ], - "preceding_scope_directives": [], - "qualified_name": "FEP.PathThermodynamics.crooks_of_entropyProduction", - "source_line": 270, + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Fintype S] in" + } + ], + "qualified_name": "FEP.PathThermodynamics.markovPathLaw_eq_reverse_of_reversible", + "source_line": 799, "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", - "statement": "theorem crooks_of_entropyProduction\n (protocol : FinitePathProtocol Path) (beta deltaFreeEnergy : ℝ)\n (hBeta : 0 < beta)\n (hForward : ∀ path, 0 < protocol.forward path)\n (hReverse : ∀ path, 0 < protocol.reverseAligned path) :\n HasCrooksRelation protocol beta deltaFreeEnergy\n (fun path =>\n deltaFreeEnergy + pathwiseEntropyProduction protocol path / beta)", - "statement_sha256": "b595a96433ec5d7ea56ae505084e2fe0e2877e5d2306e7beb0cfbe080748a687" + "statement": "theorem markovPathLaw_eq_reverse_of_reversible\n (kernel : FiniteKernel S S) (law : FiniteLaw S)\n (hReversible : IsReversible law kernel) :\n markovPathLaw kernel law 1 = markovReversePathLaw kernel law 1", + "statement_sha256": "fb9f33dbcf413fd8ac144e5862e4bde4ccce869874bdb2c69efb6fe1424ff69e" }, - "FEP.PathThermodynamics.detailedFluctuation_identity": { + "FEP.PathThermodynamics.markovPathMass_nonneg": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "protocol" + "kernel" ], "role": "typed_binder", - "source": "(protocol : FinitePathProtocol Path)", - "type_source": "FinitePathProtocol Path", + "source": "(kernel : FiniteKernel S S)", + "type_source": "FiniteKernel S S", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "hForward" + "initial" ], "role": "typed_binder", - "source": "(hForward : ∀ path, 0 < protocol.forward path)", - "type_source": "∀ path, 0 < protocol.forward path", + "source": "(initial : FiniteLaw S)", + "type_source": "FiniteLaw S", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "hReverse" + "n" ], "role": "typed_binder", - "source": "(hReverse : ∀ path, 0 < protocol.reverseAligned path)", - "type_source": "∀ path, 0 < protocol.reverseAligned path", + "source": "(n : ℕ)", + "type_source": "ℕ", "visibility": "explicit" }, { @@ -83029,12 +89857,12 @@ "path" ], "role": "typed_binder", - "source": "(path : Path)", - "type_source": "Path", + "source": "(path : Fin (n + 1) → S)", + "type_source": "Fin (n + 1) → S", "visibility": "explicit" } ], - "conclusion": "protocol.reverseAligned path *\n Real.exp (pathwiseEntropyProduction protocol path) =\n protocol.forward path", + "conclusion": "0 ≤ markovPathMass kernel initial n path", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -83062,6 +89890,24 @@ "source": "[Fintype State]", "type_source": "Fintype State", "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "S" + ], + "role": "typed_binder", + "source": "{S : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype S]", + "type_source": "Fintype S", + "visibility": "instance" } ], "declaration_mentions": [], @@ -83073,50 +89919,51 @@ "line_coordinate_kind": "formal_resource_file", "namespace": "FEP.PathThermodynamics", "namespace_variable_context": [ - "{Path State : Type*} [Fintype Path] [Fintype State]" + "{Path State : Type*} [Fintype Path] [Fintype State]", + "{S : Type*} [Fintype S]" ], "preceding_scope_directives": [], - "qualified_name": "FEP.PathThermodynamics.detailedFluctuation_identity", - "source_line": 106, + "qualified_name": "FEP.PathThermodynamics.markovPathMass_nonneg", + "source_line": 511, "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", - "statement": "theorem detailedFluctuation_identity\n (protocol : FinitePathProtocol Path)\n (hForward : ∀ path, 0 < protocol.forward path)\n (hReverse : ∀ path, 0 < protocol.reverseAligned path) (path : Path) :\n protocol.reverseAligned path *\n Real.exp (pathwiseEntropyProduction protocol path) =\n protocol.forward path", - "statement_sha256": "e242f2fa542e8a6f5cecc1e1a7261fccb7b67aaa4cb8e9d73a41182107fcea3b" + "statement": "theorem markovPathMass_nonneg (kernel : FiniteKernel S S)\n (initial : FiniteLaw S) (n : ℕ) (path : Fin (n + 1) → S) :\n 0 ≤ markovPathMass kernel initial n path", + "statement_sha256": "1cc9bea7835c9b3875421537b1aa3ff9fb64ebd9ac73540306387a348def926a" }, - "FEP.PathThermodynamics.entropyProduction_eq_expected_logRatio": { + "FEP.PathThermodynamics.markovPathMass_one": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "protocol" + "kernel" ], "role": "typed_binder", - "source": "(protocol : FinitePathProtocol Path)", - "type_source": "FinitePathProtocol Path", + "source": "(kernel : FiniteKernel S S)", + "type_source": "FiniteKernel S S", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "hForward" + "initial" ], "role": "typed_binder", - "source": "(hForward : ∀ path, 0 < protocol.forward path)", - "type_source": "∀ path, 0 < protocol.forward path", + "source": "(initial : FiniteLaw S)", + "type_source": "FiniteLaw S", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "hReverse" + "path" ], "role": "typed_binder", - "source": "(hReverse : ∀ path, 0 < protocol.reverseAligned path)", - "type_source": "∀ path, 0 < protocol.reverseAligned path", + "source": "(path : Fin 2 → S)", + "type_source": "Fin 2 → S", "visibility": "explicit" } ], - "conclusion": "entropyProduction protocol =\n ∑ path, protocol.forward path * pathwiseEntropyProduction protocol path", + "conclusion": "markovPathMass kernel initial 1 path = initial (path 0) * kernel (path 0) (path 1)", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -83144,18 +89991,27 @@ "source": "[Fintype State]", "type_source": "Fintype State", "visibility": "instance" - } - ], - "declaration_mentions": [ + }, { - "candidates": [ - "FEP.FiniteInformation.finiteKL_eq_crossEntropy_sub_entropy" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "S" ], - "identifier": "finiteKL_eq_crossEntropy_sub_entropy", - "resolution": "unresolved lexical scope", - "role": "proof_reference" + "role": "typed_binder", + "source": "{S : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype S]", + "type_source": "Fintype S", + "visibility": "instance" } ], + "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ "FepSketches.finite_markov_dynamics", @@ -83164,30 +90020,87 @@ "line_coordinate_kind": "formal_resource_file", "namespace": "FEP.PathThermodynamics", "namespace_variable_context": [ - "{Path State : Type*} [Fintype Path] [Fintype State]" + "{Path State : Type*} [Fintype Path] [Fintype State]", + "{S : Type*} [Fintype S]" ], - "preceding_scope_directives": [], - "qualified_name": "FEP.PathThermodynamics.entropyProduction_eq_expected_logRatio", - "source_line": 87, + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Fintype S] in" + } + ], + "qualified_name": "FEP.PathThermodynamics.markovPathMass_one", + "source_line": 683, "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", - "statement": "theorem entropyProduction_eq_expected_logRatio\n (protocol : FinitePathProtocol Path)\n (hForward : ∀ path, 0 < protocol.forward path)\n (hReverse : ∀ path, 0 < protocol.reverseAligned path) :\n entropyProduction protocol =\n ∑ path, protocol.forward path * pathwiseEntropyProduction protocol path", - "statement_sha256": "abd39ea403d5dacc3fd3ff655a7cd97eec99aaf1594ab32fac663db3ab4bf1ca" + "statement": "theorem markovPathMass_one (kernel : FiniteKernel S S) (initial : FiniteLaw S)\n (path : Fin 2 → S) :\n markovPathMass kernel initial 1 path = initial (path 0) * kernel (path 0) (path 1)", + "statement_sha256": "608265e4a994b89fe7fc6250944c31324ff2cc855c1e87907af56e88770c98af" }, - "FEP.PathThermodynamics.entropyProduction_nonneg": { + "FEP.PathThermodynamics.markovPathMass_pos": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "protocol" + "kernel" ], "role": "typed_binder", - "source": "(protocol : FinitePathProtocol Path)", - "type_source": "FinitePathProtocol Path", + "source": "(kernel : FiniteKernel S S)", + "type_source": "FiniteKernel S S", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "initial" + ], + "role": "typed_binder", + "source": "(initial : FiniteLaw S)", + "type_source": "FiniteLaw S", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hInitial" + ], + "role": "typed_binder", + "source": "(hInitial : ∀ s, 0 < initial s)", + "type_source": "∀ s, 0 < initial s", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hKernel" + ], + "role": "typed_binder", + "source": "(hKernel : ∀ a b, 0 < kernel a b)", + "type_source": "∀ a b, 0 < kernel a b", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "n" + ], + "role": "typed_binder", + "source": "(n : ℕ)", + "type_source": "ℕ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "path" + ], + "role": "typed_binder", + "source": "(path : Fin (n + 1) → S)", + "type_source": "Fin (n + 1) → S", "visibility": "explicit" } ], - "conclusion": "0 ≤ entropyProduction protocol", + "conclusion": "0 < markovPathMass kernel initial n path", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -83215,18 +90128,27 @@ "source": "[Fintype State]", "type_source": "Fintype State", "visibility": "instance" - } - ], - "declaration_mentions": [ + }, { - "candidates": [ - "FEP.FiniteInformation.finiteKL_nonneg" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "S" ], - "identifier": "finiteKL_nonneg", - "resolution": "unresolved lexical scope", - "role": "proof_reference" + "role": "typed_binder", + "source": "{S : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype S]", + "type_source": "Fintype S", + "visibility": "instance" } ], + "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ "FepSketches.finite_markov_dynamics", @@ -83235,61 +90157,77 @@ "line_coordinate_kind": "formal_resource_file", "namespace": "FEP.PathThermodynamics", "namespace_variable_context": [ - "{Path State : Type*} [Fintype Path] [Fintype State]" + "{Path State : Type*} [Fintype Path] [Fintype State]", + "{S : Type*} [Fintype S]" ], - "preceding_scope_directives": [], - "qualified_name": "FEP.PathThermodynamics.entropyProduction_nonneg", - "source_line": 82, + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Fintype S] in" + } + ], + "qualified_name": "FEP.PathThermodynamics.markovPathMass_pos", + "source_line": 609, "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", - "statement": "theorem entropyProduction_nonneg (protocol : FinitePathProtocol Path) :\n 0 ≤ entropyProduction protocol", - "statement_sha256": "f69aa684772cdf23bed79c5a8f32d119b1cd71e86470497ef26942a95228e457" + "statement": "theorem markovPathMass_pos (kernel : FiniteKernel S S) (initial : FiniteLaw S)\n (hInitial : ∀ s, 0 < initial s) (hKernel : ∀ a b, 0 < kernel a b)\n (n : ℕ) (path : Fin (n + 1) → S) :\n 0 < markovPathMass kernel initial n path", + "statement_sha256": "ddd16ffcb8e4636f5ef896a0bd0b3e0a7660f7ed2c8646b81ace6640e7137b8e" }, - "FEP.PathThermodynamics.finiteJarzynski_eq": { + "FEP.PathThermodynamics.markovPathMass_snoc": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "law" + "kernel" ], "role": "typed_binder", - "source": "(law : FiniteLaw Path)", - "type_source": "FiniteLaw Path", + "source": "(kernel : FiniteKernel S S)", + "type_source": "FiniteKernel S S", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "beta", - "deltaFreeEnergy" + "initial" ], "role": "typed_binder", - "source": "(beta deltaFreeEnergy : ℝ)", - "type_source": "ℝ", + "source": "(initial : FiniteLaw S)", + "type_source": "FiniteLaw S", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "work" + "n" ], "role": "typed_binder", - "source": "(work : Path → ℝ)", - "type_source": "Path → ℝ", + "source": "(n : ℕ)", + "type_source": "ℕ", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "hNormalization" + "path" ], "role": "typed_binder", - "source": "(hNormalization :\n HasJarzynskiNormalization law beta deltaFreeEnergy work)", - "type_source": "HasJarzynskiNormalization law beta deltaFreeEnergy work", + "source": "(path : Fin (n + 1) → S)", + "type_source": "Fin (n + 1) → S", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "next" + ], + "role": "typed_binder", + "source": "(next : S)", + "type_source": "S", "visibility": "explicit" } ], - "conclusion": "exponentialWorkAverage law beta work =\n Real.exp (-beta * deltaFreeEnergy)", + "conclusion": "markovPathMass kernel initial (n + 1)\n (Fin.snoc (α := fun _ => S) path next) =\n markovPathMass kernel initial n path * kernel (path (Fin.last n)) next", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -83317,6 +90255,24 @@ "source": "[Fintype State]", "type_source": "Fintype State", "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "S" + ], + "role": "typed_binder", + "source": "{S : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype S]", + "type_source": "Fintype S", + "visibility": "instance" } ], "declaration_mentions": [], @@ -83328,61 +90284,51 @@ "line_coordinate_kind": "formal_resource_file", "namespace": "FEP.PathThermodynamics", "namespace_variable_context": [ - "{Path State : Type*} [Fintype Path] [Fintype State]" + "{Path State : Type*} [Fintype Path] [Fintype State]", + "{S : Type*} [Fintype S]" ], "preceding_scope_directives": [], - "qualified_name": "FEP.PathThermodynamics.finiteJarzynski_eq", - "source_line": 179, + "qualified_name": "FEP.PathThermodynamics.markovPathMass_snoc", + "source_line": 485, "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", - "statement": "theorem finiteJarzynski_eq\n (law : FiniteLaw Path) (beta deltaFreeEnergy : ℝ)\n (work : Path → ℝ)\n (hNormalization :\n HasJarzynskiNormalization law beta deltaFreeEnergy work) :\n exponentialWorkAverage law beta work =\n Real.exp (-beta * deltaFreeEnergy)", - "statement_sha256": "a71655539a8fe7a95ee1cc965794d05302b8873cddb46b61abb1a771e6dc391f" + "statement": "theorem markovPathMass_snoc (kernel : FiniteKernel S S) (initial : FiniteLaw S)\n (n : ℕ) (path : Fin (n + 1) → S) (next : S) :\n markovPathMass kernel initial (n + 1)\n (Fin.snoc (α := fun _ => S) path next) =\n markovPathMass kernel initial n path * kernel (path (Fin.last n)) next", + "statement_sha256": "a8b0b2574bcf5a481dd9abba2563203c2939a6a1f214fb860aa96a7a8e1e038f" }, - "FEP.PathThermodynamics.finiteJarzynski_of_crooks": { + "FEP.PathThermodynamics.markovPathMass_sum_one": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "protocol" - ], - "role": "typed_binder", - "source": "(protocol : FinitePathProtocol Path)", - "type_source": "FinitePathProtocol Path", - "visibility": "explicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "beta", - "deltaFreeEnergy" + "kernel" ], "role": "typed_binder", - "source": "(beta deltaFreeEnergy : ℝ)", - "type_source": "ℝ", + "source": "(kernel : FiniteKernel S S)", + "type_source": "FiniteKernel S S", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "work" + "initial" ], - "role": "typed_binder", - "source": "(work : Path → ℝ)", - "type_source": "Path → ℝ", + "role": "typed_binder", + "source": "(initial : FiniteLaw S)", + "type_source": "FiniteLaw S", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "hCrooks" + "n" ], "role": "typed_binder", - "source": "(hCrooks : HasCrooksRelation protocol beta deltaFreeEnergy work)", - "type_source": "HasCrooksRelation protocol beta deltaFreeEnergy work", + "source": "(n : ℕ)", + "type_source": "ℕ", "visibility": "explicit" } ], - "conclusion": "exponentialWorkAverage protocol.forward beta work =\n Real.exp (-beta * deltaFreeEnergy)", + "conclusion": "∑ path : Fin (n + 1) → S, markovPathMass kernel initial n path = 1", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -83410,18 +90356,30 @@ "source": "[Fintype State]", "type_source": "Fintype State", "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "S" + ], + "role": "typed_binder", + "source": "{S : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype S]", + "type_source": "Fintype S", + "visibility": "instance" } ], "declaration_mentions": [ { - "identifier": "finiteJarzynski_eq", - "qualified_name": "FEP.PathThermodynamics.finiteJarzynski_eq", - "resolution": "exact or same-namespace source identifier", - "role": "proof_reference" - }, - { - "identifier": "hasJarzynskiNormalization_of_crooks", - "qualified_name": "FEP.PathThermodynamics.hasJarzynskiNormalization_of_crooks", + "identifier": "markovPathMass_snoc", + "qualified_name": "FEP.PathThermodynamics.markovPathMass_snoc", "resolution": "exact or same-namespace source identifier", "role": "proof_reference" } @@ -83434,61 +90392,61 @@ "line_coordinate_kind": "formal_resource_file", "namespace": "FEP.PathThermodynamics", "namespace_variable_context": [ - "{Path State : Type*} [Fintype Path] [Fintype State]" + "{Path State : Type*} [Fintype Path] [Fintype State]", + "{S : Type*} [Fintype S]" ], "preceding_scope_directives": [], - "qualified_name": "FEP.PathThermodynamics.finiteJarzynski_of_crooks", - "source_line": 257, + "qualified_name": "FEP.PathThermodynamics.markovPathMass_sum_one", + "source_line": 518, "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", - "statement": "theorem finiteJarzynski_of_crooks\n (protocol : FinitePathProtocol Path) (beta deltaFreeEnergy : ℝ)\n (work : Path → ℝ)\n (hCrooks : HasCrooksRelation protocol beta deltaFreeEnergy work) :\n exponentialWorkAverage protocol.forward beta work =\n Real.exp (-beta * deltaFreeEnergy)", - "statement_sha256": "6c6dc7947b45ea2292c0dc3dc611835a2ca328afc723eb40739ebcd26602ff40" + "statement": "theorem markovPathMass_sum_one (kernel : FiniteKernel S S)\n (initial : FiniteLaw S) (n : ℕ) :\n ∑ path : Fin (n + 1) → S, markovPathMass kernel initial n path = 1", + "statement_sha256": "47e70ac80a8461d6fa429b1187b3469a94dcabd14c090407ca0c89cef8a9a9e4" }, - "FEP.PathThermodynamics.hasJarzynskiNormalization_of_crooks": { + "FEP.PathThermodynamics.markovReverseMass_eq": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "protocol" + "reverse" ], "role": "typed_binder", - "source": "(protocol : FinitePathProtocol Path)", - "type_source": "FinitePathProtocol Path", + "source": "(reverse : FiniteKernel S S)", + "type_source": "FiniteKernel S S", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "beta", - "deltaFreeEnergy" + "final" ], "role": "typed_binder", - "source": "(beta deltaFreeEnergy : ℝ)", - "type_source": "ℝ", + "source": "(final : FiniteLaw S)", + "type_source": "FiniteLaw S", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "work" + "n" ], "role": "typed_binder", - "source": "(work : Path → ℝ)", - "type_source": "Path → ℝ", + "source": "(n : ℕ)", + "type_source": "ℕ", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "hCrooks" + "path" ], "role": "typed_binder", - "source": "(hCrooks : HasCrooksRelation protocol beta deltaFreeEnergy work)", - "type_source": "HasCrooksRelation protocol beta deltaFreeEnergy work", + "source": "(path : Fin (n + 1) → S)", + "type_source": "Fin (n + 1) → S", "visibility": "explicit" } ], - "conclusion": "HasJarzynskiNormalization protocol.forward beta deltaFreeEnergy work", + "conclusion": "markovReverseMass reverse final n path =\n markovPathMass reverse final n (pathReverse n path)", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -83516,6 +90474,24 @@ "source": "[Fintype State]", "type_source": "Fintype State", "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "S" + ], + "role": "typed_binder", + "source": "{S : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype S]", + "type_source": "Fintype S", + "visibility": "instance" } ], "declaration_mentions": [], @@ -83527,39 +90503,57 @@ "line_coordinate_kind": "formal_resource_file", "namespace": "FEP.PathThermodynamics", "namespace_variable_context": [ - "{Path State : Type*} [Fintype Path] [Fintype State]" + "{Path State : Type*} [Fintype Path] [Fintype State]", + "{S : Type*} [Fintype S]" ], - "preceding_scope_directives": [], - "qualified_name": "FEP.PathThermodynamics.hasJarzynskiNormalization_of_crooks", - "source_line": 237, + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Fintype S] in" + } + ], + "qualified_name": "FEP.PathThermodynamics.markovReverseMass_eq", + "source_line": 574, "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", - "statement": "theorem hasJarzynskiNormalization_of_crooks\n (protocol : FinitePathProtocol Path) (beta deltaFreeEnergy : ℝ)\n (work : Path → ℝ)\n (hCrooks : HasCrooksRelation protocol beta deltaFreeEnergy work) :\n HasJarzynskiNormalization protocol.forward beta deltaFreeEnergy work", - "statement_sha256": "27b3125171284c1c3b54c9d86eac281fe4d4c34faef5bcd7944cfd9101ca9dee" + "statement": "theorem markovReverseMass_eq (reverse : FiniteKernel S S) (final : FiniteLaw S)\n (n : ℕ) (path : Fin (n + 1) → S) :\n markovReverseMass reverse final n path =\n markovPathMass reverse final n (pathReverse n path)", + "statement_sha256": "26b547635b9e90615556dac091fe2ec78582e29b849fd51c1a017078756f1676" }, - "FEP.PathThermodynamics.identityKernel_KL_equality": { + "FEP.PathThermodynamics.markovReverseMass_one": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[DecidableEq State]", - "type_source": "DecidableEq State", - "visibility": "instance" + "names": [ + "reverse" + ], + "role": "typed_binder", + "source": "(reverse : FiniteKernel S S)", + "type_source": "FiniteKernel S S", + "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "actual", - "stationary" + "final" ], "role": "typed_binder", - "source": "(actual stationary : FiniteLaw State)", - "type_source": "FiniteLaw State", + "source": "(final : FiniteLaw S)", + "type_source": "FiniteLaw S", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "path" + ], + "role": "typed_binder", + "source": "(path : Fin 2 → S)", + "type_source": "Fin 2 → S", "visibility": "explicit" } ], - "conclusion": "finiteKL\n ((FiniteKernel.identity : FiniteKernel State State).predictive actual)\n stationary = finiteKL actual stationary", + "conclusion": "markovReverseMass reverse final 1 path = final (path 1) * reverse (path 1) (path 0)", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -83587,6 +90581,24 @@ "source": "[Fintype State]", "type_source": "Fintype State", "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "S" + ], + "role": "typed_binder", + "source": "{S : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype S]", + "type_source": "Fintype S", + "visibility": "instance" } ], "declaration_mentions": [], @@ -83598,36 +90610,53 @@ "line_coordinate_kind": "formal_resource_file", "namespace": "FEP.PathThermodynamics", "namespace_variable_context": [ - "{Path State : Type*} [Fintype Path] [Fintype State]" + "{Path State : Type*} [Fintype Path] [Fintype State]", + "{S : Type*} [Fintype S]" ], - "preceding_scope_directives": [], - "qualified_name": "FEP.PathThermodynamics.identityKernel_KL_equality", - "source_line": 366, + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Fintype S] in" + } + ], + "qualified_name": "FEP.PathThermodynamics.markovReverseMass_one", + "source_line": 689, "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", - "statement": "theorem identityKernel_KL_equality [DecidableEq State]\n (actual stationary : FiniteLaw State) :\n finiteKL\n ((FiniteKernel.identity : FiniteKernel State State).predictive actual)\n stationary = finiteKL actual stationary", - "statement_sha256": "9c2e278d3a9400d79984636af95b1198d4c6c897c64ea4164bda3799f0fe4c49" + "statement": "theorem markovReverseMass_one (reverse : FiniteKernel S S) (final : FiniteLaw S)\n (path : Fin 2 → S) :\n markovReverseMass reverse final 1 path = final (path 1) * reverse (path 1) (path 0)", + "statement_sha256": "b2da47e83a7cca567b2345a33b53dbe2772756dd967d36336855406f9db8cbba" }, - "FEP.PathThermodynamics.integralFluctuation_eq_one": { + "FEP.PathThermodynamics.markovReverseMass_pos": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "protocol" + "reverse" ], "role": "typed_binder", - "source": "(protocol : FinitePathProtocol Path)", - "type_source": "FinitePathProtocol Path", + "source": "(reverse : FiniteKernel S S)", + "type_source": "FiniteKernel S S", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "hForward" + "final" ], "role": "typed_binder", - "source": "(hForward : ∀ path, 0 < protocol.forward path)", - "type_source": "∀ path, 0 < protocol.forward path", + "source": "(final : FiniteLaw S)", + "type_source": "FiniteLaw S", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hFinal" + ], + "role": "typed_binder", + "source": "(hFinal : ∀ s, 0 < final s)", + "type_source": "∀ s, 0 < final s", "visibility": "explicit" }, { @@ -83636,12 +90665,32 @@ "hReverse" ], "role": "typed_binder", - "source": "(hReverse : ∀ path, 0 < protocol.reverseAligned path)", - "type_source": "∀ path, 0 < protocol.reverseAligned path", + "source": "(hReverse : ∀ a b, 0 < reverse a b)", + "type_source": "∀ a b, 0 < reverse a b", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "n" + ], + "role": "typed_binder", + "source": "(n : ℕ)", + "type_source": "ℕ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "path" + ], + "role": "typed_binder", + "source": "(path : Fin (n + 1) → S)", + "type_source": "Fin (n + 1) → S", "visibility": "explicit" } ], - "conclusion": "∑ path, protocol.forward path *\n Real.exp (-pathwiseEntropyProduction protocol path) = 1", + "conclusion": "0 < markovReverseMass reverse final n path", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -83669,39 +90718,14 @@ "source": "[Fintype State]", "type_source": "Fintype State", "visibility": "instance" - } - ], - "declaration_mentions": [], - "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", - "import_context": [ - "FepSketches.finite_markov_dynamics", - "FepSketches.variational_duality" - ], - "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.PathThermodynamics", - "namespace_variable_context": [ - "{Path State : Type*} [Fintype Path] [Fintype State]" - ], - "preceding_scope_directives": [], - "qualified_name": "FEP.PathThermodynamics.integralFluctuation_eq_one", - "source_line": 120, - "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", - "statement": "theorem integralFluctuation_eq_one\n (protocol : FinitePathProtocol Path)\n (hForward : ∀ path, 0 < protocol.forward path)\n (hReverse : ∀ path, 0 < protocol.reverseAligned path) :\n ∑ path, protocol.forward path *\n Real.exp (-pathwiseEntropyProduction protocol path) = 1", - "statement_sha256": "fcf7ad08f02d4e7bb47ff7c30904e1d8b06496d8b534f0cb23de9777f271e6f0" - }, - "FEP.PathThermodynamics.irreversibleBool_crooks": { - "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [], - "conclusion": "HasCrooksRelation irreversibleBoolProtocol 1 0 irreversibleCrooksWork", - "context_binders": [ + }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "Path", - "State" + "S" ], "role": "typed_binder", - "source": "{Path State : Type*}", + "source": "{S : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -83709,16 +90733,8 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Path]", - "type_source": "Fintype Path", - "visibility": "instance" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype State]", - "type_source": "Fintype State", + "source": "[Fintype S]", + "type_source": "Fintype S", "visibility": "instance" } ], @@ -83731,19 +90747,87 @@ "line_coordinate_kind": "formal_resource_file", "namespace": "FEP.PathThermodynamics", "namespace_variable_context": [ - "{Path State : Type*} [Fintype Path] [Fintype State]" + "{Path State : Type*} [Fintype Path] [Fintype State]", + "{S : Type*} [Fintype S]" ], - "preceding_scope_directives": [], - "qualified_name": "FEP.PathThermodynamics.irreversibleBool_crooks", - "source_line": 420, + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Fintype S] in" + } + ], + "qualified_name": "FEP.PathThermodynamics.markovReverseMass_pos", + "source_line": 616, "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", - "statement": "theorem irreversibleBool_crooks :\n HasCrooksRelation irreversibleBoolProtocol 1 0 irreversibleCrooksWork", - "statement_sha256": "bc974c07abce87e801c11a33f64dcce666e2283d2c3e68c7bad1686b81ccb63a" + "statement": "theorem markovReverseMass_pos (reverse : FiniteKernel S S) (final : FiniteLaw S)\n (hFinal : ∀ s, 0 < final s) (hReverse : ∀ a b, 0 < reverse a b)\n (n : ℕ) (path : Fin (n + 1) → S) :\n 0 < markovReverseMass reverse final n path", + "statement_sha256": "1756ac8b066a00317aff75902239fd342aa24462c5cd45edf5cd333f24c39463" }, - "FEP.PathThermodynamics.irreversibleBool_entropyProduction_pos": { + "FEP.PathThermodynamics.markovReverseMass_reversedKernel": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [], - "conclusion": "0 < entropyProduction irreversibleBoolProtocol", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "law" + ], + "role": "typed_binder", + "source": "(law : FiniteLaw S)", + "type_source": "FiniteLaw S", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "kernel" + ], + "role": "typed_binder", + "source": "(kernel : FiniteKernel S S)", + "type_source": "FiniteKernel S S", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hLaw" + ], + "role": "typed_binder", + "source": "(hLaw : ∀ s, 0 < law s)", + "type_source": "∀ s, 0 < law s", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hInvariant" + ], + "role": "typed_binder", + "source": "(hInvariant : IsInvariant law kernel)", + "type_source": "IsInvariant law kernel", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "n" + ], + "role": "typed_binder", + "source": "(n : ℕ)", + "type_source": "ℕ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "path" + ], + "role": "typed_binder", + "source": "(path : Fin (n + 1) → S)", + "type_source": "Fin (n + 1) → S", + "visibility": "explicit" + } + ], + "conclusion": "markovReverseMass (reversedKernel law kernel hLaw hInvariant) law n path =\n markovPathMass kernel law n path", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -83771,28 +90855,30 @@ "source": "[Fintype State]", "type_source": "Fintype State", "visibility": "instance" - } - ], - "declaration_mentions": [ - { - "candidates": [ - "FEP.FiniteInformation.finiteKL_eq_zero_iff" - ], - "identifier": "finiteKL_eq_zero_iff", - "resolution": "unresolved lexical scope", - "role": "proof_reference" }, { - "candidates": [ - "FEP.FiniteInformation.finiteKL_nonneg" + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "S" ], - "identifier": "finiteKL_nonneg", - "resolution": "unresolved lexical scope", - "role": "proof_reference" + "role": "typed_binder", + "source": "{S : Type*}", + "type_source": "Type*", + "visibility": "implicit" }, { - "identifier": "irreversibleForward_ne_reverse", - "qualified_name": "FEP.PathThermodynamics.irreversibleForward_ne_reverse", + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype S]", + "type_source": "Fintype S", + "visibility": "instance" + } + ], + "declaration_mentions": [ + { + "identifier": "prod_stage_ratio_telescope", + "qualified_name": "FEP.PathThermodynamics.prod_stage_ratio_telescope", "resolution": "exact or same-namespace source identifier", "role": "proof_reference" } @@ -83805,19 +90891,77 @@ "line_coordinate_kind": "formal_resource_file", "namespace": "FEP.PathThermodynamics", "namespace_variable_context": [ - "{Path State : Type*} [Fintype Path] [Fintype State]" + "{Path State : Type*} [Fintype Path] [Fintype State]", + "{S : Type*} [Fintype S]" ], - "preceding_scope_directives": [], - "qualified_name": "FEP.PathThermodynamics.irreversibleBool_entropyProduction_pos", - "source_line": 403, + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Fintype S] in" + } + ], + "qualified_name": "FEP.PathThermodynamics.markovReverseMass_reversedKernel", + "source_line": 889, "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", - "statement": "theorem irreversibleBool_entropyProduction_pos :\n 0 < entropyProduction irreversibleBoolProtocol", - "statement_sha256": "7613d1a48af9e4af0e71d3625ec05098e1edebeddc07a4987e5de8bfb4ac754a" + "statement": "theorem markovReverseMass_reversedKernel (law : FiniteLaw S)\n (kernel : FiniteKernel S S) (hLaw : ∀ s, 0 < law s)\n (hInvariant : IsInvariant law kernel) (n : ℕ) (path : Fin (n + 1) → S) :\n markovReverseMass (reversedKernel law kernel hLaw hInvariant) law n path =\n markovPathMass kernel law n path", + "statement_sha256": "7a7c337773bf87cb456a59e3e22901eb2b8421902ca2af79ba9fb1e5176a7312" }, - "FEP.PathThermodynamics.irreversibleCrooksWork_nonconstant": { + "FEP.PathThermodynamics.markovReversePathLaw_reversedKernel": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [], - "conclusion": "irreversibleCrooksWork true ≠ irreversibleCrooksWork false", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "law" + ], + "role": "typed_binder", + "source": "(law : FiniteLaw S)", + "type_source": "FiniteLaw S", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "kernel" + ], + "role": "typed_binder", + "source": "(kernel : FiniteKernel S S)", + "type_source": "FiniteKernel S S", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hLaw" + ], + "role": "typed_binder", + "source": "(hLaw : ∀ s, 0 < law s)", + "type_source": "∀ s, 0 < law s", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hInvariant" + ], + "role": "typed_binder", + "source": "(hInvariant : IsInvariant law kernel)", + "type_source": "IsInvariant law kernel", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "n" + ], + "role": "typed_binder", + "source": "(n : ℕ)", + "type_source": "ℕ", + "visibility": "explicit" + } + ], + "conclusion": "markovReversePathLaw (reversedKernel law kernel hLaw hInvariant) law n =\n markovPathLaw kernel law n", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -83845,9 +90989,34 @@ "source": "[Fintype State]", "type_source": "Fintype State", "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "S" + ], + "role": "typed_binder", + "source": "{S : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype S]", + "type_source": "Fintype S", + "visibility": "instance" + } + ], + "declaration_mentions": [ + { + "identifier": "markovReverseMass_reversedKernel", + "qualified_name": "FEP.PathThermodynamics.markovReverseMass_reversedKernel", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" } ], - "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ "FepSketches.finite_markov_dynamics", @@ -83856,19 +91025,37 @@ "line_coordinate_kind": "formal_resource_file", "namespace": "FEP.PathThermodynamics", "namespace_variable_context": [ - "{Path State : Type*} [Fintype Path] [Fintype State]" + "{Path State : Type*} [Fintype Path] [Fintype State]", + "{S : Type*} [Fintype S]" ], - "preceding_scope_directives": [], - "qualified_name": "FEP.PathThermodynamics.irreversibleCrooksWork_nonconstant", - "source_line": 429, + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Fintype S] in" + } + ], + "qualified_name": "FEP.PathThermodynamics.markovReversePathLaw_reversedKernel", + "source_line": 909, "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", - "statement": "theorem irreversibleCrooksWork_nonconstant :\n irreversibleCrooksWork true ≠ irreversibleCrooksWork false", - "statement_sha256": "71f430969fca9fc684d8742ea1d0ab6fb57ed4442ccc8ce0ba27042890ff80b7" + "statement": "theorem markovReversePathLaw_reversedKernel (law : FiniteLaw S)\n (kernel : FiniteKernel S S) (hLaw : ∀ s, 0 < law s)\n (hInvariant : IsInvariant law kernel) (n : ℕ) :\n markovReversePathLaw (reversedKernel law kernel hLaw hInvariant) law n =\n markovPathLaw kernel law n", + "statement_sha256": "db5135ac95e6e463729834a7c95e759666c711a2ea8b8f02c4e209ce99f9223d" }, - "FEP.PathThermodynamics.irreversibleForward_ne_reverse": { + "FEP.PathThermodynamics.pathLaw_normalization": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [], - "conclusion": "irreversibleForward ≠ irreversibleReverse", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "protocol" + ], + "role": "typed_binder", + "source": "(protocol : FinitePathProtocol Path)", + "type_source": "FinitePathProtocol Path", + "visibility": "explicit" + } + ], + "conclusion": "(∑ path, protocol.forward path = 1) ∧\n ∑ path, protocol.reverseAligned path = 1", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -83910,16 +91097,47 @@ "{Path State : Type*} [Fintype Path] [Fintype State]" ], "preceding_scope_directives": [], - "qualified_name": "FEP.PathThermodynamics.irreversibleForward_ne_reverse", - "source_line": 395, + "qualified_name": "FEP.PathThermodynamics.pathLaw_normalization", + "source_line": 40, "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", - "statement": "theorem irreversibleForward_ne_reverse :\n irreversibleForward ≠ irreversibleReverse", - "statement_sha256": "74bd318dd6ab38ed4b14aa0850b01c141fd693212ae97712e7209695c130799a" + "statement": "theorem pathLaw_normalization (protocol : FinitePathProtocol Path) :\n (∑ path, protocol.forward path = 1) ∧\n ∑ path, protocol.reverseAligned path = 1", + "statement_sha256": "80fb51b1b619485798359b373d5f5e2e1f46db0d43ea6a0b856606aa2a0f96f3" }, - "FEP.PathThermodynamics.irreversibleForward_unitWork_not_jarzynski": { + "FEP.PathThermodynamics.pathRatio_mul_reverse": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [], - "conclusion": "¬ HasJarzynskiNormalization irreversibleBoolProtocol.forward 1 0\n (fun _ => 1)", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "protocol" + ], + "role": "typed_binder", + "source": "(protocol : FinitePathProtocol Path)", + "type_source": "FinitePathProtocol Path", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hReverse" + ], + "role": "typed_binder", + "source": "(hReverse : ∀ path, 0 < protocol.reverseAligned path)", + "type_source": "∀ path, 0 < protocol.reverseAligned path", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "path" + ], + "role": "typed_binder", + "source": "(path : Path)", + "type_source": "Path", + "visibility": "explicit" + } + ], + "conclusion": "pathRatio protocol path * protocol.reverseAligned path =\n protocol.forward path", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -83961,47 +91179,47 @@ "{Path State : Type*} [Fintype Path] [Fintype State]" ], "preceding_scope_directives": [], - "qualified_name": "FEP.PathThermodynamics.irreversibleForward_unitWork_not_jarzynski", - "source_line": 454, + "qualified_name": "FEP.PathThermodynamics.pathRatio_mul_reverse", + "source_line": 53, "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", - "statement": "theorem irreversibleForward_unitWork_not_jarzynski :\n ¬ HasJarzynskiNormalization irreversibleBoolProtocol.forward 1 0\n (fun _ => 1)", - "statement_sha256": "335368feaf773449832f1186e402e09da48ee37ee05d70c34dfe9c534f7431cb" + "statement": "theorem pathRatio_mul_reverse\n (protocol : FinitePathProtocol Path)\n (hReverse : ∀ path, 0 < protocol.reverseAligned path) (path : Path) :\n pathRatio protocol path * protocol.reverseAligned path =\n protocol.forward path", + "statement_sha256": "0831c5af17994687739a98154aae5b5b8e7ec920c82c8b9fa825c1b8c655e0b0" }, - "FEP.PathThermodynamics.isInvariant_of_isReversible": { + "FEP.PathThermodynamics.pathRatio_zero_reverse_boundary": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "law" + "protocol" ], "role": "typed_binder", - "source": "(law : FiniteLaw State)", - "type_source": "FiniteLaw State", + "source": "(protocol : FinitePathProtocol Path)", + "type_source": "FinitePathProtocol Path", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "kernel" + "path" ], "role": "typed_binder", - "source": "(kernel : FiniteKernel State State)", - "type_source": "FiniteKernel State State", + "source": "(path : Path)", + "type_source": "Path", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "hReversible" + "hZero" ], "role": "typed_binder", - "source": "(hReversible : IsReversible law kernel)", - "type_source": "IsReversible law kernel", + "source": "(hZero : protocol.reverseAligned path = 0)", + "type_source": "protocol.reverseAligned path = 0", "visibility": "explicit" } ], - "conclusion": "FEP.FiniteMarkovDynamics.IsInvariant law kernel", + "conclusion": "pathRatio protocol path = 0", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -84043,16 +91261,27 @@ "{Path State : Type*} [Fintype Path] [Fintype State]" ], "preceding_scope_directives": [], - "qualified_name": "FEP.PathThermodynamics.isInvariant_of_isReversible", - "source_line": 328, + "qualified_name": "FEP.PathThermodynamics.pathRatio_zero_reverse_boundary", + "source_line": 62, "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", - "statement": "theorem isInvariant_of_isReversible\n (law : FiniteLaw State) (kernel : FiniteKernel State State)\n (hReversible : IsReversible law kernel) :\n FEP.FiniteMarkovDynamics.IsInvariant law kernel", - "statement_sha256": "830a07291304aff920362afe6d693ccccba22e4bef4dc72cacf8913a5c79072a" + "statement": "theorem pathRatio_zero_reverse_boundary\n (protocol : FinitePathProtocol Path) (path : Path)\n (hZero : protocol.reverseAligned path = 0) :\n pathRatio protocol path = 0", + "statement_sha256": "bd3d2909effb07f283c0a799057f17df79d72e6a212d4bdcbcc2e67c5d1362e1" }, - "FEP.PathThermodynamics.jarzynski_without_crooks": { + "FEP.PathThermodynamics.pathReverse_involutive": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [], - "conclusion": "HasJarzynskiNormalization irreversibleBoolProtocol.forward 1 0\n (fun _ => 0) ∧\n ¬ HasCrooksRelation irreversibleBoolProtocol 1 0 (fun _ => 0)", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "n" + ], + "role": "typed_binder", + "source": "(n : ℕ)", + "type_source": "ℕ", + "visibility": "explicit" + } + ], + "conclusion": "Function.Involutive (pathReverse (S := S) n)", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -84080,6 +91309,24 @@ "source": "[Fintype State]", "type_source": "Fintype State", "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "S" + ], + "role": "typed_binder", + "source": "{S : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype S]", + "type_source": "Fintype S", + "visibility": "instance" } ], "declaration_mentions": [], @@ -84091,61 +91338,109 @@ "line_coordinate_kind": "formal_resource_file", "namespace": "FEP.PathThermodynamics", "namespace_variable_context": [ - "{Path State : Type*} [Fintype Path] [Fintype State]" + "{Path State : Type*} [Fintype Path] [Fintype State]", + "{S : Type*} [Fintype S]" ], - "preceding_scope_directives": [], - "qualified_name": "FEP.PathThermodynamics.jarzynski_without_crooks", - "source_line": 438, + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Fintype S] in" + } + ], + "qualified_name": "FEP.PathThermodynamics.pathReverse_involutive", + "source_line": 566, "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", - "statement": "theorem jarzynski_without_crooks :\n HasJarzynskiNormalization irreversibleBoolProtocol.forward 1 0\n (fun _ => 0) ∧\n ¬ HasCrooksRelation irreversibleBoolProtocol 1 0 (fun _ => 0)", - "statement_sha256": "3edcfef3421f01494e50fcf721fe7aa4e2079ac0061d58201fea32511f89736c" + "statement": "theorem pathReverse_involutive (n : ℕ) :\n Function.Involutive (pathReverse (S := S) n)", + "statement_sha256": "564b09c6341531c54799e7335ba8be33024f13c4f3c2b016773487c08c12e43f" }, - "FEP.PathThermodynamics.localAffinity_zero_reverseRate_boundary": { + "FEP.PathThermodynamics.pathwiseEntropyProduction_markov": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "law" + "kernel", + "reverse" ], "role": "typed_binder", - "source": "(law : FiniteLaw State)", - "type_source": "FiniteLaw State", + "source": "(kernel reverse : FiniteKernel S S)", + "type_source": "FiniteKernel S S", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "kernel" + "initial", + "final" ], "role": "typed_binder", - "source": "(kernel : FiniteKernel State State)", - "type_source": "FiniteKernel State State", + "source": "(initial final : FiniteLaw S)", + "type_source": "FiniteLaw S", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "source", - "target" + "hInitial" ], "role": "typed_binder", - "source": "(source target : State)", - "type_source": "State", + "source": "(hInitial : ∀ s, 0 < initial s)", + "type_source": "∀ s, 0 < initial s", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "hZero" + "hFinal" ], "role": "typed_binder", - "source": "(hZero : kernel target source = 0)", - "type_source": "kernel target source = 0", + "source": "(hFinal : ∀ s, 0 < final s)", + "type_source": "∀ s, 0 < final s", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hKernel" + ], + "role": "typed_binder", + "source": "(hKernel : ∀ a b, 0 < kernel a b)", + "type_source": "∀ a b, 0 < kernel a b", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hReverse" + ], + "role": "typed_binder", + "source": "(hReverse : ∀ a b, 0 < reverse a b)", + "type_source": "∀ a b, 0 < reverse a b", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "n" + ], + "role": "typed_binder", + "source": "(n : ℕ)", + "type_source": "ℕ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "path" + ], + "role": "typed_binder", + "source": "(path : Fin (n + 1) → S)", + "type_source": "Fin (n + 1) → S", "visibility": "explicit" } ], - "conclusion": "localAffinity law kernel source target = 0", + "conclusion": "pathwiseEntropyProduction\n (markovPathProtocol kernel initial reverse final n) path =\n Real.log (initial (path 0) / final (path (Fin.last n))) +\n ∑ t : Fin n, Real.log\n (kernel (path t.castSucc) (path t.succ) /\n reverse (path t.succ) (path t.castSucc))", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -84173,6 +91468,24 @@ "source": "[Fintype State]", "type_source": "Fintype State", "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "S" + ], + "role": "typed_binder", + "source": "{S : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype S]", + "type_source": "Fintype S", + "visibility": "instance" } ], "declaration_mentions": [], @@ -84184,61 +91497,87 @@ "line_coordinate_kind": "formal_resource_file", "namespace": "FEP.PathThermodynamics", "namespace_variable_context": [ - "{Path State : Type*} [Fintype Path] [Fintype State]" + "{Path State : Type*} [Fintype Path] [Fintype State]", + "{S : Type*} [Fintype S]" ], - "preceding_scope_directives": [], - "qualified_name": "FEP.PathThermodynamics.localAffinity_zero_reverseRate_boundary", - "source_line": 319, + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Fintype S] in" + } + ], + "qualified_name": "FEP.PathThermodynamics.pathwiseEntropyProduction_markov", + "source_line": 624, "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", - "statement": "theorem localAffinity_zero_reverseRate_boundary\n (law : FiniteLaw State) (kernel : FiniteKernel State State)\n (source target : State) (hZero : kernel target source = 0) :\n localAffinity law kernel source target = 0", - "statement_sha256": "2f218319679dc3a5f9d6e9c6d1334f725c9d6c80a4795b2da31e7e40ebbf9baa" + "statement": "theorem pathwiseEntropyProduction_markov\n (kernel reverse : FiniteKernel S S) (initial final : FiniteLaw S)\n (hInitial : ∀ s, 0 < initial s) (hFinal : ∀ s, 0 < final s)\n (hKernel : ∀ a b, 0 < kernel a b) (hReverse : ∀ a b, 0 < reverse a b)\n (n : ℕ) (path : Fin (n + 1) → S) :\n pathwiseEntropyProduction\n (markovPathProtocol kernel initial reverse final n) path =\n Real.log (initial (path 0) / final (path (Fin.last n))) +\n ∑ t : Fin n, Real.log\n (kernel (path t.castSucc) (path t.succ) /\n reverse (path t.succ) (path t.castSucc))", + "statement_sha256": "512e26c0e20eb1019a84304795c62872dfae8721a2c90dce1ce2e2859d58ae96" }, - "FEP.PathThermodynamics.localDetailedBalance_current_zero": { + "FEP.PathThermodynamics.pathwiseEntropyProduction_reverse": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "law" + "protocol" ], "role": "typed_binder", - "source": "(law : FiniteLaw State)", - "type_source": "FiniteLaw State", + "source": "(protocol : FinitePathProtocol Path)", + "type_source": "FinitePathProtocol Path", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "kernel" + "hForward" ], "role": "typed_binder", - "source": "(kernel : FiniteKernel State State)", - "type_source": "FiniteKernel State State", + "source": "(hForward : ∀ path, 0 < protocol.forward path)", + "type_source": "∀ path, 0 < protocol.forward path", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "hReversible" + "hReverse" ], "role": "typed_binder", - "source": "(hReversible : IsReversible law kernel)", - "type_source": "IsReversible law kernel", + "source": "(hReverse : ∀ path, 0 < protocol.reverseAligned path)", + "type_source": "∀ path, 0 < protocol.reverseAligned path", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "source", - "target" + "hExchangeForward" ], "role": "typed_binder", - "source": "(source target : State)", - "type_source": "State", + "source": "(hExchangeForward : ∀ path,\n protocol.forward (protocol.reversal path) =\n protocol.reverseAligned path)", + "type_source": "∀ path,\n protocol.forward (protocol.reversal path) =\n protocol.reverseAligned path", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hExchangeReverse" + ], + "role": "typed_binder", + "source": "(hExchangeReverse : ∀ path,\n protocol.reverseAligned (protocol.reversal path) =\n protocol.forward path)", + "type_source": "∀ path,\n protocol.reverseAligned (protocol.reversal path) =\n protocol.forward path", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "path" + ], + "role": "typed_binder", + "source": "(path : Path)", + "type_source": "Path", "visibility": "explicit" } ], - "conclusion": "probabilityCurrent law kernel source target = 0", + "conclusion": "pathwiseEntropyProduction protocol (protocol.reversal path) =\n -pathwiseEntropyProduction protocol path", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -84280,27 +91619,48 @@ "{Path State : Type*} [Fintype Path] [Fintype State]" ], "preceding_scope_directives": [], - "qualified_name": "FEP.PathThermodynamics.localDetailedBalance_current_zero", - "source_line": 304, + "qualified_name": "FEP.PathThermodynamics.pathwiseEntropyProduction_reverse", + "source_line": 141, "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", - "statement": "theorem localDetailedBalance_current_zero\n (law : FiniteLaw State) (kernel : FiniteKernel State State)\n (hReversible : IsReversible law kernel) (source target : State) :\n probabilityCurrent law kernel source target = 0", - "statement_sha256": "e88f4388b57888276f96543dd122480d3cab967c2128c58be1fb827c13cb9e59" + "statement": "theorem pathwiseEntropyProduction_reverse\n (protocol : FinitePathProtocol Path)\n (hForward : ∀ path, 0 < protocol.forward path)\n (hReverse : ∀ path, 0 < protocol.reverseAligned path)\n (hExchangeForward : ∀ path,\n protocol.forward (protocol.reversal path) =\n protocol.reverseAligned path)\n (hExchangeReverse : ∀ path,\n protocol.reverseAligned (protocol.reversal path) =\n protocol.forward path)\n (path : Path) :\n pathwiseEntropyProduction protocol (protocol.reversal path) =\n -pathwiseEntropyProduction protocol path", + "statement_sha256": "923af0e0e2c42ee357460d646013aaad6d1c16b64365c9b445d3bccbe29f338c" }, - "FEP.PathThermodynamics.pathLaw_normalization": { + "FEP.PathThermodynamics.probabilityCurrent_antisymm": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "protocol" + "law" ], "role": "typed_binder", - "source": "(protocol : FinitePathProtocol Path)", - "type_source": "FinitePathProtocol Path", + "source": "(law : FiniteLaw State)", + "type_source": "FiniteLaw State", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "kernel" + ], + "role": "typed_binder", + "source": "(kernel : FiniteKernel State State)", + "type_source": "FiniteKernel State State", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "source", + "target" + ], + "role": "typed_binder", + "source": "(source target : State)", + "type_source": "State", "visibility": "explicit" } ], - "conclusion": "(∑ path, protocol.forward path = 1) ∧\n ∑ path, protocol.reverseAligned path = 1", + "conclusion": "probabilityCurrent law kernel source target =\n -probabilityCurrent law kernel target source", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -84342,47 +91702,47 @@ "{Path State : Type*} [Fintype Path] [Fintype State]" ], "preceding_scope_directives": [], - "qualified_name": "FEP.PathThermodynamics.pathLaw_normalization", - "source_line": 40, + "qualified_name": "FEP.PathThermodynamics.probabilityCurrent_antisymm", + "source_line": 296, "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", - "statement": "theorem pathLaw_normalization (protocol : FinitePathProtocol Path) :\n (∑ path, protocol.forward path = 1) ∧\n ∑ path, protocol.reverseAligned path = 1", - "statement_sha256": "80fb51b1b619485798359b373d5f5e2e1f46db0d43ea6a0b856606aa2a0f96f3" + "statement": "theorem probabilityCurrent_antisymm\n (law : FiniteLaw State) (kernel : FiniteKernel State State)\n (source target : State) :\n probabilityCurrent law kernel source target =\n -probabilityCurrent law kernel target source", + "statement_sha256": "10b7178b49efce1fc247a51ebb93256f8f5ef0b76aa0b1dbec4bf780fa529d3f" }, - "FEP.PathThermodynamics.pathRatio_mul_reverse": { + "FEP.PathThermodynamics.prod_stage_ratio_telescope": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "protocol" + "n" ], "role": "typed_binder", - "source": "(protocol : FinitePathProtocol Path)", - "type_source": "FinitePathProtocol Path", + "source": "(n : ℕ)", + "type_source": "ℕ", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "hReverse" + "f" ], "role": "typed_binder", - "source": "(hReverse : ∀ path, 0 < protocol.reverseAligned path)", - "type_source": "∀ path, 0 < protocol.reverseAligned path", + "source": "(f : Fin (n + 1) → ℝ)", + "type_source": "Fin (n + 1) → ℝ", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "path" + "hf" ], "role": "typed_binder", - "source": "(path : Path)", - "type_source": "Path", + "source": "(hf : ∀ i, f i ≠ 0)", + "type_source": "∀ i, f i ≠ 0", "visibility": "explicit" } ], - "conclusion": "pathRatio protocol path * protocol.reverseAligned path =\n protocol.forward path", + "conclusion": "∏ t : Fin n, f t.castSucc / f t.succ = f 0 / f (Fin.last n)", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -84410,6 +91770,24 @@ "source": "[Fintype State]", "type_source": "Fintype State", "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "S" + ], + "role": "typed_binder", + "source": "{S : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype S]", + "type_source": "Fintype S", + "visibility": "instance" } ], "declaration_mentions": [], @@ -84421,16 +91799,23 @@ "line_coordinate_kind": "formal_resource_file", "namespace": "FEP.PathThermodynamics", "namespace_variable_context": [ - "{Path State : Type*} [Fintype Path] [Fintype State]" + "{Path State : Type*} [Fintype Path] [Fintype State]", + "{S : Type*} [Fintype S]" ], - "preceding_scope_directives": [], - "qualified_name": "FEP.PathThermodynamics.pathRatio_mul_reverse", - "source_line": 53, + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Fintype S] in" + } + ], + "qualified_name": "FEP.PathThermodynamics.prod_stage_ratio_telescope", + "source_line": 871, "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", - "statement": "theorem pathRatio_mul_reverse\n (protocol : FinitePathProtocol Path)\n (hReverse : ∀ path, 0 < protocol.reverseAligned path) (path : Path) :\n pathRatio protocol path * protocol.reverseAligned path =\n protocol.forward path", - "statement_sha256": "0831c5af17994687739a98154aae5b5b8e7ec920c82c8b9fa825c1b8c655e0b0" + "statement": "theorem prod_stage_ratio_telescope (n : ℕ) (f : Fin (n + 1) → ℝ)\n (hf : ∀ i, f i ≠ 0) :\n ∏ t : Fin n, f t.castSucc / f t.succ = f 0 / f (Fin.last n)", + "statement_sha256": "92c60c0d277bc634185bc7c22a8a5a66f9cee7bb969c618bab25e74d11985ce0" }, - "FEP.PathThermodynamics.pathRatio_zero_reverse_boundary": { + "FEP.PathThermodynamics.reverse_reverse": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { @@ -84452,19 +91837,9 @@ "source": "(path : Path)", "type_source": "Path", "visibility": "explicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "hZero" - ], - "role": "typed_binder", - "source": "(hZero : protocol.reverseAligned path = 0)", - "type_source": "protocol.reverseAligned path = 0", - "visibility": "explicit" } ], - "conclusion": "pathRatio protocol path = 0", + "conclusion": "protocol.reversal (protocol.reversal path) = path", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -84506,77 +91881,68 @@ "{Path State : Type*} [Fintype Path] [Fintype State]" ], "preceding_scope_directives": [], - "qualified_name": "FEP.PathThermodynamics.pathRatio_zero_reverse_boundary", - "source_line": 62, + "qualified_name": "FEP.PathThermodynamics.reverse_reverse", + "source_line": 35, "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", - "statement": "theorem pathRatio_zero_reverse_boundary\n (protocol : FinitePathProtocol Path) (path : Path)\n (hZero : protocol.reverseAligned path = 0) :\n pathRatio protocol path = 0", - "statement_sha256": "bd3d2909effb07f283c0a799057f17df79d72e6a212d4bdcbcc2e67c5d1362e1" + "statement": "theorem reverse_reverse (protocol : FinitePathProtocol Path) (path : Path) :\n protocol.reversal (protocol.reversal path) = path", + "statement_sha256": "03c798ce5626361e20afa5a0209e1bc65cf91e46a37793d4052d582dbbaace24" }, - "FEP.PathThermodynamics.pathwiseEntropyProduction_reverse": { + "FEP.PathThermodynamics.reversedKernel_detailedBalance": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "protocol" - ], - "role": "typed_binder", - "source": "(protocol : FinitePathProtocol Path)", - "type_source": "FinitePathProtocol Path", - "visibility": "explicit" - }, - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "hForward" + "law" ], "role": "typed_binder", - "source": "(hForward : ∀ path, 0 < protocol.forward path)", - "type_source": "∀ path, 0 < protocol.forward path", + "source": "(law : FiniteLaw S)", + "type_source": "FiniteLaw S", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "hReverse" + "kernel" ], "role": "typed_binder", - "source": "(hReverse : ∀ path, 0 < protocol.reverseAligned path)", - "type_source": "∀ path, 0 < protocol.reverseAligned path", + "source": "(kernel : FiniteKernel S S)", + "type_source": "FiniteKernel S S", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "hExchangeForward" + "hLaw" ], "role": "typed_binder", - "source": "(hExchangeForward : ∀ path,\n protocol.forward (protocol.reversal path) =\n protocol.reverseAligned path)", - "type_source": "∀ path,\n protocol.forward (protocol.reversal path) =\n protocol.reverseAligned path", + "source": "(hLaw : ∀ s, 0 < law s)", + "type_source": "∀ s, 0 < law s", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "hExchangeReverse" + "hInvariant" ], "role": "typed_binder", - "source": "(hExchangeReverse : ∀ path,\n protocol.reverseAligned (protocol.reversal path) =\n protocol.forward path)", - "type_source": "∀ path,\n protocol.reverseAligned (protocol.reversal path) =\n protocol.forward path", + "source": "(hInvariant : IsInvariant law kernel)", + "type_source": "IsInvariant law kernel", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "path" + "a", + "b" ], "role": "typed_binder", - "source": "(path : Path)", - "type_source": "Path", + "source": "(a b : S)", + "type_source": "S", "visibility": "explicit" } ], - "conclusion": "pathwiseEntropyProduction protocol (protocol.reversal path) =\n -pathwiseEntropyProduction protocol path", + "conclusion": "law a * reversedKernel law kernel hLaw hInvariant a b =\n law b * kernel b a", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -84604,6 +91970,24 @@ "source": "[Fintype State]", "type_source": "Fintype State", "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "S" + ], + "role": "typed_binder", + "source": "{S : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype S]", + "type_source": "Fintype S", + "visibility": "instance" } ], "declaration_mentions": [], @@ -84615,16 +91999,23 @@ "line_coordinate_kind": "formal_resource_file", "namespace": "FEP.PathThermodynamics", "namespace_variable_context": [ - "{Path State : Type*} [Fintype Path] [Fintype State]" + "{Path State : Type*} [Fintype Path] [Fintype State]", + "{S : Type*} [Fintype S]" ], - "preceding_scope_directives": [], - "qualified_name": "FEP.PathThermodynamics.pathwiseEntropyProduction_reverse", - "source_line": 141, + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Fintype S] in" + } + ], + "qualified_name": "FEP.PathThermodynamics.reversedKernel_detailedBalance", + "source_line": 850, "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", - "statement": "theorem pathwiseEntropyProduction_reverse\n (protocol : FinitePathProtocol Path)\n (hForward : ∀ path, 0 < protocol.forward path)\n (hReverse : ∀ path, 0 < protocol.reverseAligned path)\n (hExchangeForward : ∀ path,\n protocol.forward (protocol.reversal path) =\n protocol.reverseAligned path)\n (hExchangeReverse : ∀ path,\n protocol.reverseAligned (protocol.reversal path) =\n protocol.forward path)\n (path : Path) :\n pathwiseEntropyProduction protocol (protocol.reversal path) =\n -pathwiseEntropyProduction protocol path", - "statement_sha256": "923af0e0e2c42ee357460d646013aaad6d1c16b64365c9b445d3bccbe29f338c" + "statement": "theorem reversedKernel_detailedBalance (law : FiniteLaw S)\n (kernel : FiniteKernel S S) (hLaw : ∀ s, 0 < law s)\n (hInvariant : IsInvariant law kernel) (a b : S) :\n law a * reversedKernel law kernel hLaw hInvariant a b =\n law b * kernel b a", + "statement_sha256": "ec1f0480775a45ed70110ad892e5fddaa9825b0005237a377d071633ff989ee3" }, - "FEP.PathThermodynamics.probabilityCurrent_antisymm": { + "FEP.PathThermodynamics.reversedKernel_eq_of_reversible": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { @@ -84633,8 +92024,8 @@ "law" ], "role": "typed_binder", - "source": "(law : FiniteLaw State)", - "type_source": "FiniteLaw State", + "source": "(law : FiniteLaw S)", + "type_source": "FiniteLaw S", "visibility": "explicit" }, { @@ -84643,23 +92034,32 @@ "kernel" ], "role": "typed_binder", - "source": "(kernel : FiniteKernel State State)", - "type_source": "FiniteKernel State State", + "source": "(kernel : FiniteKernel S S)", + "type_source": "FiniteKernel S S", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "source", - "target" + "hLaw" ], "role": "typed_binder", - "source": "(source target : State)", - "type_source": "State", + "source": "(hLaw : ∀ s, 0 < law s)", + "type_source": "∀ s, 0 < law s", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hReversible" + ], + "role": "typed_binder", + "source": "(hReversible : IsReversible law kernel)", + "type_source": "IsReversible law kernel", "visibility": "explicit" } ], - "conclusion": "probabilityCurrent law kernel source target =\n -probabilityCurrent law kernel target source", + "conclusion": "reversedKernel law kernel hLaw (isInvariant_of_isReversible law kernel hReversible) =\n kernel", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -84687,60 +92087,14 @@ "source": "[Fintype State]", "type_source": "Fintype State", "visibility": "instance" - } - ], - "declaration_mentions": [], - "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", - "import_context": [ - "FepSketches.finite_markov_dynamics", - "FepSketches.variational_duality" - ], - "line_coordinate_kind": "formal_resource_file", - "namespace": "FEP.PathThermodynamics", - "namespace_variable_context": [ - "{Path State : Type*} [Fintype Path] [Fintype State]" - ], - "preceding_scope_directives": [], - "qualified_name": "FEP.PathThermodynamics.probabilityCurrent_antisymm", - "source_line": 296, - "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", - "statement": "theorem probabilityCurrent_antisymm\n (law : FiniteLaw State) (kernel : FiniteKernel State State)\n (source target : State) :\n probabilityCurrent law kernel source target =\n -probabilityCurrent law kernel target source", - "statement_sha256": "10b7178b49efce1fc247a51ebb93256f8f5ef0b76aa0b1dbec4bf780fa529d3f" - }, - "FEP.PathThermodynamics.reverse_reverse": { - "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", - "binders": [ - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "protocol" - ], - "role": "typed_binder", - "source": "(protocol : FinitePathProtocol Path)", - "type_source": "FinitePathProtocol Path", - "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "path" - ], - "role": "typed_binder", - "source": "(path : Path)", - "type_source": "Path", - "visibility": "explicit" - } - ], - "conclusion": "protocol.reversal (protocol.reversal path) = path", - "context_binders": [ - { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [ - "Path", - "State" + "S" ], "role": "typed_binder", - "source": "{Path State : Type*}", + "source": "{S : Type*}", "type_source": "Type*", "visibility": "implicit" }, @@ -84748,20 +92102,19 @@ "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [], "role": "instance_requirement", - "source": "[Fintype Path]", - "type_source": "Fintype Path", + "source": "[Fintype S]", + "type_source": "Fintype S", "visibility": "instance" - }, + } + ], + "declaration_mentions": [ { - "hypothesis_status": "source syntax; proposition elaboration not performed", - "names": [], - "role": "instance_requirement", - "source": "[Fintype State]", - "type_source": "Fintype State", - "visibility": "instance" + "identifier": "isInvariant_of_isReversible", + "qualified_name": "FEP.PathThermodynamics.isInvariant_of_isReversible", + "resolution": "exact or same-namespace source identifier", + "role": "statement_reference" } ], - "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ "FepSketches.finite_markov_dynamics", @@ -84770,14 +92123,21 @@ "line_coordinate_kind": "formal_resource_file", "namespace": "FEP.PathThermodynamics", "namespace_variable_context": [ - "{Path State : Type*} [Fintype Path] [Fintype State]" + "{Path State : Type*} [Fintype Path] [Fintype State]", + "{S : Type*} [Fintype S]" ], - "preceding_scope_directives": [], - "qualified_name": "FEP.PathThermodynamics.reverse_reverse", - "source_line": 35, + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Fintype S] in" + } + ], + "qualified_name": "FEP.PathThermodynamics.reversedKernel_eq_of_reversible", + "source_line": 859, "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", - "statement": "theorem reverse_reverse (protocol : FinitePathProtocol Path) (path : Path) :\n protocol.reversal (protocol.reversal path) = path", - "statement_sha256": "03c798ce5626361e20afa5a0209e1bc65cf91e46a37793d4052d582dbbaace24" + "statement": "theorem reversedKernel_eq_of_reversible (law : FiniteLaw S)\n (kernel : FiniteKernel S S) (hLaw : ∀ s, 0 < law s)\n (hReversible : IsReversible law kernel) :\n reversedKernel law kernel hLaw (isInvariant_of_isReversible law kernel hReversible) =\n kernel", + "statement_sha256": "3d185e0045ba0597d2fed2b80ee5a3821d6435f373b899a862e3586c32b1941b" }, "FEP.PathThermodynamics.reversibleKL_oneStep_dissipation": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", @@ -84915,6 +92275,93 @@ "statement": "theorem reversibleKL_oneStep_dissipation [Nonempty State]\n (actual stationary : FiniteLaw State)\n (kernel : FiniteKernel State State)\n (hActual : ∀ state, 0 < actual state)\n (hStationary : ∀ state, 0 < stationary state)\n (hKernel : ∀ source target, 0 < kernel source target)\n (hReversible : IsReversible stationary kernel) :\n finiteKL (kernel.predictive actual) stationary ≤\n finiteKL actual stationary", "statement_sha256": "6879e6fac8566e0139119b6567f2de2e0c1b894ed184d72dbd14b5002740d7b5" }, + "FEP.PathThermodynamics.sum_pathTwo": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "g" + ], + "role": "typed_binder", + "source": "(g : (Fin 2 → S) → ℝ)", + "type_source": "(Fin 2 → S) → ℝ", + "visibility": "explicit" + } + ], + "conclusion": "∑ path : Fin 2 → S, g path = ∑ i : S, ∑ j : S, g ![i, j]", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "Path", + "State" + ], + "role": "typed_binder", + "source": "{Path State : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Path]", + "type_source": "Fintype Path", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype State]", + "type_source": "Fintype State", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "S" + ], + "role": "typed_binder", + "source": "{S : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype S]", + "type_source": "Fintype S", + "visibility": "instance" + } + ], + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.finite_markov_dynamics", + "FepSketches.variational_duality" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.PathThermodynamics", + "namespace_variable_context": [ + "{Path State : Type*} [Fintype Path] [Fintype State]", + "{S : Type*} [Fintype S]" + ], + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Fintype S] in" + } + ], + "qualified_name": "FEP.PathThermodynamics.sum_pathTwo", + "source_line": 677, + "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "statement": "theorem sum_pathTwo (g : (Fin 2 → S) → ℝ) :\n ∑ path : Fin 2 → S, g path = ∑ i : S, ∑ j : S, g ![i, j]", + "statement_sha256": "9d2e6b8ca69c621afe8c99085d1525875ff962cd89d994892ac1649f8866fc08" + }, "FEP.PerceptionActionLoop.actionEvidence_eq_predictive_of_identity": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ @@ -90555,8 +98002,13 @@ "Mathlib.Analysis.Calculus.Deriv.Add", "Mathlib.Analysis.Calculus.Deriv.Mul", "Mathlib.Analysis.Calculus.Deriv.Pow", + "Mathlib.Analysis.Calculus.IteratedDeriv.Defs", + "Mathlib.Analysis.SpecialFunctions.ExpDeriv", "Mathlib.Basic.Real.Basic", + "Mathlib.Analysis.Convex.SpecificFunctions.Basic", + "Mathlib.Analysis.SpecialFunctions.Log.Deriv", "Mathlib.Order.Filter.Tendsto", + "Mathlib.Probability.Distributions.Gaussian.Real", "Mathlib.Topology.Algebra.Monoid", "Mathlib.Tactic" ], @@ -90565,11 +98017,90 @@ "namespace_variable_context": [], "preceding_scope_directives": [], "qualified_name": "FEP.PredictiveCoding.doubledPrecision_nontrivial_witness", - "source_line": 296, + "source_line": 370, "source_owner": "src/fep_lean/formal/predictive_coding.lean", "statement": "theorem doubledPrecision_nontrivial_witness :\n precisionEnergy 2 1 0 = 2 * precisionEnergy 1 1 0 ∧\n precisionEnergy 1 1 0 < precisionEnergy 2 1 0", "statement_sha256": "b54edeab2332f3d1280f8c586b9821dcb09c03220ba1b332cc2e81ea50376fb0" }, + "FEP.PredictiveCoding.exp_jet_shift_witness": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "order" + ], + "role": "typed_binder", + "source": "(order : ℕ)", + "type_source": "ℕ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "t" + ], + "role": "typed_binder", + "source": "(t : ℝ)", + "type_source": "ℝ", + "visibility": "explicit" + } + ], + "conclusion": "(∀ k, k ≤ order → (functionJet order Real.exp t).coefficient k ≠ 0) ∧\n (∀ k, k < order →\n (shift 1 (functionJet order Real.exp t)).coefficient k =\n (functionJet order (deriv Real.exp) t).coefficient k) ∧\n (shift 1 (functionJet order Real.exp t)).coefficient order = 0", + "context_binders": [], + "declaration_mentions": [ + { + "identifier": "functionJet_coefficient_of_le", + "qualified_name": "FEP.PredictiveCoding.functionJet_coefficient_of_le", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + }, + { + "identifier": "iteratedDeriv_exp_eq", + "qualified_name": "FEP.PredictiveCoding.iteratedDeriv_exp_eq", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + }, + { + "identifier": "shift_one_functionJet", + "qualified_name": "FEP.PredictiveCoding.shift_one_functionJet", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + }, + { + "identifier": "shift_top_zero", + "qualified_name": "FEP.PredictiveCoding.shift_top_zero", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + } + ], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "Mathlib.Algebra.BigOperators.Group.Finset.Basic", + "Mathlib.Algebra.Order.Ring.Basic", + "Mathlib.Analysis.Calculus.Deriv.Add", + "Mathlib.Analysis.Calculus.Deriv.Mul", + "Mathlib.Analysis.Calculus.Deriv.Pow", + "Mathlib.Analysis.Calculus.IteratedDeriv.Defs", + "Mathlib.Analysis.SpecialFunctions.ExpDeriv", + "Mathlib.Basic.Real.Basic", + "Mathlib.Analysis.Convex.SpecificFunctions.Basic", + "Mathlib.Analysis.SpecialFunctions.Log.Deriv", + "Mathlib.Order.Filter.Tendsto", + "Mathlib.Probability.Distributions.Gaussian.Real", + "Mathlib.Topology.Algebra.Monoid", + "Mathlib.Tactic" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.PredictiveCoding", + "namespace_variable_context": [], + "preceding_scope_directives": [], + "qualified_name": "FEP.PredictiveCoding.exp_jet_shift_witness", + "source_line": 234, + "source_owner": "src/fep_lean/formal/predictive_coding.lean", + "statement": "theorem exp_jet_shift_witness (order : ℕ) (t : ℝ) :\n (∀ k, k ≤ order → (functionJet order Real.exp t).coefficient k ≠ 0) ∧\n (∀ k, k < order →\n (shift 1 (functionJet order Real.exp t)).coefficient k =\n (functionJet order (deriv Real.exp) t).coefficient k) ∧\n (shift 1 (functionJet order Real.exp t)).coefficient order = 0", + "statement_sha256": "a3b750b233446db388704d840317c45e783331ceab8e61b4fd805a21c11d81e3" + }, "FEP.PredictiveCoding.firstOrderCorrection_witness": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [], @@ -90583,8 +98114,13 @@ "Mathlib.Analysis.Calculus.Deriv.Add", "Mathlib.Analysis.Calculus.Deriv.Mul", "Mathlib.Analysis.Calculus.Deriv.Pow", + "Mathlib.Analysis.Calculus.IteratedDeriv.Defs", + "Mathlib.Analysis.SpecialFunctions.ExpDeriv", "Mathlib.Basic.Real.Basic", + "Mathlib.Analysis.Convex.SpecificFunctions.Basic", + "Mathlib.Analysis.SpecialFunctions.Log.Deriv", "Mathlib.Order.Filter.Tendsto", + "Mathlib.Probability.Distributions.Gaussian.Real", "Mathlib.Topology.Algebra.Monoid", "Mathlib.Tactic" ], @@ -90593,7 +98129,7 @@ "namespace_variable_context": [], "preceding_scope_directives": [], "qualified_name": "FEP.PredictiveCoding.firstOrderCorrection_witness", - "source_line": 259, + "source_line": 333, "source_owner": "src/fep_lean/formal/predictive_coding.lean", "statement": "theorem firstOrderCorrection_witness :\n let corrected", "statement_sha256": "f717f20d22be56c827d69bacf8468951aefec13d2a43834cc398129abbafb401" @@ -90630,8 +98166,13 @@ "Mathlib.Analysis.Calculus.Deriv.Add", "Mathlib.Analysis.Calculus.Deriv.Mul", "Mathlib.Analysis.Calculus.Deriv.Pow", + "Mathlib.Analysis.Calculus.IteratedDeriv.Defs", + "Mathlib.Analysis.SpecialFunctions.ExpDeriv", "Mathlib.Basic.Real.Basic", + "Mathlib.Analysis.Convex.SpecificFunctions.Basic", + "Mathlib.Analysis.SpecialFunctions.Log.Deriv", "Mathlib.Order.Filter.Tendsto", + "Mathlib.Probability.Distributions.Gaussian.Real", "Mathlib.Topology.Algebra.Monoid", "Mathlib.Tactic" ], @@ -90640,7 +98181,7 @@ "namespace_variable_context": [], "preceding_scope_directives": [], "qualified_name": "FEP.PredictiveCoding.firstOrderJet_shift_boundary", - "source_line": 187, + "source_line": 261, "source_owner": "src/fep_lean/formal/predictive_coding.lean", "statement": "theorem firstOrderJet_shift_boundary (value velocity : ℝ) :\n (shift 1 (firstOrderJet value velocity)).coefficient 0 = velocity ∧\n (shift 1 (firstOrderJet value velocity)).coefficient 1 = 0", "statement_sha256": "6c21452307bd1ac67e5dc578f45c1d7f6bc16b350c47387a951457b1763dfdf9" @@ -90670,8 +98211,13 @@ "Mathlib.Analysis.Calculus.Deriv.Add", "Mathlib.Analysis.Calculus.Deriv.Mul", "Mathlib.Analysis.Calculus.Deriv.Pow", + "Mathlib.Analysis.Calculus.IteratedDeriv.Defs", + "Mathlib.Analysis.SpecialFunctions.ExpDeriv", "Mathlib.Basic.Real.Basic", + "Mathlib.Analysis.Convex.SpecificFunctions.Basic", + "Mathlib.Analysis.SpecialFunctions.Log.Deriv", "Mathlib.Order.Filter.Tendsto", + "Mathlib.Probability.Distributions.Gaussian.Real", "Mathlib.Topology.Algebra.Monoid", "Mathlib.Tactic" ], @@ -90680,7 +98226,7 @@ "namespace_variable_context": [], "preceding_scope_directives": [], "qualified_name": "FEP.PredictiveCoding.firstOrderJet_value", - "source_line": 178, + "source_line": 252, "source_owner": "src/fep_lean/formal/predictive_coding.lean", "statement": "theorem firstOrderJet_value (value velocity : ℝ) :\n (firstOrderJet value velocity).coefficient 0 = value", "statement_sha256": "b780a71e3377ba7a07fbc0d32111c0e6022be5aaa153a1769a3c4be112d3c61a" @@ -90710,8 +98256,13 @@ "Mathlib.Analysis.Calculus.Deriv.Add", "Mathlib.Analysis.Calculus.Deriv.Mul", "Mathlib.Analysis.Calculus.Deriv.Pow", + "Mathlib.Analysis.Calculus.IteratedDeriv.Defs", + "Mathlib.Analysis.SpecialFunctions.ExpDeriv", "Mathlib.Basic.Real.Basic", + "Mathlib.Analysis.Convex.SpecificFunctions.Basic", + "Mathlib.Analysis.SpecialFunctions.Log.Deriv", "Mathlib.Order.Filter.Tendsto", + "Mathlib.Probability.Distributions.Gaussian.Real", "Mathlib.Topology.Algebra.Monoid", "Mathlib.Tactic" ], @@ -90720,11 +98271,257 @@ "namespace_variable_context": [], "preceding_scope_directives": [], "qualified_name": "FEP.PredictiveCoding.firstOrderJet_velocity", - "source_line": 183, + "source_line": 257, "source_owner": "src/fep_lean/formal/predictive_coding.lean", "statement": "theorem firstOrderJet_velocity (value velocity : ℝ) :\n (firstOrderJet value velocity).coefficient 1 = velocity", "statement_sha256": "8d0565d9a1727e815a12d36c8408e6c84f0e1186ac4b8b8a351e381e521f5cad" }, + "FEP.PredictiveCoding.functionJet_coefficient_of_le": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "order" + ], + "role": "typed_binder", + "source": "{order : ℕ}", + "type_source": "ℕ", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "f" + ], + "role": "typed_binder", + "source": "(f : ℝ → ℝ)", + "type_source": "ℝ → ℝ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "t" + ], + "role": "typed_binder", + "source": "(t : ℝ)", + "type_source": "ℝ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "k" + ], + "role": "typed_binder", + "source": "{k : ℕ}", + "type_source": "ℕ", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hk" + ], + "role": "typed_binder", + "source": "(hk : k ≤ order)", + "type_source": "k ≤ order", + "visibility": "explicit" + } + ], + "conclusion": "(functionJet order f t).coefficient k = iteratedDeriv k f t", + "context_binders": [], + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "Mathlib.Algebra.BigOperators.Group.Finset.Basic", + "Mathlib.Algebra.Order.Ring.Basic", + "Mathlib.Analysis.Calculus.Deriv.Add", + "Mathlib.Analysis.Calculus.Deriv.Mul", + "Mathlib.Analysis.Calculus.Deriv.Pow", + "Mathlib.Analysis.Calculus.IteratedDeriv.Defs", + "Mathlib.Analysis.SpecialFunctions.ExpDeriv", + "Mathlib.Basic.Real.Basic", + "Mathlib.Analysis.Convex.SpecificFunctions.Basic", + "Mathlib.Analysis.SpecialFunctions.Log.Deriv", + "Mathlib.Order.Filter.Tendsto", + "Mathlib.Probability.Distributions.Gaussian.Real", + "Mathlib.Topology.Algebra.Monoid", + "Mathlib.Tactic" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.PredictiveCoding", + "namespace_variable_context": [], + "preceding_scope_directives": [], + "qualified_name": "FEP.PredictiveCoding.functionJet_coefficient_of_le", + "source_line": 182, + "source_owner": "src/fep_lean/formal/predictive_coding.lean", + "statement": "theorem functionJet_coefficient_of_le {order : ℕ} (f : ℝ → ℝ) (t : ℝ) {k : ℕ}\n (hk : k ≤ order) :\n (functionJet order f t).coefficient k = iteratedDeriv k f t", + "statement_sha256": "efa8abb3d913089fccad79a99edf275cb80d51d06d2dc982ba809367bfdaebb3" + }, + "FEP.PredictiveCoding.gaussianChainEnergy_eq_neg_log_prod": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "Level" + ], + "role": "typed_binder", + "source": "{Level : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Level]", + "type_source": "Fintype Level", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "mean", + "x" + ], + "role": "typed_binder", + "source": "(mean x : Level → ℝ)", + "type_source": "Level → ℝ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "variance" + ], + "role": "typed_binder", + "source": "(variance : Level → NNReal)", + "type_source": "Level → NNReal", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hVariance" + ], + "role": "typed_binder", + "source": "(hVariance : ∀ level, variance level ≠ 0)", + "type_source": "∀ level, variance level ≠ 0", + "visibility": "explicit" + } + ], + "conclusion": "-Real.log (∏ level, ProbabilityTheory.gaussianPDFReal\n (mean level) (variance level) (x level)) =\n gaussianChainEnergy (fun level => 1 / (variance level : ℝ))\n (fun level => x level - mean level) +\n (Fintype.card Level : ℝ) / 2 * Real.log (2 * Real.pi)", + "context_binders": [], + "declaration_mentions": [ + { + "identifier": "neg_log_gaussianPDFReal", + "qualified_name": "FEP.PredictiveCoding.neg_log_gaussianPDFReal", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + } + ], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "Mathlib.Algebra.BigOperators.Group.Finset.Basic", + "Mathlib.Algebra.Order.Ring.Basic", + "Mathlib.Analysis.Calculus.Deriv.Add", + "Mathlib.Analysis.Calculus.Deriv.Mul", + "Mathlib.Analysis.Calculus.Deriv.Pow", + "Mathlib.Analysis.Calculus.IteratedDeriv.Defs", + "Mathlib.Analysis.SpecialFunctions.ExpDeriv", + "Mathlib.Basic.Real.Basic", + "Mathlib.Analysis.Convex.SpecificFunctions.Basic", + "Mathlib.Analysis.SpecialFunctions.Log.Deriv", + "Mathlib.Order.Filter.Tendsto", + "Mathlib.Probability.Distributions.Gaussian.Real", + "Mathlib.Topology.Algebra.Monoid", + "Mathlib.Tactic" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.PredictiveCoding", + "namespace_variable_context": [], + "preceding_scope_directives": [], + "qualified_name": "FEP.PredictiveCoding.gaussianChainEnergy_eq_neg_log_prod", + "source_line": 592, + "source_owner": "src/fep_lean/formal/predictive_coding.lean", + "statement": "theorem gaussianChainEnergy_eq_neg_log_prod\n {Level : Type*} [Fintype Level]\n (mean x : Level → ℝ) (variance : Level → NNReal)\n (hVariance : ∀ level, variance level ≠ 0) :\n -Real.log (∏ level, ProbabilityTheory.gaussianPDFReal\n (mean level) (variance level) (x level)) =\n gaussianChainEnergy (fun level => 1 / (variance level : ℝ))\n (fun level => x level - mean level) +\n (Fintype.card Level : ℝ) / 2 * Real.log (2 * Real.pi)", + "statement_sha256": "4e27ad0c8e26b0fc0599d6db578b7bdc5d335acacb55063c0f4328ab18d6b9a8" + }, + "FEP.PredictiveCoding.gaussianChain_twoLevel": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "mean", + "x" + ], + "role": "typed_binder", + "source": "(mean x : Fin 2 → ℝ)", + "type_source": "Fin 2 → ℝ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "variance" + ], + "role": "typed_binder", + "source": "(variance : Fin 2 → NNReal)", + "type_source": "Fin 2 → NNReal", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hVariance" + ], + "role": "typed_binder", + "source": "(hVariance : ∀ level, variance level ≠ 0)", + "type_source": "∀ level, variance level ≠ 0", + "visibility": "explicit" + } + ], + "conclusion": "-Real.log (ProbabilityTheory.gaussianPDFReal (mean 0) (variance 0) (x 0) *\n ProbabilityTheory.gaussianPDFReal (mean 1) (variance 1) (x 1)) =\n gaussianChainEnergy (fun level => 1 / (variance level : ℝ))\n (fun level => x level - mean level) + Real.log (2 * Real.pi)", + "context_binders": [], + "declaration_mentions": [ + { + "identifier": "gaussianChainEnergy_eq_neg_log_prod", + "qualified_name": "FEP.PredictiveCoding.gaussianChainEnergy_eq_neg_log_prod", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + } + ], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "Mathlib.Algebra.BigOperators.Group.Finset.Basic", + "Mathlib.Algebra.Order.Ring.Basic", + "Mathlib.Analysis.Calculus.Deriv.Add", + "Mathlib.Analysis.Calculus.Deriv.Mul", + "Mathlib.Analysis.Calculus.Deriv.Pow", + "Mathlib.Analysis.Calculus.IteratedDeriv.Defs", + "Mathlib.Analysis.SpecialFunctions.ExpDeriv", + "Mathlib.Basic.Real.Basic", + "Mathlib.Analysis.Convex.SpecificFunctions.Basic", + "Mathlib.Analysis.SpecialFunctions.Log.Deriv", + "Mathlib.Order.Filter.Tendsto", + "Mathlib.Probability.Distributions.Gaussian.Real", + "Mathlib.Topology.Algebra.Monoid", + "Mathlib.Tactic" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.PredictiveCoding", + "namespace_variable_context": [], + "preceding_scope_directives": [], + "qualified_name": "FEP.PredictiveCoding.gaussianChain_twoLevel", + "source_line": 612, + "source_owner": "src/fep_lean/formal/predictive_coding.lean", + "statement": "theorem gaussianChain_twoLevel\n (mean x : Fin 2 → ℝ) (variance : Fin 2 → NNReal)\n (hVariance : ∀ level, variance level ≠ 0) :\n -Real.log (ProbabilityTheory.gaussianPDFReal (mean 0) (variance 0) (x 0) *\n ProbabilityTheory.gaussianPDFReal (mean 1) (variance 1) (x 1)) =\n gaussianChainEnergy (fun level => 1 / (variance level : ℝ))\n (fun level => x level - mean level) + Real.log (2 * Real.pi)", + "statement_sha256": "9030972c819f8eeee95e91bd3f6730b20629c2bea50114f9ad37ce172bf0662d" + }, "FEP.PredictiveCoding.generalizedCoordinateEnergy_hasDerivAt": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ @@ -90787,8 +98584,13 @@ "Mathlib.Analysis.Calculus.Deriv.Add", "Mathlib.Analysis.Calculus.Deriv.Mul", "Mathlib.Analysis.Calculus.Deriv.Pow", + "Mathlib.Analysis.Calculus.IteratedDeriv.Defs", + "Mathlib.Analysis.SpecialFunctions.ExpDeriv", "Mathlib.Basic.Real.Basic", + "Mathlib.Analysis.Convex.SpecificFunctions.Basic", + "Mathlib.Analysis.SpecialFunctions.Log.Deriv", "Mathlib.Order.Filter.Tendsto", + "Mathlib.Probability.Distributions.Gaussian.Real", "Mathlib.Topology.Algebra.Monoid", "Mathlib.Tactic" ], @@ -90797,7 +98599,7 @@ "namespace_variable_context": [], "preceding_scope_directives": [], "qualified_name": "FEP.PredictiveCoding.generalizedCoordinateEnergy_hasDerivAt", - "source_line": 233, + "source_line": 307, "source_owner": "src/fep_lean/formal/predictive_coding.lean", "statement": "theorem generalizedCoordinateEnergy_hasDerivAt {order : ℕ}\n (precision : ℕ → ℝ) (target estimate : FiniteJet order) (degree : ℕ) :\n HasDerivAt\n (fun candidate =>\n precisionEnergy (precision degree) (target.coefficient degree) candidate)\n (precisionEnergyGradient (precision degree)\n (target.coefficient degree) (estimate.coefficient degree))\n (estimate.coefficient degree)", "statement_sha256": "e4cb27d3abe7405622e5049ea946cef080eb4ceaa19fcb0af07467d12637c53f" @@ -90867,8 +98669,13 @@ "Mathlib.Analysis.Calculus.Deriv.Add", "Mathlib.Analysis.Calculus.Deriv.Mul", "Mathlib.Analysis.Calculus.Deriv.Pow", + "Mathlib.Analysis.Calculus.IteratedDeriv.Defs", + "Mathlib.Analysis.SpecialFunctions.ExpDeriv", "Mathlib.Basic.Real.Basic", + "Mathlib.Analysis.Convex.SpecificFunctions.Basic", + "Mathlib.Analysis.SpecialFunctions.Log.Deriv", "Mathlib.Order.Filter.Tendsto", + "Mathlib.Probability.Distributions.Gaussian.Real", "Mathlib.Topology.Algebra.Monoid", "Mathlib.Tactic" ], @@ -90877,7 +98684,7 @@ "namespace_variable_context": [], "preceding_scope_directives": [], "qualified_name": "FEP.PredictiveCoding.generalizedFilteringStep_equation", - "source_line": 223, + "source_line": 297, "source_owner": "src/fep_lean/formal/predictive_coding.lean", "statement": "theorem generalizedFilteringStep_equation {order : ℕ} (stepSize : ℝ)\n (precision : ℕ → ℝ) (target estimate : FiniteJet order)\n (degree : ℕ) :\n (generalizedFilteringStep stepSize precision target estimate).coefficient degree =\n estimate.coefficient degree + stepSize *\n ((shift 1 estimate).coefficient degree -\n precisionEnergyGradient (precision degree)\n (target.coefficient degree) (estimate.coefficient degree))", "statement_sha256": "692a7cfe5a9acc3bc0d4f1e20a227d52ee881820b92a4911f90979d1a9eca375" @@ -90934,8 +98741,13 @@ "Mathlib.Analysis.Calculus.Deriv.Add", "Mathlib.Analysis.Calculus.Deriv.Mul", "Mathlib.Analysis.Calculus.Deriv.Pow", + "Mathlib.Analysis.Calculus.IteratedDeriv.Defs", + "Mathlib.Analysis.SpecialFunctions.ExpDeriv", "Mathlib.Basic.Real.Basic", + "Mathlib.Analysis.Convex.SpecificFunctions.Basic", + "Mathlib.Analysis.SpecialFunctions.Log.Deriv", "Mathlib.Order.Filter.Tendsto", + "Mathlib.Probability.Distributions.Gaussian.Real", "Mathlib.Topology.Algebra.Monoid", "Mathlib.Tactic" ], @@ -90944,7 +98756,7 @@ "namespace_variable_context": [], "preceding_scope_directives": [], "qualified_name": "FEP.PredictiveCoding.generalizedFlow_top_boundary", - "source_line": 245, + "source_line": 319, "source_owner": "src/fep_lean/formal/predictive_coding.lean", "statement": "theorem generalizedFlow_top_boundary {order : ℕ} (precision : ℕ → ℝ)\n (target estimate : FiniteJet order) :\n (generalizedFlow precision target estimate).coefficient order =\n -precisionEnergyGradient (precision order)\n (target.coefficient order) (estimate.coefficient order)", "statement_sha256": "42f59822f3206209670e13d3af05d43eb8940a92e8d45fda6735ca7e7e05b9dd" @@ -90962,8 +98774,13 @@ "Mathlib.Analysis.Calculus.Deriv.Add", "Mathlib.Analysis.Calculus.Deriv.Mul", "Mathlib.Analysis.Calculus.Deriv.Pow", + "Mathlib.Analysis.Calculus.IteratedDeriv.Defs", + "Mathlib.Analysis.SpecialFunctions.ExpDeriv", "Mathlib.Basic.Real.Basic", + "Mathlib.Analysis.Convex.SpecificFunctions.Basic", + "Mathlib.Analysis.SpecialFunctions.Log.Deriv", "Mathlib.Order.Filter.Tendsto", + "Mathlib.Probability.Distributions.Gaussian.Real", "Mathlib.Topology.Algebra.Monoid", "Mathlib.Tactic" ], @@ -90972,7 +98789,7 @@ "namespace_variable_context": [], "preceding_scope_directives": [], "qualified_name": "FEP.PredictiveCoding.halfStep_energy_witness", - "source_line": 395, + "source_line": 469, "source_owner": "src/fep_lean/formal/predictive_coding.lean", "statement": "theorem halfStep_energy_witness :\n precisionEnergy 2 1 0 = 1 ∧\n predictionUpdate (1 / 2) 1 0 = 1 / 2 ∧\n precisionEnergy 2 1 (predictionUpdate (1 / 2) 1 0) = 1 / 4", "statement_sha256": "900f852cb7a96c04d156cf8f8896f2c7963d5f81921b50655a3e4ff7542db67d" @@ -91030,8 +98847,13 @@ "Mathlib.Analysis.Calculus.Deriv.Add", "Mathlib.Analysis.Calculus.Deriv.Mul", "Mathlib.Analysis.Calculus.Deriv.Pow", + "Mathlib.Analysis.Calculus.IteratedDeriv.Defs", + "Mathlib.Analysis.SpecialFunctions.ExpDeriv", "Mathlib.Basic.Real.Basic", + "Mathlib.Analysis.Convex.SpecificFunctions.Basic", + "Mathlib.Analysis.SpecialFunctions.Log.Deriv", "Mathlib.Order.Filter.Tendsto", + "Mathlib.Probability.Distributions.Gaussian.Real", "Mathlib.Topology.Algebra.Monoid", "Mathlib.Tactic" ], @@ -91040,7 +98862,7 @@ "namespace_variable_context": [], "preceding_scope_directives": [], "qualified_name": "FEP.PredictiveCoding.hierarchicalEnergy_nonneg", - "source_line": 103, + "source_line": 108, "source_owner": "src/fep_lean/formal/predictive_coding.lean", "statement": "theorem hierarchicalEnergy_nonneg\n {Level : Type*} [Fintype Level]\n (precision error : Level → ℝ)\n (hPrecision : ∀ level, 0 ≤ precision level) :\n 0 ≤ hierarchicalEnergy precision error", "statement_sha256": "65ba0496da0b9e4762826eeebc06678874361525ced2f4d2c44b02b22db7d874" @@ -91080,8 +98902,13 @@ "Mathlib.Analysis.Calculus.Deriv.Add", "Mathlib.Analysis.Calculus.Deriv.Mul", "Mathlib.Analysis.Calculus.Deriv.Pow", + "Mathlib.Analysis.Calculus.IteratedDeriv.Defs", + "Mathlib.Analysis.SpecialFunctions.ExpDeriv", "Mathlib.Basic.Real.Basic", + "Mathlib.Analysis.Convex.SpecificFunctions.Basic", + "Mathlib.Analysis.SpecialFunctions.Log.Deriv", "Mathlib.Order.Filter.Tendsto", + "Mathlib.Probability.Distributions.Gaussian.Real", "Mathlib.Topology.Algebra.Monoid", "Mathlib.Tactic" ], @@ -91090,7 +98917,7 @@ "namespace_variable_context": [], "preceding_scope_directives": [], "qualified_name": "FEP.PredictiveCoding.hierarchicalEnergy_succ", - "source_line": 114, + "source_line": 119, "source_owner": "src/fep_lean/formal/predictive_coding.lean", "statement": "theorem hierarchicalEnergy_succ {depth : ℕ}\n (precision error : Fin (depth + 1) → ℝ) :\n hierarchicalEnergy precision error =\n precision 0 / 2 * error 0 ^ 2 +\n ∑ level : Fin depth,\n precision level.succ / 2 * error level.succ ^ 2", "statement_sha256": "2a389e11f043edcf33ef99ae08e75c950c607416bbbe3aebb674648ab4eb5bfa" @@ -91167,8 +98994,13 @@ "Mathlib.Analysis.Calculus.Deriv.Add", "Mathlib.Analysis.Calculus.Deriv.Mul", "Mathlib.Analysis.Calculus.Deriv.Pow", + "Mathlib.Analysis.Calculus.IteratedDeriv.Defs", + "Mathlib.Analysis.SpecialFunctions.ExpDeriv", "Mathlib.Basic.Real.Basic", + "Mathlib.Analysis.Convex.SpecificFunctions.Basic", + "Mathlib.Analysis.SpecialFunctions.Log.Deriv", "Mathlib.Order.Filter.Tendsto", + "Mathlib.Probability.Distributions.Gaussian.Real", "Mathlib.Topology.Algebra.Monoid", "Mathlib.Tactic" ], @@ -91177,7 +99009,7 @@ "namespace_variable_context": [], "preceding_scope_directives": [], "qualified_name": "FEP.PredictiveCoding.iteratePredictionEnergy_tendsto_zero", - "source_line": 381, + "source_line": 455, "source_owner": "src/fep_lean/formal/predictive_coding.lean", "statement": "theorem iteratePredictionEnergy_tendsto_zero\n (precision : ℝ) {stepSize : ℝ} (hStepPositive : 0 < stepSize)\n (hStepBelowTwo : stepSize < 2) (target estimate : ℝ) :\n Tendsto\n (fun iterations => precisionEnergy precision target\n (iteratePredictionUpdate stepSize target iterations estimate))\n atTop (nhds 0)", "statement_sha256": "3fc140f44a72befd789d13d4541a195125f18b75421cffff69fa6960536f2d69" @@ -91225,8 +99057,13 @@ "Mathlib.Analysis.Calculus.Deriv.Add", "Mathlib.Analysis.Calculus.Deriv.Mul", "Mathlib.Analysis.Calculus.Deriv.Pow", + "Mathlib.Analysis.Calculus.IteratedDeriv.Defs", + "Mathlib.Analysis.SpecialFunctions.ExpDeriv", "Mathlib.Basic.Real.Basic", + "Mathlib.Analysis.Convex.SpecificFunctions.Basic", + "Mathlib.Analysis.SpecialFunctions.Log.Deriv", "Mathlib.Order.Filter.Tendsto", + "Mathlib.Probability.Distributions.Gaussian.Real", "Mathlib.Topology.Algebra.Monoid", "Mathlib.Tactic" ], @@ -91235,7 +99072,7 @@ "namespace_variable_context": [], "preceding_scope_directives": [], "qualified_name": "FEP.PredictiveCoding.iteratePredictionError", - "source_line": 347, + "source_line": 421, "source_owner": "src/fep_lean/formal/predictive_coding.lean", "statement": "theorem iteratePredictionError\n (stepSize target estimate : ℝ) (iterations : ℕ) :\n predictionError target\n (iteratePredictionUpdate stepSize target iterations estimate) =\n (1 - stepSize) ^ iterations * predictionError target estimate", "statement_sha256": "a9473096f24489a076b1531daa8bd2c20282e70a3f2b161f1bf4260aaf515477" @@ -91302,8 +99139,13 @@ "Mathlib.Analysis.Calculus.Deriv.Add", "Mathlib.Analysis.Calculus.Deriv.Mul", "Mathlib.Analysis.Calculus.Deriv.Pow", + "Mathlib.Analysis.Calculus.IteratedDeriv.Defs", + "Mathlib.Analysis.SpecialFunctions.ExpDeriv", "Mathlib.Basic.Real.Basic", + "Mathlib.Analysis.Convex.SpecificFunctions.Basic", + "Mathlib.Analysis.SpecialFunctions.Log.Deriv", "Mathlib.Order.Filter.Tendsto", + "Mathlib.Probability.Distributions.Gaussian.Real", "Mathlib.Topology.Algebra.Monoid", "Mathlib.Tactic" ], @@ -91312,11 +99154,130 @@ "namespace_variable_context": [], "preceding_scope_directives": [], "qualified_name": "FEP.PredictiveCoding.iteratePredictionError_tendsto_zero", - "source_line": 360, + "source_line": 434, "source_owner": "src/fep_lean/formal/predictive_coding.lean", "statement": "theorem iteratePredictionError_tendsto_zero\n {stepSize : ℝ} (hStepPositive : 0 < stepSize)\n (hStepBelowTwo : stepSize < 2) (target estimate : ℝ) :\n Tendsto\n (fun iterations => predictionError target\n (iteratePredictionUpdate stepSize target iterations estimate))\n atTop (nhds 0)", "statement_sha256": "583d6a81fbfff0b6313b3c08c48704fb45984d8c830be4678101c14fade1f680" }, + "FEP.PredictiveCoding.iteratedDeriv_exp_eq": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "k" + ], + "role": "typed_binder", + "source": "(k : ℕ)", + "type_source": "ℕ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "t" + ], + "role": "typed_binder", + "source": "(t : ℝ)", + "type_source": "ℝ", + "visibility": "explicit" + } + ], + "conclusion": "iteratedDeriv k Real.exp t = Real.exp t", + "context_binders": [], + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "Mathlib.Algebra.BigOperators.Group.Finset.Basic", + "Mathlib.Algebra.Order.Ring.Basic", + "Mathlib.Analysis.Calculus.Deriv.Add", + "Mathlib.Analysis.Calculus.Deriv.Mul", + "Mathlib.Analysis.Calculus.Deriv.Pow", + "Mathlib.Analysis.Calculus.IteratedDeriv.Defs", + "Mathlib.Analysis.SpecialFunctions.ExpDeriv", + "Mathlib.Basic.Real.Basic", + "Mathlib.Analysis.Convex.SpecificFunctions.Basic", + "Mathlib.Analysis.SpecialFunctions.Log.Deriv", + "Mathlib.Order.Filter.Tendsto", + "Mathlib.Probability.Distributions.Gaussian.Real", + "Mathlib.Topology.Algebra.Monoid", + "Mathlib.Tactic" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.PredictiveCoding", + "namespace_variable_context": [], + "preceding_scope_directives": [], + "qualified_name": "FEP.PredictiveCoding.iteratedDeriv_exp_eq", + "source_line": 224, + "source_owner": "src/fep_lean/formal/predictive_coding.lean", + "statement": "theorem iteratedDeriv_exp_eq (k : ℕ) (t : ℝ) : iteratedDeriv k Real.exp t = Real.exp t", + "statement_sha256": "a846d1151a902fb89f2ea35cb1bd87d6d3ded48dba24ec2073e16ac5f71e721b" + }, + "FEP.PredictiveCoding.neg_log_gaussianPDFReal": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "mean", + "x" + ], + "role": "typed_binder", + "source": "(mean x : ℝ)", + "type_source": "ℝ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "variance" + ], + "role": "typed_binder", + "source": "{variance : NNReal}", + "type_source": "NNReal", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hVariance" + ], + "role": "typed_binder", + "source": "(hVariance : variance ≠ 0)", + "type_source": "variance ≠ 0", + "visibility": "explicit" + } + ], + "conclusion": "-Real.log (ProbabilityTheory.gaussianPDFReal mean variance x) =\n (1 / (variance : ℝ)) / 2 * (x - mean) ^ 2\n - Real.log (1 / (variance : ℝ)) / 2 + Real.log (2 * Real.pi) / 2", + "context_binders": [], + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "Mathlib.Algebra.BigOperators.Group.Finset.Basic", + "Mathlib.Algebra.Order.Ring.Basic", + "Mathlib.Analysis.Calculus.Deriv.Add", + "Mathlib.Analysis.Calculus.Deriv.Mul", + "Mathlib.Analysis.Calculus.Deriv.Pow", + "Mathlib.Analysis.Calculus.IteratedDeriv.Defs", + "Mathlib.Analysis.SpecialFunctions.ExpDeriv", + "Mathlib.Basic.Real.Basic", + "Mathlib.Analysis.Convex.SpecificFunctions.Basic", + "Mathlib.Analysis.SpecialFunctions.Log.Deriv", + "Mathlib.Order.Filter.Tendsto", + "Mathlib.Probability.Distributions.Gaussian.Real", + "Mathlib.Topology.Algebra.Monoid", + "Mathlib.Tactic" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.PredictiveCoding", + "namespace_variable_context": [], + "preceding_scope_directives": [], + "qualified_name": "FEP.PredictiveCoding.neg_log_gaussianPDFReal", + "source_line": 573, + "source_owner": "src/fep_lean/formal/predictive_coding.lean", + "statement": "theorem neg_log_gaussianPDFReal (mean x : ℝ) {variance : NNReal}\n (hVariance : variance ≠ 0) :\n -Real.log (ProbabilityTheory.gaussianPDFReal mean variance x) =\n (1 / (variance : ℝ)) / 2 * (x - mean) ^ 2\n - Real.log (1 / (variance : ℝ)) / 2 + Real.log (2 * Real.pi) / 2", + "statement_sha256": "b754a42f1ef50a38c20697eee40dbe1536cf19aa8e2cab6c7829d9b4c45be8c4" + }, "FEP.PredictiveCoding.precisionEnergy_derivative_eq_gradient": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ @@ -91350,8 +99311,13 @@ "Mathlib.Analysis.Calculus.Deriv.Add", "Mathlib.Analysis.Calculus.Deriv.Mul", "Mathlib.Analysis.Calculus.Deriv.Pow", + "Mathlib.Analysis.Calculus.IteratedDeriv.Defs", + "Mathlib.Analysis.SpecialFunctions.ExpDeriv", "Mathlib.Basic.Real.Basic", + "Mathlib.Analysis.Convex.SpecificFunctions.Basic", + "Mathlib.Analysis.SpecialFunctions.Log.Deriv", "Mathlib.Order.Filter.Tendsto", + "Mathlib.Probability.Distributions.Gaussian.Real", "Mathlib.Topology.Algebra.Monoid", "Mathlib.Tactic" ], @@ -91360,7 +99326,7 @@ "namespace_variable_context": [], "preceding_scope_directives": [], "qualified_name": "FEP.PredictiveCoding.precisionEnergy_derivative_eq_gradient", - "source_line": 90, + "source_line": 95, "source_owner": "src/fep_lean/formal/predictive_coding.lean", "statement": "theorem precisionEnergy_derivative_eq_gradient\n (precision observation estimate : ℝ) :\n HasDerivAt (fun candidate => precisionEnergy precision observation candidate)\n (precisionEnergyGradient precision observation estimate) estimate", "statement_sha256": "6ae930689b6770a1246d0825288ea9347979b4ebc174490e94aef2853652ae61" @@ -91395,12 +99361,281 @@ "estimate" ], "role": "typed_binder", - "source": "(observation estimate : ℝ)", + "source": "(observation estimate : ℝ)", + "type_source": "ℝ", + "visibility": "explicit" + } + ], + "conclusion": "precisionEnergy precision observation estimate = 0 ↔\n estimate = observation", + "context_binders": [], + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "Mathlib.Algebra.BigOperators.Group.Finset.Basic", + "Mathlib.Algebra.Order.Ring.Basic", + "Mathlib.Analysis.Calculus.Deriv.Add", + "Mathlib.Analysis.Calculus.Deriv.Mul", + "Mathlib.Analysis.Calculus.Deriv.Pow", + "Mathlib.Analysis.Calculus.IteratedDeriv.Defs", + "Mathlib.Analysis.SpecialFunctions.ExpDeriv", + "Mathlib.Basic.Real.Basic", + "Mathlib.Analysis.Convex.SpecificFunctions.Basic", + "Mathlib.Analysis.SpecialFunctions.Log.Deriv", + "Mathlib.Order.Filter.Tendsto", + "Mathlib.Probability.Distributions.Gaussian.Real", + "Mathlib.Topology.Algebra.Monoid", + "Mathlib.Tactic" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.PredictiveCoding", + "namespace_variable_context": [], + "preceding_scope_directives": [], + "qualified_name": "FEP.PredictiveCoding.precisionEnergy_eq_zero_iff", + "source_line": 50, + "source_owner": "src/fep_lean/formal/predictive_coding.lean", + "statement": "theorem precisionEnergy_eq_zero_iff {precision : ℝ}\n (hPrecision : 0 < precision) (observation estimate : ℝ) :\n precisionEnergy precision observation estimate = 0 ↔\n estimate = observation", + "statement_sha256": "01a9ee70ca7e2cdacbc9a8529de50f6443906762bf255312b9f80affb42ee4ff" + }, + "FEP.PredictiveCoding.precisionEnergy_hasDerivAt": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "precision", + "observation", + "estimate" + ], + "role": "typed_binder", + "source": "(precision observation estimate : ℝ)", + "type_source": "ℝ", + "visibility": "explicit" + } + ], + "conclusion": "HasDerivAt (fun candidate => precisionEnergy precision observation candidate)\n (-precision * predictionError observation estimate) estimate", + "context_binders": [], + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "Mathlib.Algebra.BigOperators.Group.Finset.Basic", + "Mathlib.Algebra.Order.Ring.Basic", + "Mathlib.Analysis.Calculus.Deriv.Add", + "Mathlib.Analysis.Calculus.Deriv.Mul", + "Mathlib.Analysis.Calculus.Deriv.Pow", + "Mathlib.Analysis.Calculus.IteratedDeriv.Defs", + "Mathlib.Analysis.SpecialFunctions.ExpDeriv", + "Mathlib.Basic.Real.Basic", + "Mathlib.Analysis.Convex.SpecificFunctions.Basic", + "Mathlib.Analysis.SpecialFunctions.Log.Deriv", + "Mathlib.Order.Filter.Tendsto", + "Mathlib.Probability.Distributions.Gaussian.Real", + "Mathlib.Topology.Algebra.Monoid", + "Mathlib.Tactic" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.PredictiveCoding", + "namespace_variable_context": [], + "preceding_scope_directives": [], + "qualified_name": "FEP.PredictiveCoding.precisionEnergy_hasDerivAt", + "source_line": 79, + "source_owner": "src/fep_lean/formal/predictive_coding.lean", + "statement": "theorem precisionEnergy_hasDerivAt (precision observation estimate : ℝ) :\n HasDerivAt (fun candidate => precisionEnergy precision observation candidate)\n (-precision * predictionError observation estimate) estimate", + "statement_sha256": "3c7dd16edc5a4bb2bf141ef6c186379c0f6ce121b643f9936561d537f633b2a1" + }, + "FEP.PredictiveCoding.precisionEnergy_mono": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "lower", + "upper" + ], + "role": "typed_binder", + "source": "{lower upper : ℝ}", + "type_source": "ℝ", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hLowerNonneg" + ], + "role": "typed_binder", + "source": "(hLowerNonneg : 0 ≤ lower)", + "type_source": "0 ≤ lower", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hPrecision" + ], + "role": "typed_binder", + "source": "(hPrecision : lower ≤ upper)", + "type_source": "lower ≤ upper", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "observation", + "estimate" + ], + "role": "typed_binder", + "source": "(observation estimate : ℝ)", + "type_source": "ℝ", + "visibility": "explicit" + } + ], + "conclusion": "0 ≤ precisionEnergy lower observation estimate ∧\n precisionEnergy lower observation estimate ≤\n precisionEnergy upper observation estimate", + "context_binders": [], + "declaration_mentions": [ + { + "identifier": "precisionEnergy_nonneg", + "qualified_name": "FEP.PredictiveCoding.precisionEnergy_nonneg", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + } + ], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "Mathlib.Algebra.BigOperators.Group.Finset.Basic", + "Mathlib.Algebra.Order.Ring.Basic", + "Mathlib.Analysis.Calculus.Deriv.Add", + "Mathlib.Analysis.Calculus.Deriv.Mul", + "Mathlib.Analysis.Calculus.Deriv.Pow", + "Mathlib.Analysis.Calculus.IteratedDeriv.Defs", + "Mathlib.Analysis.SpecialFunctions.ExpDeriv", + "Mathlib.Basic.Real.Basic", + "Mathlib.Analysis.Convex.SpecificFunctions.Basic", + "Mathlib.Analysis.SpecialFunctions.Log.Deriv", + "Mathlib.Order.Filter.Tendsto", + "Mathlib.Probability.Distributions.Gaussian.Real", + "Mathlib.Topology.Algebra.Monoid", + "Mathlib.Tactic" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.PredictiveCoding", + "namespace_variable_context": [], + "preceding_scope_directives": [], + "qualified_name": "FEP.PredictiveCoding.precisionEnergy_mono", + "source_line": 345, + "source_owner": "src/fep_lean/formal/predictive_coding.lean", + "statement": "theorem precisionEnergy_mono {lower upper : ℝ}\n (hLowerNonneg : 0 ≤ lower) (hPrecision : lower ≤ upper)\n (observation estimate : ℝ) :\n 0 ≤ precisionEnergy lower observation estimate ∧\n precisionEnergy lower observation estimate ≤\n precisionEnergy upper observation estimate", + "statement_sha256": "c373aa0e791fc94c471d7e52511cdcb6fbc1f8f25173b38981cfdb7d2c447c1e" + }, + "FEP.PredictiveCoding.precisionEnergy_nonneg": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "precision" + ], + "role": "typed_binder", + "source": "{precision : ℝ}", + "type_source": "ℝ", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hPrecision" + ], + "role": "typed_binder", + "source": "(hPrecision : 0 ≤ precision)", + "type_source": "0 ≤ precision", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "observation", + "estimate" + ], + "role": "typed_binder", + "source": "(observation estimate : ℝ)", + "type_source": "ℝ", + "visibility": "explicit" + } + ], + "conclusion": "0 ≤ precisionEnergy precision observation estimate", + "context_binders": [], + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "Mathlib.Algebra.BigOperators.Group.Finset.Basic", + "Mathlib.Algebra.Order.Ring.Basic", + "Mathlib.Analysis.Calculus.Deriv.Add", + "Mathlib.Analysis.Calculus.Deriv.Mul", + "Mathlib.Analysis.Calculus.Deriv.Pow", + "Mathlib.Analysis.Calculus.IteratedDeriv.Defs", + "Mathlib.Analysis.SpecialFunctions.ExpDeriv", + "Mathlib.Basic.Real.Basic", + "Mathlib.Analysis.Convex.SpecificFunctions.Basic", + "Mathlib.Analysis.SpecialFunctions.Log.Deriv", + "Mathlib.Order.Filter.Tendsto", + "Mathlib.Probability.Distributions.Gaussian.Real", + "Mathlib.Topology.Algebra.Monoid", + "Mathlib.Tactic" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.PredictiveCoding", + "namespace_variable_context": [], + "preceding_scope_directives": [], + "qualified_name": "FEP.PredictiveCoding.precisionEnergy_nonneg", + "source_line": 43, + "source_owner": "src/fep_lean/formal/predictive_coding.lean", + "statement": "theorem precisionEnergy_nonneg {precision : ℝ} (hPrecision : 0 ≤ precision)\n (observation estimate : ℝ) :\n 0 ≤ precisionEnergy precision observation estimate", + "statement_sha256": "0ebc1576504aa52cd10695f7e5007d4006d887cb6af38f94f48bc5b1dc6d0833" + }, + "FEP.PredictiveCoding.precisionEnergy_pos": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "precision" + ], + "role": "typed_binder", + "source": "{precision : ℝ}", + "type_source": "ℝ", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hPrecision" + ], + "role": "typed_binder", + "source": "(hPrecision : 0 < precision)", + "type_source": "0 < precision", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "observation", + "estimate" + ], + "role": "typed_binder", + "source": "{observation estimate : ℝ}", "type_source": "ℝ", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hError" + ], + "role": "typed_binder", + "source": "(hError : observation ≠ estimate)", + "type_source": "observation ≠ estimate", "visibility": "explicit" } ], - "conclusion": "precisionEnergy precision observation estimate = 0 ↔\n estimate = observation", + "conclusion": "0 < precisionEnergy precision observation estimate", "context_binders": [], "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", @@ -91410,8 +99645,13 @@ "Mathlib.Analysis.Calculus.Deriv.Add", "Mathlib.Analysis.Calculus.Deriv.Mul", "Mathlib.Analysis.Calculus.Deriv.Pow", + "Mathlib.Analysis.Calculus.IteratedDeriv.Defs", + "Mathlib.Analysis.SpecialFunctions.ExpDeriv", "Mathlib.Basic.Real.Basic", + "Mathlib.Analysis.Convex.SpecificFunctions.Basic", + "Mathlib.Analysis.SpecialFunctions.Log.Deriv", "Mathlib.Order.Filter.Tendsto", + "Mathlib.Probability.Distributions.Gaussian.Real", "Mathlib.Topology.Algebra.Monoid", "Mathlib.Tactic" ], @@ -91419,29 +99659,30 @@ "namespace": "FEP.PredictiveCoding", "namespace_variable_context": [], "preceding_scope_directives": [], - "qualified_name": "FEP.PredictiveCoding.precisionEnergy_eq_zero_iff", - "source_line": 45, + "qualified_name": "FEP.PredictiveCoding.precisionEnergy_pos", + "source_line": 66, "source_owner": "src/fep_lean/formal/predictive_coding.lean", - "statement": "theorem precisionEnergy_eq_zero_iff {precision : ℝ}\n (hPrecision : 0 < precision) (observation estimate : ℝ) :\n precisionEnergy precision observation estimate = 0 ↔\n estimate = observation", - "statement_sha256": "01a9ee70ca7e2cdacbc9a8529de50f6443906762bf255312b9f80affb42ee4ff" + "statement": "theorem precisionEnergy_pos {precision : ℝ} (hPrecision : 0 < precision)\n {observation estimate : ℝ} (hError : observation ≠ estimate) :\n 0 < precisionEnergy precision observation estimate", + "statement_sha256": "59cc60b9b6969226a24bf212f4183becd1e71a65e5cb3cade45a3b48f414b41d" }, - "FEP.PredictiveCoding.precisionEnergy_hasDerivAt": { + "FEP.PredictiveCoding.precisionEnergy_scale": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ + "scale", "precision", "observation", "estimate" ], "role": "typed_binder", - "source": "(precision observation estimate : ℝ)", + "source": "(scale precision observation estimate : ℝ)", "type_source": "ℝ", "visibility": "explicit" } ], - "conclusion": "HasDerivAt (fun candidate => precisionEnergy precision observation candidate)\n (-precision * predictionError observation estimate) estimate", + "conclusion": "precisionEnergy (scale * precision) observation estimate =\n scale * precisionEnergy precision observation estimate", "context_binders": [], "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", @@ -91451,8 +99692,13 @@ "Mathlib.Analysis.Calculus.Deriv.Add", "Mathlib.Analysis.Calculus.Deriv.Mul", "Mathlib.Analysis.Calculus.Deriv.Pow", + "Mathlib.Analysis.Calculus.IteratedDeriv.Defs", + "Mathlib.Analysis.SpecialFunctions.ExpDeriv", "Mathlib.Basic.Real.Basic", + "Mathlib.Analysis.Convex.SpecificFunctions.Basic", + "Mathlib.Analysis.SpecialFunctions.Log.Deriv", "Mathlib.Order.Filter.Tendsto", + "Mathlib.Probability.Distributions.Gaussian.Real", "Mathlib.Topology.Algebra.Monoid", "Mathlib.Tactic" ], @@ -91460,64 +99706,62 @@ "namespace": "FEP.PredictiveCoding", "namespace_variable_context": [], "preceding_scope_directives": [], - "qualified_name": "FEP.PredictiveCoding.precisionEnergy_hasDerivAt", - "source_line": 74, + "qualified_name": "FEP.PredictiveCoding.precisionEnergy_scale", + "source_line": 357, "source_owner": "src/fep_lean/formal/predictive_coding.lean", - "statement": "theorem precisionEnergy_hasDerivAt (precision observation estimate : ℝ) :\n HasDerivAt (fun candidate => precisionEnergy precision observation candidate)\n (-precision * predictionError observation estimate) estimate", - "statement_sha256": "3c7dd16edc5a4bb2bf141ef6c186379c0f6ce121b643f9936561d537f633b2a1" + "statement": "theorem precisionEnergy_scale (scale precision observation estimate : ℝ) :\n precisionEnergy (scale * precision) observation estimate =\n scale * precisionEnergy precision observation estimate", + "statement_sha256": "577a76f3296d7f19f002bbc6a8a9cf1a444d11825b5e9477cace0883b558f4ce" }, - "FEP.PredictiveCoding.precisionEnergy_mono": { + "FEP.PredictiveCoding.precisionFreeEnergy_eq_iff": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "lower", - "upper" + "error" ], "role": "typed_binder", - "source": "{lower upper : ℝ}", + "source": "{error : ℝ}", "type_source": "ℝ", "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "hLowerNonneg" + "hError" ], "role": "typed_binder", - "source": "(hLowerNonneg : 0 ≤ lower)", - "type_source": "0 ≤ lower", + "source": "(hError : error ≠ 0)", + "type_source": "error ≠ 0", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "hPrecision" + "precision" ], "role": "typed_binder", - "source": "(hPrecision : lower ≤ upper)", - "type_source": "lower ≤ upper", - "visibility": "explicit" + "source": "{precision : ℝ}", + "type_source": "ℝ", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "observation", - "estimate" + "hPrecision" ], "role": "typed_binder", - "source": "(observation estimate : ℝ)", - "type_source": "ℝ", + "source": "(hPrecision : 0 < precision)", + "type_source": "0 < precision", "visibility": "explicit" } ], - "conclusion": "0 ≤ precisionEnergy lower observation estimate ∧\n precisionEnergy lower observation estimate ≤\n precisionEnergy upper observation estimate", + "conclusion": "precisionFreeEnergy error precision =\n precisionFreeEnergy error (1 / error ^ 2) ↔\n precision = 1 / error ^ 2", "context_binders": [], "declaration_mentions": [ { - "identifier": "precisionEnergy_nonneg", - "qualified_name": "FEP.PredictiveCoding.precisionEnergy_nonneg", + "identifier": "precisionFreeEnergy_sub_opt", + "qualified_name": "FEP.PredictiveCoding.precisionFreeEnergy_sub_opt", "resolution": "exact or same-namespace source identifier", "role": "proof_reference" } @@ -91529,8 +99773,13 @@ "Mathlib.Analysis.Calculus.Deriv.Add", "Mathlib.Analysis.Calculus.Deriv.Mul", "Mathlib.Analysis.Calculus.Deriv.Pow", + "Mathlib.Analysis.Calculus.IteratedDeriv.Defs", + "Mathlib.Analysis.SpecialFunctions.ExpDeriv", "Mathlib.Basic.Real.Basic", + "Mathlib.Analysis.Convex.SpecificFunctions.Basic", + "Mathlib.Analysis.SpecialFunctions.Log.Deriv", "Mathlib.Order.Filter.Tendsto", + "Mathlib.Probability.Distributions.Gaussian.Real", "Mathlib.Topology.Algebra.Monoid", "Mathlib.Tactic" ], @@ -91538,15 +99787,25 @@ "namespace": "FEP.PredictiveCoding", "namespace_variable_context": [], "preceding_scope_directives": [], - "qualified_name": "FEP.PredictiveCoding.precisionEnergy_mono", - "source_line": 271, + "qualified_name": "FEP.PredictiveCoding.precisionFreeEnergy_eq_iff", + "source_line": 510, "source_owner": "src/fep_lean/formal/predictive_coding.lean", - "statement": "theorem precisionEnergy_mono {lower upper : ℝ}\n (hLowerNonneg : 0 ≤ lower) (hPrecision : lower ≤ upper)\n (observation estimate : ℝ) :\n 0 ≤ precisionEnergy lower observation estimate ∧\n precisionEnergy lower observation estimate ≤\n precisionEnergy upper observation estimate", - "statement_sha256": "c373aa0e791fc94c471d7e52511cdcb6fbc1f8f25173b38981cfdb7d2c447c1e" + "statement": "theorem precisionFreeEnergy_eq_iff {error : ℝ} (hError : error ≠ 0)\n {precision : ℝ} (hPrecision : 0 < precision) :\n precisionFreeEnergy error precision =\n precisionFreeEnergy error (1 / error ^ 2) ↔\n precision = 1 / error ^ 2", + "statement_sha256": "02fc0591b741d4836604200adc2c60fff248bb17f75defd1d33a315d54b68c92" }, - "FEP.PredictiveCoding.precisionEnergy_nonneg": { + "FEP.PredictiveCoding.precisionFreeEnergy_hasDerivAt": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "error" + ], + "role": "typed_binder", + "source": "(error : ℝ)", + "type_source": "ℝ", + "visibility": "explicit" + }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ @@ -91563,23 +99822,137 @@ "hPrecision" ], "role": "typed_binder", - "source": "(hPrecision : 0 ≤ precision)", - "type_source": "0 ≤ precision", + "source": "(hPrecision : 0 < precision)", + "type_source": "0 < precision", "visibility": "explicit" + } + ], + "conclusion": "HasDerivAt (precisionFreeEnergy error)\n (error ^ 2 / 2 - 1 / (2 * precision)) precision", + "context_binders": [], + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "Mathlib.Algebra.BigOperators.Group.Finset.Basic", + "Mathlib.Algebra.Order.Ring.Basic", + "Mathlib.Analysis.Calculus.Deriv.Add", + "Mathlib.Analysis.Calculus.Deriv.Mul", + "Mathlib.Analysis.Calculus.Deriv.Pow", + "Mathlib.Analysis.Calculus.IteratedDeriv.Defs", + "Mathlib.Analysis.SpecialFunctions.ExpDeriv", + "Mathlib.Basic.Real.Basic", + "Mathlib.Analysis.Convex.SpecificFunctions.Basic", + "Mathlib.Analysis.SpecialFunctions.Log.Deriv", + "Mathlib.Order.Filter.Tendsto", + "Mathlib.Probability.Distributions.Gaussian.Real", + "Mathlib.Topology.Algebra.Monoid", + "Mathlib.Tactic" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.PredictiveCoding", + "namespace_variable_context": [], + "preceding_scope_directives": [], + "qualified_name": "FEP.PredictiveCoding.precisionFreeEnergy_hasDerivAt", + "source_line": 532, + "source_owner": "src/fep_lean/formal/predictive_coding.lean", + "statement": "theorem precisionFreeEnergy_hasDerivAt (error : ℝ) {precision : ℝ}\n (hPrecision : 0 < precision) :\n HasDerivAt (precisionFreeEnergy error)\n (error ^ 2 / 2 - 1 / (2 * precision)) precision", + "statement_sha256": "723e81d3f137d6de18ace4e8f7965441ea5d1d6916049e0db2d3602c4c0486b4" + }, + "FEP.PredictiveCoding.precisionFreeEnergy_min": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "error" + ], + "role": "typed_binder", + "source": "{error : ℝ}", + "type_source": "ℝ", + "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "observation", - "estimate" + "hError" ], "role": "typed_binder", - "source": "(observation estimate : ℝ)", + "source": "(hError : error ≠ 0)", + "type_source": "error ≠ 0", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "precision" + ], + "role": "typed_binder", + "source": "{precision : ℝ}", "type_source": "ℝ", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hPrecision" + ], + "role": "typed_binder", + "source": "(hPrecision : 0 < precision)", + "type_source": "0 < precision", "visibility": "explicit" } ], - "conclusion": "0 ≤ precisionEnergy precision observation estimate", + "conclusion": "precisionFreeEnergy error (1 / error ^ 2) ≤\n precisionFreeEnergy error precision", + "context_binders": [], + "declaration_mentions": [ + { + "identifier": "precisionFreeEnergy_sub_opt", + "qualified_name": "FEP.PredictiveCoding.precisionFreeEnergy_sub_opt", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + } + ], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "Mathlib.Algebra.BigOperators.Group.Finset.Basic", + "Mathlib.Algebra.Order.Ring.Basic", + "Mathlib.Analysis.Calculus.Deriv.Add", + "Mathlib.Analysis.Calculus.Deriv.Mul", + "Mathlib.Analysis.Calculus.Deriv.Pow", + "Mathlib.Analysis.Calculus.IteratedDeriv.Defs", + "Mathlib.Analysis.SpecialFunctions.ExpDeriv", + "Mathlib.Basic.Real.Basic", + "Mathlib.Analysis.Convex.SpecificFunctions.Basic", + "Mathlib.Analysis.SpecialFunctions.Log.Deriv", + "Mathlib.Order.Filter.Tendsto", + "Mathlib.Probability.Distributions.Gaussian.Real", + "Mathlib.Topology.Algebra.Monoid", + "Mathlib.Tactic" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.PredictiveCoding", + "namespace_variable_context": [], + "preceding_scope_directives": [], + "qualified_name": "FEP.PredictiveCoding.precisionFreeEnergy_min", + "source_line": 500, + "source_owner": "src/fep_lean/formal/predictive_coding.lean", + "statement": "theorem precisionFreeEnergy_min {error : ℝ} (hError : error ≠ 0)\n {precision : ℝ} (hPrecision : 0 < precision) :\n precisionFreeEnergy error (1 / error ^ 2) ≤\n precisionFreeEnergy error precision", + "statement_sha256": "1560478ad6e3b638081899d309624f854a730e9b58c98b6165f742249338f21e" + }, + "FEP.PredictiveCoding.precisionFreeEnergy_strictConvexOn": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "error" + ], + "role": "typed_binder", + "source": "(error : ℝ)", + "type_source": "ℝ", + "visibility": "explicit" + } + ], + "conclusion": "StrictConvexOn ℝ (Set.Ioi 0) (precisionFreeEnergy error)", "context_binders": [], "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", @@ -91589,8 +99962,13 @@ "Mathlib.Analysis.Calculus.Deriv.Add", "Mathlib.Analysis.Calculus.Deriv.Mul", "Mathlib.Analysis.Calculus.Deriv.Pow", + "Mathlib.Analysis.Calculus.IteratedDeriv.Defs", + "Mathlib.Analysis.SpecialFunctions.ExpDeriv", "Mathlib.Basic.Real.Basic", + "Mathlib.Analysis.Convex.SpecificFunctions.Basic", + "Mathlib.Analysis.SpecialFunctions.Log.Deriv", "Mathlib.Order.Filter.Tendsto", + "Mathlib.Probability.Distributions.Gaussian.Real", "Mathlib.Topology.Algebra.Monoid", "Mathlib.Tactic" ], @@ -91598,58 +99976,57 @@ "namespace": "FEP.PredictiveCoding", "namespace_variable_context": [], "preceding_scope_directives": [], - "qualified_name": "FEP.PredictiveCoding.precisionEnergy_nonneg", - "source_line": 38, + "qualified_name": "FEP.PredictiveCoding.precisionFreeEnergy_strictConvexOn", + "source_line": 549, "source_owner": "src/fep_lean/formal/predictive_coding.lean", - "statement": "theorem precisionEnergy_nonneg {precision : ℝ} (hPrecision : 0 ≤ precision)\n (observation estimate : ℝ) :\n 0 ≤ precisionEnergy precision observation estimate", - "statement_sha256": "0ebc1576504aa52cd10695f7e5007d4006d887cb6af38f94f48bc5b1dc6d0833" + "statement": "theorem precisionFreeEnergy_strictConvexOn (error : ℝ) :\n StrictConvexOn ℝ (Set.Ioi 0) (precisionFreeEnergy error)", + "statement_sha256": "9e9e8d3bdba2233476160e5a9033d420b0f10d09633b27c7f3008decc6deda3e" }, - "FEP.PredictiveCoding.precisionEnergy_pos": { + "FEP.PredictiveCoding.precisionFreeEnergy_sub_opt": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "precision" + "error" ], "role": "typed_binder", - "source": "{precision : ℝ}", + "source": "{error : ℝ}", "type_source": "ℝ", "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "hPrecision" + "hError" ], "role": "typed_binder", - "source": "(hPrecision : 0 < precision)", - "type_source": "0 < precision", + "source": "(hError : error ≠ 0)", + "type_source": "error ≠ 0", "visibility": "explicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "observation", - "estimate" + "precision" ], "role": "typed_binder", - "source": "{observation estimate : ℝ}", + "source": "{precision : ℝ}", "type_source": "ℝ", "visibility": "implicit" }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "hError" + "hPrecision" ], "role": "typed_binder", - "source": "(hError : observation ≠ estimate)", - "type_source": "observation ≠ estimate", + "source": "(hPrecision : 0 < precision)", + "type_source": "0 < precision", "visibility": "explicit" } ], - "conclusion": "0 < precisionEnergy precision observation estimate", + "conclusion": "precisionFreeEnergy error precision - precisionFreeEnergy error (1 / error ^ 2) =\n (error ^ 2 * precision - 1 - Real.log (error ^ 2 * precision)) / 2", "context_binders": [], "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", @@ -91659,8 +100036,13 @@ "Mathlib.Analysis.Calculus.Deriv.Add", "Mathlib.Analysis.Calculus.Deriv.Mul", "Mathlib.Analysis.Calculus.Deriv.Pow", + "Mathlib.Analysis.Calculus.IteratedDeriv.Defs", + "Mathlib.Analysis.SpecialFunctions.ExpDeriv", "Mathlib.Basic.Real.Basic", + "Mathlib.Analysis.Convex.SpecificFunctions.Basic", + "Mathlib.Analysis.SpecialFunctions.Log.Deriv", "Mathlib.Order.Filter.Tendsto", + "Mathlib.Probability.Distributions.Gaussian.Real", "Mathlib.Topology.Algebra.Monoid", "Mathlib.Tactic" ], @@ -91668,30 +100050,27 @@ "namespace": "FEP.PredictiveCoding", "namespace_variable_context": [], "preceding_scope_directives": [], - "qualified_name": "FEP.PredictiveCoding.precisionEnergy_pos", - "source_line": 61, + "qualified_name": "FEP.PredictiveCoding.precisionFreeEnergy_sub_opt", + "source_line": 485, "source_owner": "src/fep_lean/formal/predictive_coding.lean", - "statement": "theorem precisionEnergy_pos {precision : ℝ} (hPrecision : 0 < precision)\n {observation estimate : ℝ} (hError : observation ≠ estimate) :\n 0 < precisionEnergy precision observation estimate", - "statement_sha256": "59cc60b9b6969226a24bf212f4183becd1e71a65e5cb3cade45a3b48f414b41d" + "statement": "theorem precisionFreeEnergy_sub_opt {error : ℝ} (hError : error ≠ 0)\n {precision : ℝ} (hPrecision : 0 < precision) :\n precisionFreeEnergy error precision - precisionFreeEnergy error (1 / error ^ 2) =\n (error ^ 2 * precision - 1 - Real.log (error ^ 2 * precision)) / 2", + "statement_sha256": "04560a9dd8a09d75ff1cbb025124461bec9efd73e439a9cb3303ef41a7a152cc" }, - "FEP.PredictiveCoding.precisionEnergy_scale": { + "FEP.PredictiveCoding.precisionFreeEnergy_zero_error_unbounded": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "scale", - "precision", - "observation", - "estimate" + "M" ], "role": "typed_binder", - "source": "(scale precision observation estimate : ℝ)", + "source": "(M : ℝ)", "type_source": "ℝ", "visibility": "explicit" } ], - "conclusion": "precisionEnergy (scale * precision) observation estimate =\n scale * precisionEnergy precision observation estimate", + "conclusion": "∃ precision : ℝ, 0 < precision ∧ precisionFreeEnergy 0 precision < M", "context_binders": [], "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", @@ -91701,8 +100080,13 @@ "Mathlib.Analysis.Calculus.Deriv.Add", "Mathlib.Analysis.Calculus.Deriv.Mul", "Mathlib.Analysis.Calculus.Deriv.Pow", + "Mathlib.Analysis.Calculus.IteratedDeriv.Defs", + "Mathlib.Analysis.SpecialFunctions.ExpDeriv", "Mathlib.Basic.Real.Basic", + "Mathlib.Analysis.Convex.SpecificFunctions.Basic", + "Mathlib.Analysis.SpecialFunctions.Log.Deriv", "Mathlib.Order.Filter.Tendsto", + "Mathlib.Probability.Distributions.Gaussian.Real", "Mathlib.Topology.Algebra.Monoid", "Mathlib.Tactic" ], @@ -91710,11 +100094,11 @@ "namespace": "FEP.PredictiveCoding", "namespace_variable_context": [], "preceding_scope_directives": [], - "qualified_name": "FEP.PredictiveCoding.precisionEnergy_scale", - "source_line": 283, + "qualified_name": "FEP.PredictiveCoding.precisionFreeEnergy_zero_error_unbounded", + "source_line": 558, "source_owner": "src/fep_lean/formal/predictive_coding.lean", - "statement": "theorem precisionEnergy_scale (scale precision observation estimate : ℝ) :\n precisionEnergy (scale * precision) observation estimate =\n scale * precisionEnergy precision observation estimate", - "statement_sha256": "577a76f3296d7f19f002bbc6a8a9cf1a444d11825b5e9477cace0883b558f4ce" + "statement": "theorem precisionFreeEnergy_zero_error_unbounded (M : ℝ) :\n ∃ precision : ℝ, 0 < precision ∧ precisionFreeEnergy 0 precision < M", + "statement_sha256": "5625928271e3331ee845c9d99533a907f78c4a7a585d481c941beb93c488c0df" }, "FEP.PredictiveCoding.precisionGradient_scale": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", @@ -91743,8 +100127,13 @@ "Mathlib.Analysis.Calculus.Deriv.Add", "Mathlib.Analysis.Calculus.Deriv.Mul", "Mathlib.Analysis.Calculus.Deriv.Pow", + "Mathlib.Analysis.Calculus.IteratedDeriv.Defs", + "Mathlib.Analysis.SpecialFunctions.ExpDeriv", "Mathlib.Basic.Real.Basic", + "Mathlib.Analysis.Convex.SpecificFunctions.Basic", + "Mathlib.Analysis.SpecialFunctions.Log.Deriv", "Mathlib.Order.Filter.Tendsto", + "Mathlib.Probability.Distributions.Gaussian.Real", "Mathlib.Topology.Algebra.Monoid", "Mathlib.Tactic" ], @@ -91753,7 +100142,7 @@ "namespace_variable_context": [], "preceding_scope_directives": [], "qualified_name": "FEP.PredictiveCoding.precisionGradient_scale", - "source_line": 290, + "source_line": 364, "source_owner": "src/fep_lean/formal/predictive_coding.lean", "statement": "theorem precisionGradient_scale (scale precision observation estimate : ℝ) :\n precisionEnergyGradient (scale * precision) observation estimate =\n scale * precisionEnergyGradient precision observation estimate", "statement_sha256": "e318e126855afe357984aa5e8b8c214e62356f3c5fbb5f08800cfb30c9ea93f2" @@ -91792,8 +100181,13 @@ "Mathlib.Analysis.Calculus.Deriv.Add", "Mathlib.Analysis.Calculus.Deriv.Mul", "Mathlib.Analysis.Calculus.Deriv.Pow", + "Mathlib.Analysis.Calculus.IteratedDeriv.Defs", + "Mathlib.Analysis.SpecialFunctions.ExpDeriv", "Mathlib.Basic.Real.Basic", + "Mathlib.Analysis.Convex.SpecificFunctions.Basic", + "Mathlib.Analysis.SpecialFunctions.Log.Deriv", "Mathlib.Order.Filter.Tendsto", + "Mathlib.Probability.Distributions.Gaussian.Real", "Mathlib.Topology.Algebra.Monoid", "Mathlib.Tactic" ], @@ -91802,7 +100196,7 @@ "namespace_variable_context": [], "preceding_scope_directives": [], "qualified_name": "FEP.PredictiveCoding.predictionEnergy_contraction", - "source_line": 314, + "source_line": 388, "source_owner": "src/fep_lean/formal/predictive_coding.lean", "statement": "theorem predictionEnergy_contraction\n (precision stepSize target estimate : ℝ) :\n precisionEnergy precision target\n (predictionUpdate stepSize target estimate) =\n (1 - stepSize) ^ 2 * precisionEnergy precision target estimate", "statement_sha256": "00bfc855049be3d4757ec69cd32bbfcdad39cede54b114ec4b9ac29b0f7d39ee" @@ -91887,8 +100281,13 @@ "Mathlib.Analysis.Calculus.Deriv.Add", "Mathlib.Analysis.Calculus.Deriv.Mul", "Mathlib.Analysis.Calculus.Deriv.Pow", + "Mathlib.Analysis.Calculus.IteratedDeriv.Defs", + "Mathlib.Analysis.SpecialFunctions.ExpDeriv", "Mathlib.Basic.Real.Basic", + "Mathlib.Analysis.Convex.SpecificFunctions.Basic", + "Mathlib.Analysis.SpecialFunctions.Log.Deriv", "Mathlib.Order.Filter.Tendsto", + "Mathlib.Probability.Distributions.Gaussian.Real", "Mathlib.Topology.Algebra.Monoid", "Mathlib.Tactic" ], @@ -91897,7 +100296,7 @@ "namespace_variable_context": [], "preceding_scope_directives": [], "qualified_name": "FEP.PredictiveCoding.predictionEnergy_strictDecrease", - "source_line": 324, + "source_line": 398, "source_owner": "src/fep_lean/formal/predictive_coding.lean", "statement": "theorem predictionEnergy_strictDecrease {precision stepSize target estimate : ℝ}\n (hPrecision : 0 < precision) (hStepPositive : 0 < stepSize)\n (hStepBelowTwo : stepSize < 2) (hError : target ≠ estimate) :\n precisionEnergy precision target (predictionUpdate stepSize target estimate) <\n precisionEnergy precision target estimate", "statement_sha256": "4d3c3529c857feb942502715e114fa19a692929c42f0901a73538de64a4f28ec" @@ -91928,8 +100327,13 @@ "Mathlib.Analysis.Calculus.Deriv.Add", "Mathlib.Analysis.Calculus.Deriv.Mul", "Mathlib.Analysis.Calculus.Deriv.Pow", + "Mathlib.Analysis.Calculus.IteratedDeriv.Defs", + "Mathlib.Analysis.SpecialFunctions.ExpDeriv", "Mathlib.Basic.Real.Basic", + "Mathlib.Analysis.Convex.SpecificFunctions.Basic", + "Mathlib.Analysis.SpecialFunctions.Log.Deriv", "Mathlib.Order.Filter.Tendsto", + "Mathlib.Probability.Distributions.Gaussian.Real", "Mathlib.Topology.Algebra.Monoid", "Mathlib.Tactic" ], @@ -91938,7 +100342,7 @@ "namespace_variable_context": [], "preceding_scope_directives": [], "qualified_name": "FEP.PredictiveCoding.predictionError_update", - "source_line": 307, + "source_line": 381, "source_owner": "src/fep_lean/formal/predictive_coding.lean", "statement": "theorem predictionError_update (stepSize target estimate : ℝ) :\n predictionError target (predictionUpdate stepSize target estimate) =\n (1 - stepSize) * predictionError target estimate", "statement_sha256": "876a95cfd59b90e24634449e8dc2e64cadd1d2386937b111b3739044211dab82" @@ -91988,8 +100392,13 @@ "Mathlib.Analysis.Calculus.Deriv.Add", "Mathlib.Analysis.Calculus.Deriv.Mul", "Mathlib.Analysis.Calculus.Deriv.Pow", + "Mathlib.Analysis.Calculus.IteratedDeriv.Defs", + "Mathlib.Analysis.SpecialFunctions.ExpDeriv", "Mathlib.Basic.Real.Basic", + "Mathlib.Analysis.Convex.SpecificFunctions.Basic", + "Mathlib.Analysis.SpecialFunctions.Log.Deriv", "Mathlib.Order.Filter.Tendsto", + "Mathlib.Probability.Distributions.Gaussian.Real", "Mathlib.Topology.Algebra.Monoid", "Mathlib.Tactic" ], @@ -91998,7 +100407,7 @@ "namespace_variable_context": [], "preceding_scope_directives": [], "qualified_name": "FEP.PredictiveCoding.shift_add", - "source_line": 157, + "source_line": 162, "source_owner": "src/fep_lean/formal/predictive_coding.lean", "statement": "theorem shift_add {order : ℕ} (first second : ℕ) (jet : FiniteJet order) :\n shift (first + second) jet = shift first (shift second jet)", "statement_sha256": "6d2dd1327b57abe3e1c6b1aa6d7bd427eaf35ee361ed906705a8ecdf2c1a1446" @@ -92048,8 +100457,13 @@ "Mathlib.Analysis.Calculus.Deriv.Add", "Mathlib.Analysis.Calculus.Deriv.Mul", "Mathlib.Analysis.Calculus.Deriv.Pow", + "Mathlib.Analysis.Calculus.IteratedDeriv.Defs", + "Mathlib.Analysis.SpecialFunctions.ExpDeriv", "Mathlib.Basic.Real.Basic", + "Mathlib.Analysis.Convex.SpecificFunctions.Basic", + "Mathlib.Analysis.SpecialFunctions.Log.Deriv", "Mathlib.Order.Filter.Tendsto", + "Mathlib.Probability.Distributions.Gaussian.Real", "Mathlib.Topology.Algebra.Monoid", "Mathlib.Tactic" ], @@ -92058,11 +100472,383 @@ "namespace_variable_context": [], "preceding_scope_directives": [], "qualified_name": "FEP.PredictiveCoding.shift_coefficient", - "source_line": 146, + "source_line": 151, "source_owner": "src/fep_lean/formal/predictive_coding.lean", "statement": "theorem shift_coefficient {order : ℕ} (steps degree : ℕ)\n (jet : FiniteJet order) :\n (shift steps jet).coefficient degree = jet.coefficient (degree + steps)", "statement_sha256": "07f584fe6705057427628394bc22955b293e973b62e859e35912176697760d4b" }, + "FEP.PredictiveCoding.shift_functionJet": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "order" + ], + "role": "typed_binder", + "source": "{order : ℕ}", + "type_source": "ℕ", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "m" + ], + "role": "typed_binder", + "source": "(m : ℕ)", + "type_source": "ℕ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "f" + ], + "role": "typed_binder", + "source": "(f : ℝ → ℝ)", + "type_source": "ℝ → ℝ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "t" + ], + "role": "typed_binder", + "source": "(t : ℝ)", + "type_source": "ℝ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "k" + ], + "role": "typed_binder", + "source": "{k : ℕ}", + "type_source": "ℕ", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hk" + ], + "role": "typed_binder", + "source": "(hk : k + m ≤ order)", + "type_source": "k + m ≤ order", + "visibility": "explicit" + } + ], + "conclusion": "(shift m (functionJet order f t)).coefficient k =\n (functionJet order (iteratedDeriv m f) t).coefficient k", + "context_binders": [], + "declaration_mentions": [ + { + "identifier": "functionJet_coefficient_of_le", + "qualified_name": "FEP.PredictiveCoding.functionJet_coefficient_of_le", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + }, + { + "identifier": "shift_coefficient", + "qualified_name": "FEP.PredictiveCoding.shift_coefficient", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + } + ], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "Mathlib.Algebra.BigOperators.Group.Finset.Basic", + "Mathlib.Algebra.Order.Ring.Basic", + "Mathlib.Analysis.Calculus.Deriv.Add", + "Mathlib.Analysis.Calculus.Deriv.Mul", + "Mathlib.Analysis.Calculus.Deriv.Pow", + "Mathlib.Analysis.Calculus.IteratedDeriv.Defs", + "Mathlib.Analysis.SpecialFunctions.ExpDeriv", + "Mathlib.Basic.Real.Basic", + "Mathlib.Analysis.Convex.SpecificFunctions.Basic", + "Mathlib.Analysis.SpecialFunctions.Log.Deriv", + "Mathlib.Order.Filter.Tendsto", + "Mathlib.Probability.Distributions.Gaussian.Real", + "Mathlib.Topology.Algebra.Monoid", + "Mathlib.Tactic" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.PredictiveCoding", + "namespace_variable_context": [], + "preceding_scope_directives": [], + "qualified_name": "FEP.PredictiveCoding.shift_functionJet", + "source_line": 199, + "source_owner": "src/fep_lean/formal/predictive_coding.lean", + "statement": "theorem shift_functionJet {order : ℕ} (m : ℕ) (f : ℝ → ℝ) (t : ℝ) {k : ℕ}\n (hk : k + m ≤ order) :\n (shift m (functionJet order f t)).coefficient k =\n (functionJet order (iteratedDeriv m f) t).coefficient k", + "statement_sha256": "46df7eee78ddeea39747dc743b9e04694f2c0677a1424177d4a9b62d963ce5ec" + }, + "FEP.PredictiveCoding.shift_functionJet_succ": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "order" + ], + "role": "typed_binder", + "source": "{order : ℕ}", + "type_source": "ℕ", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "m" + ], + "role": "typed_binder", + "source": "(m : ℕ)", + "type_source": "ℕ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "f" + ], + "role": "typed_binder", + "source": "(f : ℝ → ℝ)", + "type_source": "ℝ → ℝ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "t" + ], + "role": "typed_binder", + "source": "(t : ℝ)", + "type_source": "ℝ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "k" + ], + "role": "typed_binder", + "source": "(k : ℕ)", + "type_source": "ℕ", + "visibility": "explicit" + } + ], + "conclusion": "(shift (m + 1) (functionJet order f t)).coefficient k =\n (shift 1 (shift m (functionJet order f t))).coefficient k", + "context_binders": [], + "declaration_mentions": [ + { + "identifier": "shift_add", + "qualified_name": "FEP.PredictiveCoding.shift_add", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + } + ], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "Mathlib.Algebra.BigOperators.Group.Finset.Basic", + "Mathlib.Algebra.Order.Ring.Basic", + "Mathlib.Analysis.Calculus.Deriv.Add", + "Mathlib.Analysis.Calculus.Deriv.Mul", + "Mathlib.Analysis.Calculus.Deriv.Pow", + "Mathlib.Analysis.Calculus.IteratedDeriv.Defs", + "Mathlib.Analysis.SpecialFunctions.ExpDeriv", + "Mathlib.Basic.Real.Basic", + "Mathlib.Analysis.Convex.SpecificFunctions.Basic", + "Mathlib.Analysis.SpecialFunctions.Log.Deriv", + "Mathlib.Order.Filter.Tendsto", + "Mathlib.Probability.Distributions.Gaussian.Real", + "Mathlib.Topology.Algebra.Monoid", + "Mathlib.Tactic" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.PredictiveCoding", + "namespace_variable_context": [], + "preceding_scope_directives": [], + "qualified_name": "FEP.PredictiveCoding.shift_functionJet_succ", + "source_line": 210, + "source_owner": "src/fep_lean/formal/predictive_coding.lean", + "statement": "theorem shift_functionJet_succ {order : ℕ} (m : ℕ) (f : ℝ → ℝ) (t : ℝ) (k : ℕ) :\n (shift (m + 1) (functionJet order f t)).coefficient k =\n (shift 1 (shift m (functionJet order f t))).coefficient k", + "statement_sha256": "4c89e22dfc2999364b2fd06e1c80d7737683cb28d1dbd066ef49dfcf1e96dc37" + }, + "FEP.PredictiveCoding.shift_one_functionJet": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "order" + ], + "role": "typed_binder", + "source": "{order : ℕ}", + "type_source": "ℕ", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "f" + ], + "role": "typed_binder", + "source": "(f : ℝ → ℝ)", + "type_source": "ℝ → ℝ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "t" + ], + "role": "typed_binder", + "source": "(t : ℝ)", + "type_source": "ℝ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "k" + ], + "role": "typed_binder", + "source": "{k : ℕ}", + "type_source": "ℕ", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hk" + ], + "role": "typed_binder", + "source": "(hk : k < order)", + "type_source": "k < order", + "visibility": "explicit" + } + ], + "conclusion": "(shift 1 (functionJet order f t)).coefficient k =\n (functionJet order (deriv f) t).coefficient k", + "context_binders": [], + "declaration_mentions": [ + { + "identifier": "functionJet_coefficient_of_le", + "qualified_name": "FEP.PredictiveCoding.functionJet_coefficient_of_le", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + }, + { + "identifier": "shift_coefficient", + "qualified_name": "FEP.PredictiveCoding.shift_coefficient", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + } + ], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "Mathlib.Algebra.BigOperators.Group.Finset.Basic", + "Mathlib.Algebra.Order.Ring.Basic", + "Mathlib.Analysis.Calculus.Deriv.Add", + "Mathlib.Analysis.Calculus.Deriv.Mul", + "Mathlib.Analysis.Calculus.Deriv.Pow", + "Mathlib.Analysis.Calculus.IteratedDeriv.Defs", + "Mathlib.Analysis.SpecialFunctions.ExpDeriv", + "Mathlib.Basic.Real.Basic", + "Mathlib.Analysis.Convex.SpecificFunctions.Basic", + "Mathlib.Analysis.SpecialFunctions.Log.Deriv", + "Mathlib.Order.Filter.Tendsto", + "Mathlib.Probability.Distributions.Gaussian.Real", + "Mathlib.Topology.Algebra.Monoid", + "Mathlib.Tactic" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.PredictiveCoding", + "namespace_variable_context": [], + "preceding_scope_directives": [], + "qualified_name": "FEP.PredictiveCoding.shift_one_functionJet", + "source_line": 190, + "source_owner": "src/fep_lean/formal/predictive_coding.lean", + "statement": "theorem shift_one_functionJet {order : ℕ} (f : ℝ → ℝ) (t : ℝ) {k : ℕ}\n (hk : k < order) :\n (shift 1 (functionJet order f t)).coefficient k =\n (functionJet order (deriv f) t).coefficient k", + "statement_sha256": "3d3bdffd64f6812613cb21870b0bff269f5676b2e6dc9a5a75132fdee9c6e06c" + }, + "FEP.PredictiveCoding.shift_one_functionJet_top": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "order" + ], + "role": "typed_binder", + "source": "{order : ℕ}", + "type_source": "ℕ", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "f" + ], + "role": "typed_binder", + "source": "(f : ℝ → ℝ)", + "type_source": "ℝ → ℝ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "t" + ], + "role": "typed_binder", + "source": "(t : ℝ)", + "type_source": "ℝ", + "visibility": "explicit" + } + ], + "conclusion": "(shift 1 (functionJet order f t)).coefficient order = 0 ∧\n (functionJet order (deriv f) t).coefficient order =\n iteratedDeriv (order + 1) f t", + "context_binders": [], + "declaration_mentions": [ + { + "identifier": "functionJet_coefficient_of_le", + "qualified_name": "FEP.PredictiveCoding.functionJet_coefficient_of_le", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + }, + { + "identifier": "shift_top_zero", + "qualified_name": "FEP.PredictiveCoding.shift_top_zero", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + } + ], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "Mathlib.Algebra.BigOperators.Group.Finset.Basic", + "Mathlib.Algebra.Order.Ring.Basic", + "Mathlib.Analysis.Calculus.Deriv.Add", + "Mathlib.Analysis.Calculus.Deriv.Mul", + "Mathlib.Analysis.Calculus.Deriv.Pow", + "Mathlib.Analysis.Calculus.IteratedDeriv.Defs", + "Mathlib.Analysis.SpecialFunctions.ExpDeriv", + "Mathlib.Basic.Real.Basic", + "Mathlib.Analysis.Convex.SpecificFunctions.Basic", + "Mathlib.Analysis.SpecialFunctions.Log.Deriv", + "Mathlib.Order.Filter.Tendsto", + "Mathlib.Probability.Distributions.Gaussian.Real", + "Mathlib.Topology.Algebra.Monoid", + "Mathlib.Tactic" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.PredictiveCoding", + "namespace_variable_context": [], + "preceding_scope_directives": [], + "qualified_name": "FEP.PredictiveCoding.shift_one_functionJet_top", + "source_line": 217, + "source_owner": "src/fep_lean/formal/predictive_coding.lean", + "statement": "theorem shift_one_functionJet_top {order : ℕ} (f : ℝ → ℝ) (t : ℝ) :\n (shift 1 (functionJet order f t)).coefficient order = 0 ∧\n (functionJet order (deriv f) t).coefficient order =\n iteratedDeriv (order + 1) f t", + "statement_sha256": "6bab7e46d70ac4ebe915211c93e38b5371714ace1a0dd1e2e5dab8c56c88b553" + }, "FEP.PredictiveCoding.shift_top_zero": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ @@ -92097,8 +100883,13 @@ "Mathlib.Analysis.Calculus.Deriv.Add", "Mathlib.Analysis.Calculus.Deriv.Mul", "Mathlib.Analysis.Calculus.Deriv.Pow", + "Mathlib.Analysis.Calculus.IteratedDeriv.Defs", + "Mathlib.Analysis.SpecialFunctions.ExpDeriv", "Mathlib.Basic.Real.Basic", + "Mathlib.Analysis.Convex.SpecificFunctions.Basic", + "Mathlib.Analysis.SpecialFunctions.Log.Deriv", "Mathlib.Order.Filter.Tendsto", + "Mathlib.Probability.Distributions.Gaussian.Real", "Mathlib.Topology.Algebra.Monoid", "Mathlib.Tactic" ], @@ -92107,7 +100898,7 @@ "namespace_variable_context": [], "preceding_scope_directives": [], "qualified_name": "FEP.PredictiveCoding.shift_top_zero", - "source_line": 165, + "source_line": 170, "source_owner": "src/fep_lean/formal/predictive_coding.lean", "statement": "theorem shift_top_zero {order : ℕ} (jet : FiniteJet order) :\n (shift 1 jet).coefficient order = 0", "statement_sha256": "1a453b796f2dbb1a22d6d13c99538b8e5c7a71ce945ae0482d33567752356480" @@ -92146,8 +100937,13 @@ "Mathlib.Analysis.Calculus.Deriv.Add", "Mathlib.Analysis.Calculus.Deriv.Mul", "Mathlib.Analysis.Calculus.Deriv.Pow", + "Mathlib.Analysis.Calculus.IteratedDeriv.Defs", + "Mathlib.Analysis.SpecialFunctions.ExpDeriv", "Mathlib.Basic.Real.Basic", + "Mathlib.Analysis.Convex.SpecificFunctions.Basic", + "Mathlib.Analysis.SpecialFunctions.Log.Deriv", "Mathlib.Order.Filter.Tendsto", + "Mathlib.Probability.Distributions.Gaussian.Real", "Mathlib.Topology.Algebra.Monoid", "Mathlib.Tactic" ], @@ -92156,7 +100952,7 @@ "namespace_variable_context": [], "preceding_scope_directives": [], "qualified_name": "FEP.PredictiveCoding.shift_zero", - "source_line": 150, + "source_line": 155, "source_owner": "src/fep_lean/formal/predictive_coding.lean", "statement": "theorem shift_zero {order : ℕ} (jet : FiniteJet order) :\n shift 0 jet = jet", "statement_sha256": "dd3dde0191a5149263f8628742d3bbbb476c5e21f8e60e09919e514e3215e50c" @@ -92174,8 +100970,13 @@ "Mathlib.Analysis.Calculus.Deriv.Add", "Mathlib.Analysis.Calculus.Deriv.Mul", "Mathlib.Analysis.Calculus.Deriv.Pow", + "Mathlib.Analysis.Calculus.IteratedDeriv.Defs", + "Mathlib.Analysis.SpecialFunctions.ExpDeriv", "Mathlib.Basic.Real.Basic", + "Mathlib.Analysis.Convex.SpecificFunctions.Basic", + "Mathlib.Analysis.SpecialFunctions.Log.Deriv", "Mathlib.Order.Filter.Tendsto", + "Mathlib.Probability.Distributions.Gaussian.Real", "Mathlib.Topology.Algebra.Monoid", "Mathlib.Tactic" ], @@ -92184,11 +100985,51 @@ "namespace_variable_context": [], "preceding_scope_directives": [], "qualified_name": "FEP.PredictiveCoding.twoLevelEnergy_witness", - "source_line": 124, + "source_line": 129, "source_owner": "src/fep_lean/formal/predictive_coding.lean", "statement": "theorem twoLevelEnergy_witness :\n hierarchicalEnergy\n (fun level : Fin 2 => if level = 0 then 2 else 4)\n (fun level : Fin 2 => if level = 0 then 3 else 1) = 11", "statement_sha256": "4cba23200c20c955a3bcedd1efcc53b22d46c5d5c6bd0fff6534546d9802d9a8" }, + "FEP.PredictiveCoding.twoLevel_chain_energy_witness": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [], + "conclusion": "gaussianChainEnergy\n (fun level : Fin 2 => if level = 0 then 2 else 4)\n (fun level : Fin 2 => if level = 0 then 3 else 1) =\n 11 - 3 / 2 * Real.log 2", + "context_binders": [], + "declaration_mentions": [ + { + "identifier": "twoLevelEnergy_witness", + "qualified_name": "FEP.PredictiveCoding.twoLevelEnergy_witness", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + } + ], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "Mathlib.Algebra.BigOperators.Group.Finset.Basic", + "Mathlib.Algebra.Order.Ring.Basic", + "Mathlib.Analysis.Calculus.Deriv.Add", + "Mathlib.Analysis.Calculus.Deriv.Mul", + "Mathlib.Analysis.Calculus.Deriv.Pow", + "Mathlib.Analysis.Calculus.IteratedDeriv.Defs", + "Mathlib.Analysis.SpecialFunctions.ExpDeriv", + "Mathlib.Basic.Real.Basic", + "Mathlib.Analysis.Convex.SpecificFunctions.Basic", + "Mathlib.Analysis.SpecialFunctions.Log.Deriv", + "Mathlib.Order.Filter.Tendsto", + "Mathlib.Probability.Distributions.Gaussian.Real", + "Mathlib.Topology.Algebra.Monoid", + "Mathlib.Tactic" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.PredictiveCoding", + "namespace_variable_context": [], + "preceding_scope_directives": [], + "qualified_name": "FEP.PredictiveCoding.twoLevel_chain_energy_witness", + "source_line": 627, + "source_owner": "src/fep_lean/formal/predictive_coding.lean", + "statement": "theorem twoLevel_chain_energy_witness :\n gaussianChainEnergy\n (fun level : Fin 2 => if level = 0 then 2 else 4)\n (fun level : Fin 2 => if level = 0 then 3 else 1) =\n 11 - 3 / 2 * Real.log 2", + "statement_sha256": "3e66bed738d18102583af34f471d017751d4b507efc7fba17d90b82a156beed9" + }, "FEP.ScalarGaussianSemigroup.ScalarOUParameters.integral_ouTransition_tendsto_invariant": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ @@ -100594,6 +109435,97 @@ "statement": "theorem twoStateModel_predictedState (rates : TwoStateRates) (belief : FiniteLaw Bool)\n (time : ℝ) (hTime : 0 ≤ time) (policy : Bool) :\n predictedState (twoStateModel rates belief time hTime) policy =\n (rates.certifiedSemigroup.kernel time hTime).predictive belief", "statement_sha256": "38ebf318bdb0fc28de0b8e2d8f4cea3635cfc9e43c40ef905998ccf4b3442124" }, + "FEP.VariationalDuality.boolBiased_entropy_lt_zeroEnergyGibbs": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "β" + ], + "role": "typed_binder", + "source": "(β : ℝ)", + "type_source": "ℝ", + "visibility": "explicit" + } + ], + "conclusion": "entropy boolBiased <\n entropy (energyGibbsLaw (fun _ : Bool => (0 : ℝ)) β)", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "α", + "β", + "γ" + ], + "role": "typed_binder", + "source": "{α β γ : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype α]", + "type_source": "Fintype α", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype β]", + "type_source": "Fintype β", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype γ]", + "type_source": "Fintype γ", + "visibility": "instance" + } + ], + "declaration_mentions": [ + { + "identifier": "energyGibbsLaw_zero_energy", + "qualified_name": "FEP.VariationalDuality.energyGibbsLaw_zero_energy", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + }, + { + "identifier": "energyGibbs_entropy_lt_of_ne", + "qualified_name": "FEP.VariationalDuality.energyGibbs_entropy_lt_of_ne", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + } + ], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.finite_information", + "Mathlib.Analysis.Convex.SpecificFunctions.Basic", + "Mathlib.Topology.Order.Compact" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.VariationalDuality", + "namespace_variable_context": [ + "{α β γ : Type*} [Fintype α] [Fintype β] [Fintype γ]" + ], + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Fintype α] in" + } + ], + "qualified_name": "FEP.VariationalDuality.boolBiased_entropy_lt_zeroEnergyGibbs", + "source_line": 1296, + "source_owner": "src/fep_lean/formal/variational_duality.lean", + "statement": "theorem boolBiased_entropy_lt_zeroEnergyGibbs (β : ℝ) :\n entropy boolBiased <\n entropy (energyGibbsLaw (fun _ : Bool => (0 : ℝ)) β)", + "statement_sha256": "b7aaa617b1f06bb63bc71ee8031c8b435839dc70002a8c5231ab3239c7c2e332" + }, "FEP.VariationalDuality.boolFeasible_information_pos": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ @@ -102240,7 +111172,784 @@ "visibility": "explicit" } ], - "conclusion": "dvObjective certificate candidate ≤ certificate.logPartition", + "conclusion": "dvObjective certificate candidate ≤ certificate.logPartition", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "α", + "β", + "γ" + ], + "role": "typed_binder", + "source": "{α β γ : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype α]", + "type_source": "Fintype α", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype β]", + "type_source": "Fintype β", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype γ]", + "type_source": "Fintype γ", + "visibility": "instance" + } + ], + "declaration_mentions": [ + { + "identifier": "dvObjective_eq_logPartition_sub_kl", + "qualified_name": "FEP.VariationalDuality.dvObjective_eq_logPartition_sub_kl", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + }, + { + "candidates": [ + "FEP.FiniteInformation.finiteKL_nonneg" + ], + "identifier": "finiteKL_nonneg", + "resolution": "unresolved lexical scope", + "role": "proof_reference" + } + ], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.finite_information", + "Mathlib.Analysis.Convex.SpecificFunctions.Basic", + "Mathlib.Topology.Order.Compact" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.VariationalDuality", + "namespace_variable_context": [ + "{α β γ : Type*} [Fintype α] [Fintype β] [Fintype γ]" + ], + "preceding_scope_directives": [], + "qualified_name": "FEP.VariationalDuality.dvObjective_le_logPartition", + "source_line": 97, + "source_owner": "src/fep_lean/formal/variational_duality.lean", + "statement": "theorem dvObjective_le_logPartition\n (certificate : GibbsCertificate α) (candidate : FiniteLaw α) :\n dvObjective certificate candidate ≤ certificate.logPartition", + "statement_sha256": "2a1ce35e8acecb9f5c2ef422caa90cc6cb32928fb7307d757f62d25dc88127ec" + }, + "FEP.VariationalDuality.dvObjective_optimizer": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "certificate" + ], + "role": "typed_binder", + "source": "(certificate : GibbsCertificate α)", + "type_source": "GibbsCertificate α", + "visibility": "explicit" + } + ], + "conclusion": "dvObjective certificate certificate.optimizer =\n certificate.logPartition", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "α", + "β", + "γ" + ], + "role": "typed_binder", + "source": "{α β γ : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype α]", + "type_source": "Fintype α", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype β]", + "type_source": "Fintype β", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype γ]", + "type_source": "Fintype γ", + "visibility": "instance" + } + ], + "declaration_mentions": [ + { + "identifier": "dvObjective_eq_logPartition_sub_kl", + "qualified_name": "FEP.VariationalDuality.dvObjective_eq_logPartition_sub_kl", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + }, + { + "candidates": [ + "FEP.FiniteInformation.finiteKL_self" + ], + "identifier": "finiteKL_self", + "resolution": "unresolved lexical scope", + "role": "proof_reference" + } + ], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.finite_information", + "Mathlib.Analysis.Convex.SpecificFunctions.Basic", + "Mathlib.Topology.Order.Compact" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.VariationalDuality", + "namespace_variable_context": [ + "{α β γ : Type*} [Fintype α] [Fintype β] [Fintype γ]" + ], + "preceding_scope_directives": [], + "qualified_name": "FEP.VariationalDuality.dvObjective_optimizer", + "source_line": 104, + "source_owner": "src/fep_lean/formal/variational_duality.lean", + "statement": "theorem dvObjective_optimizer (certificate : GibbsCertificate α) :\n dvObjective certificate certificate.optimizer =\n certificate.logPartition", + "statement_sha256": "4ff9bca17c91e518c5489c4efad23ab786aa8a94baea0af04d7bda141313758b" + }, + "FEP.VariationalDuality.energyGibbsLaw_pos": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Nonempty α]", + "type_source": "Nonempty α", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "E" + ], + "role": "typed_binder", + "source": "(E : α → ℝ)", + "type_source": "α → ℝ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "β" + ], + "role": "typed_binder", + "source": "(β : ℝ)", + "type_source": "ℝ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "x" + ], + "role": "typed_binder", + "source": "(x : α)", + "type_source": "α", + "visibility": "explicit" + } + ], + "conclusion": "0 < energyGibbsLaw E β x", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "α", + "β", + "γ" + ], + "role": "typed_binder", + "source": "{α β γ : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype α]", + "type_source": "Fintype α", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype β]", + "type_source": "Fintype β", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype γ]", + "type_source": "Fintype γ", + "visibility": "instance" + } + ], + "declaration_mentions": [ + { + "identifier": "energyPartition_pos", + "qualified_name": "FEP.VariationalDuality.energyPartition_pos", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + } + ], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.finite_information", + "Mathlib.Analysis.Convex.SpecificFunctions.Basic", + "Mathlib.Topology.Order.Compact" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.VariationalDuality", + "namespace_variable_context": [ + "{α β γ : Type*} [Fintype α] [Fintype β] [Fintype γ]" + ], + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Fintype α] in" + } + ], + "qualified_name": "FEP.VariationalDuality.energyGibbsLaw_pos", + "source_line": 1231, + "source_owner": "src/fep_lean/formal/variational_duality.lean", + "statement": "theorem energyGibbsLaw_pos [Nonempty α] (E : α → ℝ) (β : ℝ) (x : α) :\n 0 < energyGibbsLaw E β x", + "statement_sha256": "1b4f957ef1e093737bbf6478ab85e37be780f03f86718396f2806034c1183dc9" + }, + "FEP.VariationalDuality.energyGibbsLaw_zero_energy": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Nonempty α]", + "type_source": "Nonempty α", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "β" + ], + "role": "typed_binder", + "source": "(β : ℝ)", + "type_source": "ℝ", + "visibility": "explicit" + } + ], + "conclusion": "energyGibbsLaw (fun _ : α => (0 : ℝ)) β = FiniteLaw.uniform", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "α", + "β", + "γ" + ], + "role": "typed_binder", + "source": "{α β γ : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype α]", + "type_source": "Fintype α", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype β]", + "type_source": "Fintype β", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype γ]", + "type_source": "Fintype γ", + "visibility": "instance" + } + ], + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.finite_information", + "Mathlib.Analysis.Convex.SpecificFunctions.Basic", + "Mathlib.Topology.Order.Compact" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.VariationalDuality", + "namespace_variable_context": [ + "{α β γ : Type*} [Fintype α] [Fintype β] [Fintype γ]" + ], + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Fintype α] in" + } + ], + "qualified_name": "FEP.VariationalDuality.energyGibbsLaw_zero_energy", + "source_line": 1287, + "source_owner": "src/fep_lean/formal/variational_duality.lean", + "statement": "theorem energyGibbsLaw_zero_energy [Nonempty α] (β : ℝ) :\n energyGibbsLaw (fun _ : α => (0 : ℝ)) β = FiniteLaw.uniform", + "statement_sha256": "3bb487dd51485c6815251900a0f60a0a59e8b3d43a179622b7537690478622c5" + }, + "FEP.VariationalDuality.energyGibbs_entropy_lt_of_ne": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Nonempty α]", + "type_source": "Nonempty α", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "E" + ], + "role": "typed_binder", + "source": "(E : α → ℝ)", + "type_source": "α → ℝ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "β" + ], + "role": "typed_binder", + "source": "(β : ℝ)", + "type_source": "ℝ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "q" + ], + "role": "typed_binder", + "source": "(q : FiniteLaw α)", + "type_source": "FiniteLaw α", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hq" + ], + "role": "typed_binder", + "source": "(hq : expectation q E = expectation (energyGibbsLaw E β) E)", + "type_source": "expectation q E = expectation (energyGibbsLaw E β) E", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hne" + ], + "role": "typed_binder", + "source": "(hne : q ≠ energyGibbsLaw E β)", + "type_source": "q ≠ energyGibbsLaw E β", + "visibility": "explicit" + } + ], + "conclusion": "entropy q < entropy (energyGibbsLaw E β)", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "α", + "β", + "γ" + ], + "role": "typed_binder", + "source": "{α β γ : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype α]", + "type_source": "Fintype α", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype β]", + "type_source": "Fintype β", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype γ]", + "type_source": "Fintype γ", + "visibility": "instance" + } + ], + "declaration_mentions": [ + { + "identifier": "energyGibbs_maxEntropy", + "qualified_name": "FEP.VariationalDuality.energyGibbs_maxEntropy", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + } + ], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.finite_information", + "Mathlib.Analysis.Convex.SpecificFunctions.Basic", + "Mathlib.Topology.Order.Compact" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.VariationalDuality", + "namespace_variable_context": [ + "{α β γ : Type*} [Fintype α] [Fintype β] [Fintype γ]" + ], + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Fintype α] in" + } + ], + "qualified_name": "FEP.VariationalDuality.energyGibbs_entropy_lt_of_ne", + "source_line": 1278, + "source_owner": "src/fep_lean/formal/variational_duality.lean", + "statement": "theorem energyGibbs_entropy_lt_of_ne [Nonempty α] (E : α → ℝ) (β : ℝ)\n (q : FiniteLaw α)\n (hq : expectation q E = expectation (energyGibbsLaw E β) E)\n (hne : q ≠ energyGibbsLaw E β) :\n entropy q < entropy (energyGibbsLaw E β)", + "statement_sha256": "2e91b514d24fe5c0581452f5a644aafc7f090ee1e4c51e5e6f35c4f024fcb715" + }, + "FEP.VariationalDuality.energyGibbs_maxEntropy": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Nonempty α]", + "type_source": "Nonempty α", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "E" + ], + "role": "typed_binder", + "source": "(E : α → ℝ)", + "type_source": "α → ℝ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "β" + ], + "role": "typed_binder", + "source": "(β : ℝ)", + "type_source": "ℝ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "q" + ], + "role": "typed_binder", + "source": "(q : FiniteLaw α)", + "type_source": "FiniteLaw α", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hq" + ], + "role": "typed_binder", + "source": "(hq : expectation q E = expectation (energyGibbsLaw E β) E)", + "type_source": "expectation q E = expectation (energyGibbsLaw E β) E", + "visibility": "explicit" + } + ], + "conclusion": "entropy q ≤ entropy (energyGibbsLaw E β) ∧\n (entropy q = entropy (energyGibbsLaw E β) ↔ q = energyGibbsLaw E β)", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "α", + "β", + "γ" + ], + "role": "typed_binder", + "source": "{α β γ : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype α]", + "type_source": "Fintype α", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype β]", + "type_source": "Fintype β", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype γ]", + "type_source": "Fintype γ", + "visibility": "instance" + } + ], + "declaration_mentions": [ + { + "identifier": "entropy_eq_energy_add_logPartition_sub_kl", + "qualified_name": "FEP.VariationalDuality.entropy_eq_energy_add_logPartition_sub_kl", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + }, + { + "candidates": [ + "FEP.FiniteInformation.finiteKL_eq_zero_iff" + ], + "identifier": "finiteKL_eq_zero_iff", + "resolution": "unresolved lexical scope", + "role": "proof_reference" + }, + { + "candidates": [ + "FEP.FiniteInformation.finiteKL_nonneg" + ], + "identifier": "finiteKL_nonneg", + "resolution": "unresolved lexical scope", + "role": "proof_reference" + }, + { + "candidates": [ + "FEP.FiniteInformation.finiteKL_self" + ], + "identifier": "finiteKL_self", + "resolution": "unresolved lexical scope", + "role": "proof_reference" + } + ], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.finite_information", + "Mathlib.Analysis.Convex.SpecificFunctions.Basic", + "Mathlib.Topology.Order.Compact" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.VariationalDuality", + "namespace_variable_context": [ + "{α β γ : Type*} [Fintype α] [Fintype β] [Fintype γ]" + ], + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Fintype α] in" + } + ], + "qualified_name": "FEP.VariationalDuality.energyGibbs_maxEntropy", + "source_line": 1261, + "source_owner": "src/fep_lean/formal/variational_duality.lean", + "statement": "theorem energyGibbs_maxEntropy [Nonempty α] (E : α → ℝ) (β : ℝ)\n (q : FiniteLaw α)\n (hq : expectation q E = expectation (energyGibbsLaw E β) E) :\n entropy q ≤ entropy (energyGibbsLaw E β) ∧\n (entropy q = entropy (energyGibbsLaw E β) ↔ q = energyGibbsLaw E β)", + "statement_sha256": "0e57ff136d599d439c64d76447c6c44c0e85ef697486a6fa9dd4bd082c2acdf2" + }, + "FEP.VariationalDuality.energyPartition_pos": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Nonempty α]", + "type_source": "Nonempty α", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "E" + ], + "role": "typed_binder", + "source": "(E : α → ℝ)", + "type_source": "α → ℝ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "β" + ], + "role": "typed_binder", + "source": "(β : ℝ)", + "type_source": "ℝ", + "visibility": "explicit" + } + ], + "conclusion": "0 < energyPartition E β", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "α", + "β", + "γ" + ], + "role": "typed_binder", + "source": "{α β γ : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype α]", + "type_source": "Fintype α", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype β]", + "type_source": "Fintype β", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype γ]", + "type_source": "Fintype γ", + "visibility": "instance" + } + ], + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.finite_information", + "Mathlib.Analysis.Convex.SpecificFunctions.Basic", + "Mathlib.Topology.Order.Compact" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.VariationalDuality", + "namespace_variable_context": [ + "{α β γ : Type*} [Fintype α] [Fintype β] [Fintype γ]" + ], + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Fintype α] in" + } + ], + "qualified_name": "FEP.VariationalDuality.energyPartition_pos", + "source_line": 1217, + "source_owner": "src/fep_lean/formal/variational_duality.lean", + "statement": "theorem energyPartition_pos [Nonempty α] (E : α → ℝ) (β : ℝ) :\n 0 < energyPartition E β", + "statement_sha256": "1a4cbd4dddda5f4f4763c2ca754357412204fd41159656b09da4f6b07b7d592d" + }, + "FEP.VariationalDuality.entropy_eq_energy_add_logPartition_sub_kl": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Nonempty α]", + "type_source": "Nonempty α", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "E" + ], + "role": "typed_binder", + "source": "(E : α → ℝ)", + "type_source": "α → ℝ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "β" + ], + "role": "typed_binder", + "source": "(β : ℝ)", + "type_source": "ℝ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "q" + ], + "role": "typed_binder", + "source": "(q : FiniteLaw α)", + "type_source": "FiniteLaw α", + "visibility": "explicit" + } + ], + "conclusion": "entropy q = β * expectation q E + Real.log (energyPartition E β) -\n finiteKL q (energyGibbsLaw E β)", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -102281,16 +111990,22 @@ ], "declaration_mentions": [ { - "identifier": "dvObjective_eq_logPartition_sub_kl", - "qualified_name": "FEP.VariationalDuality.dvObjective_eq_logPartition_sub_kl", + "identifier": "energyGibbsLaw_pos", + "qualified_name": "FEP.VariationalDuality.energyGibbsLaw_pos", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + }, + { + "identifier": "energyPartition_pos", + "qualified_name": "FEP.VariationalDuality.energyPartition_pos", "resolution": "exact or same-namespace source identifier", "role": "proof_reference" }, { "candidates": [ - "FEP.FiniteInformation.finiteKL_nonneg" + "FEP.FiniteInformation.finiteKL_eq_crossEntropy_sub_entropy" ], - "identifier": "finiteKL_nonneg", + "identifier": "finiteKL_eq_crossEntropy_sub_entropy", "resolution": "unresolved lexical scope", "role": "proof_reference" } @@ -102306,28 +112021,62 @@ "namespace_variable_context": [ "{α β γ : Type*} [Fintype α] [Fintype β] [Fintype γ]" ], - "preceding_scope_directives": [], - "qualified_name": "FEP.VariationalDuality.dvObjective_le_logPartition", - "source_line": 97, + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Fintype α] in" + } + ], + "qualified_name": "FEP.VariationalDuality.entropy_eq_energy_add_logPartition_sub_kl", + "source_line": 1237, "source_owner": "src/fep_lean/formal/variational_duality.lean", - "statement": "theorem dvObjective_le_logPartition\n (certificate : GibbsCertificate α) (candidate : FiniteLaw α) :\n dvObjective certificate candidate ≤ certificate.logPartition", - "statement_sha256": "2a1ce35e8acecb9f5c2ef422caa90cc6cb32928fb7307d757f62d25dc88127ec" + "statement": "theorem entropy_eq_energy_add_logPartition_sub_kl [Nonempty α]\n (E : α → ℝ) (β : ℝ) (q : FiniteLaw α) :\n entropy q = β * expectation q E + Real.log (energyPartition E β) -\n finiteKL q (energyGibbsLaw E β)", + "statement_sha256": "93d55a3f71095ff49fc3b85792dc1e9e14190157da08af412f79a0e10309f5b3" }, - "FEP.VariationalDuality.dvObjective_optimizer": { + "FEP.VariationalDuality.entropy_helmholtzGibbsLaw": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Nonempty α]", + "type_source": "Nonempty α", + "visibility": "instance" + }, { "hypothesis_status": "source syntax; proposition elaboration not performed", "names": [ - "certificate" + "E" ], "role": "typed_binder", - "source": "(certificate : GibbsCertificate α)", - "type_source": "GibbsCertificate α", + "source": "(E : α → ℝ)", + "type_source": "α → ℝ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "T" + ], + "role": "typed_binder", + "source": "{T : ℝ}", + "type_source": "ℝ", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hT" + ], + "role": "typed_binder", + "source": "(hT : 0 < T)", + "type_source": "0 < T", "visibility": "explicit" } ], - "conclusion": "dvObjective certificate certificate.optimizer =\n certificate.logPartition", + "conclusion": "entropy (helmholtzGibbsLaw E T) =\n (∑ x, Real.exp (-E x / T) * E x) / (T * helmholtzPartition E T) +\n Real.log (helmholtzPartition E T)", "context_binders": [ { "hypothesis_status": "source syntax; proposition elaboration not performed", @@ -102368,17 +112117,15 @@ ], "declaration_mentions": [ { - "identifier": "dvObjective_eq_logPartition_sub_kl", - "qualified_name": "FEP.VariationalDuality.dvObjective_eq_logPartition_sub_kl", + "identifier": "helmholtzPartition_pos", + "qualified_name": "FEP.VariationalDuality.helmholtzPartition_pos", "resolution": "exact or same-namespace source identifier", "role": "proof_reference" }, { - "candidates": [ - "FEP.FiniteInformation.finiteKL_self" - ], - "identifier": "finiteKL_self", - "resolution": "unresolved lexical scope", + "identifier": "log_helmholtzGibbsLaw", + "qualified_name": "FEP.VariationalDuality.log_helmholtzGibbsLaw", + "resolution": "exact or same-namespace source identifier", "role": "proof_reference" } ], @@ -102393,12 +112140,18 @@ "namespace_variable_context": [ "{α β γ : Type*} [Fintype α] [Fintype β] [Fintype γ]" ], - "preceding_scope_directives": [], - "qualified_name": "FEP.VariationalDuality.dvObjective_optimizer", - "source_line": 104, + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Fintype α] in" + } + ], + "qualified_name": "FEP.VariationalDuality.entropy_helmholtzGibbsLaw", + "source_line": 1400, "source_owner": "src/fep_lean/formal/variational_duality.lean", - "statement": "theorem dvObjective_optimizer (certificate : GibbsCertificate α) :\n dvObjective certificate certificate.optimizer =\n certificate.logPartition", - "statement_sha256": "4ff9bca17c91e518c5489c4efad23ab786aa8a94baea0af04d7bda141313758b" + "statement": "theorem entropy_helmholtzGibbsLaw [Nonempty α] (E : α → ℝ) {T : ℝ}\n (hT : 0 < T) :\n entropy (helmholtzGibbsLaw E T) =\n (∑ x, Real.exp (-E x / T) * E x) / (T * helmholtzPartition E T) +\n Real.log (helmholtzPartition E T)", + "statement_sha256": "f04fa4fe0e6997e3342e3eaeab4fa052b74d05f13eb92a6844f1c96c21dff60e" }, "FEP.VariationalDuality.expectedDistortion_nonneg": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", @@ -103687,8 +113440,1053 @@ ], "declaration_mentions": [ { - "identifier": "dvObjective_optimizer", - "qualified_name": "FEP.VariationalDuality.dvObjective_optimizer", + "identifier": "dvObjective_optimizer", + "qualified_name": "FEP.VariationalDuality.dvObjective_optimizer", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + } + ], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.finite_information", + "Mathlib.Analysis.Convex.SpecificFunctions.Basic", + "Mathlib.Topology.Order.Compact" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.VariationalDuality", + "namespace_variable_context": [ + "{α β γ : Type*} [Fintype α] [Fintype β] [Fintype γ]" + ], + "preceding_scope_directives": [], + "qualified_name": "FEP.VariationalDuality.gibbsFreeEnergy_optimizer", + "source_line": 137, + "source_owner": "src/fep_lean/formal/variational_duality.lean", + "statement": "theorem gibbsFreeEnergy_optimizer (certificate : GibbsCertificate α) :\n gibbsFreeEnergy certificate certificate.optimizer =\n -certificate.logPartition", + "statement_sha256": "1e6ae1beb175eaf8520ea5af29ea21e4524b5c8996c9437f555ecb53215f7ee6" + }, + "FEP.VariationalDuality.hasDerivAt_helmholtzFreeEnergy": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Nonempty α]", + "type_source": "Nonempty α", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "E" + ], + "role": "typed_binder", + "source": "(E : α → ℝ)", + "type_source": "α → ℝ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "T" + ], + "role": "typed_binder", + "source": "{T : ℝ}", + "type_source": "ℝ", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hT" + ], + "role": "typed_binder", + "source": "(hT : 0 < T)", + "type_source": "0 < T", + "visibility": "explicit" + } + ], + "conclusion": "HasDerivAt (helmholtzFreeEnergy E) (-entropy (helmholtzGibbsLaw E T)) T", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "α", + "β", + "γ" + ], + "role": "typed_binder", + "source": "{α β γ : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype α]", + "type_source": "Fintype α", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype β]", + "type_source": "Fintype β", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype γ]", + "type_source": "Fintype γ", + "visibility": "instance" + } + ], + "declaration_mentions": [ + { + "identifier": "entropy_helmholtzGibbsLaw", + "qualified_name": "FEP.VariationalDuality.entropy_helmholtzGibbsLaw", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + }, + { + "identifier": "helmholtzPartition_pos", + "qualified_name": "FEP.VariationalDuality.helmholtzPartition_pos", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + } + ], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.finite_information", + "Mathlib.Analysis.Convex.SpecificFunctions.Basic", + "Mathlib.Topology.Order.Compact" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.VariationalDuality", + "namespace_variable_context": [ + "{α β γ : Type*} [Fintype α] [Fintype β] [Fintype γ]" + ], + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Fintype α] in" + } + ], + "qualified_name": "FEP.VariationalDuality.hasDerivAt_helmholtzFreeEnergy", + "source_line": 1424, + "source_owner": "src/fep_lean/formal/variational_duality.lean", + "statement": "theorem hasDerivAt_helmholtzFreeEnergy [Nonempty α] (E : α → ℝ) {T : ℝ}\n (hT : 0 < T) :\n HasDerivAt (helmholtzFreeEnergy E) (-entropy (helmholtzGibbsLaw E T)) T", + "statement_sha256": "e8ff4c8f8f128e8bf48d3e057779a61abfac647caa7b9705e0971053d126c828" + }, + "FEP.VariationalDuality.helmholtzFreeEnergy_eq_iff": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Nonempty α]", + "type_source": "Nonempty α", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "E" + ], + "role": "typed_binder", + "source": "(E : α → ℝ)", + "type_source": "α → ℝ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "T" + ], + "role": "typed_binder", + "source": "{T : ℝ}", + "type_source": "ℝ", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hT" + ], + "role": "typed_binder", + "source": "(hT : 0 < T)", + "type_source": "0 < T", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "q" + ], + "role": "typed_binder", + "source": "(q : FiniteLaw α)", + "type_source": "FiniteLaw α", + "visibility": "explicit" + } + ], + "conclusion": "expectation q E - T * entropy q = helmholtzFreeEnergy E T ↔\n q = helmholtzGibbsLaw E T", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "α", + "β", + "γ" + ], + "role": "typed_binder", + "source": "{α β γ : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype α]", + "type_source": "Fintype α", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype β]", + "type_source": "Fintype β", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype γ]", + "type_source": "Fintype γ", + "visibility": "instance" + } + ], + "declaration_mentions": [ + { + "candidates": [ + "FEP.FiniteInformation.finiteKL_eq_zero_iff" + ], + "identifier": "finiteKL_eq_zero_iff", + "resolution": "unresolved lexical scope", + "role": "proof_reference" + }, + { + "identifier": "helmholtz_decomposition", + "qualified_name": "FEP.VariationalDuality.helmholtz_decomposition", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + } + ], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.finite_information", + "Mathlib.Analysis.Convex.SpecificFunctions.Basic", + "Mathlib.Topology.Order.Compact" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.VariationalDuality", + "namespace_variable_context": [ + "{α β γ : Type*} [Fintype α] [Fintype β] [Fintype γ]" + ], + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Fintype α] in" + } + ], + "qualified_name": "FEP.VariationalDuality.helmholtzFreeEnergy_eq_iff", + "source_line": 1380, + "source_owner": "src/fep_lean/formal/variational_duality.lean", + "statement": "theorem helmholtzFreeEnergy_eq_iff [Nonempty α] (E : α → ℝ) {T : ℝ}\n (hT : 0 < T) (q : FiniteLaw α) :\n expectation q E - T * entropy q = helmholtzFreeEnergy E T ↔\n q = helmholtzGibbsLaw E T", + "statement_sha256": "b91fe3d90e8ce073532a73643df75c6f300e2f10786c706c6ccd0bfaf74580ec" + }, + "FEP.VariationalDuality.helmholtzFreeEnergy_le": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Nonempty α]", + "type_source": "Nonempty α", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "E" + ], + "role": "typed_binder", + "source": "(E : α → ℝ)", + "type_source": "α → ℝ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "T" + ], + "role": "typed_binder", + "source": "{T : ℝ}", + "type_source": "ℝ", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hT" + ], + "role": "typed_binder", + "source": "(hT : 0 < T)", + "type_source": "0 < T", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "q" + ], + "role": "typed_binder", + "source": "(q : FiniteLaw α)", + "type_source": "FiniteLaw α", + "visibility": "explicit" + } + ], + "conclusion": "helmholtzFreeEnergy E T ≤ expectation q E - T * entropy q", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "α", + "β", + "γ" + ], + "role": "typed_binder", + "source": "{α β γ : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype α]", + "type_source": "Fintype α", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype β]", + "type_source": "Fintype β", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype γ]", + "type_source": "Fintype γ", + "visibility": "instance" + } + ], + "declaration_mentions": [ + { + "candidates": [ + "FEP.FiniteInformation.finiteKL_nonneg" + ], + "identifier": "finiteKL_nonneg", + "resolution": "unresolved lexical scope", + "role": "proof_reference" + }, + { + "identifier": "helmholtz_decomposition", + "qualified_name": "FEP.VariationalDuality.helmholtz_decomposition", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + } + ], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.finite_information", + "Mathlib.Analysis.Convex.SpecificFunctions.Basic", + "Mathlib.Topology.Order.Compact" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.VariationalDuality", + "namespace_variable_context": [ + "{α β γ : Type*} [Fintype α] [Fintype β] [Fintype γ]" + ], + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Fintype α] in" + } + ], + "qualified_name": "FEP.VariationalDuality.helmholtzFreeEnergy_le", + "source_line": 1372, + "source_owner": "src/fep_lean/formal/variational_duality.lean", + "statement": "theorem helmholtzFreeEnergy_le [Nonempty α] (E : α → ℝ) {T : ℝ} (hT : 0 < T)\n (q : FiniteLaw α) :\n helmholtzFreeEnergy E T ≤ expectation q E - T * entropy q", + "statement_sha256": "f57994c6c55c20192eeb4a9f0530274ccc59db0e061dca1af5e008eb3f005785" + }, + "FEP.VariationalDuality.helmholtzFreeEnergy_lt": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Nonempty α]", + "type_source": "Nonempty α", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "E" + ], + "role": "typed_binder", + "source": "(E : α → ℝ)", + "type_source": "α → ℝ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "T" + ], + "role": "typed_binder", + "source": "{T : ℝ}", + "type_source": "ℝ", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hT" + ], + "role": "typed_binder", + "source": "(hT : 0 < T)", + "type_source": "0 < T", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "q" + ], + "role": "typed_binder", + "source": "(q : FiniteLaw α)", + "type_source": "FiniteLaw α", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hq" + ], + "role": "typed_binder", + "source": "(hq : q ≠ helmholtzGibbsLaw E T)", + "type_source": "q ≠ helmholtzGibbsLaw E T", + "visibility": "explicit" + } + ], + "conclusion": "helmholtzFreeEnergy E T < expectation q E - T * entropy q", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "α", + "β", + "γ" + ], + "role": "typed_binder", + "source": "{α β γ : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype α]", + "type_source": "Fintype α", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype β]", + "type_source": "Fintype β", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype γ]", + "type_source": "Fintype γ", + "visibility": "instance" + } + ], + "declaration_mentions": [ + { + "identifier": "helmholtzFreeEnergy_eq_iff", + "qualified_name": "FEP.VariationalDuality.helmholtzFreeEnergy_eq_iff", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + }, + { + "identifier": "helmholtzFreeEnergy_le", + "qualified_name": "FEP.VariationalDuality.helmholtzFreeEnergy_le", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + } + ], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.finite_information", + "Mathlib.Analysis.Convex.SpecificFunctions.Basic", + "Mathlib.Topology.Order.Compact" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.VariationalDuality", + "namespace_variable_context": [ + "{α β γ : Type*} [Fintype α] [Fintype β] [Fintype γ]" + ], + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Fintype α] in" + } + ], + "qualified_name": "FEP.VariationalDuality.helmholtzFreeEnergy_lt", + "source_line": 1393, + "source_owner": "src/fep_lean/formal/variational_duality.lean", + "statement": "theorem helmholtzFreeEnergy_lt [Nonempty α] (E : α → ℝ) {T : ℝ} (hT : 0 < T)\n (q : FiniteLaw α) (hq : q ≠ helmholtzGibbsLaw E T) :\n helmholtzFreeEnergy E T < expectation q E - T * entropy q", + "statement_sha256": "01f03ffd1d9fc797ace5a9d6a7a5f83511308c699f3d4e2602f64e537932f073" + }, + "FEP.VariationalDuality.helmholtzGibbsLaw_pos": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Nonempty α]", + "type_source": "Nonempty α", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "E" + ], + "role": "typed_binder", + "source": "(E : α → ℝ)", + "type_source": "α → ℝ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "T" + ], + "role": "typed_binder", + "source": "(T : ℝ)", + "type_source": "ℝ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "x" + ], + "role": "typed_binder", + "source": "(x : α)", + "type_source": "α", + "visibility": "explicit" + } + ], + "conclusion": "0 < helmholtzGibbsLaw E T x", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "α", + "β", + "γ" + ], + "role": "typed_binder", + "source": "{α β γ : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype α]", + "type_source": "Fintype α", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype β]", + "type_source": "Fintype β", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype γ]", + "type_source": "Fintype γ", + "visibility": "instance" + } + ], + "declaration_mentions": [ + { + "identifier": "helmholtzPartition_pos", + "qualified_name": "FEP.VariationalDuality.helmholtzPartition_pos", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + } + ], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.finite_information", + "Mathlib.Analysis.Convex.SpecificFunctions.Basic", + "Mathlib.Topology.Order.Compact" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.VariationalDuality", + "namespace_variable_context": [ + "{α β γ : Type*} [Fintype α] [Fintype β] [Fintype γ]" + ], + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Fintype α] in" + } + ], + "qualified_name": "FEP.VariationalDuality.helmholtzGibbsLaw_pos", + "source_line": 1337, + "source_owner": "src/fep_lean/formal/variational_duality.lean", + "statement": "theorem helmholtzGibbsLaw_pos [Nonempty α] (E : α → ℝ) (T : ℝ) (x : α) :\n 0 < helmholtzGibbsLaw E T x", + "statement_sha256": "5e4fe0d4ef1c4cdb7cf7fe9e96d81c63924ca911464ff19d719f8527840c9903" + }, + "FEP.VariationalDuality.helmholtzPartition_bool": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "T" + ], + "role": "typed_binder", + "source": "(T : ℝ)", + "type_source": "ℝ", + "visibility": "explicit" + } + ], + "conclusion": "helmholtzPartition helmholtzBoolEnergy T = Real.exp (-1 / T) + 1", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "α", + "β", + "γ" + ], + "role": "typed_binder", + "source": "{α β γ : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype α]", + "type_source": "Fintype α", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype β]", + "type_source": "Fintype β", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype γ]", + "type_source": "Fintype γ", + "visibility": "instance" + } + ], + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.finite_information", + "Mathlib.Analysis.Convex.SpecificFunctions.Basic", + "Mathlib.Topology.Order.Compact" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.VariationalDuality", + "namespace_variable_context": [ + "{α β γ : Type*} [Fintype α] [Fintype β] [Fintype γ]" + ], + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Fintype α] in" + } + ], + "qualified_name": "FEP.VariationalDuality.helmholtzPartition_bool", + "source_line": 1462, + "source_owner": "src/fep_lean/formal/variational_duality.lean", + "statement": "theorem helmholtzPartition_bool (T : ℝ) :\n helmholtzPartition helmholtzBoolEnergy T = Real.exp (-1 / T) + 1", + "statement_sha256": "0503320fa9b32a633c72d8cafb00506ecb1d72bff2a7c2c2fce89b457cfb1cf2" + }, + "FEP.VariationalDuality.helmholtzPartition_pos": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Nonempty α]", + "type_source": "Nonempty α", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "E" + ], + "role": "typed_binder", + "source": "(E : α → ℝ)", + "type_source": "α → ℝ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "T" + ], + "role": "typed_binder", + "source": "(T : ℝ)", + "type_source": "ℝ", + "visibility": "explicit" + } + ], + "conclusion": "0 < helmholtzPartition E T", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "α", + "β", + "γ" + ], + "role": "typed_binder", + "source": "{α β γ : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype α]", + "type_source": "Fintype α", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype β]", + "type_source": "Fintype β", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype γ]", + "type_source": "Fintype γ", + "visibility": "instance" + } + ], + "declaration_mentions": [], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.finite_information", + "Mathlib.Analysis.Convex.SpecificFunctions.Basic", + "Mathlib.Topology.Order.Compact" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.VariationalDuality", + "namespace_variable_context": [ + "{α β γ : Type*} [Fintype α] [Fintype β] [Fintype γ]" + ], + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Fintype α] in" + } + ], + "qualified_name": "FEP.VariationalDuality.helmholtzPartition_pos", + "source_line": 1324, + "source_owner": "src/fep_lean/formal/variational_duality.lean", + "statement": "theorem helmholtzPartition_pos [Nonempty α] (E : α → ℝ) (T : ℝ) :\n 0 < helmholtzPartition E T", + "statement_sha256": "34551357b1a4a59fdbf146e079647f366e37842029fdada84b437ba4f940279f" + }, + "FEP.VariationalDuality.helmholtz_bool_uniform_gt": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "T" + ], + "role": "typed_binder", + "source": "{T : ℝ}", + "type_source": "ℝ", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hT" + ], + "role": "typed_binder", + "source": "(hT : 0 < T)", + "type_source": "0 < T", + "visibility": "explicit" + } + ], + "conclusion": "helmholtzFreeEnergy helmholtzBoolEnergy T <\n expectation (FiniteLaw.uniform : FiniteLaw Bool) helmholtzBoolEnergy -\n T * entropy (FiniteLaw.uniform : FiniteLaw Bool)", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "α", + "β", + "γ" + ], + "role": "typed_binder", + "source": "{α β γ : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype α]", + "type_source": "Fintype α", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype β]", + "type_source": "Fintype β", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype γ]", + "type_source": "Fintype γ", + "visibility": "instance" + } + ], + "declaration_mentions": [ + { + "identifier": "helmholtzFreeEnergy_lt", + "qualified_name": "FEP.VariationalDuality.helmholtzFreeEnergy_lt", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + }, + { + "identifier": "helmholtzPartition_bool", + "qualified_name": "FEP.VariationalDuality.helmholtzPartition_bool", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + }, + { + "identifier": "helmholtzPartition_pos", + "qualified_name": "FEP.VariationalDuality.helmholtzPartition_pos", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + } + ], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.finite_information", + "Mathlib.Analysis.Convex.SpecificFunctions.Basic", + "Mathlib.Topology.Order.Compact" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.VariationalDuality", + "namespace_variable_context": [ + "{α β γ : Type*} [Fintype α] [Fintype β] [Fintype γ]" + ], + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Fintype α] in" + } + ], + "qualified_name": "FEP.VariationalDuality.helmholtz_bool_uniform_gt", + "source_line": 1468, + "source_owner": "src/fep_lean/formal/variational_duality.lean", + "statement": "theorem helmholtz_bool_uniform_gt {T : ℝ} (hT : 0 < T) :\n helmholtzFreeEnergy helmholtzBoolEnergy T <\n expectation (FiniteLaw.uniform : FiniteLaw Bool) helmholtzBoolEnergy -\n T * entropy (FiniteLaw.uniform : FiniteLaw Bool)", + "statement_sha256": "422ee3b89af16c2c698da5d30726de5449e18018f03538c053283aa0de76a441" + }, + "FEP.VariationalDuality.helmholtz_decomposition": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Nonempty α]", + "type_source": "Nonempty α", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "E" + ], + "role": "typed_binder", + "source": "(E : α → ℝ)", + "type_source": "α → ℝ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "T" + ], + "role": "typed_binder", + "source": "{T : ℝ}", + "type_source": "ℝ", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hT" + ], + "role": "typed_binder", + "source": "(hT : 0 < T)", + "type_source": "0 < T", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "q" + ], + "role": "typed_binder", + "source": "(q : FiniteLaw α)", + "type_source": "FiniteLaw α", + "visibility": "explicit" + } + ], + "conclusion": "expectation q E - T * entropy q =\n helmholtzFreeEnergy E T + T * finiteKL q (helmholtzGibbsLaw E T)", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "α", + "β", + "γ" + ], + "role": "typed_binder", + "source": "{α β γ : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype α]", + "type_source": "Fintype α", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype β]", + "type_source": "Fintype β", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype γ]", + "type_source": "Fintype γ", + "visibility": "instance" + } + ], + "declaration_mentions": [ + { + "candidates": [ + "FEP.FiniteInformation.finiteKL_eq_crossEntropy_sub_entropy" + ], + "identifier": "finiteKL_eq_crossEntropy_sub_entropy", + "resolution": "unresolved lexical scope", + "role": "proof_reference" + }, + { + "identifier": "helmholtzGibbsLaw_pos", + "qualified_name": "FEP.VariationalDuality.helmholtzGibbsLaw_pos", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + }, + { + "identifier": "log_helmholtzGibbsLaw", + "qualified_name": "FEP.VariationalDuality.log_helmholtzGibbsLaw", "resolution": "exact or same-namespace source identifier", "role": "proof_reference" } @@ -103704,12 +114502,18 @@ "namespace_variable_context": [ "{α β γ : Type*} [Fintype α] [Fintype β] [Fintype γ]" ], - "preceding_scope_directives": [], - "qualified_name": "FEP.VariationalDuality.gibbsFreeEnergy_optimizer", - "source_line": 137, + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Fintype α] in" + } + ], + "qualified_name": "FEP.VariationalDuality.helmholtz_decomposition", + "source_line": 1350, "source_owner": "src/fep_lean/formal/variational_duality.lean", - "statement": "theorem gibbsFreeEnergy_optimizer (certificate : GibbsCertificate α) :\n gibbsFreeEnergy certificate certificate.optimizer =\n -certificate.logPartition", - "statement_sha256": "1e6ae1beb175eaf8520ea5af29ea21e4524b5c8996c9437f555ecb53215f7ee6" + "statement": "theorem helmholtz_decomposition [Nonempty α] (E : α → ℝ) {T : ℝ} (hT : 0 < T)\n (q : FiniteLaw α) :\n expectation q E - T * entropy q =\n helmholtzFreeEnergy E T + T * finiteKL q (helmholtzGibbsLaw E T)", + "statement_sha256": "08d003dae185237cee4acc0b86bca46e0aa638c9f0b60b3c3689586eeb63f9f9" }, "FEP.VariationalDuality.iidProductLaw_mass": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", @@ -104197,6 +115001,119 @@ "statement": "theorem joint_supported_by_productMarginals (joint : FiniteLaw (α × β)) :\n ∀ xy, joint xy ≠ 0 →\n 0 < (joint.fstMarginal.product joint.sndMarginal) xy", "statement_sha256": "a41569935cfef4f82887c5f60b709370d2d2eaed9f99a3c7d34f3a2d9c8cf2b0" }, + "FEP.VariationalDuality.log_helmholtzGibbsLaw": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Nonempty α]", + "type_source": "Nonempty α", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "E" + ], + "role": "typed_binder", + "source": "(E : α → ℝ)", + "type_source": "α → ℝ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "T" + ], + "role": "typed_binder", + "source": "(T : ℝ)", + "type_source": "ℝ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "x" + ], + "role": "typed_binder", + "source": "(x : α)", + "type_source": "α", + "visibility": "explicit" + } + ], + "conclusion": "Real.log (helmholtzGibbsLaw E T x) =\n -E x / T - Real.log (helmholtzPartition E T)", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "α", + "β", + "γ" + ], + "role": "typed_binder", + "source": "{α β γ : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype α]", + "type_source": "Fintype α", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype β]", + "type_source": "Fintype β", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype γ]", + "type_source": "Fintype γ", + "visibility": "instance" + } + ], + "declaration_mentions": [ + { + "identifier": "helmholtzPartition_pos", + "qualified_name": "FEP.VariationalDuality.helmholtzPartition_pos", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + } + ], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.finite_information", + "Mathlib.Analysis.Convex.SpecificFunctions.Basic", + "Mathlib.Topology.Order.Compact" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEP.VariationalDuality", + "namespace_variable_context": [ + "{α β γ : Type*} [Fintype α] [Fintype β] [Fintype γ]" + ], + "preceding_scope_directives": [ + { + "directive": "omit", + "interpretation": "Preceding source directive; active scopes and elaborated binder inclusion are not inferred.", + "source": "omit [Fintype α] in" + } + ], + "qualified_name": "FEP.VariationalDuality.log_helmholtzGibbsLaw", + "source_line": 1341, + "source_owner": "src/fep_lean/formal/variational_duality.lean", + "statement": "theorem log_helmholtzGibbsLaw [Nonempty α] (E : α → ℝ) (T : ℝ) (x : α) :\n Real.log (helmholtzGibbsLaw E T x) =\n -E x / T - Real.log (helmholtzPartition E T)", + "statement_sha256": "170e5ff33206f0012ec71e31e2ea427570ba3be20b3354f04537b59fcefc7c63" + }, "FEP.VariationalDuality.meanFieldCoordinateFreeEnergy_eq": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ @@ -118719,6 +129636,10 @@ "FepSketches.information_geometry", "FepSketches.markov_blanket", "FepSketches.statistical_convergence", + "FepSketches.controlled_markov", + "FepSketches.temporal_inference", + "FepSketches.path_thermodynamics", + "FepSketches.geometric_optimization", "Mathlib.Analysis.SpecialFunctions.BinaryEntropy" ], "line_coordinate_kind": "formal_resource_file", @@ -118728,7 +129649,7 @@ ], "preceding_scope_directives": [], "qualified_name": "FEPComposed.activeInference_expectedFreeEnergy_to_fep021", - "source_line": 40, + "source_line": 44, "source_owner": "src/fep_lean/formal/compositions/core.lean", "statement": "theorem activeInference_expectedFreeEnergy_to_fep021\n {Policy State Outcome : Type*}\n [Fintype Policy] [Fintype State] [Fintype Outcome]\n (model : FEP.ActiveInference.GenerativeModel Policy State Outcome)\n (policy : Policy) :\n ENNReal.ofReal (FEP.ActiveInference.expectedFreeEnergy model policy) =\n fep_fep021.FEP021.fep021_expectedFreeEnergy\n (ENNReal.ofReal (FEP.ActiveInference.pragmaticCost model policy))\n (ENNReal.ofReal (FEP.ActiveInference.epistemicValue model policy))", "statement_sha256": "ecb2042ff154b7822097f6dc472d5db69434fb58a5b80feb3752c416a0300bc5" @@ -118856,6 +129777,10 @@ "FepSketches.information_geometry", "FepSketches.markov_blanket", "FepSketches.statistical_convergence", + "FepSketches.controlled_markov", + "FepSketches.temporal_inference", + "FepSketches.path_thermodynamics", + "FepSketches.geometric_optimization", "Mathlib.Analysis.SpecialFunctions.BinaryEntropy" ], "line_coordinate_kind": "formal_resource_file", @@ -118865,7 +129790,7 @@ ], "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep002_vfe_compProd_chain_rule", - "source_line": 56, + "source_line": 60, "source_owner": "src/fep_lean/formal/compositions/core.lean", "statement": "theorem fep002_vfe_compProd_chain_rule\n {α β : Type*} [MeasurableSpace α] [MeasurableSpace β]\n (μ ν : Measure α) (κ η : Kernel α β)\n [IsFiniteMeasure μ] [IsFiniteMeasure ν]\n [IsMarkovKernel κ] [IsMarkovKernel η]\n (surprisal : ENNReal) :\n fep_fep002.FEP002.fep002_variationalFreeEnergy\n (μ ⊗ₘ κ) (ν ⊗ₘ η) surprisal =\n surprisal +\n (InformationTheory.klDiv μ ν +\n InformationTheory.klDiv (μ ⊗ₘ κ) (μ ⊗ₘ η))", "statement_sha256": "f60958326ea657384132dea1df2a17494902aa7e36f043d47b17a8601a151e03" @@ -118952,6 +129877,10 @@ "FepSketches.information_geometry", "FepSketches.markov_blanket", "FepSketches.statistical_convergence", + "FepSketches.controlled_markov", + "FepSketches.temporal_inference", + "FepSketches.path_thermodynamics", + "FepSketches.geometric_optimization", "Mathlib.Analysis.SpecialFunctions.BinaryEntropy" ], "line_coordinate_kind": "formal_resource_file", @@ -118961,7 +129890,7 @@ ], "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep003_pragmaticCost_efe_balance", - "source_line": 202, + "source_line": 206, "source_owner": "src/fep_lean/formal/compositions/core.lean", "statement": "theorem fep003_pragmaticCost_efe_balance\n (discount : ENNReal) (stageCost : ℕ → ENNReal) (horizon : ℕ)\n (epistemicValue : ENNReal)\n (hvalue : epistemicValue ≤\n fep_fep003.FEP003.fep003_pragmaticCost discount stageCost horizon) :\n fep_fep021.FEP021.fep021_expectedFreeEnergy\n (fep_fep003.FEP003.fep003_pragmaticCost discount stageCost horizon)\n epistemicValue + epistemicValue =\n fep_fep003.FEP003.fep003_pragmaticCost discount stageCost horizon", "statement_sha256": "372d8ff6fcb524916e2e02b8a852e03a02ee6def113a55e96ab2486dbb9c337f" @@ -119003,6 +129932,10 @@ "FepSketches.information_geometry", "FepSketches.markov_blanket", "FepSketches.statistical_convergence", + "FepSketches.controlled_markov", + "FepSketches.temporal_inference", + "FepSketches.path_thermodynamics", + "FepSketches.geometric_optimization", "Mathlib.Analysis.SpecialFunctions.BinaryEntropy" ], "line_coordinate_kind": "formal_resource_file", @@ -119012,11 +129945,111 @@ ], "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep004_bernoulliMetric_specialization", - "source_line": 243, + "source_line": 247, "source_owner": "src/fep_lean/formal/compositions/core.lean", "statement": "theorem fep004_bernoulliMetric_specialization (p v w : ℝ) :\n fep_fep004.FEP004.fep004_fisherMetric\n (ι := Unit)\n (fun _ => fep_fep038.FEP038.fep038_fisherInformation p)\n (fun _ => v) (fun _ => w) =\n fep_fep038.FEP038.fep038_fisherMetric p v w", "statement_sha256": "993be8f56f32f67d0374b536051468d0843e941182dce42ab56418ea4fc02d1b" }, + "FEPComposed.fep007_normalizedMessage_is_fep028_softmax": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "gamma" + ], + "role": "typed_binder", + "source": "(gamma : ℝ)", + "type_source": "ℝ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "cost" + ], + "role": "typed_binder", + "source": "(cost : Fin 10 → ℝ)", + "type_source": "Fin 10 → ℝ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "neighbors" + ], + "role": "typed_binder", + "source": "(neighbors : Finset (Fin 8))", + "type_source": "Finset (Fin 8)", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hNeighbors" + ], + "role": "typed_binder", + "source": "(hNeighbors : neighbors.Nonempty)", + "type_source": "neighbors.Nonempty", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "node" + ], + "role": "typed_binder", + "source": "(node : Fin 8)", + "type_source": "Fin 8", + "visibility": "explicit" + } + ], + "conclusion": "(∀ target : Fin 8,\n fep_fep007.FEP007.fep007_normalizedMessage\n (fun _ source =>\n Real.exp (-gamma * cost (Fin.castLE (by norm_num) source)))\n (fun _ => 1) neighbors node target =\n fep_fep028.FEP028.fep028_softmax gamma cost\n (neighbors.map ⟨Fin.castLE (by norm_num), Fin.castLE_injective _⟩)\n (Fin.castLE (by norm_num) target)) ∧\n (∑ policy ∈ neighbors.map\n ⟨Fin.castLE (by norm_num), Fin.castLE_injective _⟩,\n fep_fep028.FEP028.fep028_softmax gamma cost\n (neighbors.map ⟨Fin.castLE (by norm_num), Fin.castLE_injective _⟩)\n policy = 1)", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "Ω" + ], + "role": "typed_binder", + "source": "{Ω : Type*}", + "type_source": "Type*", + "visibility": "implicit" + } + ], + "declaration_mentions": [ + { + "identifier": "fep_fep007.FEP007.fep007_normalizedMessage_sum_one", + "qualified_name": "fep_fep007.FEP007.fep007_normalizedMessage_sum_one", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + } + ], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.fep_all", + "FepSketches.active_inference", + "FepSketches.information_geometry", + "FepSketches.markov_blanket", + "FepSketches.statistical_convergence", + "FepSketches.controlled_markov", + "FepSketches.temporal_inference", + "FepSketches.path_thermodynamics", + "FepSketches.geometric_optimization", + "Mathlib.Analysis.SpecialFunctions.BinaryEntropy" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEPComposed", + "namespace_variable_context": [ + "{Ω : Type*}" + ], + "preceding_scope_directives": [], + "qualified_name": "FEPComposed.fep007_normalizedMessage_is_fep028_softmax", + "source_line": 373, + "source_owner": "src/fep_lean/formal/compositions/core.lean", + "statement": "theorem fep007_normalizedMessage_is_fep028_softmax\n (gamma : ℝ) (cost : Fin 10 → ℝ) (neighbors : Finset (Fin 8))\n (hNeighbors : neighbors.Nonempty) (node : Fin 8) :\n (∀ target : Fin 8,\n fep_fep007.FEP007.fep007_normalizedMessage\n (fun _ source =>\n Real.exp (-gamma * cost (Fin.castLE (by norm_num) source)))\n (fun _ => 1) neighbors node target =\n fep_fep028.FEP028.fep028_softmax gamma cost\n (neighbors.map ⟨Fin.castLE (by norm_num), Fin.castLE_injective _⟩)\n (Fin.castLE (by norm_num) target)) ∧\n (∑ policy ∈ neighbors.map\n ⟨Fin.castLE (by norm_num), Fin.castLE_injective _⟩,\n fep_fep028.FEP028.fep028_softmax gamma cost\n (neighbors.map ⟨Fin.castLE (by norm_num), Fin.castLE_injective _⟩)\n policy = 1)", + "statement_sha256": "c6ec46a8f7769f48fa053643e483fc1538d6a4242cc0da632360cc3651d628b3" + }, "FEPComposed.fep012_softmax_entropyRegularizedCost_le": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ @@ -119121,6 +130154,10 @@ "FepSketches.information_geometry", "FepSketches.markov_blanket", "FepSketches.statistical_convergence", + "FepSketches.controlled_markov", + "FepSketches.temporal_inference", + "FepSketches.path_thermodynamics", + "FepSketches.geometric_optimization", "Mathlib.Analysis.SpecialFunctions.BinaryEntropy" ], "line_coordinate_kind": "formal_resource_file", @@ -119130,7 +130167,7 @@ ], "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep012_softmax_entropyRegularizedCost_le", - "source_line": 261, + "source_line": 265, "source_owner": "src/fep_lean/formal/compositions/core.lean", "statement": "theorem fep012_softmax_entropyRegularizedCost_le\n (γ : ℝ) (cost : Fin 10 → ℝ) (policies : Finset (Fin 10))\n (hne : policies.Nonempty) {temperature : ℝ} (htemperature : 0 ≤ temperature) :\n fep_fep012.FEP012.fep012_entropyRegularizedCost\n (fep_fep028.FEP028.fep028_softmax γ cost policies)\n cost temperature ≤\n fep_fep012.FEP012.fep012_expectedCost\n (fep_fep028.FEP028.fep028_softmax γ cost policies) cost", "statement_sha256": "b98488cd22c069a26d20178c62fdcf05a5a825a2678413350dc1d9cabbebf1ff" @@ -119204,6 +130241,10 @@ "FepSketches.information_geometry", "FepSketches.markov_blanket", "FepSketches.statistical_convergence", + "FepSketches.controlled_markov", + "FepSketches.temporal_inference", + "FepSketches.path_thermodynamics", + "FepSketches.geometric_optimization", "Mathlib.Analysis.SpecialFunctions.BinaryEntropy" ], "line_coordinate_kind": "formal_resource_file", @@ -119213,7 +130254,7 @@ ], "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep013_gaussianHelmholtz_derivative", - "source_line": 281, + "source_line": 285, "source_owner": "src/fep_lean/formal/compositions/core.lean", "statement": "theorem fep013_gaussianHelmholtz_derivative\n {κ T : ℝ} (hκ : 0 < κ) (hT : 0 < T) :\n HasDerivAt\n (fun t => fep_fep013.FEP013.fep013_helmholtz\n (t / 2) t (fep_fep040.FEP040.fep040_thermalEntropy κ t))\n (-fep_fep040.FEP040.fep040_thermalEntropy κ T) T", "statement_sha256": "731927a33de8d94e10b9d0b56bdc70f8f0c2540e81816b0ddb5cfe45d7085fe2" @@ -119299,6 +130340,10 @@ "FepSketches.information_geometry", "FepSketches.markov_blanket", "FepSketches.statistical_convergence", + "FepSketches.controlled_markov", + "FepSketches.temporal_inference", + "FepSketches.path_thermodynamics", + "FepSketches.geometric_optimization", "Mathlib.Analysis.SpecialFunctions.BinaryEntropy" ], "line_coordinate_kind": "formal_resource_file", @@ -119308,7 +130353,7 @@ ], "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep021_informationGain_balance", - "source_line": 189, + "source_line": 193, "source_owner": "src/fep_lean/formal/compositions/core.lean", "statement": "theorem fep021_informationGain_balance\n {State : Type*} [MeasurableSpace State]\n (posterior prior : Measure State) (pragmaticCost : ENNReal)\n (hvalue :\n fep_fep041.FEP041.fep041_informationGain posterior prior ≤ pragmaticCost) :\n fep_fep021.FEP021.fep021_expectedFreeEnergy pragmaticCost\n (fep_fep041.FEP041.fep041_informationGain posterior prior) +\n fep_fep041.FEP041.fep041_informationGain posterior prior =\n pragmaticCost", "statement_sha256": "efd86353af9fbbe31d4385b10c8436797529f46c710867ea693114d578fbdc8f" @@ -119428,6 +130473,10 @@ "FepSketches.information_geometry", "FepSketches.markov_blanket", "FepSketches.statistical_convergence", + "FepSketches.controlled_markov", + "FepSketches.temporal_inference", + "FepSketches.path_thermodynamics", + "FepSketches.geometric_optimization", "Mathlib.Analysis.SpecialFunctions.BinaryEntropy" ], "line_coordinate_kind": "formal_resource_file", @@ -119437,7 +130486,7 @@ ], "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep022_predictive_is_hierarchical_marginal", - "source_line": 93, + "source_line": 97, "source_owner": "src/fep_lean/formal/compositions/core.lean", "statement": "theorem fep022_predictive_is_hierarchical_marginal\n {𝓒 Ω 𝓧 : Type*}\n [MeasurableSpace 𝓒] [MeasurableSpace Ω] [MeasurableSpace 𝓧]\n (ν : Measure 𝓒) (posterior : Kernel 𝓒 Ω) (likelihood : Kernel Ω 𝓧)\n [SFinite ν] [IsSFiniteKernel posterior] [IsSFiniteKernel likelihood] :\n (fep_fep027.FEP027.fep027_hierarchicalJoint ν\n (fep_fep022.FEP022.fep022_posteriorPredictive posterior likelihood)).snd =\n likelihood ∘ₘ (posterior ∘ₘ ν)", "statement_sha256": "69c61db96ca65dea792e0b3d41d8b5936c4ffec1ea806b0480be691a43b8ab59" @@ -119514,6 +130563,10 @@ "FepSketches.information_geometry", "FepSketches.markov_blanket", "FepSketches.statistical_convergence", + "FepSketches.controlled_markov", + "FepSketches.temporal_inference", + "FepSketches.path_thermodynamics", + "FepSketches.geometric_optimization", "Mathlib.Analysis.SpecialFunctions.BinaryEntropy" ], "line_coordinate_kind": "formal_resource_file", @@ -119523,7 +130576,7 @@ ], "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep024_regularizer_is_fep014_kl", - "source_line": 215, + "source_line": 219, "source_owner": "src/fep_lean/formal/compositions/core.lean", "statement": "theorem fep024_regularizer_is_fep014_kl\n {α : Type*} [MeasurableSpace α]\n (base weight : ENNReal) (approximation prior : Measure α) :\n fep_fep024.FEP024.fep024_klRegularizedObjective\n base weight approximation prior =\n base + weight * InformationTheory.klDiv approximation prior ∧\n 0 ≤ InformationTheory.klDiv approximation prior", "statement_sha256": "a41c057633445e5d7321be27c17eff9897f9347809952c978488ba7be8c682c5" @@ -119600,6 +130653,10 @@ "FepSketches.information_geometry", "FepSketches.markov_blanket", "FepSketches.statistical_convergence", + "FepSketches.controlled_markov", + "FepSketches.temporal_inference", + "FepSketches.path_thermodynamics", + "FepSketches.geometric_optimization", "Mathlib.Analysis.SpecialFunctions.BinaryEntropy" ], "line_coordinate_kind": "formal_resource_file", @@ -119609,7 +130666,7 @@ ], "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep025_current_dissipation_nonneg", - "source_line": 168, + "source_line": 172, "source_owner": "src/fep_lean/formal/compositions/core.lean", "statement": "theorem fep025_current_dissipation_nonneg\n {n : ℕ} (flow : Matrix (Fin n) (Fin n) ℝ)\n (resistance : Fin n × Fin n → ℝ)\n (hresistance : ∀ edge, 0 ≤ resistance edge) :\n 0 ≤ fep_fep049.FEP049.fep049_entropyProduction resistance\n (fun edge =>\n fep_fep025.FEP025.fep025_probabilityCurrent flow edge.1 edge.2)", "statement_sha256": "90023de6dd3fa49f0c45719ad15e67c348743fa7f968f3a996972c3e79639bfc" @@ -119649,6 +130706,10 @@ "FepSketches.information_geometry", "FepSketches.markov_blanket", "FepSketches.statistical_convergence", + "FepSketches.controlled_markov", + "FepSketches.temporal_inference", + "FepSketches.path_thermodynamics", + "FepSketches.geometric_optimization", "Mathlib.Analysis.SpecialFunctions.BinaryEntropy" ], "line_coordinate_kind": "formal_resource_file", @@ -119658,7 +130719,7 @@ ], "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep026_priorComplexity_is_fep011_surprise", - "source_line": 254, + "source_line": 258, "source_owner": "src/fep_lean/formal/compositions/core.lean", "statement": "theorem fep026_priorComplexity_is_fep011_surprise (p : ℝ) :\n fep_fep026.FEP026.fep026_priorComplexity p =\n fep_fep011.FEP011.fep011_surprise p", "statement_sha256": "86d2073ba73a0b20d87e92a3d26f6811bc756048ccc7ce58d1e5af16ee051444" @@ -119758,6 +130819,10 @@ "FepSketches.information_geometry", "FepSketches.markov_blanket", "FepSketches.statistical_convergence", + "FepSketches.controlled_markov", + "FepSketches.temporal_inference", + "FepSketches.path_thermodynamics", + "FepSketches.geometric_optimization", "Mathlib.Analysis.SpecialFunctions.BinaryEntropy" ], "line_coordinate_kind": "formal_resource_file", @@ -119767,11 +130832,73 @@ ], "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep027_priorPredictive_is_fep019", - "source_line": 84, + "source_line": 88, "source_owner": "src/fep_lean/formal/compositions/core.lean", "statement": "theorem fep027_priorPredictive_is_fep019\n {α β : Type*} [MeasurableSpace α] [MeasurableSpace β]\n (μ : Measure α) (κ : Kernel α β) [SFinite μ] [IsSFiniteKernel κ] :\n (fep_fep027.FEP027.fep027_hierarchicalJoint μ κ).snd =\n fep_fep019.FEP019.fep019_priorPredictive κ μ", "statement_sha256": "770f616b5b44b5ed1ac0f74b0a1de35fda9bfa2afcc70a24285736bd22746835" }, + "FEPComposed.fep029_quadraticBregman_is_fep104_scalar_instance": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "x", + "y", + "z" + ], + "role": "typed_binder", + "source": "(x y z : ℝ)", + "type_source": "ℝ", + "visibility": "explicit" + } + ], + "conclusion": "bregmanDivergence (d := 1) (fun v => v 0 ^ 2) (fun v _ => 2 * v 0)\n (fun _ => x) (fun _ => y) =\n fep_fep029.FEP029.fep029_quadraticBregman x y ∧\n fep_fep029.FEP029.fep029_quadraticBregman x z -\n fep_fep029.FEP029.fep029_quadraticBregman x y -\n fep_fep029.FEP029.fep029_quadraticBregman y z =\n 2 * (y - z) * (x - y)", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "Ω" + ], + "role": "typed_binder", + "source": "{Ω : Type*}", + "type_source": "Type*", + "visibility": "implicit" + } + ], + "declaration_mentions": [ + { + "identifier": "fep_fep104.FEP104.fep104_mirrorDescent_threePoint_identity", + "qualified_name": "fep_fep104.FEP104.fep104_mirrorDescent_threePoint_identity", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + } + ], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.fep_all", + "FepSketches.active_inference", + "FepSketches.information_geometry", + "FepSketches.markov_blanket", + "FepSketches.statistical_convergence", + "FepSketches.controlled_markov", + "FepSketches.temporal_inference", + "FepSketches.path_thermodynamics", + "FepSketches.geometric_optimization", + "Mathlib.Analysis.SpecialFunctions.BinaryEntropy" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEPComposed", + "namespace_variable_context": [ + "{Ω : Type*}" + ], + "preceding_scope_directives": [], + "qualified_name": "FEPComposed.fep029_quadraticBregman_is_fep104_scalar_instance", + "source_line": 423, + "source_owner": "src/fep_lean/formal/compositions/core.lean", + "statement": "theorem fep029_quadraticBregman_is_fep104_scalar_instance (x y z : ℝ) :\n bregmanDivergence (d := 1) (fun v => v 0 ^ 2) (fun v _ => 2 * v 0)\n (fun _ => x) (fun _ => y) =\n fep_fep029.FEP029.fep029_quadraticBregman x y ∧\n fep_fep029.FEP029.fep029_quadraticBregman x z -\n fep_fep029.FEP029.fep029_quadraticBregman x y -\n fep_fep029.FEP029.fep029_quadraticBregman y z =\n 2 * (y - z) * (x - y)", + "statement_sha256": "cef0776c169b7097f07502c175c3e5167e4a14affdca02dd236663257153429a" + }, "FEPComposed.fep031_zeroBeta_binary_maxEntropy": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ @@ -119820,6 +130947,10 @@ "FepSketches.information_geometry", "FepSketches.markov_blanket", "FepSketches.statistical_convergence", + "FepSketches.controlled_markov", + "FepSketches.temporal_inference", + "FepSketches.path_thermodynamics", + "FepSketches.geometric_optimization", "Mathlib.Analysis.SpecialFunctions.BinaryEntropy" ], "line_coordinate_kind": "formal_resource_file", @@ -119829,7 +130960,7 @@ ], "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep031_zeroBeta_binary_maxEntropy", - "source_line": 233, + "source_line": 237, "source_owner": "src/fep_lean/formal/compositions/core.lean", "statement": "theorem fep031_zeroBeta_binary_maxEntropy (E : Fin 2 → ℝ) :\n Real.binEntropy\n (fep_fep031.FEP031.fep031_gibbsProbability\n 0 2 E Finset.univ 0) = Real.log 2", "statement_sha256": "b0d13a7410ffdc1a8d7feaf0a73ae1f30c5fcf1a34dae0dd1939c5ec51cf27db" @@ -119869,6 +131000,10 @@ "FepSketches.information_geometry", "FepSketches.markov_blanket", "FepSketches.statistical_convergence", + "FepSketches.controlled_markov", + "FepSketches.temporal_inference", + "FepSketches.path_thermodynamics", + "FepSketches.geometric_optimization", "Mathlib.Analysis.SpecialFunctions.BinaryEntropy" ], "line_coordinate_kind": "formal_resource_file", @@ -119878,7 +131013,7 @@ ], "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep031_zeroBeta_binary_uniform", - "source_line": 226, + "source_line": 230, "source_owner": "src/fep_lean/formal/compositions/core.lean", "statement": "theorem fep031_zeroBeta_binary_uniform (E : Fin 2 → ℝ) :\n fep_fep031.FEP031.fep031_gibbsProbability\n 0 2 E Finset.univ 0 = (2 : ℝ)⁻¹", "statement_sha256": "a8d7127f62599e0c21c90781a214f664f3d1b414088d55dbd6e224d97761b6e4" @@ -119921,6 +131056,10 @@ "FepSketches.information_geometry", "FepSketches.markov_blanket", "FepSketches.statistical_convergence", + "FepSketches.controlled_markov", + "FepSketches.temporal_inference", + "FepSketches.path_thermodynamics", + "FepSketches.geometric_optimization", "Mathlib.Analysis.SpecialFunctions.BinaryEntropy" ], "line_coordinate_kind": "formal_resource_file", @@ -119930,7 +131069,7 @@ ], "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep032_update_is_fep043_gradientStep", - "source_line": 298, + "source_line": 302, "source_owner": "src/fep_lean/formal/compositions/core.lean", "statement": "theorem fep032_update_is_fep043_gradientStep\n (η a center x : ℝ) :\n x - η * fep_fep043.FEP043.fep043_quadraticGradient a center x =\n fep_fep032.FEP032.fep032_quadraticUpdate (2 * a * η) center x", "statement_sha256": "3d7317556477ab24dc41501669d76c7147e571724c9edaf449b7d894e5895dbc" @@ -120057,6 +131196,10 @@ "FepSketches.information_geometry", "FepSketches.markov_blanket", "FepSketches.statistical_convergence", + "FepSketches.controlled_markov", + "FepSketches.temporal_inference", + "FepSketches.path_thermodynamics", + "FepSketches.geometric_optimization", "Mathlib.Analysis.SpecialFunctions.BinaryEntropy" ], "line_coordinate_kind": "formal_resource_file", @@ -120066,7 +131209,7 @@ ], "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep034_filter_is_fep017_posterior", - "source_line": 72, + "source_line": 76, "source_owner": "src/fep_lean/formal/compositions/core.lean", "statement": "theorem fep034_filter_is_fep017_posterior\n {Ω 𝓧 : Type*} [MeasurableSpace Ω] [MeasurableSpace 𝓧]\n (τ : Kernel Ω Ω) (κ : Kernel Ω 𝓧) (μ : Measure Ω)\n [StandardBorelSpace Ω] [Nonempty Ω]\n [IsFiniteMeasure μ] [IsFiniteKernel τ] [IsFiniteKernel κ] :\n fep_fep034.FEP034.fep034_filter τ κ μ =\n fep_fep017.FEP017.fep017_posterior κ\n (τ ∘ₘ μ)", "statement_sha256": "8b7c37d519d298bc4bcd7c9668118d36ab344ae5e890c60176738e96947f3743" @@ -120172,6 +131315,10 @@ "FepSketches.information_geometry", "FepSketches.markov_blanket", "FepSketches.statistical_convergence", + "FepSketches.controlled_markov", + "FepSketches.temporal_inference", + "FepSketches.path_thermodynamics", + "FepSketches.geometric_optimization", "Mathlib.Analysis.SpecialFunctions.BinaryEntropy" ], "line_coordinate_kind": "formal_resource_file", @@ -120181,7 +131328,7 @@ ], "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep036_empiricalPosterior_closed", - "source_line": 109, + "source_line": 113, "source_owner": "src/fep_lean/formal/compositions/core.lean", "statement": "theorem fep036_empiricalPosterior_closed\n (data : List Bool) {l₀ l₁ : ℝ} (hl₀ : 0 < l₀) (hl₁ : 0 < l₁) (b : Bool) :\n fep_fep045.FEP045.fep045_bernoulliMass\n (fep_fep045.FEP045.fep045_posteriorParameter\n (fep_fep036.FEP036.fep036_smoothedRate\n (fep_fep042.FEP042.fep042_successCount data) data.length)\n l₀ l₁) b =\n fep_fep045.FEP045.fep045_bernoulliMass\n (fep_fep036.FEP036.fep036_smoothedRate\n (fep_fep042.FEP042.fep042_successCount data) data.length) b *\n fep_fep045.FEP045.fep045_binaryLikelihood l₀ l₁ b /\n fep_fep045.FEP045.fep045_evidence\n (fep_fep036.FEP036.fep036_smoothedRate\n (fep_fep042.FEP042.fep042_successCount data) data.length)\n l₀ l₁", "statement_sha256": "c98e623d8b5bd22eac37dd18679e66caa3a0cdba1d00a049eebfcf0e609877e3" @@ -120284,6 +131431,10 @@ "FepSketches.information_geometry", "FepSketches.markov_blanket", "FepSketches.statistical_convergence", + "FepSketches.controlled_markov", + "FepSketches.temporal_inference", + "FepSketches.path_thermodynamics", + "FepSketches.geometric_optimization", "Mathlib.Analysis.SpecialFunctions.BinaryEntropy" ], "line_coordinate_kind": "formal_resource_file", @@ -120293,7 +131444,7 @@ ], "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep036_smoothedRate_strongLaw", - "source_line": 17, + "source_line": 21, "source_owner": "src/fep_lean/formal/compositions/core.lean", "statement": "theorem fep036_smoothedRate_strongLaw\n [MeasurableSpace Ω] (μ : Measure Ω) (observations : ℕ → Ω → Bool)\n (hint : Integrable (indicator observations 0) μ)\n (hindep : Pairwise (fun i j =>\n indicator observations i ⟂ᵢ[μ] indicator observations j))\n (hident : ∀ index,\n IdentDistrib (indicator observations index)\n (indicator observations 0) μ μ) :\n ∀ᵐ ω ∂μ,\n Tendsto\n (fun n =>\n fep_fep036.FEP036.fep036_smoothedRate\n (successCount observations n ω) n)\n atTop (nhds μ[indicator observations 0])", "statement_sha256": "2fed250d046a85f1381267cdacde4174cbd889b2deb945caf9d78b1d4187779f" @@ -120350,6 +131501,10 @@ "FepSketches.information_geometry", "FepSketches.markov_blanket", "FepSketches.statistical_convergence", + "FepSketches.controlled_markov", + "FepSketches.temporal_inference", + "FepSketches.path_thermodynamics", + "FepSketches.geometric_optimization", "Mathlib.Analysis.SpecialFunctions.BinaryEntropy" ], "line_coordinate_kind": "formal_resource_file", @@ -120359,7 +131514,7 @@ ], "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep037_autocorrelation_tracks_fep020", - "source_line": 179, + "source_line": 183, "source_owner": "src/fep_lean/formal/compositions/core.lean", "statement": "theorem fep037_autocorrelation_tracks_fep020 (α : ℝ) (n : ℕ) :\n 2 * (((fep_fep020.FEP020.fep020_evolve α)^[n]) 1 - 1 / 2) =\n fep_fep037.FEP037.fep037_autocorrelation α 1 n", "statement_sha256": "16121f404700d679b4ca09c6df0ea4bcff9bbba5bf0d3082dc0c4c426b02bcd1" @@ -120444,6 +131599,10 @@ "FepSketches.information_geometry", "FepSketches.markov_blanket", "FepSketches.statistical_convergence", + "FepSketches.controlled_markov", + "FepSketches.temporal_inference", + "FepSketches.path_thermodynamics", + "FepSketches.geometric_optimization", "Mathlib.Analysis.SpecialFunctions.BinaryEntropy" ], "line_coordinate_kind": "formal_resource_file", @@ -120453,7 +131612,7 @@ ], "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep038_fisherRao_separation", - "source_line": 142, + "source_line": 146, "source_owner": "src/fep_lean/formal/compositions/core.lean", "statement": "theorem fep038_fisherRao_separation\n {p q v : ℝ} (hp : p ∈ Set.Ioo (0 : ℝ) 1)\n (hq : q ∈ Set.Icc (0 : ℝ) 1) (hv : v ≠ 0) :\n (fep_fep018.FEP018.fep018_fisherRaoDistance p q = 0 ↔ p = q) ∧\n 0 < fep_fep038.FEP038.fep038_fisherMetric p v v", "statement_sha256": "22de169e1c5d28f944eccaffe03802d5b8892e521200fd0f795d92a20424d2a1" @@ -120503,6 +131662,10 @@ "FepSketches.information_geometry", "FepSketches.markov_blanket", "FepSketches.statistical_convergence", + "FepSketches.controlled_markov", + "FepSketches.temporal_inference", + "FepSketches.path_thermodynamics", + "FepSketches.geometric_optimization", "Mathlib.Analysis.SpecialFunctions.BinaryEntropy" ], "line_coordinate_kind": "formal_resource_file", @@ -120512,7 +131675,7 @@ ], "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep039_partitionEnergy_conservation", - "source_line": 315, + "source_line": 319, "source_owner": "src/fep_lean/formal/compositions/core.lean", "statement": "theorem fep039_partitionEnergy_conservation\n (assign : Fin 20 → fep_fep005.FEP005.BlkPart)\n (stateEnergy : Fin 20 → ℝ) :\n fep_fep039.FEP039.fep039_global_fe\n (fep005_blockEnergy assign stateEnergy) =\n ∑ state : Fin 20, stateEnergy state", "statement_sha256": "99eb2abe782363cfa2fc123e3cb6808a08fa0af937ec95289eb12e3e36baa691" @@ -120594,6 +131757,10 @@ "FepSketches.information_geometry", "FepSketches.markov_blanket", "FepSketches.statistical_convergence", + "FepSketches.controlled_markov", + "FepSketches.temporal_inference", + "FepSketches.path_thermodynamics", + "FepSketches.geometric_optimization", "Mathlib.Analysis.SpecialFunctions.BinaryEntropy" ], "line_coordinate_kind": "formal_resource_file", @@ -120603,11 +131770,211 @@ ], "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep041_informationGain_is_fep014_kl", - "source_line": 154, + "source_line": 158, "source_owner": "src/fep_lean/formal/compositions/core.lean", "statement": "theorem fep041_informationGain_is_fep014_kl\n {State : Type*} [MeasurableSpace State]\n (posterior prior : Measure State)\n [IsFiniteMeasure posterior] [IsFiniteMeasure prior] :\n fep_fep041.FEP041.fep041_informationGain posterior prior =\n InformationTheory.klDiv posterior prior ∧\n (fep_fep041.FEP041.fep041_informationGain posterior prior = 0 ↔\n posterior = prior)", "statement_sha256": "63ab0110391c9ac83777b99becebd113e5178b3d94be56261a93cf68f87a99b2" }, + "FEPComposed.fep046_single_break_is_fep045_bernoulli": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "p", + "l₀", + "l₁" + ], + "role": "typed_binder", + "source": "(p l₀ l₁ : ℝ)", + "type_source": "ℝ", + "visibility": "explicit" + } + ], + "conclusion": "fep_fep046.FEP046.fep046_stickWeights\n [fep_fep045.FEP045.fep045_posteriorParameter p l₀ l₁] =\n [fep_fep045.FEP045.fep045_bernoulliMass\n (fep_fep045.FEP045.fep045_posteriorParameter p l₀ l₁) true] ∧\n fep_fep046.FEP046.fep046_remainder\n [fep_fep045.FEP045.fep045_posteriorParameter p l₀ l₁] =\n fep_fep045.FEP045.fep045_bernoulliMass\n (fep_fep045.FEP045.fep045_posteriorParameter p l₀ l₁) false ∧\n ∑ b : Bool, fep_fep045.FEP045.fep045_bernoulliMass\n (fep_fep045.FEP045.fep045_posteriorParameter p l₀ l₁) b = 1", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "Ω" + ], + "role": "typed_binder", + "source": "{Ω : Type*}", + "type_source": "Type*", + "visibility": "implicit" + } + ], + "declaration_mentions": [ + { + "identifier": "fep_fep046.FEP046.fep046_mass_conservation", + "qualified_name": "fep_fep046.FEP046.fep046_mass_conservation", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + } + ], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.fep_all", + "FepSketches.active_inference", + "FepSketches.information_geometry", + "FepSketches.markov_blanket", + "FepSketches.statistical_convergence", + "FepSketches.controlled_markov", + "FepSketches.temporal_inference", + "FepSketches.path_thermodynamics", + "FepSketches.geometric_optimization", + "Mathlib.Analysis.SpecialFunctions.BinaryEntropy" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEPComposed", + "namespace_variable_context": [ + "{Ω : Type*}" + ], + "preceding_scope_directives": [], + "qualified_name": "FEPComposed.fep046_single_break_is_fep045_bernoulli", + "source_line": 334, + "source_owner": "src/fep_lean/formal/compositions/core.lean", + "statement": "theorem fep046_single_break_is_fep045_bernoulli (p l₀ l₁ : ℝ) :\n fep_fep046.FEP046.fep046_stickWeights\n [fep_fep045.FEP045.fep045_posteriorParameter p l₀ l₁] =\n [fep_fep045.FEP045.fep045_bernoulliMass\n (fep_fep045.FEP045.fep045_posteriorParameter p l₀ l₁) true] ∧\n fep_fep046.FEP046.fep046_remainder\n [fep_fep045.FEP045.fep045_posteriorParameter p l₀ l₁] =\n fep_fep045.FEP045.fep045_bernoulliMass\n (fep_fep045.FEP045.fep045_posteriorParameter p l₀ l₁) false ∧\n ∑ b : Bool, fep_fep045.FEP045.fep045_bernoulliMass\n (fep_fep045.FEP045.fep045_posteriorParameter p l₀ l₁) b = 1", + "statement_sha256": "dd982859e1b9f4470aefa5ffb441364cf3bbf433d4b2b894f97e3890f3c132e0" + }, + "FEPComposed.fep050_landauer_work_bound_from_fep049_entropy_production": { + "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", + "binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "Edge" + ], + "role": "typed_binder", + "source": "{Edge : Type*}", + "type_source": "Type*", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [], + "role": "instance_requirement", + "source": "[Fintype Edge]", + "type_source": "Fintype Edge", + "visibility": "instance" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "W", + "Q", + "T", + "kB" + ], + "role": "typed_binder", + "source": "{W Q T kB : ℝ}", + "type_source": "ℝ", + "visibility": "implicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hT" + ], + "role": "typed_binder", + "source": "(hT : 0 < T)", + "type_source": "0 < T", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "conductance", + "force" + ], + "role": "typed_binder", + "source": "(conductance force : Edge → ℝ)", + "type_source": "Edge → ℝ", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hConductance" + ], + "role": "typed_binder", + "source": "(hConductance : ∀ edge, 0 ≤ conductance edge)", + "type_source": "∀ edge, 0 ≤ conductance edge", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hBalance" + ], + "role": "typed_binder", + "source": "(hBalance : fep_fep050.FEP050.fep050_totalEntropyChange Q T kB =\n fep_fep049.FEP049.fep049_entropyProduction conductance force)", + "type_source": "fep_fep050.FEP050.fep050_totalEntropyChange Q T kB =\n fep_fep049.FEP049.fep049_entropyProduction conductance force", + "visibility": "explicit" + }, + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "hWorkHeat" + ], + "role": "typed_binder", + "source": "(hWorkHeat : Q ≤ W)", + "type_source": "Q ≤ W", + "visibility": "explicit" + } + ], + "conclusion": "fep_fep050.FEP050.fep050_landauerBound kB T ≤ W", + "context_binders": [ + { + "hypothesis_status": "source syntax; proposition elaboration not performed", + "names": [ + "Ω" + ], + "role": "typed_binder", + "source": "{Ω : Type*}", + "type_source": "Type*", + "visibility": "implicit" + } + ], + "declaration_mentions": [ + { + "identifier": "fep_fep049.FEP049.fep049_entropyProduction_nonneg", + "qualified_name": "fep_fep049.FEP049.fep049_entropyProduction_nonneg", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + }, + { + "identifier": "fep_fep050.FEP050.fep050_landauer_work_bound", + "qualified_name": "fep_fep050.FEP050.fep050_landauer_work_bound", + "resolution": "exact or same-namespace source identifier", + "role": "proof_reference" + } + ], + "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", + "import_context": [ + "FepSketches.fep_all", + "FepSketches.active_inference", + "FepSketches.information_geometry", + "FepSketches.markov_blanket", + "FepSketches.statistical_convergence", + "FepSketches.controlled_markov", + "FepSketches.temporal_inference", + "FepSketches.path_thermodynamics", + "FepSketches.geometric_optimization", + "Mathlib.Analysis.SpecialFunctions.BinaryEntropy" + ], + "line_coordinate_kind": "formal_resource_file", + "namespace": "FEPComposed", + "namespace_variable_context": [ + "{Ω : Type*}" + ], + "preceding_scope_directives": [], + "qualified_name": "FEPComposed.fep050_landauer_work_bound_from_fep049_entropy_production", + "source_line": 450, + "source_owner": "src/fep_lean/formal/compositions/core.lean", + "statement": "theorem fep050_landauer_work_bound_from_fep049_entropy_production\n {Edge : Type*} [Fintype Edge] {W Q T kB : ℝ} (hT : 0 < T)\n (conductance force : Edge → ℝ)\n (hConductance : ∀ edge, 0 ≤ conductance edge)\n (hBalance : fep_fep050.FEP050.fep050_totalEntropyChange Q T kB =\n fep_fep049.FEP049.fep049_entropyProduction conductance force)\n (hWorkHeat : Q ≤ W) :\n fep_fep050.FEP050.fep050_landauerBound kB T ≤ W", + "statement_sha256": "82ff123cea446838c45179e6b5ad754244b725192146e1734cd271f8f1c918a0" + }, "FEPComposed.fep051_rn_reconstruction_refines_fep017": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", "binders": [ @@ -177228,14 +188595,7 @@ "visibility": "instance" } ], - "declaration_mentions": [ - { - "identifier": "FEP.HelmholtzAoNess.skewQuadratic_eq_zero", - "qualified_name": "FEP.HelmholtzAoNess.skewQuadratic_eq_zero", - "resolution": "exact or same-namespace source identifier", - "role": "proof_reference" - } - ], + "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ "FepSketches.helmholtz_ao_ness" @@ -177318,14 +188678,7 @@ "visibility": "instance" } ], - "declaration_mentions": [ - { - "identifier": "FEP.HelmholtzAoNess.skewTrace_eq_zero", - "qualified_name": "FEP.HelmholtzAoNess.skewTrace_eq_zero", - "resolution": "exact or same-namespace source identifier", - "role": "proof_reference" - } - ], + "declaration_mentions": [], "dependency_boundary": "Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.", "import_context": [ "FepSketches.helmholtz_ao_ness" diff --git a/docs/relations-endpoint-adjudication.md b/docs/relations-endpoint-adjudication.md index 04690c63..d213ad70 100644 --- a/docs/relations-endpoint-adjudication.md +++ b/docs/relations-endpoint-adjudication.md @@ -102,3 +102,50 @@ theorem, which is theorem-structure evidence, not a spurious namespace mention. Lean-authoring relations effort, deliberately not simulated here. The review-namespace-qualified tightening (125/125 green) remains available as a strictly stronger, non-breaking gate if that wave lands. + +## LEAN-6 review: pairings whose witnesses are named like derivations (2026-10-08) + +Issue #104 asked whether any `formal_pairing` edge whose witness name says +"specializes", "refines", "extends", or "bounds" is in fact a derivation that +should be tagged `formal`. The test applied is strict: re-tag only if the +witness statement consumes one endpoint's theorem and produces the other +endpoint's statement (or an exact instance of it). A witness that conjoins two +independently proved endpoint laws is a pairing, however it is named. This +section is maintained by hand; no generator writes it. + +| Edge | Witness | Statement shape | Decision | +| --- | --- | --- | --- | +| fep-089 → fep-006 | `FEPComposed.fep089_finite_jet_shift_specializes_fep006` | `shift (a+b) j = shift a (shift b j) ∧ iterateFlow (shift 1) (a+b) j = iterateFlow (shift 1) a (iterateFlow (shift 1) b j)` | Keep pairing. The second conjunct is fep-006's additivity at the one-degree shift, but nothing identifies `shift n` with the n-fold iterate of `shift 1`, so the native law is not used to obtain it. | +| fep-092 → fep-032 | `FEPComposed.fep092_quadratic_convergence_specializes_fep032` | `Tendsto (predictionError ∘ iteratePredictionUpdate) ∧ Tendsto (fep032_quadraticUpdate^[n] estimate) (nhds target)` | Keep pairing; tightened rationale proposed (released row is digest-sealed, so the YAML wording changes only with a reviewed seal delta). The old wording called the iterations "equivalent", which the witness does not prove. | +| fep-110 → fep-028 | `FEPComposed.fep110_product_of_experts_refines_fep028_normalization` | `∑ unitWeightProductOfExpertsPool = 1 ∧ ∑ fep028_softmax = 1` | Keep pairing. Two unrelated normalization laws; the rationale already disclaims identifying the weighting conventions. | +| fep-115 → fep-042 | `FEPComposed.fep115_frequency_union_bound_extends_fep042_counts` | `law.real (⋃ deviation events) ≤ card * failure ∧ fep042_bernoulliLikelihood = p^successes * (1-p)^failures` | Keep pairing; tightened rationale proposed (released row is digest-sealed, so the YAML wording changes only with a reviewed seal delta). The likelihood factorization does not consume the union bound. | +| fep-116 → fep-001 | `FEPComposed.fep116_pac_bayes_refines_fep001_variational_bound` | `E_posterior[pop] ≤ E_posterior[emp] + (KL + log(1/δ))/β ∧ surprisal ≤ fep001_variationalUpperBound ...` | Keep pairing; tightened rationale proposed (released row is digest-sealed, so the YAML wording changes only with a reviewed seal delta). The fep-001 conjunct is an independent instance, not a consequence of the finite PAC-Bayes bound. | +| fep-063 → fep-014 | `FEPComposed.fep063_channel_dpi_bounds_fep014` | `finiteKL (channel actual) (channel reference) ≤ finiteKL actual reference ∧ 0 ≤ klDiv nativeActual nativeReference` | Keep pairing; tightened rationale proposed (released row is digest-sealed, so the YAML wording changes only with a reviewed seal delta). The native measures are unrelated to the finite laws, so the second conjunct is not a bound on the first. | +| fep-054 → fep-017 | `FEPComposed.fep054_involution_of_fep017_posterior` | `(likelihood†prior)†(likelihood ∘ₘ prior) =ᵐ[prior] likelihood ∧ posterior ∘ₘ likelihood ∘ₘ prior = prior` | Keep pairing; tightened rationale proposed (released row is digest-sealed, so the YAML wording changes only with a reviewed seal delta). Each conjunct is its own topic's theorem; neither is derived from the other. | + +Outcome: zero re-tags. The `formal` edge count is not raised by this review. +Every kept row now states in its `rationale` that it was reviewed on this date +and why it is not a derivation. + +## LEAN-8 review: isolated topics (2026-10-08) + +Issue #106 asked for the four topics with no or only conceptual relations. +Verified at the start of the review: fep-007, fep-046 and fep-050 had no edge +at all, and fep-029 had a single `conceptual` edge (to fep-044). No existing +composition or foundation theorem mentioned any of the four, so none could be +related by an existing qualified witness. Each now has a small new theorem in +an existing composition leaf, with an explicit scope statement in its +rationale. + +| Topic | New edge | Witness (leaf) | What the theorem proves | +| --- | --- | --- | --- | +| fep-007 | fep-007 → fep-028 `formal` | `fep007_normalizedMessage_is_fep028_softmax` (`control_temporal`) | With unit incoming messages and factor `exp (-gamma * cost)`, the normalized message equals the support-aware softmax on the support embedded from `Fin 8` into `Fin 10`; fep-007's primary theorem then gives the softmax unit sum. | +| fep-029 | fep-029 → fep-104 `formal` (the conceptual fep-044 edge is kept) | `fep029_quadraticBregman_is_fep104_scalar_instance` (`thermo_geometry`) | The scalar quadratic Bregman divergence is the `d = 1` instance of the generic Bregman divergence, and fep-104's three-point identity gives the scalar three-point law. | +| fep-046 | fep-046 → fep-045 `formal` | `fep046_single_break_is_fep045_bernoulli` (`core`) | One break is the Bernoulli law of fep-045; fep-046's mass conservation derives the normalization of fep-045's posterior mass function. | +| fep-050 | fep-050 → fep-049 `formal` | `fep050_landauer_work_bound_from_fep049_entropy_production` (`thermo_geometry`) | With the explicit premise `totalEntropyChange = entropyProduction`, fep-049's nonnegativity discharges fep-050's second-law hypothesis and yields the Landauer work bound. | + +Caveats recorded with the edges: the fep-050 → fep-049 premise is a modelling +assumption, not a consequence of either topic; the fep-007 → fep-028 identity +fixes the factor and incoming messages; the fep-046 → fep-045 identity covers +one break only. The relations schema has no "isolated by design" field, and none +was needed because every topic received a witnessed edge. diff --git a/lean/FepSketches/collective_inference.lean b/lean/FepSketches/collective_inference.lean index 678d2780..fe3b5b22 100644 --- a/lean/FepSketches/collective_inference.lean +++ b/lean/FepSketches/collective_inference.lean @@ -398,4 +398,424 @@ theorem coupledPotential_strict_descent exact sq_pos_of_ne_zero (sub_ne_zero.mpr separated) linarith +/-! ## KL-optimal linear and product-of-experts pooling -/ + +section KLPooling + +variable {α ι : Type*} [Fintype α] [Fintype ι] + +/-- Linear pool `∑ᵢ wᵢ pᵢ` for convex weights. -/ +noncomputable def linearPool + (w : ι → ℝ) (hw : ∀ i, 0 ≤ w i) (hsum : ∑ i, w i = 1) + (p : ι → FiniteLaw α) : FiniteLaw α where + mass x := ∑ i, w i * p i x + nonneg x := Finset.sum_nonneg fun i _ => mul_nonneg (hw i) ((p i).nonneg x) + sum_one := by + have each : ∀ i, ∑ x, w i * p i x = w i := fun i => by + rw [← Finset.mul_sum, (p i).sum_one, mul_one] + rw [Finset.sum_comm] + simp only [each] + exact hsum + +/-- Cross-entropy is affine in its first argument over a linear pool. -/ +theorem crossEntropy_linearPool_left + (w : ι → ℝ) (hw : ∀ i, 0 ≤ w i) (hsum : ∑ i, w i = 1) + (p : ι → FiniteLaw α) (q : FiniteLaw α) : + crossEntropy (linearPool w hw hsum p) q = + ∑ i, w i * crossEntropy (p i) q := by + calc + crossEntropy (linearPool w hw hsum p) q = + ∑ x, ∑ i, w i * (-(p i x) * Real.log (q x)) := by + refine Finset.sum_congr rfl fun x _ => ?_ + change -(∑ i, w i * p i x) * Real.log (q x) = _ + rw [neg_mul, Finset.sum_mul, ← Finset.sum_neg_distrib] + exact Finset.sum_congr rfl fun i _ => by ring + _ = ∑ i, w i * crossEntropy (p i) q := by + rw [Finset.sum_comm] + refine Finset.sum_congr rfl fun i _ => ?_ + rw [crossEntropy, Finset.mul_sum] + +/-- Self cross-entropy is entropy. -/ +theorem crossEntropy_self_eq_entropy (p : FiniteLaw α) : + crossEntropy p p = entropy p := by + simp only [crossEntropy, entropy, Real.negMulLog] + +/-- Pythagorean identity for the linear pool: for every full-support `q`, +`∑ wᵢ KL(pᵢ‖q) = ∑ wᵢ KL(pᵢ‖q*) + KL(q*‖q)`, where `q* = ∑ wᵢ pᵢ`. -/ +theorem linearPool_kl_decomposition + (w : ι → ℝ) (hw : ∀ i, 0 ≤ w i) (hsum : ∑ i, w i = 1) + (p : ι → FiniteLaw α) (q : FiniteLaw α) + (hq : ∀ x, 0 < q x) + (hpool : ∀ x, 0 < linearPool w hw hsum p x) : + ∑ i, w i * finiteKL (p i) q = + ∑ i, w i * finiteKL (p i) (linearPool w hw hsum p) + + finiteKL (linearPool w hw hsum p) q := by + have h1 : ∀ i, finiteKL (p i) q = crossEntropy (p i) q - entropy (p i) := + fun i => finiteKL_eq_crossEntropy_sub_entropy _ _ hq + have h2 : ∀ i, finiteKL (p i) (linearPool w hw hsum p) = + crossEntropy (p i) (linearPool w hw hsum p) - entropy (p i) := + fun i => finiteKL_eq_crossEntropy_sub_entropy _ _ hpool + have h3 : finiteKL (linearPool w hw hsum p) q = + crossEntropy (linearPool w hw hsum p) q - + entropy (linearPool w hw hsum p) := + finiteKL_eq_crossEntropy_sub_entropy _ _ hq + have hself := crossEntropy_linearPool_left w hw hsum p (linearPool w hw hsum p) + rw [crossEntropy_self_eq_entropy] at hself + have hq' := crossEntropy_linearPool_left w hw hsum p q + simp only [h1, h2, h3, mul_sub, Finset.sum_sub_distrib] + linarith + +/-- The linear pool minimises the weighted forward KL among full-support +laws. -/ +theorem linearPool_kl_minimal + (w : ι → ℝ) (hw : ∀ i, 0 ≤ w i) (hsum : ∑ i, w i = 1) + (p : ι → FiniteLaw α) (q : FiniteLaw α) + (hq : ∀ x, 0 < q x) + (hpool : ∀ x, 0 < linearPool w hw hsum p x) : + ∑ i, w i * finiteKL (p i) (linearPool w hw hsum p) ≤ + ∑ i, w i * finiteKL (p i) q := by + rw [linearPool_kl_decomposition w hw hsum p q hq hpool] + linarith [finiteKL_nonneg (linearPool w hw hsum p) q] + +/-- Uniqueness: a full-support law that does no worse than the linear pool +equals it. -/ +theorem linearPool_kl_unique_minimiser + (w : ι → ℝ) (hw : ∀ i, 0 ≤ w i) (hsum : ∑ i, w i = 1) + (p : ι → FiniteLaw α) (q : FiniteLaw α) + (hq : ∀ x, 0 < q x) + (hpool : ∀ x, 0 < linearPool w hw hsum p x) + (hle : ∑ i, w i * finiteKL (p i) q ≤ + ∑ i, w i * finiteKL (p i) (linearPool w hw hsum p)) : + q = linearPool w hw hsum p := by + rw [linearPool_kl_decomposition w hw hsum p q hq hpool] at hle + have hzero : finiteKL (linearPool w hw hsum p) q = 0 := + le_antisymm (by linarith) (finiteKL_nonneg _ _) + exact ((finiteKL_eq_zero_iff _ _).mp hzero).symm + +variable [Nonempty α] + +/-- Unnormalized geometric pool `∏ pᵢ^{wᵢ}` at an atom. -/ +noncomputable def logPoolWeight + (w : ι → ℝ) (p : ι → FiniteLaw α) (x : α) : ℝ := + Real.exp (∑ i, w i * Real.log (p i x)) + +/-- Normalizer `Z = ∑ₓ ∏ pᵢ(x)^{wᵢ}` of the geometric pool. -/ +noncomputable def logPoolNormalizer + (w : ι → ℝ) (p : ι → FiniteLaw α) : ℝ := + ∑ x, logPoolWeight w p x + +theorem logPoolNormalizer_pos (w : ι → ℝ) (p : ι → FiniteLaw α) : + 0 < logPoolNormalizer w p := + Finset.sum_pos (fun _ _ => Real.exp_pos _) Finset.univ_nonempty + +/-- Normalized geometric pool (product of experts with exponents `wᵢ`). -/ +noncomputable def logPool (w : ι → ℝ) (p : ι → FiniteLaw α) : FiniteLaw α where + mass x := logPoolWeight w p x / logPoolNormalizer w p + nonneg x := div_nonneg (Real.exp_pos _).le (logPoolNormalizer_pos w p).le + sum_one := by + rw [← Finset.sum_div] + exact div_self (logPoolNormalizer_pos w p).ne' + +theorem logPool_pos (w : ι → ℝ) (p : ι → FiniteLaw α) (x : α) : + 0 < logPool w p x := + div_pos (Real.exp_pos _) (logPoolNormalizer_pos w p) + +theorem log_logPool (w : ι → ℝ) (p : ι → FiniteLaw α) (x : α) : + Real.log (logPool w p x) = + (∑ i, w i * Real.log (p i x)) - Real.log (logPoolNormalizer w p) := by + change Real.log (logPoolWeight w p x / logPoolNormalizer w p) = _ + unfold logPoolWeight + rw [Real.log_div (Real.exp_pos _).ne' (logPoolNormalizer_pos w p).ne', + Real.log_exp] + +/-- Log-pool identity: for every law `q` and full-support experts, +`∑ wᵢ KL(q‖pᵢ) = KL(q‖q_log) − log Z`. -/ +theorem logPool_kl_decomposition + (w : ι → ℝ) (hsum : ∑ i, w i = 1) + (p : ι → FiniteLaw α) (hp : ∀ i x, 0 < p i x) (q : FiniteLaw α) : + ∑ i, w i * finiteKL q (p i) = + finiteKL q (logPool w p) - Real.log (logPoolNormalizer w p) := by + have key : ∑ i, w i * crossEntropy q (p i) = + crossEntropy q (logPool w p) - Real.log (logPoolNormalizer w p) := by + calc + ∑ i, w i * crossEntropy q (p i) = + ∑ x, -(q x) * ∑ i, w i * Real.log (p i x) := by + simp only [crossEntropy] + simp_rw [Finset.mul_sum] + rw [Finset.sum_comm] + refine Finset.sum_congr rfl fun x _ => ?_ + exact Finset.sum_congr rfl fun i _ => by ring + _ = ∑ x, (-(q x) * Real.log (logPool w p x) - + Real.log (logPoolNormalizer w p) * q x) := by + refine Finset.sum_congr rfl fun x _ => ?_ + have := log_logPool w p x + have h : ∑ i, w i * Real.log (p i x) = + Real.log (logPool w p x) + Real.log (logPoolNormalizer w p) := by + linarith + rw [h]; ring + _ = _ := by + rw [Finset.sum_sub_distrib, ← Finset.mul_sum, q.sum_one, mul_one] + rfl + have h1 : ∀ i, finiteKL q (p i) = crossEntropy q (p i) - entropy q := + fun i => finiteKL_eq_crossEntropy_sub_entropy _ _ (hp i) + have h2 : finiteKL q (logPool w p) = + crossEntropy q (logPool w p) - entropy q := + finiteKL_eq_crossEntropy_sub_entropy _ _ (logPool_pos w p) + have hw : ∑ i, w i * entropy q = entropy q := by + rw [← Finset.sum_mul, hsum, one_mul] + simp only [h1, h2, mul_sub, Finset.sum_sub_distrib] + linarith + +/-- The geometric pool attains the value `−log Z` and no law does better. -/ +theorem logPool_kl_minimal + (w : ι → ℝ) (hsum : ∑ i, w i = 1) + (p : ι → FiniteLaw α) (hp : ∀ i x, 0 < p i x) (q : FiniteLaw α) : + ∑ i, w i * finiteKL (logPool w p) (p i) ≤ ∑ i, w i * finiteKL q (p i) := by + rw [logPool_kl_decomposition w hsum p hp, logPool_kl_decomposition w hsum p hp, + finiteKL_self] + linarith [finiteKL_nonneg q (logPool w p)] + +/-- Uniqueness of the geometric-pool minimiser. -/ +theorem logPool_kl_unique_minimiser + (w : ι → ℝ) (hsum : ∑ i, w i = 1) + (p : ι → FiniteLaw α) (hp : ∀ i x, 0 < p i x) (q : FiniteLaw α) + (hle : ∑ i, w i * finiteKL q (p i) ≤ + ∑ i, w i * finiteKL (logPool w p) (p i)) : + q = logPool w p := by + rw [logPool_kl_decomposition w hsum p hp, logPool_kl_decomposition w hsum p hp, + finiteKL_self] at hle + exact (finiteKL_eq_zero_iff _ _).mp + (le_antisymm (by linarith) (finiteKL_nonneg _ _)) + +end KLPooling + +/-! ## Dobrushin contraction for row-stochastic mixing -/ + +section Dobrushin + +variable {ι : Type*} [Fintype ι] [Nonempty ι] + +/-- Spread `max x − min x` of a finite vector of scalar beliefs. -/ +noncomputable def valueSpread (x : ι → ℝ) : ℝ := + Finset.univ.sup' Finset.univ_nonempty x - Finset.univ.inf' Finset.univ_nonempty x + +/-- Row overlap `∑ₖ min(W i k, W j k)`. -/ +noncomputable def rowOverlap (W : ι → ι → ℝ) (i j : ι) : ℝ := + ∑ k, min (W i k) (W j k) + +/-- Scrambling (Dobrushin overlap) coefficient `δ = min_{i,j} rowOverlap`. -/ +noncomputable def scramblingCoefficient (W : ι → ι → ℝ) : ℝ := + Finset.univ.inf' (Finset.univ_nonempty (α := ι × ι)) + (fun ij => rowOverlap W ij.1 ij.2) + +/-- Mixing step `(W x)ᵢ = ∑ₖ W i k · x k`. -/ +noncomputable def mixStep (W : ι → ι → ℝ) (x : ι → ℝ) : ι → ℝ := + fun i => ∑ k, W i k * x k + +theorem valueSpread_nonneg (x : ι → ℝ) : 0 ≤ valueSpread x := by + obtain ⟨i⟩ := ‹Nonempty ι› + unfold valueSpread + have h1 := Finset.le_sup' x (Finset.mem_univ i) + have h2 := Finset.inf'_le x (Finset.mem_univ i) + linarith + +theorem sub_le_valueSpread (x : ι → ℝ) (i j : ι) : x i - x j ≤ valueSpread x := by + unfold valueSpread + have h1 := Finset.le_sup' x (Finset.mem_univ i) + have h2 := Finset.inf'_le x (Finset.mem_univ j) + linarith + +/-- Pairwise bound: two mixed coordinates differ by at most `(1 − overlap)` +times the input spread. -/ +theorem mixStep_diff_le + (W : ι → ι → ℝ) (hrow : ∀ i, ∑ j, W i j = 1) + (x : ι → ℝ) (i j : ι) : + mixStep W x i - mixStep W x j ≤ (1 - rowOverlap W i j) * valueSpread x := by + have hM : ∀ k, x k ≤ Finset.univ.sup' Finset.univ_nonempty x := + fun k => Finset.le_sup' x (Finset.mem_univ k) + have hm : ∀ k, Finset.univ.inf' Finset.univ_nonempty x ≤ x k := + fun k => Finset.inf'_le x (Finset.mem_univ k) + set M := Finset.univ.sup' Finset.univ_nonempty x + set mn := Finset.univ.inf' Finset.univ_nonempty x + have hA : ∑ k, (W i k - min (W i k) (W j k)) * x k ≤ + (1 - rowOverlap W i j) * M := by + calc + _ ≤ ∑ k, (W i k - min (W i k) (W j k)) * M := + Finset.sum_le_sum fun k _ => + mul_le_mul_of_nonneg_left (hM k) (sub_nonneg.mpr (min_le_left _ _)) + _ = (1 - rowOverlap W i j) * M := by + rw [← Finset.sum_mul, Finset.sum_sub_distrib, hrow i] + rfl + have hB : (1 - rowOverlap W i j) * mn ≤ + ∑ k, (W j k - min (W i k) (W j k)) * x k := by + calc + (1 - rowOverlap W i j) * mn = + ∑ k, (W j k - min (W i k) (W j k)) * mn := by + rw [← Finset.sum_mul, Finset.sum_sub_distrib, hrow j] + rfl + _ ≤ _ := + Finset.sum_le_sum fun k _ => + mul_le_mul_of_nonneg_left (hm k) (sub_nonneg.mpr (min_le_right _ _)) + have hdiff : mixStep W x i - mixStep W x j = + ∑ k, (W i k - min (W i k) (W j k)) * x k - + ∑ k, (W j k - min (W i k) (W j k)) * x k := by + simp only [mixStep, ← Finset.sum_sub_distrib] + exact Finset.sum_congr rfl fun k _ => by ring + have hs : valueSpread x = M - mn := rfl + have hexp : (1 - rowOverlap W i j) * (M - mn) = + (1 - rowOverlap W i j) * M - (1 - rowOverlap W i j) * mn := by ring + rw [hdiff, hs, hexp] + linarith + +/-- Dobrushin contraction: `spread (W x) ≤ (1 − δ) · spread x` for every +row-stochastic `W`, with `δ` the scrambling coefficient. -/ +theorem valueSpread_mixStep_le + (W : ι → ι → ℝ) (hrow : ∀ i, ∑ j, W i j = 1) + (x : ι → ℝ) : + valueSpread (mixStep W x) ≤ (1 - scramblingCoefficient W) * valueSpread x := by + obtain ⟨i, _, hi⟩ := Finset.exists_mem_eq_sup' (Finset.univ_nonempty (α := ι)) + (mixStep W x) + obtain ⟨j, _, hj⟩ := Finset.exists_mem_eq_inf' (Finset.univ_nonempty (α := ι)) + (mixStep W x) + have hδ : scramblingCoefficient W ≤ rowOverlap W i j := + Finset.inf'_le (fun ij : ι × ι => rowOverlap W ij.1 ij.2) + (Finset.mem_univ (i, j)) + have hspread : valueSpread (mixStep W x) = mixStep W x i - mixStep W x j := by + unfold valueSpread + rw [hi, hj] + rw [hspread] + calc + mixStep W x i - mixStep W x j ≤ (1 - rowOverlap W i j) * valueSpread x := + mixStep_diff_le W hrow x i j + _ ≤ (1 - scramblingCoefficient W) * valueSpread x := + mul_le_mul_of_nonneg_right (by linarith) (valueSpread_nonneg x) + +/-- Strict contraction when the coefficient is positive and the input is not +already in consensus. -/ +theorem valueSpread_mixStep_lt + (W : ι → ι → ℝ) (hrow : ∀ i, ∑ j, W i j = 1) + (x : ι → ℝ) (hδ : 0 < scramblingCoefficient W) (hx : 0 < valueSpread x) : + valueSpread (mixStep W x) < valueSpread x := by + have h := valueSpread_mixStep_le W hrow x + nlinarith [mul_pos hδ hx] + +end Dobrushin + +/-! ## Dobrushin witnesses -/ + +/-- The fixed two-agent `[[3/4, 1/4], [1/4, 3/4]]` consensus matrix. -/ +noncomputable def consensusMatrix2 : Fin 2 → Fin 2 → ℝ := + fun i j => if i = j then 3 / 4 else 1 / 4 + +theorem consensusMatrix2_nonneg (i j : Fin 2) : 0 ≤ consensusMatrix2 i j := by + unfold consensusMatrix2; split_ifs <;> norm_num + +theorem consensusMatrix2_row (i : Fin 2) : ∑ j, consensusMatrix2 i j = 1 := by + fin_cases i <;> simp [consensusMatrix2, Fin.sum_univ_two] <;> norm_num + +/-- The two-agent matrix has scrambling coefficient at least `1/2`. -/ +theorem consensusMatrix2_scrambling : (1 / 2 : ℝ) ≤ scramblingCoefficient consensusMatrix2 := by + unfold scramblingCoefficient + rw [Finset.le_inf'_iff] + rintro ⟨i, j⟩ _ + fin_cases i <;> fin_cases j <;> + simp [rowOverlap, consensusMatrix2, Fin.sum_univ_two] <;> norm_num + +/-- The mixing step of `consensusMatrix2` is exactly `consensusLeft` / +`consensusRight` at each atom. -/ +theorem mixStep_consensusMatrix2 + {State : Type*} [Fintype State] (left right : FiniteLaw State) (s : State) : + mixStep consensusMatrix2 ![left s, right s] = + ![consensusLeft left right s, consensusRight left right s] := by + funext i + fin_cases i <;> + simp only [mixStep, consensusMatrix2, Fin.sum_univ_two, consensusLeft, + consensusRight, convexMixture, Fin.zero_eta, Fin.mk_one, Fin.isValue, + Matrix.cons_val_zero, Matrix.cons_val_one] <;> + norm_num + +/-- The fixed two-agent consensus step is an instance of Dobrushin +contraction with `δ ≥ 1/2`. -/ +theorem consensus_spread_le_half + {State : Type*} [Fintype State] (left right : FiniteLaw State) (s : State) : + valueSpread ![consensusLeft left right s, consensusRight left right s] ≤ + (1 / 2 : ℝ) * valueSpread ![left s, right s] := by + rw [← mixStep_consensusMatrix2] + have h := valueSpread_mixStep_le consensusMatrix2 consensusMatrix2_row ![left s, right s] + have hs := valueSpread_nonneg ![left s, right s] + have hδ := consensusMatrix2_scrambling + nlinarith + +/-- A concrete asymmetric three-agent row-stochastic matrix. -/ +noncomputable def asymMatrix3 : Fin 3 → Fin 3 → ℝ := + ![![1 / 2, 1 / 4, 1 / 4], ![1 / 5, 3 / 5, 1 / 5], ![1 / 10, 3 / 10, 3 / 5]] + +theorem asymMatrix3_nonneg (i j : Fin 3) : 0 ≤ asymMatrix3 i j := by + fin_cases i <;> fin_cases j <;> norm_num [asymMatrix3] + +theorem asymMatrix3_row (i : Fin 3) : ∑ j, asymMatrix3 i j = 1 := by + fin_cases i <;> simp [asymMatrix3, Fin.sum_univ_three] <;> norm_num + +theorem asymMatrix3_scrambling : (3 / 5 : ℝ) ≤ scramblingCoefficient asymMatrix3 := by + unfold scramblingCoefficient + rw [Finset.le_inf'_iff] + rintro ⟨i, j⟩ _ + fin_cases i <;> fin_cases j <;> + simp [rowOverlap, asymMatrix3, Fin.sum_univ_three] <;> norm_num [min_def] + +/-- Three-agent witness: `δ ≥ 3/5 > 0`, so the vector `(1,0,0)` (spread `≥ 1`) +strictly contracts, with ratio at most `2/5`. -/ +theorem asymMatrix3_strict_contraction : + 0 < scramblingCoefficient asymMatrix3 ∧ + 1 ≤ valueSpread (![1, 0, 0] : Fin 3 → ℝ) ∧ + valueSpread (mixStep asymMatrix3 ![1, 0, 0]) ≤ + (2 / 5 : ℝ) * valueSpread (![1, 0, 0] : Fin 3 → ℝ) ∧ + valueSpread (mixStep asymMatrix3 ![1, 0, 0]) < + valueSpread (![1, 0, 0] : Fin 3 → ℝ) := by + have hδ := asymMatrix3_scrambling + have hx : 1 ≤ valueSpread (![1, 0, 0] : Fin 3 → ℝ) := by + have := sub_le_valueSpread (![1, 0, 0] : Fin 3 → ℝ) 0 1 + simpa using this + have hle := valueSpread_mixStep_le asymMatrix3 asymMatrix3_row ![1, 0, 0] + refine ⟨by linarith, hx, by nlinarith [valueSpread_nonneg (![1, 0, 0] : Fin 3 → ℝ)], + valueSpread_mixStep_lt asymMatrix3 asymMatrix3_row _ + (by linarith) (by linarith)⟩ + +/-- Identity mixing (no coupling). -/ +noncomputable def identityMixing2 : Fin 2 → Fin 2 → ℝ := + fun i j => if i = j then 1 else 0 + +theorem identityMixing2_nonneg (i j : Fin 2) : 0 ≤ identityMixing2 i j := by + unfold identityMixing2; split_ifs <;> norm_num + +theorem identityMixing2_row (i : Fin 2) : ∑ j, identityMixing2 i j = 1 := by + fin_cases i <;> simp [identityMixing2] + +/-- Non-scrambling witness: the identity has `δ = 0`, and the spread of +`(1,0)` is unchanged by mixing, so no contraction occurs. -/ +theorem identityMixing2_no_contraction : + scramblingCoefficient identityMixing2 = 0 ∧ + 0 < valueSpread (![1, 0] : Fin 2 → ℝ) ∧ + valueSpread (mixStep identityMixing2 ![1, 0]) = + valueSpread (![1, 0] : Fin 2 → ℝ) := by + have hle : scramblingCoefficient identityMixing2 ≤ 0 := by + have h := Finset.inf'_le (fun ij : Fin 2 × Fin 2 => rowOverlap identityMixing2 ij.1 ij.2) + (Finset.mem_univ ((0, 1) : Fin 2 × Fin 2)) + have h0 : rowOverlap identityMixing2 0 1 = 0 := by + simp [rowOverlap, identityMixing2, Fin.sum_univ_two] + exact h.trans h0.le + have hge : 0 ≤ scramblingCoefficient identityMixing2 := by + unfold scramblingCoefficient + rw [Finset.le_inf'_iff] + rintro ⟨i, j⟩ _ + exact Finset.sum_nonneg fun k _ => + le_min (identityMixing2_nonneg _ _) (identityMixing2_nonneg _ _) + have hmix : mixStep identityMixing2 ![1, 0] = ![1, 0] := by + funext i + fin_cases i <;> simp [mixStep, identityMixing2] + refine ⟨le_antisymm hle hge, ?_, by rw [hmix]⟩ + have := sub_le_valueSpread (![1, 0] : Fin 2 → ℝ) 0 1 + simp at this + linarith + end FEP.CollectiveInference diff --git a/lean/FepSketches/compositions/core.lean b/lean/FepSketches/compositions/core.lean index 60edcb07..ee51ef2d 100644 --- a/lean/FepSketches/compositions/core.lean +++ b/lean/FepSketches/compositions/core.lean @@ -3,6 +3,10 @@ import FepSketches.active_inference import FepSketches.information_geometry import FepSketches.markov_blanket import FepSketches.statistical_convergence +import FepSketches.controlled_markov +import FepSketches.temporal_inference +import FepSketches.path_thermodynamics +import FepSketches.geometric_optimization import Mathlib.Analysis.SpecialFunctions.BinaryEntropy namespace FEPComposed @@ -323,4 +327,140 @@ theorem fep039_partitionEnergy_conservation fep_fep005.FEP005.fep005_partitionCover] using (Finset.sum_fiberwise (s := Finset.univ) assign stateEnergy) +/-- One stick-breaking fraction is the Bernoulli law of fep-045: the allocated +weight and the residual are its `true` and `false` masses. Applied to the +conjugate posterior parameter, fep-046's mass-conservation law derives the +normalization of fep-045's posterior mass function. -/ +theorem fep046_single_break_is_fep045_bernoulli (p l₀ l₁ : ℝ) : + fep_fep046.FEP046.fep046_stickWeights + [fep_fep045.FEP045.fep045_posteriorParameter p l₀ l₁] = + [fep_fep045.FEP045.fep045_bernoulliMass + (fep_fep045.FEP045.fep045_posteriorParameter p l₀ l₁) true] ∧ + fep_fep046.FEP046.fep046_remainder + [fep_fep045.FEP045.fep045_posteriorParameter p l₀ l₁] = + fep_fep045.FEP045.fep045_bernoulliMass + (fep_fep045.FEP045.fep045_posteriorParameter p l₀ l₁) false ∧ + ∑ b : Bool, fep_fep045.FEP045.fep045_bernoulliMass + (fep_fep045.FEP045.fep045_posteriorParameter p l₀ l₁) b = 1 := by + refine ⟨?_, ?_, ?_⟩ + · simp [fep_fep046.FEP046.fep046_stickWeights, + fep_fep045.FEP045.fep045_bernoulliMass] + · simp [fep_fep046.FEP046.fep046_remainder, + fep_fep045.FEP045.fep045_bernoulliMass] + · have hconserve := fep_fep046.FEP046.fep046_mass_conservation + [fep_fep045.FEP045.fep045_posteriorParameter p l₀ l₁] + simp [fep_fep046.FEP046.fep046_stickWeights, + fep_fep046.FEP046.fep046_remainder, + fep_fep045.FEP045.fep045_bernoulliMass] at hconserve ⊢ + +/-! ## Derivations from released core topics + +Reviewed derivational edges for core topics that previously had no relation +(LEAN-8). The five expansion leaves own exactly one bridge per expansion +topic, so these core-topic derivations live here. -/ + +section CoreTopicDerivations + +open FEP FEP.ControlledMarkov FEP.TemporalInference FEP.FiniteInformation + FEP.FiniteMarkovDynamics FEP.GeometricOptimization FEP.InformationGeometry + FEP.PathThermodynamics Finset +open scoped BigOperators Matrix + +/-- With unit incoming messages and factor `exp (-gamma * cost)`, fep-007's +normalized sum-product message is fep-028's support-aware softmax on the +support embedded from `Fin 8` into the ten-policy type. Consequently fep-007's +message normalization derives the unit sum of that softmax. -/ +theorem fep007_normalizedMessage_is_fep028_softmax + (gamma : ℝ) (cost : Fin 10 → ℝ) (neighbors : Finset (Fin 8)) + (hNeighbors : neighbors.Nonempty) (node : Fin 8) : + (∀ target : Fin 8, + fep_fep007.FEP007.fep007_normalizedMessage + (fun _ source => + Real.exp (-gamma * cost (Fin.castLE (by norm_num) source))) + (fun _ => 1) neighbors node target = + fep_fep028.FEP028.fep028_softmax gamma cost + (neighbors.map ⟨Fin.castLE (by norm_num), Fin.castLE_injective _⟩) + (Fin.castLE (by norm_num) target)) ∧ + (∑ policy ∈ neighbors.map + ⟨Fin.castLE (by norm_num), Fin.castLE_injective _⟩, + fep_fep028.FEP028.fep028_softmax gamma cost + (neighbors.map ⟨Fin.castLE (by norm_num), Fin.castLE_injective _⟩) + policy = 1) := by + have hIdentify : ∀ target : Fin 8, + fep_fep007.FEP007.fep007_normalizedMessage + (fun _ source => + Real.exp (-gamma * cost (Fin.castLE (by norm_num) source))) + (fun _ => 1) neighbors node target = + fep_fep028.FEP028.fep028_softmax gamma cost + (neighbors.map ⟨Fin.castLE (by norm_num), Fin.castLE_injective _⟩) + (Fin.castLE (by norm_num) target) := by + intro target + classical + simp only [fep_fep007.FEP007.fep007_normalizedMessage, + fep_fep007.FEP007.fep007_unnormalizedMessage, + fep_fep007.FEP007.fep007_messageNormalizer, + fep_fep028.FEP028.fep028_softmax, mul_one, Finset.sum_map, + Function.Embedding.coeFn_mk] + simp + refine ⟨hIdentify, ?_⟩ + rw [Finset.sum_map] + simp only [Function.Embedding.coeFn_mk] + calc + _ = ∑ target ∈ neighbors, + fep_fep007.FEP007.fep007_normalizedMessage + (fun _ source => + Real.exp (-gamma * cost (Fin.castLE (by norm_num) source))) + (fun _ => 1) neighbors node target := + Finset.sum_congr rfl fun target _ => (hIdentify target).symm + _ = 1 := + fep_fep007.FEP007.fep007_normalizedMessage_sum_one _ _ neighbors node + hNeighbors (fun _ _ => Real.exp_pos _) (fun _ _ => one_pos) + +/-- fep-029's scalar quadratic Bregman divergence is the one-coordinate +instance of the generic Bregman divergence of fep-104 with potential `v 0 ^ 2` +and gradient `2 * v 0`; the fep-104 three-point identity therefore yields the +scalar three-point law for fep-029's divergence. -/ +theorem fep029_quadraticBregman_is_fep104_scalar_instance (x y z : ℝ) : + bregmanDivergence (d := 1) (fun v => v 0 ^ 2) (fun v _ => 2 * v 0) + (fun _ => x) (fun _ => y) = + fep_fep029.FEP029.fep029_quadraticBregman x y ∧ + fep_fep029.FEP029.fep029_quadraticBregman x z - + fep_fep029.FEP029.fep029_quadraticBregman x y - + fep_fep029.FEP029.fep029_quadraticBregman y z = + 2 * (y - z) * (x - y) := by + have hIdentify : ∀ a b : ℝ, + bregmanDivergence (d := 1) (fun v => v 0 ^ 2) (fun v _ => 2 * v 0) + (fun _ => a) (fun _ => b) = + fep_fep029.FEP029.fep029_quadraticBregman a b := by + intro a b + simp [bregmanDivergence, coordinatePairing, + fep_fep029.FEP029.fep029_quadraticBregman] + refine ⟨hIdentify x y, ?_⟩ + have hThree := fep_fep104.FEP104.fep104_mirrorDescent_threePoint_identity + (d := 1) (fun v => v 0 ^ 2) (fun v _ => 2 * v 0) + (fun _ => x) (fun _ => y) (fun _ => z) + rw [hIdentify, hIdentify, hIdentify] at hThree + simpa [coordinatePairing, mul_sub, sub_mul] using hThree + +/-- Discharging fep-050's second-law premise with fep-049's nonnegative +quadratic entropy production derives the Landauer work bound. The explicit +`hBalance` premise identifies the erasure's total entropy change with the +constitutive-law entropy production; it is a modelling assumption, not a +consequence of either topic. -/ +theorem fep050_landauer_work_bound_from_fep049_entropy_production + {Edge : Type*} [Fintype Edge] {W Q T kB : ℝ} (hT : 0 < T) + (conductance force : Edge → ℝ) + (hConductance : ∀ edge, 0 ≤ conductance edge) + (hBalance : fep_fep050.FEP050.fep050_totalEntropyChange Q T kB = + fep_fep049.FEP049.fep049_entropyProduction conductance force) + (hWorkHeat : Q ≤ W) : + fep_fep050.FEP050.fep050_landauerBound kB T ≤ W := by + have hSecondLaw : 0 ≤ fep_fep050.FEP050.fep050_totalEntropyChange Q T kB := by + rw [hBalance] + exact fep_fep049.FEP049.fep049_entropyProduction_nonneg + conductance force hConductance + exact fep_fep050.FEP050.fep050_landauer_work_bound hT hSecondLaw hWorkHeat + +end CoreTopicDerivations + end FEPComposed diff --git a/lean/FepSketches/finite_information.lean b/lean/FepSketches/finite_information.lean index 6bf045bd..0378a47b 100644 --- a/lean/FepSketches/finite_information.lean +++ b/lean/FepSketches/finite_information.lean @@ -455,4 +455,64 @@ theorem mutualInformation_le_predictive_entropy hprior hpredictive] linarith [conditionalEntropy_nonneg prior kernel] +/-! ## Maximum entropy on the uniform carrier -/ + +/-- Every atom of the uniform law on a nonempty finite type is positive. -/ +theorem uniform_mass_pos [Nonempty α] (x : α) : + 0 < (FiniteLaw.uniform : FiniteLaw α) x := by + change 0 < ((Fintype.card α : ℝ)⁻¹) + exact inv_pos.mpr (Nat.cast_pos.mpr Fintype.card_pos) + +/-- Cross-entropy against the uniform law is the constant `log n`. -/ +theorem crossEntropy_uniform [Nonempty α] (p : FiniteLaw α) : + crossEntropy p FiniteLaw.uniform = Real.log (Fintype.card α) := by + unfold crossEntropy + have h : ∀ x : α, -(p x) * Real.log ((FiniteLaw.uniform : FiniteLaw α) x) = + p x * Real.log (Fintype.card α) := by + intro x + change -(p x) * Real.log ((Fintype.card α : ℝ)⁻¹) = _ + rw [Real.log_inv] + ring + rw [Finset.sum_congr rfl fun x _ => h x, ← Finset.sum_mul, p.sum_one, one_mul] + +/-- Maximum entropy on a finite carrier: `H(p) ≤ log n`. -/ +theorem entropy_le_log_card [Nonempty α] (p : FiniteLaw α) : + entropy p ≤ Real.log (Fintype.card α) := by + have h := finiteKL_eq_crossEntropy_sub_entropy p FiniteLaw.uniform + uniform_mass_pos + rw [crossEntropy_uniform] at h + linarith [finiteKL_nonneg p (FiniteLaw.uniform : FiniteLaw α)] + +/-- The bound `H(p) = log n` is attained exactly by the uniform law. -/ +theorem entropy_eq_log_card_iff [Nonempty α] (p : FiniteLaw α) : + entropy p = Real.log (Fintype.card α) ↔ p = FiniteLaw.uniform := by + have h := finiteKL_eq_crossEntropy_sub_entropy p FiniteLaw.uniform + uniform_mass_pos + rw [crossEntropy_uniform] at h + rw [← finiteKL_eq_zero_iff] + constructor <;> intro h' <;> linarith + +/-- Strict form: any non-uniform law has entropy strictly below `log n`. -/ +theorem entropy_lt_log_card_of_ne_uniform [Nonempty α] (p : FiniteLaw α) + (hp : p ≠ FiniteLaw.uniform) : + entropy p < Real.log (Fintype.card α) := + lt_of_le_of_ne (entropy_le_log_card p) + fun h => hp ((entropy_eq_log_card_iff p).mp h) + +/-- A biased Bool law with masses `3/4` and `1/4`. -/ +noncomputable def boolBiased : FiniteLaw Bool where + mass b := if b then 3 / 4 else 1 / 4 + nonneg b := by cases b <;> norm_num + sum_one := by simp; norm_num + +/-- Strict witness: the biased Bool law has entropy strictly below `log 2`. -/ +theorem boolBiased_entropy_lt_log_two : + entropy boolBiased < Real.log 2 := by + have hne : boolBiased ≠ (FiniteLaw.uniform : FiniteLaw Bool) := by + intro h + have := congrArg (fun r : FiniteLaw Bool => r.mass true) h + simp [boolBiased, FiniteLaw.uniform] at this + norm_num at this + simpa using entropy_lt_log_card_of_ne_uniform boolBiased hne + end FEP.FiniteInformation diff --git a/lean/FepSketches/helmholtz_ao_ness.lean b/lean/FepSketches/helmholtz_ao_ness.lean index 43dc2c59..b49a7403 100644 --- a/lean/FepSketches/helmholtz_ao_ness.lean +++ b/lean/FepSketches/helmholtz_ao_ness.lean @@ -1,4 +1,5 @@ import FepSketches.continuous_time_markov +import FepSketches.geometric_mechanics import Mathlib.Tactic /-! @@ -55,80 +56,15 @@ namespace FEP.HelmholtzAoNess open FEP FEP.ContinuousTimeMarkov Finset open scoped BigOperators -/-! ## Skew bilinear algebra: the cancellation terms -/ - -section SkewAlgebra - -variable {n : ℕ} - -/-- Dot product of plain real vectors indexed by `Fin n`. -/ -def dot (v w : Fin n → ℝ) : ℝ := ∑ i, v i * w i - -/-- Matrix–vector product for a plain real matrix indexed by `Fin n`. -/ -def mulVec (M : Fin n → Fin n → ℝ) (v : Fin n → ℝ) : Fin n → ℝ := - fun i => ∑ k, M i k * v k - -/-- Matrix product for plain real matrices indexed by `Fin n`. -/ -def mulOf (A B : Fin n → Fin n → ℝ) : Fin n → Fin n → ℝ := - fun i j => ∑ k, A i k * B k j - -/-- Plain trace of a plain real matrix indexed by `Fin n`. -/ -def traceOf (M : Fin n → Fin n → ℝ) : ℝ := ∑ i, M i i - -/-- Skew-symmetry `Mᵀ = -M` for a plain real matrix. -/ -def SkewSymmetric (M : Fin n → Fin n → ℝ) : Prop := ∀ i j, M i j = -M j i - -/-- Symmetry `Mᵀ = M` for a plain real matrix; the finite Hessian role. -/ -def SymmetricOf (M : Fin n → Fin n → ℝ) : Prop := ∀ i j, M i j = M j i - -/-- Double-index swap for sums over `Fin n × Fin n`: after -`Finset.sum_comm` the two binder orders are alpha-equivalent. -/ -theorem sum_swapPairs {f : Fin n → Fin n → ℝ} : - ∑ i, ∑ j, f i j = ∑ i, ∑ j, f j i := by - rw [Finset.sum_comm] - -/-- Negation commutes with a double sum over `Fin n × Fin n`. -/ -theorem sum_negPairs {f : Fin n → Fin n → ℝ} : - ∑ i, ∑ j, -f i j = -∑ i, ∑ j, f i j := by - rw [Finset.sum_congr rfl fun i _ => Finset.sum_neg_distrib (f := fun j => f i j), - Finset.sum_neg_distrib (f := fun i => ∑ j, f i j)] - -/-- A skew-symmetric matrix annihilates its own quadratic form. -/ -theorem skewQuadratic_eq_zero (Q : Fin n → Fin n → ℝ) (g : Fin n → ℝ) - (hQ : SkewSymmetric Q) : dot g (mulVec Q g) = 0 := by - have key : dot g (mulVec Q g) = ∑ i, ∑ j, Q i j * (g i * g j) := by - simp only [dot, mulVec, Finset.mul_sum] - exact Finset.sum_congr rfl fun i _ => - Finset.sum_congr rfl fun j _ => by ring - have negated : dot g (mulVec Q g) = -dot g (mulVec Q g) := by - calc dot g (mulVec Q g) - = ∑ i, ∑ j, Q i j * (g i * g j) := key - _ = ∑ i, ∑ j, Q j i * (g j * g i) := sum_swapPairs - _ = ∑ i, ∑ j, -(Q i j * (g i * g j)) := by - refine Finset.sum_congr rfl fun i _ => ?_ - exact Finset.sum_congr rfl fun j _ => by rw [hQ j i]; ring - _ = -∑ i, ∑ j, Q i j * (g i * g j) := sum_negPairs - _ = -dot g (mulVec Q g) := by rw [key] - linarith - -/-- The trace-term cancellation: a skew matrix contracted against a -symmetric matrix has zero trace. -/ -theorem skewTrace_eq_zero (Q H : Fin n → Fin n → ℝ) - (hQ : SkewSymmetric Q) (hH : SymmetricOf H) : traceOf (mulOf Q H) = 0 := by - have key : traceOf (mulOf Q H) = ∑ i, ∑ j, Q i j * H j i := by - simp only [traceOf, mulOf] - have negated : traceOf (mulOf Q H) = -traceOf (mulOf Q H) := by - calc traceOf (mulOf Q H) - = ∑ i, ∑ j, Q i j * H j i := key - _ = ∑ i, ∑ j, Q j i * H i j := sum_swapPairs - _ = ∑ i, ∑ j, -(Q i j * H j i) := by - refine Finset.sum_congr rfl fun i _ => ?_ - exact Finset.sum_congr rfl fun j _ => by rw [hQ j i, hH i j]; ring - _ = -∑ i, ∑ j, Q i j * H j i := sum_negPairs - _ = -traceOf (mulOf Q H) := by rw [key] - linarith - -end SkewAlgebra +/-! ## Skew bilinear algebra (shared matrix kit) + +The plain-matrix kit and its cancellation lemmas are defined once in +`FEP.GeometricMechanics`; the names are re-exported here so that +`FEP.HelmholtzAoNess.` keeps resolving to the same declarations. -/ + +export FEP.GeometricMechanics + (dot mulVec mulOf traceOf SkewSymmetric SymmetricOf sum_swapPairs + sum_negPairs skewTrace_eq_zero skewQuadratic_eq_zero) /-! ## The Helmholtz–Ao decomposition of a rate field -/ diff --git a/lean/FepSketches/path_thermodynamics.lean b/lean/FepSketches/path_thermodynamics.lean index 43fc447b..6ef6f9a9 100644 --- a/lean/FepSketches/path_thermodynamics.lean +++ b/lean/FepSketches/path_thermodynamics.lean @@ -463,4 +463,525 @@ theorem irreversibleForward_unitWork_not_jarzynski : rw [hSum] at hNormalization linarith +/-! ## Markov path laws -/ + +section MarkovPaths + +variable {S : Type*} [Fintype S] + +/-- Mass of a length-`n+1` trajectory under a homogeneous Markov chain: +initial mass times the product of stage transition masses. -/ +def markovPathMass (kernel : FiniteKernel S S) (initial : FiniteLaw S) (n : ℕ) + (path : Fin (n + 1) → S) : ℝ := + initial (path 0) * ∏ t : Fin n, kernel (path t.castSucc) (path t.succ) + +/-- Mass of the same trajectory read backwards, in forward coordinates, under a +chain driven by `reverse` and started from `final` at the last time. -/ +def markovReverseMass (reverse : FiniteKernel S S) (final : FiniteLaw S) (n : ℕ) + (path : Fin (n + 1) → S) : ℝ := + final (path (Fin.last n)) * ∏ t : Fin n, reverse (path t.succ) (path t.castSucc) + +/-- Appending one step multiplies the path mass by one transition mass. -/ +theorem markovPathMass_snoc (kernel : FiniteKernel S S) (initial : FiniteLaw S) + (n : ℕ) (path : Fin (n + 1) → S) (next : S) : + markovPathMass kernel initial (n + 1) + (Fin.snoc (α := fun _ => S) path next) = + markovPathMass kernel initial n path * kernel (path (Fin.last n)) next := by + unfold markovPathMass + rw [Fin.prod_univ_castSucc] + have hStage : ∀ t : Fin n, + kernel ((Fin.snoc (α := fun _ => S) path next) t.castSucc.castSucc) + ((Fin.snoc (α := fun _ => S) path next) t.castSucc.succ) = + kernel (path t.castSucc) (path t.succ) := by + intro t + rw [Fin.succ_castSucc, Fin.snoc_castSucc, Fin.snoc_castSucc] + have hZero : (Fin.snoc (α := fun _ => S) path next) (0 : Fin (n + 2)) = + path 0 := by + rw [← Fin.castSucc_zero, Fin.snoc_castSucc] + have hLast : (Fin.snoc (α := fun _ => S) path next) + (Fin.last n).castSucc = path (Fin.last n) := Fin.snoc_castSucc _ _ _ + have hNext : (Fin.snoc (α := fun _ => S) path next) + (Fin.last n).succ = next := by + rw [Fin.succ_last] + exact Fin.snoc_last _ _ + rw [Finset.prod_congr rfl (fun t _ => hStage t), hZero, hLast, hNext] + ring + +/-- Every Markov path mass is nonnegative. -/ +theorem markovPathMass_nonneg (kernel : FiniteKernel S S) + (initial : FiniteLaw S) (n : ℕ) (path : Fin (n + 1) → S) : + 0 ≤ markovPathMass kernel initial n path := + mul_nonneg (initial.nonneg _) + (Finset.prod_nonneg fun _ _ => kernel.nonneg _ _) + +/-- Total Markov path mass is one, by induction on the horizon. -/ +theorem markovPathMass_sum_one (kernel : FiniteKernel S S) + (initial : FiniteLaw S) (n : ℕ) : + ∑ path : Fin (n + 1) → S, markovPathMass kernel initial n path = 1 := by + induction n with + | zero => + have hBase : ∀ path : Fin 1 → S, + markovPathMass kernel initial 0 path = initial (path 0) := by + intro path + simp [markovPathMass] + simp_rw [hBase] + rw [Fintype.sum_equiv (Equiv.funUnique (Fin 1) S) _ (fun s => initial s) + (fun path => by simp)] + exact initial.sum_one + | succ n ih => + rw [← (Fin.snocEquiv fun _ : Fin (n + 2) => S).sum_comp, Fintype.sum_prod_type] + have hSnoc : ∀ (next : S) (path : Fin (n + 1) → S), + markovPathMass kernel initial (n + 1) + ((Fin.snocEquiv fun _ : Fin (n + 2) => S) (next, path)) = + markovPathMass kernel initial n path * + kernel (path (Fin.last n)) next := by + intro next path + exact markovPathMass_snoc kernel initial n path next + simp_rw [hSnoc] + rw [Finset.sum_comm] + calc + (∑ path : Fin (n + 1) → S, ∑ next : S, + markovPathMass kernel initial n path * + kernel (path (Fin.last n)) next) = + ∑ path : Fin (n + 1) → S, markovPathMass kernel initial n path := by + apply Finset.sum_congr rfl + intro path _ + rw [← Finset.mul_sum, (kernel.sum_one _), mul_one] + _ = 1 := ih + +/-- Forward Markov path law on `Fin (n+1) → S`, normalized by +`markovPathMass_sum_one`. -/ +def markovPathLaw (kernel : FiniteKernel S S) (initial : FiniteLaw S) (n : ℕ) : + FiniteLaw (Fin (n + 1) → S) where + mass := markovPathMass kernel initial n + nonneg := markovPathMass_nonneg kernel initial n + sum_one := markovPathMass_sum_one kernel initial n + +/-- Reversal of a trajectory: read it backwards. -/ +def pathReverse (n : ℕ) (path : Fin (n + 1) → S) : Fin (n + 1) → S := + path ∘ Fin.rev + +omit [Fintype S] in +/-- Trajectory reversal is an involution. -/ +theorem pathReverse_involutive (n : ℕ) : + Function.Involutive (pathReverse (S := S) n) := by + intro path + funext i + simp [pathReverse] + +/-- The aligned reverse mass is the reverse chain's forward mass at the +reversed trajectory. -/ +theorem markovReverseMass_eq (reverse : FiniteKernel S S) (final : FiniteLaw S) + (n : ℕ) (path : Fin (n + 1) → S) : + markovReverseMass reverse final n path = + markovPathMass reverse final n (pathReverse n path) := by + unfold markovReverseMass markovPathMass pathReverse + simp only [Function.comp_apply, Fin.rev_zero, Fin.rev_castSucc, Fin.rev_succ] + congr 1 + exact (Equiv.prod_comp Fin.revPerm + fun t => reverse (path t.succ) (path t.castSucc)).symm + +/-- Reverse-driven path law, expressed in forward-path coordinates. -/ +def markovReversePathLaw (reverse : FiniteKernel S S) (final : FiniteLaw S) + (n : ℕ) : FiniteLaw (Fin (n + 1) → S) where + mass := markovReverseMass reverse final n + nonneg path := by + rw [markovReverseMass_eq] + exact markovPathMass_nonneg reverse final n _ + sum_one := by + simp_rw [markovReverseMass_eq] + exact (Equiv.sum_comp (pathReverse_involutive (S := S) n).toPerm + (markovPathMass reverse final n)).trans + (markovPathMass_sum_one reverse final n) + +/-- The forward Markov path law paired with a reverse-driven chain, with +trajectory reversal as the involution. -/ +noncomputable def markovPathProtocol + (kernel : FiniteKernel S S) (initial : FiniteLaw S) + (reverse : FiniteKernel S S) (final : FiniteLaw S) (n : ℕ) : + FinitePathProtocol (Fin (n + 1) → S) where + forward := markovPathLaw kernel initial n + reverseAligned := markovReversePathLaw reverse final n + reversal := pathReverse n + reversal_involutive := pathReverse_involutive n + +/-- Supported trajectories have positive forward mass. -/ +theorem markovPathMass_pos (kernel : FiniteKernel S S) (initial : FiniteLaw S) + (hInitial : ∀ s, 0 < initial s) (hKernel : ∀ a b, 0 < kernel a b) + (n : ℕ) (path : Fin (n + 1) → S) : + 0 < markovPathMass kernel initial n path := + mul_pos (hInitial _) (Finset.prod_pos fun _ _ => hKernel _ _) + +/-- Supported trajectories have positive aligned reverse mass. -/ +theorem markovReverseMass_pos (reverse : FiniteKernel S S) (final : FiniteLaw S) + (hFinal : ∀ s, 0 < final s) (hReverse : ∀ a b, 0 < reverse a b) + (n : ℕ) (path : Fin (n + 1) → S) : + 0 < markovReverseMass reverse final n path := + mul_pos (hFinal _) (Finset.prod_pos fun _ _ => hReverse _ _) + +/-- Pathwise entropy production of a Markov path protocol is a boundary log +ratio plus the sum of stage log ratios `log (K_{x_t x_{t+1}} / R_{x_{t+1} x_t})`. -/ +theorem pathwiseEntropyProduction_markov + (kernel reverse : FiniteKernel S S) (initial final : FiniteLaw S) + (hInitial : ∀ s, 0 < initial s) (hFinal : ∀ s, 0 < final s) + (hKernel : ∀ a b, 0 < kernel a b) (hReverse : ∀ a b, 0 < reverse a b) + (n : ℕ) (path : Fin (n + 1) → S) : + pathwiseEntropyProduction + (markovPathProtocol kernel initial reverse final n) path = + Real.log (initial (path 0) / final (path (Fin.last n))) + + ∑ t : Fin n, Real.log + (kernel (path t.castSucc) (path t.succ) / + reverse (path t.succ) (path t.castSucc)) := by + have hRatio : pathRatio (markovPathProtocol kernel initial reverse final n) + path = (initial (path 0) / final (path (Fin.last n))) * + ∏ t : Fin n, (kernel (path t.castSucc) (path t.succ) / + reverse (path t.succ) (path t.castSucc)) := by + change markovPathMass kernel initial n path / + markovReverseMass reverse final n path = _ + unfold markovPathMass markovReverseMass + rw [Finset.prod_div_distrib, mul_div_mul_comm] + unfold pathwiseEntropyProduction + rw [hRatio, Real.log_mul (div_pos (hInitial _) (hFinal _)).ne' + (Finset.prod_pos fun _ _ => div_pos (hKernel _ _) (hReverse _ _)).ne', + Real.log_prod fun _ _ => (div_pos (hKernel _ _) (hReverse _ _)).ne'] + +/-- Path KL splits into the boundary term plus the sum of expected stage log +ratios, for every horizon `n`. -/ +theorem entropyProduction_markov_decomposition + (kernel reverse : FiniteKernel S S) (initial final : FiniteLaw S) + (hInitial : ∀ s, 0 < initial s) (hFinal : ∀ s, 0 < final s) + (hKernel : ∀ a b, 0 < kernel a b) (hReverse : ∀ a b, 0 < reverse a b) + (n : ℕ) : + entropyProduction (markovPathProtocol kernel initial reverse final n) = + (∑ path : Fin (n + 1) → S, markovPathLaw kernel initial n path * + Real.log (initial (path 0) / final (path (Fin.last n)))) + + ∑ t : Fin n, ∑ path : Fin (n + 1) → S, + markovPathLaw kernel initial n path * + Real.log (kernel (path t.castSucc) (path t.succ) / + reverse (path t.succ) (path t.castSucc)) := by + rw [entropyProduction_eq_expected_logRatio _ + (fun path => markovPathMass_pos kernel initial hInitial hKernel n path) + (fun path => by + change 0 < markovReverseMass reverse final n path + exact markovReverseMass_pos reverse final hFinal hReverse n path)] + have hPath : ∀ path : Fin (n + 1) → S, + (markovPathProtocol kernel initial reverse final n).forward path = + markovPathLaw kernel initial n path := fun _ => rfl + simp_rw [hPath, pathwiseEntropyProduction_markov kernel reverse initial final + hInitial hFinal hKernel hReverse, mul_add, Finset.mul_sum] + rw [Finset.sum_add_distrib, Finset.sum_comm (s := Finset.univ)] + +/-! ### One-step paths -/ + +/-- A two-point trajectory sums as a double sum over its endpoints. -/ +theorem sum_pathTwo (g : (Fin 2 → S) → ℝ) : + ∑ path : Fin 2 → S, g path = ∑ i : S, ∑ j : S, g ![i, j] := by + rw [← (finTwoArrowEquiv S).symm.sum_comp, Fintype.sum_prod_type] + rfl + +/-- One-step forward path mass is the joint mass `π₀ i K_{ij}`. -/ +theorem markovPathMass_one (kernel : FiniteKernel S S) (initial : FiniteLaw S) + (path : Fin 2 → S) : + markovPathMass kernel initial 1 path = initial (path 0) * kernel (path 0) (path 1) := by + simp [markovPathMass] + +/-- One-step aligned reverse mass is `ρ_j R_{ji}`. -/ +theorem markovReverseMass_one (reverse : FiniteKernel S S) (final : FiniteLaw S) + (path : Fin 2 → S) : + markovReverseMass reverse final 1 path = final (path 1) * reverse (path 1) (path 0) := by + simp [markovReverseMass] + +/-- One-step path KL as a double sum of joint-weighted log ratios. -/ +theorem entropyProduction_markov_oneStep + (kernel reverse : FiniteKernel S S) (initial final : FiniteLaw S) + (hInitial : ∀ s, 0 < initial s) (hFinal : ∀ s, 0 < final s) + (hKernel : ∀ a b, 0 < kernel a b) (hReverse : ∀ a b, 0 < reverse a b) : + entropyProduction (markovPathProtocol kernel initial reverse final 1) = + ∑ i : S, ∑ j : S, initial i * kernel i j * + Real.log (initial i * kernel i j / (final j * reverse j i)) := by + rw [entropyProduction_eq_expected_logRatio _ + (fun path => markovPathMass_pos kernel initial hInitial hKernel 1 path) + (fun path => by + change 0 < markovReverseMass reverse final 1 path + exact markovReverseMass_pos reverse final hFinal hReverse 1 path), + sum_pathTwo] + apply Finset.sum_congr rfl + intro i _ + apply Finset.sum_congr rfl + intro j _ + change markovPathMass kernel initial 1 ![i, j] * + Real.log (markovPathMass kernel initial 1 ![i, j] / + markovReverseMass reverse final 1 ![i, j]) = _ + rw [markovPathMass_one, markovReverseMass_one] + simp + +/-- One-step path KL as boundary entropy term plus the stage log-ratio sum. -/ +theorem entropyProduction_markov_oneStep_split + (kernel reverse : FiniteKernel S S) (initial final : FiniteLaw S) + (hInitial : ∀ s, 0 < initial s) (hFinal : ∀ s, 0 < final s) + (hKernel : ∀ a b, 0 < kernel a b) (hReverse : ∀ a b, 0 < reverse a b) : + entropyProduction (markovPathProtocol kernel initial reverse final 1) = + (∑ i : S, initial i * Real.log (initial i) - + ∑ j : S, kernel.predictive initial j * Real.log (final j)) + + ∑ i : S, ∑ j : S, initial i * kernel i j * + Real.log (kernel i j / reverse j i) := by + rw [entropyProduction_markov_oneStep kernel reverse initial final hInitial + hFinal hKernel hReverse] + have hTerm : ∀ i j : S, initial i * kernel i j * + Real.log (initial i * kernel i j / (final j * reverse j i)) = + (initial i * kernel i j * Real.log (initial i) - + initial i * kernel i j * Real.log (final j)) + + initial i * kernel i j * Real.log (kernel i j / reverse j i) := by + intro i j + have hI := (hInitial i).ne' + have hF := (hFinal j).ne' + have hK := (hKernel i j).ne' + have hR := (hReverse j i).ne' + rw [Real.log_div (mul_ne_zero hI hK) (mul_ne_zero hF hR), + Real.log_div hK hR, Real.log_mul hI hK, Real.log_mul hF hR] + ring + have hBoundaryStart : ∑ i : S, ∑ j : S, initial i * kernel i j * + Real.log (initial i) = ∑ i : S, initial i * Real.log (initial i) := by + apply Finset.sum_congr rfl + intro i _ + calc + ∑ j : S, initial i * kernel i j * Real.log (initial i) = + (initial i * ∑ j : S, kernel i j) * Real.log (initial i) := by + rw [Finset.mul_sum, Finset.sum_mul] + _ = initial i * Real.log (initial i) := by rw [kernel.sum_one, mul_one] + have hBoundaryEnd : ∑ i : S, ∑ j : S, initial i * kernel i j * + Real.log (final j) = + ∑ j : S, kernel.predictive initial j * Real.log (final j) := by + rw [Finset.sum_comm] + apply Finset.sum_congr rfl + intro j _ + rw [FiniteKernel.predictive_mass, Finset.sum_mul] + simp_rw [hTerm, Finset.sum_add_distrib, Finset.sum_sub_distrib] + rw [hBoundaryStart, hBoundaryEnd] + +/-! ### Stationary one-step production and detailed balance -/ + +/-- Stationary Schnakenberg form: when both path endpoints carry the same +supported law `π`, one-step path KL against the same kernel run on the +reversed trajectory is `∑ π_i K_ij log (π_i K_ij / (π_j K_ji))`. -/ +theorem entropyProduction_markov_schnakenberg + (kernel : FiniteKernel S S) (law : FiniteLaw S) + (hLaw : ∀ s, 0 < law s) (hKernel : ∀ a b, 0 < kernel a b) : + entropyProduction (markovPathProtocol kernel law kernel law 1) = + ∑ i : S, ∑ j : S, law i * kernel i j * + Real.log (law i * kernel i j / (law j * kernel j i)) := + entropyProduction_markov_oneStep kernel kernel law law hLaw hLaw hKernel + hKernel + +/-- The Schnakenberg form is the `localAffinity`-weighted probability flux. -/ +theorem entropyProduction_markov_eq_localAffinity + (kernel : FiniteKernel S S) (law : FiniteLaw S) + (hLaw : ∀ s, 0 < law s) (hKernel : ∀ a b, 0 < kernel a b) : + entropyProduction (markovPathProtocol kernel law kernel law 1) = + ∑ i : S, ∑ j : S, law i * kernel i j * localAffinity law kernel i j := + entropyProduction_markov_schnakenberg kernel law hLaw hKernel + +/-- For an invariant supported law the boundary entropy term vanishes, leaving +only the stage log-ratio sum `∑ π_i K_ij log (K_ij / K_ji)`. -/ +theorem entropyProduction_markov_stationary + (kernel : FiniteKernel S S) (law : FiniteLaw S) + (hLaw : ∀ s, 0 < law s) (hKernel : ∀ a b, 0 < kernel a b) + (hInvariant : IsInvariant law kernel) : + entropyProduction (markovPathProtocol kernel law kernel law 1) = + ∑ i : S, ∑ j : S, law i * kernel i j * + Real.log (kernel i j / kernel j i) := by + rw [entropyProduction_markov_oneStep_split kernel kernel law law hLaw hLaw + hKernel hKernel] + have hInv : kernel.predictive law = law := hInvariant + rw [hInv, sub_self, zero_add] + +/-- Under detailed balance the forward and reversed one-step path laws agree. -/ +theorem markovPathLaw_eq_reverse_of_reversible + (kernel : FiniteKernel S S) (law : FiniteLaw S) + (hReversible : IsReversible law kernel) : + markovPathLaw kernel law 1 = markovReversePathLaw kernel law 1 := by + apply FiniteLaw.ext_mass + funext path + change markovPathMass kernel law 1 path = markovReverseMass kernel law 1 path + rw [markovPathMass_one, markovReverseMass_one] + exact hReversible (path 0) (path 1) + +/-- Detailed balance gives exactly zero one-step path entropy production, with +no support hypothesis. -/ +theorem entropyProduction_markov_reversible_zero + (kernel : FiniteKernel S S) (law : FiniteLaw S) + (hReversible : IsReversible law kernel) : + entropyProduction (markovPathProtocol kernel law kernel law 1) = 0 := by + unfold entropyProduction + change finiteKL (markovPathLaw kernel law 1) + (markovReversePathLaw kernel law 1) = 0 + rw [markovPathLaw_eq_reverse_of_reversible kernel law hReversible] + exact finiteKL_self _ + +/-- Detailed balance cancels every local affinity (zero numerator/denominator +ratio is `1`, or the totalized `0` at a zero edge). -/ +theorem localAffinity_zero_of_reversible + (kernel : FiniteKernel S S) (law : FiniteLaw S) + (hReversible : IsReversible law kernel) (source target : S) : + localAffinity law kernel source target = 0 := by + unfold localAffinity + rw [hReversible source target] + by_cases h : law target * kernel target source = 0 + · simp [h] + · rw [div_self h, Real.log_one] + +/-! ### Bayesian time-reversed kernel -/ + +/-- Time-reversed kernel of a chain against a supported invariant law: +`K†_{ab} = π_b K_{ba} / π_a`. -/ +noncomputable def reversedKernel (law : FiniteLaw S) (kernel : FiniteKernel S S) + (hLaw : ∀ s, 0 < law s) (hInvariant : IsInvariant law kernel) : + FiniteKernel S S where + mass a b := law b * kernel b a / law a + nonneg a b := div_nonneg (mul_nonneg (law.nonneg b) (kernel.nonneg b a)) (hLaw a).le + sum_one a := by + have hInv : kernel.predictive law a = law a := by + rw [show kernel.predictive law = law from hInvariant] + rw [FiniteKernel.predictive_mass] at hInv + rw [← Finset.sum_div, hInv] + exact div_self (hLaw a).ne' + +/-- The reversed kernel satisfies detailed balance against the original. -/ +theorem reversedKernel_detailedBalance (law : FiniteLaw S) + (kernel : FiniteKernel S S) (hLaw : ∀ s, 0 < law s) + (hInvariant : IsInvariant law kernel) (a b : S) : + law a * reversedKernel law kernel hLaw hInvariant a b = + law b * kernel b a := by + change law a * (law b * kernel b a / law a) = _ + field_simp [(hLaw a).ne'] + +/-- Detailed balance makes the reversed kernel the kernel itself. -/ +theorem reversedKernel_eq_of_reversible (law : FiniteLaw S) + (kernel : FiniteKernel S S) (hLaw : ∀ s, 0 < law s) + (hReversible : IsReversible law kernel) : + reversedKernel law kernel hLaw (isInvariant_of_isReversible law kernel hReversible) = + kernel := by + apply FiniteKernel.ext_mass + funext a b + change law b * kernel b a / law a = kernel a b + rw [div_eq_iff (hLaw a).ne', ← hReversible a b] + ring + +/-- Telescoping of stage ratios of a positive function along a trajectory. -/ +theorem prod_stage_ratio_telescope (n : ℕ) (f : Fin (n + 1) → ℝ) + (hf : ∀ i, f i ≠ 0) : + ∏ t : Fin n, f t.castSucc / f t.succ = f 0 / f (Fin.last n) := by + induction n with + | zero => simp [div_self (hf 0)] + | succ n ih => + rw [Fin.prod_univ_castSucc] + have hIh := ih (fun i => f i.castSucc) (fun i => hf _) + simp only [Fin.succ_castSucc] at hIh ⊢ + rw [hIh] + simp only [Fin.castSucc_zero, Fin.succ_last] + have h1 := hf (Fin.last n).castSucc + have h2 := hf (Fin.last (n + 1)) + field_simp + +/-- Stationary time-reversal duality for every horizon: the chain driven by the +reversed kernel and started from `π`, read backwards, has exactly the forward +path mass of the original chain started from `π`. -/ +theorem markovReverseMass_reversedKernel (law : FiniteLaw S) + (kernel : FiniteKernel S S) (hLaw : ∀ s, 0 < law s) + (hInvariant : IsInvariant law kernel) (n : ℕ) (path : Fin (n + 1) → S) : + markovReverseMass (reversedKernel law kernel hLaw hInvariant) law n path = + markovPathMass kernel law n path := by + have hStage : ∀ t : Fin n, + reversedKernel law kernel hLaw hInvariant (path t.succ) (path t.castSucc) = + (law (path t.castSucc) / law (path t.succ)) * + kernel (path t.castSucc) (path t.succ) := by + intro t + change law (path t.castSucc) * kernel (path t.castSucc) (path t.succ) / + law (path t.succ) = _ + ring + unfold markovReverseMass markovPathMass + rw [Finset.prod_congr rfl (fun t _ => hStage t), Finset.prod_mul_distrib, + prod_stage_ratio_telescope n (fun i => law (path i)) (fun i => (hLaw _).ne')] + have hLast := (hLaw (path (Fin.last n))).ne' + field_simp + +/-- Under invariance the reversed-kernel chain reproduces the forward path law. -/ +theorem markovReversePathLaw_reversedKernel (law : FiniteLaw S) + (kernel : FiniteKernel S S) (hLaw : ∀ s, 0 < law s) + (hInvariant : IsInvariant law kernel) (n : ℕ) : + markovReversePathLaw (reversedKernel law kernel hLaw hInvariant) law n = + markovPathLaw kernel law n := by + apply FiniteLaw.ext_mass + funext path + exact markovReverseMass_reversedKernel law kernel hLaw hInvariant n path + +/-- The Bayesian time reversal of a stationary chain has zero path entropy +production against the chain itself: reversal by `K†` is the identity on laws. -/ +theorem entropyProduction_markov_reversedKernel_zero (law : FiniteLaw S) + (kernel : FiniteKernel S S) (hLaw : ∀ s, 0 < law s) + (hInvariant : IsInvariant law kernel) (n : ℕ) : + entropyProduction (markovPathProtocol kernel law + (reversedKernel law kernel hLaw hInvariant) law n) = 0 := by + unfold entropyProduction + change finiteKL (markovPathLaw kernel law n) + (markovReversePathLaw (reversedKernel law kernel hLaw hInvariant) law n) = 0 + rw [markovReversePathLaw_reversedKernel] + exact finiteKL_self _ + +end MarkovPaths + +/-! ## Irreversible three-state stationary chain -/ + +/-- Full-support biased three-cycle: stay or step back with mass `1/4`, step +forward with mass `1/2`. -/ +noncomputable def biasedCycleKernel : FiniteKernel (Fin 3) (Fin 3) where + mass := ![![1 / 4, 1 / 2, 1 / 4], ![1 / 4, 1 / 4, 1 / 2], + ![1 / 2, 1 / 4, 1 / 4]] + nonneg i j := by fin_cases i <;> fin_cases j <;> norm_num + sum_one i := by + fin_cases i <;> norm_num [Fin.sum_univ_succ] + +/-- The biased cycle is strictly positive. -/ +theorem biasedCycleKernel_pos (i j : Fin 3) : 0 < biasedCycleKernel i j := by + fin_cases i <;> fin_cases j <;> norm_num [biasedCycleKernel] + +/-- The uniform law is invariant for the doubly stochastic biased cycle. -/ +theorem biasedCycle_invariant : + IsInvariant (FiniteLaw.uniform : FiniteLaw (Fin 3)) biasedCycleKernel := by + apply FiniteLaw.ext_mass + funext j + rw [FiniteKernel.predictive_mass] + fin_cases j <;> + norm_num [biasedCycleKernel, FiniteLaw.uniform, Fin.sum_univ_succ] + +/-- The biased cycle violates detailed balance against its stationary law. -/ +theorem biasedCycle_not_reversible : + ¬ IsReversible (FiniteLaw.uniform : FiniteLaw (Fin 3)) biasedCycleKernel := by + intro hReversible + have h := hReversible 0 1 + norm_num [biasedCycleKernel, FiniteLaw.uniform] at h + +/-- Exact stationary one-step entropy production of the biased cycle: +`(1/4) log 2`. -/ +theorem biasedCycle_entropyProduction : + entropyProduction (markovPathProtocol biasedCycleKernel + FiniteLaw.uniform biasedCycleKernel FiniteLaw.uniform 1) = + Real.log 2 / 4 := by + rw [entropyProduction_markov_stationary biasedCycleKernel FiniteLaw.uniform + (fun _ => by simp [FiniteLaw.uniform]) biasedCycleKernel_pos + biasedCycle_invariant] + norm_num [Fin.sum_univ_succ, biasedCycleKernel, FiniteLaw.uniform] + have hHalf : Real.log (1 / 2 : ℝ) = -Real.log 2 := by + rw [one_div, Real.log_inv] + rw [hHalf] + ring + +/-- The biased cycle has strictly positive stationary entropy production. -/ +theorem biasedCycle_entropyProduction_pos : + 0 < entropyProduction (markovPathProtocol biasedCycleKernel + FiniteLaw.uniform biasedCycleKernel FiniteLaw.uniform 1) := by + rw [biasedCycle_entropyProduction] + have := Real.log_pos (by norm_num : (1 : ℝ) < 2) + linarith + end FEP.PathThermodynamics diff --git a/lean/FepSketches/predictive_coding.lean b/lean/FepSketches/predictive_coding.lean index 6d2b888f..54557e9c 100644 --- a/lean/FepSketches/predictive_coding.lean +++ b/lean/FepSketches/predictive_coding.lean @@ -3,8 +3,13 @@ import Mathlib.Algebra.Order.Ring.Basic import Mathlib.Analysis.Calculus.Deriv.Add import Mathlib.Analysis.Calculus.Deriv.Mul import Mathlib.Analysis.Calculus.Deriv.Pow +import Mathlib.Analysis.Calculus.IteratedDeriv.Defs +import Mathlib.Analysis.SpecialFunctions.ExpDeriv import Mathlib.Basic.Real.Basic +import Mathlib.Analysis.Convex.SpecificFunctions.Basic +import Mathlib.Analysis.SpecialFunctions.Log.Deriv import Mathlib.Order.Filter.Tendsto +import Mathlib.Probability.Distributions.Gaussian.Real import Mathlib.Topology.Algebra.Monoid import Mathlib.Tactic @@ -167,6 +172,75 @@ theorem shift_top_zero {order : ℕ} (jet : FiniteJet order) : change jet.coefficient (order + 1) = 0 exact jet.truncated (order + 1) (by omega) +/-- The order-`order` jet of `f` at `t`: coordinate `k` is the `k`-th iterated +derivative `iteratedDeriv k f t` for `k ≤ order` and zero above the truncation. -/ +noncomputable def functionJet (order : ℕ) (f : ℝ → ℝ) (t : ℝ) : FiniteJet order where + coefficient k := if k ≤ order then iteratedDeriv k f t else 0 + truncated degree hDegree := by + simp [show ¬ degree ≤ order by omega] + +theorem functionJet_coefficient_of_le {order : ℕ} (f : ℝ → ℝ) (t : ℝ) {k : ℕ} + (hk : k ≤ order) : + (functionJet order f t).coefficient k = iteratedDeriv k f t := by + simp [functionJet, hk] + +/-- The one-step shift of the jet of `f` is the jet of `deriv f` on every +coordinate strictly below the truncation order: the shift realises +differentiation. -/ +theorem shift_one_functionJet {order : ℕ} (f : ℝ → ℝ) (t : ℝ) {k : ℕ} + (hk : k < order) : + (shift 1 (functionJet order f t)).coefficient k = + (functionJet order (deriv f) t).coefficient k := by + rw [shift_coefficient, functionJet_coefficient_of_le f t (by omega), + functionJet_coefficient_of_le (deriv f) t (by omega), iteratedDeriv_succ'] + +/-- The `m`-fold shift of the jet of `f` is the jet of the `m`-th iterated +derivative on every coordinate `k` with `k + m ≤ order`. -/ +theorem shift_functionJet {order : ℕ} (m : ℕ) (f : ℝ → ℝ) (t : ℝ) {k : ℕ} + (hk : k + m ≤ order) : + (shift m (functionJet order f t)).coefficient k = + (functionJet order (iteratedDeriv m f) t).coefficient k := by + rw [shift_coefficient, functionJet_coefficient_of_le f t hk, + functionJet_coefficient_of_le (iteratedDeriv m f) t (by omega), + iteratedDeriv_eq_iterate, iteratedDeriv_eq_iterate, iteratedDeriv_eq_iterate, + Function.iterate_add_apply] + +/-- The `(m + 1)`-fold shift is the one-step shift of the `m`-fold shift +(semigroup law via `shift_add`). -/ +theorem shift_functionJet_succ {order : ℕ} (m : ℕ) (f : ℝ → ℝ) (t : ℝ) (k : ℕ) : + (shift (m + 1) (functionJet order f t)).coefficient k = + (shift 1 (shift m (functionJet order f t))).coefficient k := by + rw [show m + 1 = 1 + m from Nat.add_comm m 1, shift_add] + +/-- Truncation boundary: the top coordinate of the shifted jet is zero, while +the jet of `deriv f` keeps the genuine `(order + 1)`-th derivative there. -/ +theorem shift_one_functionJet_top {order : ℕ} (f : ℝ → ℝ) (t : ℝ) : + (shift 1 (functionJet order f t)).coefficient order = 0 ∧ + (functionJet order (deriv f) t).coefficient order = + iteratedDeriv (order + 1) f t := by + refine ⟨shift_top_zero _, ?_⟩ + rw [functionJet_coefficient_of_le (deriv f) t le_rfl, iteratedDeriv_succ'] + +theorem iteratedDeriv_exp_eq (k : ℕ) (t : ℝ) : iteratedDeriv k Real.exp t = Real.exp t := by + induction k generalizing t with + | zero => simp + | succ k ih => + rw [iteratedDeriv_succ', Real.deriv_exp] + exact ih t + +/-- Nonvacuous witness: every retained coordinate of the exponential jet is +`exp t ≠ 0`, and the shift agrees with the jet of the derivative (again `exp`) +below the truncation order while the top coordinate of the shift is zero. -/ +theorem exp_jet_shift_witness (order : ℕ) (t : ℝ) : + (∀ k, k ≤ order → (functionJet order Real.exp t).coefficient k ≠ 0) ∧ + (∀ k, k < order → + (shift 1 (functionJet order Real.exp t)).coefficient k = + (functionJet order (deriv Real.exp) t).coefficient k) ∧ + (shift 1 (functionJet order Real.exp t)).coefficient order = 0 := by + refine ⟨fun k hk => ?_, fun k hk => shift_one_functionJet _ t hk, shift_top_zero _⟩ + rw [functionJet_coefficient_of_le _ t hk, iteratedDeriv_exp_eq] + exact (Real.exp_pos t).ne' + /-- A concrete first-order jet with value and velocity coefficients. -/ def firstOrderJet (value velocity : ℝ) : FiniteJet 1 where coefficient degree := @@ -398,4 +472,168 @@ theorem halfStep_energy_witness : precisionEnergy 2 1 (predictionUpdate (1 / 2) 1 0) = 1 / 4 := by norm_num [precisionEnergy, predictionError, predictionUpdate] +/-! ## Precision as inference -/ + +/-- Scalar free energy of a precision `precision` given a fixed prediction +error `error`: `precision/2 * error² - log(precision)/2`. The log term is the +Gaussian normaliser that makes precision an inferred quantity rather than a +free weight. -/ +noncomputable def precisionFreeEnergy (error precision : ℝ) : ℝ := + precision * error ^ 2 / 2 - Real.log precision / 2 + +/-- Exact gap to the candidate optimum `1/error²`. -/ +theorem precisionFreeEnergy_sub_opt {error : ℝ} (hError : error ≠ 0) + {precision : ℝ} (hPrecision : 0 < precision) : + precisionFreeEnergy error precision - precisionFreeEnergy error (1 / error ^ 2) = + (error ^ 2 * precision - 1 - Real.log (error ^ 2 * precision)) / 2 := by + have hE : 0 < error ^ 2 := by positivity + have hLog : Real.log (error ^ 2 * precision) = + Real.log (error ^ 2) + Real.log precision := + Real.log_mul hE.ne' hPrecision.ne' + have hInv : Real.log (1 / error ^ 2) = -Real.log (error ^ 2) := by + rw [one_div, Real.log_inv] + rw [precisionFreeEnergy, precisionFreeEnergy, hInv, hLog] + field_simp + ring + +/-- The free energy is minimised at `1/error²`. -/ +theorem precisionFreeEnergy_min {error : ℝ} (hError : error ≠ 0) + {precision : ℝ} (hPrecision : 0 < precision) : + precisionFreeEnergy error (1 / error ^ 2) ≤ + precisionFreeEnergy error precision := by + have hE : 0 < error ^ 2 := by positivity + have hGap := precisionFreeEnergy_sub_opt hError hPrecision + have hLe := Real.log_le_sub_one_of_pos (mul_pos hE hPrecision) + linarith + +/-- The minimiser `1/error²` is unique. -/ +theorem precisionFreeEnergy_eq_iff {error : ℝ} (hError : error ≠ 0) + {precision : ℝ} (hPrecision : 0 < precision) : + precisionFreeEnergy error precision = + precisionFreeEnergy error (1 / error ^ 2) ↔ + precision = 1 / error ^ 2 := by + have hE : 0 < error ^ 2 := by positivity + have hGap := precisionFreeEnergy_sub_opt hError hPrecision + have hX : 0 < error ^ 2 * precision := mul_pos hE hPrecision + constructor + · intro hEq + by_contra hNe + have hX1 : error ^ 2 * precision ≠ 1 := by + intro h + apply hNe + field_simp + linarith + have := Real.log_lt_sub_one_of_pos hX hX1 + linarith + · intro h + rw [h] + +/-- Derivative of the precision free energy in the precision. -/ +theorem precisionFreeEnergy_hasDerivAt (error : ℝ) {precision : ℝ} + (hPrecision : 0 < precision) : + HasDerivAt (precisionFreeEnergy error) + (error ^ 2 / 2 - 1 / (2 * precision)) precision := by + have h1 : HasDerivAt (fun p : ℝ => p * error ^ 2 / 2) (error ^ 2 / 2) precision := by + simpa using ((hasDerivAt_id precision).mul_const (error ^ 2)).div_const 2 + have h2 := (Real.hasDerivAt_log hPrecision.ne').div_const 2 + have h3 := h1.sub h2 + have hF : precisionFreeEnergy error = + (fun p : ℝ => p * error ^ 2 / 2) - fun x => Real.log x / 2 := by + funext p + simp [precisionFreeEnergy] + rw [hF] + convert h3 using 1 + field_simp + +/-- The free energy is strictly convex on positive precisions. -/ +theorem precisionFreeEnergy_strictConvexOn (error : ℝ) : + StrictConvexOn ℝ (Set.Ioi 0) (precisionFreeEnergy error) := by + refine ⟨convex_Ioi 0, fun x hx y hy hxy a b ha hb hab => ?_⟩ + have hLog := strictConcaveOn_log_Ioi.2 hx hy hxy ha hb hab + simp only [smul_eq_mul, precisionFreeEnergy] at hLog ⊢ + nlinarith [hLog] + +/-- Boundary case: with zero prediction error no precision is optimal; the +free energy is unbounded below as precision grows. -/ +theorem precisionFreeEnergy_zero_error_unbounded (M : ℝ) : + ∃ precision : ℝ, 0 < precision ∧ precisionFreeEnergy 0 precision < M := by + refine ⟨Real.exp (-2 * M + 2), Real.exp_pos _, ?_⟩ + rw [precisionFreeEnergy, Real.log_exp] + linarith + +/-! ## Linear-Gaussian chain: energy equals negative log-density -/ + +/-- Chain energy: precision-weighted errors minus half the log-precisions. -/ +noncomputable def gaussianChainEnergy {Level : Type*} [Fintype Level] + (precision error : Level → ℝ) : ℝ := + hierarchicalEnergy precision error - (∑ level, Real.log (precision level)) / 2 + +/-- One Gaussian factor: `-log N(x; μ, v)` is the precision-form energy plus +`log(2π)/2`, with precision `1/v`. -/ +theorem neg_log_gaussianPDFReal (mean x : ℝ) {variance : NNReal} + (hVariance : variance ≠ 0) : + -Real.log (ProbabilityTheory.gaussianPDFReal mean variance x) = + (1 / (variance : ℝ)) / 2 * (x - mean) ^ 2 + - Real.log (1 / (variance : ℝ)) / 2 + Real.log (2 * Real.pi) / 2 := by + have hV : 0 < (variance : ℝ) := by + exact_mod_cast pos_iff_ne_zero.mpr hVariance + have hPi := Real.pi_pos + have hArg : 0 < 2 * Real.pi * (variance : ℝ) := by positivity + have hSqrt : 0 < √(2 * Real.pi * (variance : ℝ)) := Real.sqrt_pos.mpr hArg + rw [ProbabilityTheory.gaussianPDFReal, Real.log_mul (inv_ne_zero hSqrt.ne') + (Real.exp_pos _).ne', Real.log_inv, Real.log_exp, Real.log_sqrt hArg.le, + Real.log_mul (by positivity) hV.ne', one_div, Real.log_inv] + field_simp + ring + +/-- A hierarchy of independent Gaussian conditionals (explicit means and +variances per level, observed values `x`): the chain energy equals the +negative log of the product of Gaussian densities up to `n/2 · log(2π)`. -/ +theorem gaussianChainEnergy_eq_neg_log_prod + {Level : Type*} [Fintype Level] + (mean x : Level → ℝ) (variance : Level → NNReal) + (hVariance : ∀ level, variance level ≠ 0) : + -Real.log (∏ level, ProbabilityTheory.gaussianPDFReal + (mean level) (variance level) (x level)) = + gaussianChainEnergy (fun level => 1 / (variance level : ℝ)) + (fun level => x level - mean level) + + (Fintype.card Level : ℝ) / 2 * Real.log (2 * Real.pi) := by + have hNe : ∀ level ∈ (Finset.univ : Finset Level), + ProbabilityTheory.gaussianPDFReal (mean level) (variance level) (x level) ≠ 0 := + fun level _ => (ProbabilityTheory.gaussianPDFReal_pos _ _ _ (hVariance level)).ne' + rw [Real.log_prod hNe, ← Finset.sum_neg_distrib] + simp_rw [neg_log_gaussianPDFReal _ _ (hVariance _)] + rw [gaussianChainEnergy, hierarchicalEnergy, Finset.sum_add_distrib, + Finset.sum_sub_distrib, ← Finset.sum_div, ← Finset.sum_div] + simp [Finset.sum_const, Finset.card_univ] + ring + +/-- Two-level instance with explicit means and variances. -/ +theorem gaussianChain_twoLevel + (mean x : Fin 2 → ℝ) (variance : Fin 2 → NNReal) + (hVariance : ∀ level, variance level ≠ 0) : + -Real.log (ProbabilityTheory.gaussianPDFReal (mean 0) (variance 0) (x 0) * + ProbabilityTheory.gaussianPDFReal (mean 1) (variance 1) (x 1)) = + gaussianChainEnergy (fun level => 1 / (variance level : ℝ)) + (fun level => x level - mean level) + Real.log (2 * Real.pi) := by + have := gaussianChainEnergy_eq_neg_log_prod mean x variance hVariance + rw [Fin.prod_univ_two] at this + rw [this] + simp + +/-- Numeric witness consistent with `twoLevel_energy_witness`: precisions +`2, 4` (variances `1/2, 1/4`) and errors `3, 1` give hierarchical energy `11` +and chain energy `11 - (3/2) log 2`. -/ +theorem twoLevel_chain_energy_witness : + gaussianChainEnergy + (fun level : Fin 2 => if level = 0 then 2 else 4) + (fun level : Fin 2 => if level = 0 then 3 else 1) = + 11 - 3 / 2 * Real.log 2 := by + have h4 : Real.log 4 = 2 * Real.log 2 := by + rw [show (4 : ℝ) = 2 ^ 2 by norm_num, Real.log_pow]; norm_num + rw [gaussianChainEnergy, twoLevelEnergy_witness] + simp [Fin.sum_univ_two, h4] + ring + + end FEP.PredictiveCoding diff --git a/lean/FepSketches/variational_duality.lean b/lean/FepSketches/variational_duality.lean index 650267b4..61cb30df 100644 --- a/lean/FepSketches/variational_duality.lean +++ b/lean/FepSketches/variational_duality.lean @@ -1207,4 +1207,289 @@ theorem boolZeroBudget_unique_feasible (joint : FiniteLaw (Bool × Bool)) rcases xy with ⟨x, y⟩ cases x <;> cases y <;> simp [boolZeroDistortionJoint, htf, hft, htt, hff] +/-! ## Gibbs maximum entropy under a mean-energy constraint -/ + +/-- Unnormalized partition function `Z(β) = ∑ exp(-β E)`. -/ +noncomputable def energyPartition (E : α → ℝ) (β : ℝ) : ℝ := + ∑ x, Real.exp (-β * E x) + +/-- The energy partition function is strictly positive. -/ +theorem energyPartition_pos [Nonempty α] (E : α → ℝ) (β : ℝ) : + 0 < energyPartition E β := + Finset.sum_pos (fun _ _ => Real.exp_pos _) Finset.univ_nonempty + +/-- The Gibbs law `p_β(x) = exp(-β E x) / Z(β)`. -/ +noncomputable def energyGibbsLaw [Nonempty α] (E : α → ℝ) (β : ℝ) : + FiniteLaw α where + mass x := Real.exp (-β * E x) / energyPartition E β + nonneg x := div_nonneg (Real.exp_pos _).le (energyPartition_pos E β).le + sum_one := by + rw [← Finset.sum_div] + exact div_self (energyPartition_pos E β).ne' + +/-- Every atom of the Gibbs law is positive. -/ +theorem energyGibbsLaw_pos [Nonempty α] (E : α → ℝ) (β : ℝ) (x : α) : + 0 < energyGibbsLaw E β x := + div_pos (Real.exp_pos _) (energyPartition_pos E β) + +/-- Entropy decomposition against the Gibbs law: +`H(q) = β⟨E⟩_q + log Z - KL(q ‖ p_β)`. -/ +theorem entropy_eq_energy_add_logPartition_sub_kl [Nonempty α] + (E : α → ℝ) (β : ℝ) (q : FiniteLaw α) : + entropy q = β * expectation q E + Real.log (energyPartition E β) - + finiteKL q (energyGibbsLaw E β) := by + rw [finiteKL_eq_crossEntropy_sub_entropy q _ (energyGibbsLaw_pos E β)] + have hlog : ∀ x, -(q x) * Real.log (energyGibbsLaw E β x) = + q x * (β * E x) + q x * Real.log (energyPartition E β) := by + intro x + change -(q x) * Real.log (Real.exp (-β * E x) / energyPartition E β) = _ + rw [Real.log_div (Real.exp_pos _).ne' (energyPartition_pos E β).ne', + Real.log_exp] + ring + have hce : crossEntropy q (energyGibbsLaw E β) = + β * expectation q E + Real.log (energyPartition E β) := by + unfold crossEntropy expectation + rw [Finset.sum_congr rfl fun x _ => hlog x, Finset.sum_add_distrib, + ← Finset.sum_mul, q.sum_one, one_mul, Finset.mul_sum] + congr 1 + refine Finset.sum_congr rfl fun x _ => by ring + rw [hce] + ring + +/-- Gibbs maximum entropy: among all finite laws with the same mean energy as +`p_β`, the Gibbs law has maximal entropy, and uniquely so. -/ +theorem energyGibbs_maxEntropy [Nonempty α] (E : α → ℝ) (β : ℝ) + (q : FiniteLaw α) + (hq : expectation q E = expectation (energyGibbsLaw E β) E) : + entropy q ≤ entropy (energyGibbsLaw E β) ∧ + (entropy q = entropy (energyGibbsLaw E β) ↔ q = energyGibbsLaw E β) := by + have hq' := entropy_eq_energy_add_logPartition_sub_kl E β q + have hg := entropy_eq_energy_add_logPartition_sub_kl E β + (energyGibbsLaw E β) + rw [finiteKL_self] at hg + rw [hq] at hq' + refine ⟨?_, ?_⟩ + · linarith [finiteKL_nonneg q (energyGibbsLaw E β)] + · rw [← finiteKL_eq_zero_iff] + constructor <;> intro h <;> linarith + +/-- Strict form: a mean-energy-matched law different from `p_β` has strictly +smaller entropy. -/ +theorem energyGibbs_entropy_lt_of_ne [Nonempty α] (E : α → ℝ) (β : ℝ) + (q : FiniteLaw α) + (hq : expectation q E = expectation (energyGibbsLaw E β) E) + (hne : q ≠ energyGibbsLaw E β) : + entropy q < entropy (energyGibbsLaw E β) := + lt_of_le_of_ne (energyGibbs_maxEntropy E β q hq).1 + fun h => hne ((energyGibbs_maxEntropy E β q hq).2.mp h) + +/-- With the zero energy, the Gibbs law is uniform. -/ +theorem energyGibbsLaw_zero_energy [Nonempty α] (β : ℝ) : + energyGibbsLaw (fun _ : α => (0 : ℝ)) β = FiniteLaw.uniform := by + apply FiniteLaw.ext_mass + funext x + simp [energyGibbsLaw, energyPartition, FiniteLaw.uniform] + +/-- Strict constrained witness on `Bool`: with zero energy every law meets the +mean-energy constraint, and the biased law has entropy strictly below the +Gibbs (uniform) law. -/ +theorem boolBiased_entropy_lt_zeroEnergyGibbs (β : ℝ) : + entropy boolBiased < + entropy (energyGibbsLaw (fun _ : Bool => (0 : ℝ)) β) := by + have hne : boolBiased ≠ energyGibbsLaw (fun _ : Bool => (0 : ℝ)) β := by + rw [energyGibbsLaw_zero_energy] + intro h + have := congrArg (fun r : FiniteLaw Bool => r.mass true) h + simp [boolBiased, FiniteLaw.uniform] at this + norm_num at this + refine energyGibbs_entropy_lt_of_ne _ β boolBiased ?_ hne + simp [expectation] + +/-! ## Helmholtz free energy on finite laws + +For energies `E` and temperature `T > 0`, the Gibbs law `exp (-E/T) / Z(T)` +satisfies the exact Helmholtz decomposition +`⟨E⟩_q - T H(q) = F(T) + T KL(q ‖ p_T)` with `F(T) = -T log Z(T)`. This is a +finite-law identification of `F` with a variational free energy; it does not +alter the abstract `dF/dT = -S` statement for unspecified `U, S`. -/ + +/-- Partition function `Z(T) = ∑ exp (-E x / T)`. -/ +noncomputable def helmholtzPartition (E : α → ℝ) (T : ℝ) : ℝ := + ∑ x, Real.exp (-E x / T) + +/-- Helmholtz free energy `F(T) = -T log Z(T)`. -/ +noncomputable def helmholtzFreeEnergy (E : α → ℝ) (T : ℝ) : ℝ := + -T * Real.log (helmholtzPartition E T) + +theorem helmholtzPartition_pos [Nonempty α] (E : α → ℝ) (T : ℝ) : + 0 < helmholtzPartition E T := + Finset.sum_pos (fun _ _ => Real.exp_pos _) Finset.univ_nonempty + +/-- Gibbs law with mass `exp (-E x / T) / Z(T)`. -/ +noncomputable def helmholtzGibbsLaw [Nonempty α] (E : α → ℝ) (T : ℝ) : + FiniteLaw α where + mass x := Real.exp (-E x / T) / helmholtzPartition E T + nonneg x := div_nonneg (Real.exp_pos _).le (helmholtzPartition_pos E T).le + sum_one := by + rw [← Finset.sum_div] + exact div_self (helmholtzPartition_pos E T).ne' + +theorem helmholtzGibbsLaw_pos [Nonempty α] (E : α → ℝ) (T : ℝ) (x : α) : + 0 < helmholtzGibbsLaw E T x := + div_pos (Real.exp_pos _) (helmholtzPartition_pos E T) + +theorem log_helmholtzGibbsLaw [Nonempty α] (E : α → ℝ) (T : ℝ) (x : α) : + Real.log (helmholtzGibbsLaw E T x) = + -E x / T - Real.log (helmholtzPartition E T) := by + change Real.log (Real.exp (-E x / T) / helmholtzPartition E T) = _ + rw [Real.log_div (Real.exp_pos _).ne' (helmholtzPartition_pos E T).ne', + Real.log_exp] + +/-- Helmholtz decomposition: mean energy minus `T` times entropy equals the +free energy plus `T` times the KL divergence to the Gibbs law. -/ +theorem helmholtz_decomposition [Nonempty α] (E : α → ℝ) {T : ℝ} (hT : 0 < T) + (q : FiniteLaw α) : + expectation q E - T * entropy q = + helmholtzFreeEnergy E T + T * finiteKL q (helmholtzGibbsLaw E T) := by + rw [finiteKL_eq_crossEntropy_sub_entropy q _ (helmholtzGibbsLaw_pos E T)] + have hcross : crossEntropy q (helmholtzGibbsLaw E T) = + expectation q E / T + Real.log (helmholtzPartition E T) := by + unfold crossEntropy expectation + simp_rw [log_helmholtzGibbsLaw] + have h : ∀ x, -q x * (-E x / T - Real.log (helmholtzPartition E T)) = + q x * E x / T + q x * Real.log (helmholtzPartition E T) := by + intro x; ring + simp_rw [h] + rw [Finset.sum_add_distrib, ← Finset.sum_div, ← Finset.sum_mul, q.sum_one, + one_mul] + rw [hcross] + unfold helmholtzFreeEnergy + field_simp + ring + +/-- Variational characterisation: the Gibbs free energy lower-bounds the +variational free energy of every law. -/ +theorem helmholtzFreeEnergy_le [Nonempty α] (E : α → ℝ) {T : ℝ} (hT : 0 < T) + (q : FiniteLaw α) : + helmholtzFreeEnergy E T ≤ expectation q E - T * entropy q := by + rw [helmholtz_decomposition E hT q] + have := mul_nonneg hT.le (finiteKL_nonneg q (helmholtzGibbsLaw E T)) + linarith + +/-- Equality holds exactly at the Gibbs law. -/ +theorem helmholtzFreeEnergy_eq_iff [Nonempty α] (E : α → ℝ) {T : ℝ} + (hT : 0 < T) (q : FiniteLaw α) : + expectation q E - T * entropy q = helmholtzFreeEnergy E T ↔ + q = helmholtzGibbsLaw E T := by + rw [helmholtz_decomposition E hT q, ← finiteKL_eq_zero_iff] + constructor + · intro h + have : T * finiteKL q (helmholtzGibbsLaw E T) = 0 := by linarith + exact (mul_eq_zero.mp this).resolve_left hT.ne' + · intro h + rw [h, mul_zero, add_zero] + +/-- Strict inequality away from the Gibbs law. -/ +theorem helmholtzFreeEnergy_lt [Nonempty α] (E : α → ℝ) {T : ℝ} (hT : 0 < T) + (q : FiniteLaw α) (hq : q ≠ helmholtzGibbsLaw E T) : + helmholtzFreeEnergy E T < expectation q E - T * entropy q := by + refine lt_of_le_of_ne (helmholtzFreeEnergy_le E hT q) fun h => hq ?_ + exact (helmholtzFreeEnergy_eq_iff E hT q).mp h.symm + +/-- Entropy of the Gibbs law in terms of the energy-weighted Boltzmann sum. -/ +theorem entropy_helmholtzGibbsLaw [Nonempty α] (E : α → ℝ) {T : ℝ} + (hT : 0 < T) : + entropy (helmholtzGibbsLaw E T) = + (∑ x, Real.exp (-E x / T) * E x) / (T * helmholtzPartition E T) + + Real.log (helmholtzPartition E T) := by + have hZ := (helmholtzPartition_pos E T).ne' + have hterm : ∀ x, Real.negMulLog (helmholtzGibbsLaw E T x) = + Real.exp (-E x / T) * E x / (T * helmholtzPartition E T) + + Real.exp (-E x / T) / helmholtzPartition E T * + Real.log (helmholtzPartition E T) := by + intro x + rw [Real.negMulLog, log_helmholtzGibbsLaw] + change -(Real.exp (-E x / T) / helmholtzPartition E T) * _ = _ + field_simp + ring + unfold entropy + simp_rw [hterm] + rw [Finset.sum_add_distrib, ← Finset.sum_div, ← Finset.sum_mul, + ← Finset.sum_div] + have : (∑ x, Real.exp (-E x / T)) / helmholtzPartition E T = 1 := + div_self hZ + rw [this, one_mul] + +/-- Thermodynamic derivative: `dF/dT = -S(p_T)`. -/ +theorem hasDerivAt_helmholtzFreeEnergy [Nonempty α] (E : α → ℝ) {T : ℝ} + (hT : 0 < T) : + HasDerivAt (helmholtzFreeEnergy E) (-entropy (helmholtzGibbsLaw E T)) T := by + have hterm : ∀ x, HasDerivAt (fun t : ℝ => Real.exp (-E x / t)) + (Real.exp (-E x / T) * (E x / T ^ 2)) T := by + intro x + have h1 : HasDerivAt (fun t : ℝ => -E x / t) (E x / T ^ 2) T := by + have := (hasDerivAt_inv hT.ne').const_mul (-E x) + convert this using 1 + · funext t; simp [div_eq_mul_inv] + · field_simp + exact h1.exp + have hZ : HasDerivAt (helmholtzPartition E) + (∑ x, Real.exp (-E x / T) * (E x / T ^ 2)) T := by + have := HasDerivAt.fun_sum (u := Finset.univ) (fun x _ => hterm x) + convert this using 1 + funext t; simp [helmholtzPartition] + have hlog := hZ.log (helmholtzPartition_pos E T).ne' + have hF := (hasDerivAt_id T).neg.mul hlog + have hfun : helmholtzFreeEnergy E = + (-id) * fun y => Real.log (helmholtzPartition E y) := by + funext t; simp [helmholtzFreeEnergy] + rw [hfun] + refine hF.congr_deriv ?_ + have hZpos := helmholtzPartition_pos E T + rw [entropy_helmholtzGibbsLaw E hT] + simp only [id, Pi.neg_apply] + have : (∑ x, Real.exp (-E x / T) * (E x / T ^ 2)) = + (∑ x, Real.exp (-E x / T) * E x) / T ^ 2 := by + rw [Finset.sum_div] + exact Finset.sum_congr rfl fun x _ => by ring + rw [this] + field_simp + ring + +/-- Two-level energy: `0` on `false`, `1` on `true`. -/ +def helmholtzBoolEnergy : Bool → ℝ := fun b => if b then 1 else 0 + +theorem helmholtzPartition_bool (T : ℝ) : + helmholtzPartition helmholtzBoolEnergy T = Real.exp (-1 / T) + 1 := by + simp [helmholtzPartition, helmholtzBoolEnergy] + +/-- Non-vacuity: at every positive temperature the uniform (non-Gibbs) law on +the two-level system has strictly larger variational free energy than `F(T)`. -/ +theorem helmholtz_bool_uniform_gt {T : ℝ} (hT : 0 < T) : + helmholtzFreeEnergy helmholtzBoolEnergy T < + expectation (FiniteLaw.uniform : FiniteLaw Bool) helmholtzBoolEnergy - + T * entropy (FiniteLaw.uniform : FiniteLaw Bool) := by + apply helmholtzFreeEnergy_lt _ hT + intro h + have h0 := congrArg (fun p : FiniteLaw Bool => p.mass false) h + have hZ : helmholtzPartition helmholtzBoolEnergy T = Real.exp (-1 / T) + 1 := + helmholtzPartition_bool T + have hZpos := helmholtzPartition_pos helmholtzBoolEnergy T + simp only [FiniteLaw.uniform, helmholtzGibbsLaw, helmholtzBoolEnergy, + Fintype.card_bool] at h0 + rw [hZ] at h0 + simp only [Bool.false_eq_true, ↓reduceIte, neg_zero, zero_div, + Real.exp_zero] at h0 + have hpos : 0 < Real.exp (-1 / T) := Real.exp_pos _ + have h1 : Real.exp (-1 / T) = 1 := by + field_simp at h0 + push_cast at h0 + have e : -1 / T = -(1 / T) := by ring + rw [e] + linarith + have h2 := Real.exp_eq_one_iff _ |>.mp h1 + have : (0 : ℝ) < 1 / T := by positivity + have : -1 / T = -(1 / T) := by ring + linarith + end FEP.VariationalDuality diff --git a/specs/openai-math-methods/test_distribution_methods.py b/specs/openai-math-methods/test_distribution_methods.py index d7473e74..fdacbde6 100644 --- a/specs/openai-math-methods/test_distribution_methods.py +++ b/specs/openai-math-methods/test_distribution_methods.py @@ -117,7 +117,7 @@ def test_target_interpreter_installed_methods_api_cli_and_full_visual_export(tmp assert data['package_version'] == {expected_version!r} assert data['counts']['topics'] == len(model.metadata.topic_ids) == 168 assert data['counts']['families'] == 22 -assert data['counts']['authored_edges'] == 146 +assert data['counts']['authored_edges'] == 150 assert data['counts']['capabilities'] == 50 assert inspect_topic(model, 'fep-038')['primary_theorem_qualified'].startswith('fep_fep038.FEP038.') analysis = analyze_topic(model, 'fep-038') diff --git a/src/fep_lean/data/formalism_relations.yaml b/src/fep_lean/data/formalism_relations.yaml index 27822fc0..1a4dc02a 100644 --- a/src/fep_lean/data/formalism_relations.yaml +++ b/src/fep_lean/data/formalism_relations.yaml @@ -583,6 +583,11 @@ edges: target: fep-009 kind: conceptual rationale: The finite blanket foundation proves a normalized conditional factorization and ties each transition row to it, but neither theorem consumes fep-005's finite partition declarations or fep-009's measure-theoretic conditional-independence declarations. A formal cross-topic edge awaits an explicit carrier bridge. + - source: fep-007 + target: fep-028 + kind: formal + rationale: With unit incoming messages and factor exp(-gamma * cost), fep-007's normalized sum-product message equals fep-028's support-aware softmax on the support embedded from the eight nodes into the ten policies, and fep-007's primary message-normalization theorem derives the unit sum of that softmax. The embedding and the exponential factor are explicit in the witness; no general belief-propagation or free-energy claim is made. Added 2026-10-08 (LEAN-8, issue 106). + witness: FEPComposed.fep007_normalizedMessage_is_fep028_softmax - source: fep-008 target: fep-028 kind: conceptual @@ -643,6 +648,11 @@ edges: target: fep-044 kind: conceptual rationale: The explicit quadratic Bregman instance and the alpha-divergence proxy are neighboring but mathematically distinct divergence families. + - source: fep-029 + target: fep-104 + kind: formal + rationale: fep-029's scalar quadratic Bregman divergence is the one-coordinate instance of the generic Bregman divergence of fep-104 with potential v0^2 and gradient 2*v0, and fep-104's mirror-descent three-point identity yields the scalar three-point law for it. Scalar case only; no claim about other potentials or the alpha-divergence proxy. Added 2026-10-08 (LEAN-8, issue 106). + witness: FEPComposed.fep029_quadraticBregman_is_fep104_scalar_instance - source: fep-030 target: fep-031 kind: conceptual @@ -696,6 +706,16 @@ edges: kind: formal rationale: The composed theorem uses fep-042's success count to construct fep-036's smoothed empirical prior before conjugate updating. Reviewed 2026-09-22 against the primary-qualified endpoint rule. The witness carries fep-036 through its reviewed supporting theorems `fep_fep036.FEP036.fep036_smoothedRate_pos` and `fep_fep036.FEP036.fep036_smoothedRate_lt_one` rather than the primary `fep_fep036.FEP036.fep036_smoothedRate_tendsto_of_empiricalRate`; the row stands unchanged. witness: FEPComposed.fep036_empiricalPosterior_closed + - source: fep-046 + target: fep-045 + kind: formal + rationale: A single stick-breaking fraction is the Bernoulli law of fep-045 (allocated weight is the true mass, residual is the false mass), and fep-046's mass-conservation theorem derives the normalization of fep-045's conjugate posterior mass function at the posterior parameter. One break only; no Dirichlet-process or infinite-series claim. Added 2026-10-08 (LEAN-8, issue 106). + witness: FEPComposed.fep046_single_break_is_fep045_bernoulli + - source: fep-050 + target: fep-049 + kind: formal + rationale: Discharging fep-050's second-law premise with fep-049's nonnegative quadratic entropy production derives the Landauer work bound. The identification of the erasure's total entropy change with the constitutive-law entropy production is an explicit premise (`hBalance`) of the witness, a modelling assumption rather than a consequence of either topic. Added 2026-10-08 (LEAN-8, issue 106). + witness: FEPComposed.fep050_landauer_work_bound_from_fep049_entropy_production - source: fep-051 target: fep-017 kind: formal_pairing diff --git a/src/fep_lean/formal/collective_inference.lean b/src/fep_lean/formal/collective_inference.lean index 678d2780..fe3b5b22 100644 --- a/src/fep_lean/formal/collective_inference.lean +++ b/src/fep_lean/formal/collective_inference.lean @@ -398,4 +398,424 @@ theorem coupledPotential_strict_descent exact sq_pos_of_ne_zero (sub_ne_zero.mpr separated) linarith +/-! ## KL-optimal linear and product-of-experts pooling -/ + +section KLPooling + +variable {α ι : Type*} [Fintype α] [Fintype ι] + +/-- Linear pool `∑ᵢ wᵢ pᵢ` for convex weights. -/ +noncomputable def linearPool + (w : ι → ℝ) (hw : ∀ i, 0 ≤ w i) (hsum : ∑ i, w i = 1) + (p : ι → FiniteLaw α) : FiniteLaw α where + mass x := ∑ i, w i * p i x + nonneg x := Finset.sum_nonneg fun i _ => mul_nonneg (hw i) ((p i).nonneg x) + sum_one := by + have each : ∀ i, ∑ x, w i * p i x = w i := fun i => by + rw [← Finset.mul_sum, (p i).sum_one, mul_one] + rw [Finset.sum_comm] + simp only [each] + exact hsum + +/-- Cross-entropy is affine in its first argument over a linear pool. -/ +theorem crossEntropy_linearPool_left + (w : ι → ℝ) (hw : ∀ i, 0 ≤ w i) (hsum : ∑ i, w i = 1) + (p : ι → FiniteLaw α) (q : FiniteLaw α) : + crossEntropy (linearPool w hw hsum p) q = + ∑ i, w i * crossEntropy (p i) q := by + calc + crossEntropy (linearPool w hw hsum p) q = + ∑ x, ∑ i, w i * (-(p i x) * Real.log (q x)) := by + refine Finset.sum_congr rfl fun x _ => ?_ + change -(∑ i, w i * p i x) * Real.log (q x) = _ + rw [neg_mul, Finset.sum_mul, ← Finset.sum_neg_distrib] + exact Finset.sum_congr rfl fun i _ => by ring + _ = ∑ i, w i * crossEntropy (p i) q := by + rw [Finset.sum_comm] + refine Finset.sum_congr rfl fun i _ => ?_ + rw [crossEntropy, Finset.mul_sum] + +/-- Self cross-entropy is entropy. -/ +theorem crossEntropy_self_eq_entropy (p : FiniteLaw α) : + crossEntropy p p = entropy p := by + simp only [crossEntropy, entropy, Real.negMulLog] + +/-- Pythagorean identity for the linear pool: for every full-support `q`, +`∑ wᵢ KL(pᵢ‖q) = ∑ wᵢ KL(pᵢ‖q*) + KL(q*‖q)`, where `q* = ∑ wᵢ pᵢ`. -/ +theorem linearPool_kl_decomposition + (w : ι → ℝ) (hw : ∀ i, 0 ≤ w i) (hsum : ∑ i, w i = 1) + (p : ι → FiniteLaw α) (q : FiniteLaw α) + (hq : ∀ x, 0 < q x) + (hpool : ∀ x, 0 < linearPool w hw hsum p x) : + ∑ i, w i * finiteKL (p i) q = + ∑ i, w i * finiteKL (p i) (linearPool w hw hsum p) + + finiteKL (linearPool w hw hsum p) q := by + have h1 : ∀ i, finiteKL (p i) q = crossEntropy (p i) q - entropy (p i) := + fun i => finiteKL_eq_crossEntropy_sub_entropy _ _ hq + have h2 : ∀ i, finiteKL (p i) (linearPool w hw hsum p) = + crossEntropy (p i) (linearPool w hw hsum p) - entropy (p i) := + fun i => finiteKL_eq_crossEntropy_sub_entropy _ _ hpool + have h3 : finiteKL (linearPool w hw hsum p) q = + crossEntropy (linearPool w hw hsum p) q - + entropy (linearPool w hw hsum p) := + finiteKL_eq_crossEntropy_sub_entropy _ _ hq + have hself := crossEntropy_linearPool_left w hw hsum p (linearPool w hw hsum p) + rw [crossEntropy_self_eq_entropy] at hself + have hq' := crossEntropy_linearPool_left w hw hsum p q + simp only [h1, h2, h3, mul_sub, Finset.sum_sub_distrib] + linarith + +/-- The linear pool minimises the weighted forward KL among full-support +laws. -/ +theorem linearPool_kl_minimal + (w : ι → ℝ) (hw : ∀ i, 0 ≤ w i) (hsum : ∑ i, w i = 1) + (p : ι → FiniteLaw α) (q : FiniteLaw α) + (hq : ∀ x, 0 < q x) + (hpool : ∀ x, 0 < linearPool w hw hsum p x) : + ∑ i, w i * finiteKL (p i) (linearPool w hw hsum p) ≤ + ∑ i, w i * finiteKL (p i) q := by + rw [linearPool_kl_decomposition w hw hsum p q hq hpool] + linarith [finiteKL_nonneg (linearPool w hw hsum p) q] + +/-- Uniqueness: a full-support law that does no worse than the linear pool +equals it. -/ +theorem linearPool_kl_unique_minimiser + (w : ι → ℝ) (hw : ∀ i, 0 ≤ w i) (hsum : ∑ i, w i = 1) + (p : ι → FiniteLaw α) (q : FiniteLaw α) + (hq : ∀ x, 0 < q x) + (hpool : ∀ x, 0 < linearPool w hw hsum p x) + (hle : ∑ i, w i * finiteKL (p i) q ≤ + ∑ i, w i * finiteKL (p i) (linearPool w hw hsum p)) : + q = linearPool w hw hsum p := by + rw [linearPool_kl_decomposition w hw hsum p q hq hpool] at hle + have hzero : finiteKL (linearPool w hw hsum p) q = 0 := + le_antisymm (by linarith) (finiteKL_nonneg _ _) + exact ((finiteKL_eq_zero_iff _ _).mp hzero).symm + +variable [Nonempty α] + +/-- Unnormalized geometric pool `∏ pᵢ^{wᵢ}` at an atom. -/ +noncomputable def logPoolWeight + (w : ι → ℝ) (p : ι → FiniteLaw α) (x : α) : ℝ := + Real.exp (∑ i, w i * Real.log (p i x)) + +/-- Normalizer `Z = ∑ₓ ∏ pᵢ(x)^{wᵢ}` of the geometric pool. -/ +noncomputable def logPoolNormalizer + (w : ι → ℝ) (p : ι → FiniteLaw α) : ℝ := + ∑ x, logPoolWeight w p x + +theorem logPoolNormalizer_pos (w : ι → ℝ) (p : ι → FiniteLaw α) : + 0 < logPoolNormalizer w p := + Finset.sum_pos (fun _ _ => Real.exp_pos _) Finset.univ_nonempty + +/-- Normalized geometric pool (product of experts with exponents `wᵢ`). -/ +noncomputable def logPool (w : ι → ℝ) (p : ι → FiniteLaw α) : FiniteLaw α where + mass x := logPoolWeight w p x / logPoolNormalizer w p + nonneg x := div_nonneg (Real.exp_pos _).le (logPoolNormalizer_pos w p).le + sum_one := by + rw [← Finset.sum_div] + exact div_self (logPoolNormalizer_pos w p).ne' + +theorem logPool_pos (w : ι → ℝ) (p : ι → FiniteLaw α) (x : α) : + 0 < logPool w p x := + div_pos (Real.exp_pos _) (logPoolNormalizer_pos w p) + +theorem log_logPool (w : ι → ℝ) (p : ι → FiniteLaw α) (x : α) : + Real.log (logPool w p x) = + (∑ i, w i * Real.log (p i x)) - Real.log (logPoolNormalizer w p) := by + change Real.log (logPoolWeight w p x / logPoolNormalizer w p) = _ + unfold logPoolWeight + rw [Real.log_div (Real.exp_pos _).ne' (logPoolNormalizer_pos w p).ne', + Real.log_exp] + +/-- Log-pool identity: for every law `q` and full-support experts, +`∑ wᵢ KL(q‖pᵢ) = KL(q‖q_log) − log Z`. -/ +theorem logPool_kl_decomposition + (w : ι → ℝ) (hsum : ∑ i, w i = 1) + (p : ι → FiniteLaw α) (hp : ∀ i x, 0 < p i x) (q : FiniteLaw α) : + ∑ i, w i * finiteKL q (p i) = + finiteKL q (logPool w p) - Real.log (logPoolNormalizer w p) := by + have key : ∑ i, w i * crossEntropy q (p i) = + crossEntropy q (logPool w p) - Real.log (logPoolNormalizer w p) := by + calc + ∑ i, w i * crossEntropy q (p i) = + ∑ x, -(q x) * ∑ i, w i * Real.log (p i x) := by + simp only [crossEntropy] + simp_rw [Finset.mul_sum] + rw [Finset.sum_comm] + refine Finset.sum_congr rfl fun x _ => ?_ + exact Finset.sum_congr rfl fun i _ => by ring + _ = ∑ x, (-(q x) * Real.log (logPool w p x) - + Real.log (logPoolNormalizer w p) * q x) := by + refine Finset.sum_congr rfl fun x _ => ?_ + have := log_logPool w p x + have h : ∑ i, w i * Real.log (p i x) = + Real.log (logPool w p x) + Real.log (logPoolNormalizer w p) := by + linarith + rw [h]; ring + _ = _ := by + rw [Finset.sum_sub_distrib, ← Finset.mul_sum, q.sum_one, mul_one] + rfl + have h1 : ∀ i, finiteKL q (p i) = crossEntropy q (p i) - entropy q := + fun i => finiteKL_eq_crossEntropy_sub_entropy _ _ (hp i) + have h2 : finiteKL q (logPool w p) = + crossEntropy q (logPool w p) - entropy q := + finiteKL_eq_crossEntropy_sub_entropy _ _ (logPool_pos w p) + have hw : ∑ i, w i * entropy q = entropy q := by + rw [← Finset.sum_mul, hsum, one_mul] + simp only [h1, h2, mul_sub, Finset.sum_sub_distrib] + linarith + +/-- The geometric pool attains the value `−log Z` and no law does better. -/ +theorem logPool_kl_minimal + (w : ι → ℝ) (hsum : ∑ i, w i = 1) + (p : ι → FiniteLaw α) (hp : ∀ i x, 0 < p i x) (q : FiniteLaw α) : + ∑ i, w i * finiteKL (logPool w p) (p i) ≤ ∑ i, w i * finiteKL q (p i) := by + rw [logPool_kl_decomposition w hsum p hp, logPool_kl_decomposition w hsum p hp, + finiteKL_self] + linarith [finiteKL_nonneg q (logPool w p)] + +/-- Uniqueness of the geometric-pool minimiser. -/ +theorem logPool_kl_unique_minimiser + (w : ι → ℝ) (hsum : ∑ i, w i = 1) + (p : ι → FiniteLaw α) (hp : ∀ i x, 0 < p i x) (q : FiniteLaw α) + (hle : ∑ i, w i * finiteKL q (p i) ≤ + ∑ i, w i * finiteKL (logPool w p) (p i)) : + q = logPool w p := by + rw [logPool_kl_decomposition w hsum p hp, logPool_kl_decomposition w hsum p hp, + finiteKL_self] at hle + exact (finiteKL_eq_zero_iff _ _).mp + (le_antisymm (by linarith) (finiteKL_nonneg _ _)) + +end KLPooling + +/-! ## Dobrushin contraction for row-stochastic mixing -/ + +section Dobrushin + +variable {ι : Type*} [Fintype ι] [Nonempty ι] + +/-- Spread `max x − min x` of a finite vector of scalar beliefs. -/ +noncomputable def valueSpread (x : ι → ℝ) : ℝ := + Finset.univ.sup' Finset.univ_nonempty x - Finset.univ.inf' Finset.univ_nonempty x + +/-- Row overlap `∑ₖ min(W i k, W j k)`. -/ +noncomputable def rowOverlap (W : ι → ι → ℝ) (i j : ι) : ℝ := + ∑ k, min (W i k) (W j k) + +/-- Scrambling (Dobrushin overlap) coefficient `δ = min_{i,j} rowOverlap`. -/ +noncomputable def scramblingCoefficient (W : ι → ι → ℝ) : ℝ := + Finset.univ.inf' (Finset.univ_nonempty (α := ι × ι)) + (fun ij => rowOverlap W ij.1 ij.2) + +/-- Mixing step `(W x)ᵢ = ∑ₖ W i k · x k`. -/ +noncomputable def mixStep (W : ι → ι → ℝ) (x : ι → ℝ) : ι → ℝ := + fun i => ∑ k, W i k * x k + +theorem valueSpread_nonneg (x : ι → ℝ) : 0 ≤ valueSpread x := by + obtain ⟨i⟩ := ‹Nonempty ι› + unfold valueSpread + have h1 := Finset.le_sup' x (Finset.mem_univ i) + have h2 := Finset.inf'_le x (Finset.mem_univ i) + linarith + +theorem sub_le_valueSpread (x : ι → ℝ) (i j : ι) : x i - x j ≤ valueSpread x := by + unfold valueSpread + have h1 := Finset.le_sup' x (Finset.mem_univ i) + have h2 := Finset.inf'_le x (Finset.mem_univ j) + linarith + +/-- Pairwise bound: two mixed coordinates differ by at most `(1 − overlap)` +times the input spread. -/ +theorem mixStep_diff_le + (W : ι → ι → ℝ) (hrow : ∀ i, ∑ j, W i j = 1) + (x : ι → ℝ) (i j : ι) : + mixStep W x i - mixStep W x j ≤ (1 - rowOverlap W i j) * valueSpread x := by + have hM : ∀ k, x k ≤ Finset.univ.sup' Finset.univ_nonempty x := + fun k => Finset.le_sup' x (Finset.mem_univ k) + have hm : ∀ k, Finset.univ.inf' Finset.univ_nonempty x ≤ x k := + fun k => Finset.inf'_le x (Finset.mem_univ k) + set M := Finset.univ.sup' Finset.univ_nonempty x + set mn := Finset.univ.inf' Finset.univ_nonempty x + have hA : ∑ k, (W i k - min (W i k) (W j k)) * x k ≤ + (1 - rowOverlap W i j) * M := by + calc + _ ≤ ∑ k, (W i k - min (W i k) (W j k)) * M := + Finset.sum_le_sum fun k _ => + mul_le_mul_of_nonneg_left (hM k) (sub_nonneg.mpr (min_le_left _ _)) + _ = (1 - rowOverlap W i j) * M := by + rw [← Finset.sum_mul, Finset.sum_sub_distrib, hrow i] + rfl + have hB : (1 - rowOverlap W i j) * mn ≤ + ∑ k, (W j k - min (W i k) (W j k)) * x k := by + calc + (1 - rowOverlap W i j) * mn = + ∑ k, (W j k - min (W i k) (W j k)) * mn := by + rw [← Finset.sum_mul, Finset.sum_sub_distrib, hrow j] + rfl + _ ≤ _ := + Finset.sum_le_sum fun k _ => + mul_le_mul_of_nonneg_left (hm k) (sub_nonneg.mpr (min_le_right _ _)) + have hdiff : mixStep W x i - mixStep W x j = + ∑ k, (W i k - min (W i k) (W j k)) * x k - + ∑ k, (W j k - min (W i k) (W j k)) * x k := by + simp only [mixStep, ← Finset.sum_sub_distrib] + exact Finset.sum_congr rfl fun k _ => by ring + have hs : valueSpread x = M - mn := rfl + have hexp : (1 - rowOverlap W i j) * (M - mn) = + (1 - rowOverlap W i j) * M - (1 - rowOverlap W i j) * mn := by ring + rw [hdiff, hs, hexp] + linarith + +/-- Dobrushin contraction: `spread (W x) ≤ (1 − δ) · spread x` for every +row-stochastic `W`, with `δ` the scrambling coefficient. -/ +theorem valueSpread_mixStep_le + (W : ι → ι → ℝ) (hrow : ∀ i, ∑ j, W i j = 1) + (x : ι → ℝ) : + valueSpread (mixStep W x) ≤ (1 - scramblingCoefficient W) * valueSpread x := by + obtain ⟨i, _, hi⟩ := Finset.exists_mem_eq_sup' (Finset.univ_nonempty (α := ι)) + (mixStep W x) + obtain ⟨j, _, hj⟩ := Finset.exists_mem_eq_inf' (Finset.univ_nonempty (α := ι)) + (mixStep W x) + have hδ : scramblingCoefficient W ≤ rowOverlap W i j := + Finset.inf'_le (fun ij : ι × ι => rowOverlap W ij.1 ij.2) + (Finset.mem_univ (i, j)) + have hspread : valueSpread (mixStep W x) = mixStep W x i - mixStep W x j := by + unfold valueSpread + rw [hi, hj] + rw [hspread] + calc + mixStep W x i - mixStep W x j ≤ (1 - rowOverlap W i j) * valueSpread x := + mixStep_diff_le W hrow x i j + _ ≤ (1 - scramblingCoefficient W) * valueSpread x := + mul_le_mul_of_nonneg_right (by linarith) (valueSpread_nonneg x) + +/-- Strict contraction when the coefficient is positive and the input is not +already in consensus. -/ +theorem valueSpread_mixStep_lt + (W : ι → ι → ℝ) (hrow : ∀ i, ∑ j, W i j = 1) + (x : ι → ℝ) (hδ : 0 < scramblingCoefficient W) (hx : 0 < valueSpread x) : + valueSpread (mixStep W x) < valueSpread x := by + have h := valueSpread_mixStep_le W hrow x + nlinarith [mul_pos hδ hx] + +end Dobrushin + +/-! ## Dobrushin witnesses -/ + +/-- The fixed two-agent `[[3/4, 1/4], [1/4, 3/4]]` consensus matrix. -/ +noncomputable def consensusMatrix2 : Fin 2 → Fin 2 → ℝ := + fun i j => if i = j then 3 / 4 else 1 / 4 + +theorem consensusMatrix2_nonneg (i j : Fin 2) : 0 ≤ consensusMatrix2 i j := by + unfold consensusMatrix2; split_ifs <;> norm_num + +theorem consensusMatrix2_row (i : Fin 2) : ∑ j, consensusMatrix2 i j = 1 := by + fin_cases i <;> simp [consensusMatrix2, Fin.sum_univ_two] <;> norm_num + +/-- The two-agent matrix has scrambling coefficient at least `1/2`. -/ +theorem consensusMatrix2_scrambling : (1 / 2 : ℝ) ≤ scramblingCoefficient consensusMatrix2 := by + unfold scramblingCoefficient + rw [Finset.le_inf'_iff] + rintro ⟨i, j⟩ _ + fin_cases i <;> fin_cases j <;> + simp [rowOverlap, consensusMatrix2, Fin.sum_univ_two] <;> norm_num + +/-- The mixing step of `consensusMatrix2` is exactly `consensusLeft` / +`consensusRight` at each atom. -/ +theorem mixStep_consensusMatrix2 + {State : Type*} [Fintype State] (left right : FiniteLaw State) (s : State) : + mixStep consensusMatrix2 ![left s, right s] = + ![consensusLeft left right s, consensusRight left right s] := by + funext i + fin_cases i <;> + simp only [mixStep, consensusMatrix2, Fin.sum_univ_two, consensusLeft, + consensusRight, convexMixture, Fin.zero_eta, Fin.mk_one, Fin.isValue, + Matrix.cons_val_zero, Matrix.cons_val_one] <;> + norm_num + +/-- The fixed two-agent consensus step is an instance of Dobrushin +contraction with `δ ≥ 1/2`. -/ +theorem consensus_spread_le_half + {State : Type*} [Fintype State] (left right : FiniteLaw State) (s : State) : + valueSpread ![consensusLeft left right s, consensusRight left right s] ≤ + (1 / 2 : ℝ) * valueSpread ![left s, right s] := by + rw [← mixStep_consensusMatrix2] + have h := valueSpread_mixStep_le consensusMatrix2 consensusMatrix2_row ![left s, right s] + have hs := valueSpread_nonneg ![left s, right s] + have hδ := consensusMatrix2_scrambling + nlinarith + +/-- A concrete asymmetric three-agent row-stochastic matrix. -/ +noncomputable def asymMatrix3 : Fin 3 → Fin 3 → ℝ := + ![![1 / 2, 1 / 4, 1 / 4], ![1 / 5, 3 / 5, 1 / 5], ![1 / 10, 3 / 10, 3 / 5]] + +theorem asymMatrix3_nonneg (i j : Fin 3) : 0 ≤ asymMatrix3 i j := by + fin_cases i <;> fin_cases j <;> norm_num [asymMatrix3] + +theorem asymMatrix3_row (i : Fin 3) : ∑ j, asymMatrix3 i j = 1 := by + fin_cases i <;> simp [asymMatrix3, Fin.sum_univ_three] <;> norm_num + +theorem asymMatrix3_scrambling : (3 / 5 : ℝ) ≤ scramblingCoefficient asymMatrix3 := by + unfold scramblingCoefficient + rw [Finset.le_inf'_iff] + rintro ⟨i, j⟩ _ + fin_cases i <;> fin_cases j <;> + simp [rowOverlap, asymMatrix3, Fin.sum_univ_three] <;> norm_num [min_def] + +/-- Three-agent witness: `δ ≥ 3/5 > 0`, so the vector `(1,0,0)` (spread `≥ 1`) +strictly contracts, with ratio at most `2/5`. -/ +theorem asymMatrix3_strict_contraction : + 0 < scramblingCoefficient asymMatrix3 ∧ + 1 ≤ valueSpread (![1, 0, 0] : Fin 3 → ℝ) ∧ + valueSpread (mixStep asymMatrix3 ![1, 0, 0]) ≤ + (2 / 5 : ℝ) * valueSpread (![1, 0, 0] : Fin 3 → ℝ) ∧ + valueSpread (mixStep asymMatrix3 ![1, 0, 0]) < + valueSpread (![1, 0, 0] : Fin 3 → ℝ) := by + have hδ := asymMatrix3_scrambling + have hx : 1 ≤ valueSpread (![1, 0, 0] : Fin 3 → ℝ) := by + have := sub_le_valueSpread (![1, 0, 0] : Fin 3 → ℝ) 0 1 + simpa using this + have hle := valueSpread_mixStep_le asymMatrix3 asymMatrix3_row ![1, 0, 0] + refine ⟨by linarith, hx, by nlinarith [valueSpread_nonneg (![1, 0, 0] : Fin 3 → ℝ)], + valueSpread_mixStep_lt asymMatrix3 asymMatrix3_row _ + (by linarith) (by linarith)⟩ + +/-- Identity mixing (no coupling). -/ +noncomputable def identityMixing2 : Fin 2 → Fin 2 → ℝ := + fun i j => if i = j then 1 else 0 + +theorem identityMixing2_nonneg (i j : Fin 2) : 0 ≤ identityMixing2 i j := by + unfold identityMixing2; split_ifs <;> norm_num + +theorem identityMixing2_row (i : Fin 2) : ∑ j, identityMixing2 i j = 1 := by + fin_cases i <;> simp [identityMixing2] + +/-- Non-scrambling witness: the identity has `δ = 0`, and the spread of +`(1,0)` is unchanged by mixing, so no contraction occurs. -/ +theorem identityMixing2_no_contraction : + scramblingCoefficient identityMixing2 = 0 ∧ + 0 < valueSpread (![1, 0] : Fin 2 → ℝ) ∧ + valueSpread (mixStep identityMixing2 ![1, 0]) = + valueSpread (![1, 0] : Fin 2 → ℝ) := by + have hle : scramblingCoefficient identityMixing2 ≤ 0 := by + have h := Finset.inf'_le (fun ij : Fin 2 × Fin 2 => rowOverlap identityMixing2 ij.1 ij.2) + (Finset.mem_univ ((0, 1) : Fin 2 × Fin 2)) + have h0 : rowOverlap identityMixing2 0 1 = 0 := by + simp [rowOverlap, identityMixing2, Fin.sum_univ_two] + exact h.trans h0.le + have hge : 0 ≤ scramblingCoefficient identityMixing2 := by + unfold scramblingCoefficient + rw [Finset.le_inf'_iff] + rintro ⟨i, j⟩ _ + exact Finset.sum_nonneg fun k _ => + le_min (identityMixing2_nonneg _ _) (identityMixing2_nonneg _ _) + have hmix : mixStep identityMixing2 ![1, 0] = ![1, 0] := by + funext i + fin_cases i <;> simp [mixStep, identityMixing2] + refine ⟨le_antisymm hle hge, ?_, by rw [hmix]⟩ + have := sub_le_valueSpread (![1, 0] : Fin 2 → ℝ) 0 1 + simp at this + linarith + end FEP.CollectiveInference diff --git a/src/fep_lean/formal/compositions/core.lean b/src/fep_lean/formal/compositions/core.lean index 60edcb07..ee51ef2d 100644 --- a/src/fep_lean/formal/compositions/core.lean +++ b/src/fep_lean/formal/compositions/core.lean @@ -3,6 +3,10 @@ import FepSketches.active_inference import FepSketches.information_geometry import FepSketches.markov_blanket import FepSketches.statistical_convergence +import FepSketches.controlled_markov +import FepSketches.temporal_inference +import FepSketches.path_thermodynamics +import FepSketches.geometric_optimization import Mathlib.Analysis.SpecialFunctions.BinaryEntropy namespace FEPComposed @@ -323,4 +327,140 @@ theorem fep039_partitionEnergy_conservation fep_fep005.FEP005.fep005_partitionCover] using (Finset.sum_fiberwise (s := Finset.univ) assign stateEnergy) +/-- One stick-breaking fraction is the Bernoulli law of fep-045: the allocated +weight and the residual are its `true` and `false` masses. Applied to the +conjugate posterior parameter, fep-046's mass-conservation law derives the +normalization of fep-045's posterior mass function. -/ +theorem fep046_single_break_is_fep045_bernoulli (p l₀ l₁ : ℝ) : + fep_fep046.FEP046.fep046_stickWeights + [fep_fep045.FEP045.fep045_posteriorParameter p l₀ l₁] = + [fep_fep045.FEP045.fep045_bernoulliMass + (fep_fep045.FEP045.fep045_posteriorParameter p l₀ l₁) true] ∧ + fep_fep046.FEP046.fep046_remainder + [fep_fep045.FEP045.fep045_posteriorParameter p l₀ l₁] = + fep_fep045.FEP045.fep045_bernoulliMass + (fep_fep045.FEP045.fep045_posteriorParameter p l₀ l₁) false ∧ + ∑ b : Bool, fep_fep045.FEP045.fep045_bernoulliMass + (fep_fep045.FEP045.fep045_posteriorParameter p l₀ l₁) b = 1 := by + refine ⟨?_, ?_, ?_⟩ + · simp [fep_fep046.FEP046.fep046_stickWeights, + fep_fep045.FEP045.fep045_bernoulliMass] + · simp [fep_fep046.FEP046.fep046_remainder, + fep_fep045.FEP045.fep045_bernoulliMass] + · have hconserve := fep_fep046.FEP046.fep046_mass_conservation + [fep_fep045.FEP045.fep045_posteriorParameter p l₀ l₁] + simp [fep_fep046.FEP046.fep046_stickWeights, + fep_fep046.FEP046.fep046_remainder, + fep_fep045.FEP045.fep045_bernoulliMass] at hconserve ⊢ + +/-! ## Derivations from released core topics + +Reviewed derivational edges for core topics that previously had no relation +(LEAN-8). The five expansion leaves own exactly one bridge per expansion +topic, so these core-topic derivations live here. -/ + +section CoreTopicDerivations + +open FEP FEP.ControlledMarkov FEP.TemporalInference FEP.FiniteInformation + FEP.FiniteMarkovDynamics FEP.GeometricOptimization FEP.InformationGeometry + FEP.PathThermodynamics Finset +open scoped BigOperators Matrix + +/-- With unit incoming messages and factor `exp (-gamma * cost)`, fep-007's +normalized sum-product message is fep-028's support-aware softmax on the +support embedded from `Fin 8` into the ten-policy type. Consequently fep-007's +message normalization derives the unit sum of that softmax. -/ +theorem fep007_normalizedMessage_is_fep028_softmax + (gamma : ℝ) (cost : Fin 10 → ℝ) (neighbors : Finset (Fin 8)) + (hNeighbors : neighbors.Nonempty) (node : Fin 8) : + (∀ target : Fin 8, + fep_fep007.FEP007.fep007_normalizedMessage + (fun _ source => + Real.exp (-gamma * cost (Fin.castLE (by norm_num) source))) + (fun _ => 1) neighbors node target = + fep_fep028.FEP028.fep028_softmax gamma cost + (neighbors.map ⟨Fin.castLE (by norm_num), Fin.castLE_injective _⟩) + (Fin.castLE (by norm_num) target)) ∧ + (∑ policy ∈ neighbors.map + ⟨Fin.castLE (by norm_num), Fin.castLE_injective _⟩, + fep_fep028.FEP028.fep028_softmax gamma cost + (neighbors.map ⟨Fin.castLE (by norm_num), Fin.castLE_injective _⟩) + policy = 1) := by + have hIdentify : ∀ target : Fin 8, + fep_fep007.FEP007.fep007_normalizedMessage + (fun _ source => + Real.exp (-gamma * cost (Fin.castLE (by norm_num) source))) + (fun _ => 1) neighbors node target = + fep_fep028.FEP028.fep028_softmax gamma cost + (neighbors.map ⟨Fin.castLE (by norm_num), Fin.castLE_injective _⟩) + (Fin.castLE (by norm_num) target) := by + intro target + classical + simp only [fep_fep007.FEP007.fep007_normalizedMessage, + fep_fep007.FEP007.fep007_unnormalizedMessage, + fep_fep007.FEP007.fep007_messageNormalizer, + fep_fep028.FEP028.fep028_softmax, mul_one, Finset.sum_map, + Function.Embedding.coeFn_mk] + simp + refine ⟨hIdentify, ?_⟩ + rw [Finset.sum_map] + simp only [Function.Embedding.coeFn_mk] + calc + _ = ∑ target ∈ neighbors, + fep_fep007.FEP007.fep007_normalizedMessage + (fun _ source => + Real.exp (-gamma * cost (Fin.castLE (by norm_num) source))) + (fun _ => 1) neighbors node target := + Finset.sum_congr rfl fun target _ => (hIdentify target).symm + _ = 1 := + fep_fep007.FEP007.fep007_normalizedMessage_sum_one _ _ neighbors node + hNeighbors (fun _ _ => Real.exp_pos _) (fun _ _ => one_pos) + +/-- fep-029's scalar quadratic Bregman divergence is the one-coordinate +instance of the generic Bregman divergence of fep-104 with potential `v 0 ^ 2` +and gradient `2 * v 0`; the fep-104 three-point identity therefore yields the +scalar three-point law for fep-029's divergence. -/ +theorem fep029_quadraticBregman_is_fep104_scalar_instance (x y z : ℝ) : + bregmanDivergence (d := 1) (fun v => v 0 ^ 2) (fun v _ => 2 * v 0) + (fun _ => x) (fun _ => y) = + fep_fep029.FEP029.fep029_quadraticBregman x y ∧ + fep_fep029.FEP029.fep029_quadraticBregman x z - + fep_fep029.FEP029.fep029_quadraticBregman x y - + fep_fep029.FEP029.fep029_quadraticBregman y z = + 2 * (y - z) * (x - y) := by + have hIdentify : ∀ a b : ℝ, + bregmanDivergence (d := 1) (fun v => v 0 ^ 2) (fun v _ => 2 * v 0) + (fun _ => a) (fun _ => b) = + fep_fep029.FEP029.fep029_quadraticBregman a b := by + intro a b + simp [bregmanDivergence, coordinatePairing, + fep_fep029.FEP029.fep029_quadraticBregman] + refine ⟨hIdentify x y, ?_⟩ + have hThree := fep_fep104.FEP104.fep104_mirrorDescent_threePoint_identity + (d := 1) (fun v => v 0 ^ 2) (fun v _ => 2 * v 0) + (fun _ => x) (fun _ => y) (fun _ => z) + rw [hIdentify, hIdentify, hIdentify] at hThree + simpa [coordinatePairing, mul_sub, sub_mul] using hThree + +/-- Discharging fep-050's second-law premise with fep-049's nonnegative +quadratic entropy production derives the Landauer work bound. The explicit +`hBalance` premise identifies the erasure's total entropy change with the +constitutive-law entropy production; it is a modelling assumption, not a +consequence of either topic. -/ +theorem fep050_landauer_work_bound_from_fep049_entropy_production + {Edge : Type*} [Fintype Edge] {W Q T kB : ℝ} (hT : 0 < T) + (conductance force : Edge → ℝ) + (hConductance : ∀ edge, 0 ≤ conductance edge) + (hBalance : fep_fep050.FEP050.fep050_totalEntropyChange Q T kB = + fep_fep049.FEP049.fep049_entropyProduction conductance force) + (hWorkHeat : Q ≤ W) : + fep_fep050.FEP050.fep050_landauerBound kB T ≤ W := by + have hSecondLaw : 0 ≤ fep_fep050.FEP050.fep050_totalEntropyChange Q T kB := by + rw [hBalance] + exact fep_fep049.FEP049.fep049_entropyProduction_nonneg + conductance force hConductance + exact fep_fep050.FEP050.fep050_landauer_work_bound hT hSecondLaw hWorkHeat + +end CoreTopicDerivations + end FEPComposed diff --git a/src/fep_lean/formal/finite_information.lean b/src/fep_lean/formal/finite_information.lean index 6bf045bd..0378a47b 100644 --- a/src/fep_lean/formal/finite_information.lean +++ b/src/fep_lean/formal/finite_information.lean @@ -455,4 +455,64 @@ theorem mutualInformation_le_predictive_entropy hprior hpredictive] linarith [conditionalEntropy_nonneg prior kernel] +/-! ## Maximum entropy on the uniform carrier -/ + +/-- Every atom of the uniform law on a nonempty finite type is positive. -/ +theorem uniform_mass_pos [Nonempty α] (x : α) : + 0 < (FiniteLaw.uniform : FiniteLaw α) x := by + change 0 < ((Fintype.card α : ℝ)⁻¹) + exact inv_pos.mpr (Nat.cast_pos.mpr Fintype.card_pos) + +/-- Cross-entropy against the uniform law is the constant `log n`. -/ +theorem crossEntropy_uniform [Nonempty α] (p : FiniteLaw α) : + crossEntropy p FiniteLaw.uniform = Real.log (Fintype.card α) := by + unfold crossEntropy + have h : ∀ x : α, -(p x) * Real.log ((FiniteLaw.uniform : FiniteLaw α) x) = + p x * Real.log (Fintype.card α) := by + intro x + change -(p x) * Real.log ((Fintype.card α : ℝ)⁻¹) = _ + rw [Real.log_inv] + ring + rw [Finset.sum_congr rfl fun x _ => h x, ← Finset.sum_mul, p.sum_one, one_mul] + +/-- Maximum entropy on a finite carrier: `H(p) ≤ log n`. -/ +theorem entropy_le_log_card [Nonempty α] (p : FiniteLaw α) : + entropy p ≤ Real.log (Fintype.card α) := by + have h := finiteKL_eq_crossEntropy_sub_entropy p FiniteLaw.uniform + uniform_mass_pos + rw [crossEntropy_uniform] at h + linarith [finiteKL_nonneg p (FiniteLaw.uniform : FiniteLaw α)] + +/-- The bound `H(p) = log n` is attained exactly by the uniform law. -/ +theorem entropy_eq_log_card_iff [Nonempty α] (p : FiniteLaw α) : + entropy p = Real.log (Fintype.card α) ↔ p = FiniteLaw.uniform := by + have h := finiteKL_eq_crossEntropy_sub_entropy p FiniteLaw.uniform + uniform_mass_pos + rw [crossEntropy_uniform] at h + rw [← finiteKL_eq_zero_iff] + constructor <;> intro h' <;> linarith + +/-- Strict form: any non-uniform law has entropy strictly below `log n`. -/ +theorem entropy_lt_log_card_of_ne_uniform [Nonempty α] (p : FiniteLaw α) + (hp : p ≠ FiniteLaw.uniform) : + entropy p < Real.log (Fintype.card α) := + lt_of_le_of_ne (entropy_le_log_card p) + fun h => hp ((entropy_eq_log_card_iff p).mp h) + +/-- A biased Bool law with masses `3/4` and `1/4`. -/ +noncomputable def boolBiased : FiniteLaw Bool where + mass b := if b then 3 / 4 else 1 / 4 + nonneg b := by cases b <;> norm_num + sum_one := by simp; norm_num + +/-- Strict witness: the biased Bool law has entropy strictly below `log 2`. -/ +theorem boolBiased_entropy_lt_log_two : + entropy boolBiased < Real.log 2 := by + have hne : boolBiased ≠ (FiniteLaw.uniform : FiniteLaw Bool) := by + intro h + have := congrArg (fun r : FiniteLaw Bool => r.mass true) h + simp [boolBiased, FiniteLaw.uniform] at this + norm_num at this + simpa using entropy_lt_log_card_of_ne_uniform boolBiased hne + end FEP.FiniteInformation diff --git a/src/fep_lean/formal/helmholtz_ao_ness.lean b/src/fep_lean/formal/helmholtz_ao_ness.lean index 43dc2c59..b49a7403 100644 --- a/src/fep_lean/formal/helmholtz_ao_ness.lean +++ b/src/fep_lean/formal/helmholtz_ao_ness.lean @@ -1,4 +1,5 @@ import FepSketches.continuous_time_markov +import FepSketches.geometric_mechanics import Mathlib.Tactic /-! @@ -55,80 +56,15 @@ namespace FEP.HelmholtzAoNess open FEP FEP.ContinuousTimeMarkov Finset open scoped BigOperators -/-! ## Skew bilinear algebra: the cancellation terms -/ - -section SkewAlgebra - -variable {n : ℕ} - -/-- Dot product of plain real vectors indexed by `Fin n`. -/ -def dot (v w : Fin n → ℝ) : ℝ := ∑ i, v i * w i - -/-- Matrix–vector product for a plain real matrix indexed by `Fin n`. -/ -def mulVec (M : Fin n → Fin n → ℝ) (v : Fin n → ℝ) : Fin n → ℝ := - fun i => ∑ k, M i k * v k - -/-- Matrix product for plain real matrices indexed by `Fin n`. -/ -def mulOf (A B : Fin n → Fin n → ℝ) : Fin n → Fin n → ℝ := - fun i j => ∑ k, A i k * B k j - -/-- Plain trace of a plain real matrix indexed by `Fin n`. -/ -def traceOf (M : Fin n → Fin n → ℝ) : ℝ := ∑ i, M i i - -/-- Skew-symmetry `Mᵀ = -M` for a plain real matrix. -/ -def SkewSymmetric (M : Fin n → Fin n → ℝ) : Prop := ∀ i j, M i j = -M j i - -/-- Symmetry `Mᵀ = M` for a plain real matrix; the finite Hessian role. -/ -def SymmetricOf (M : Fin n → Fin n → ℝ) : Prop := ∀ i j, M i j = M j i - -/-- Double-index swap for sums over `Fin n × Fin n`: after -`Finset.sum_comm` the two binder orders are alpha-equivalent. -/ -theorem sum_swapPairs {f : Fin n → Fin n → ℝ} : - ∑ i, ∑ j, f i j = ∑ i, ∑ j, f j i := by - rw [Finset.sum_comm] - -/-- Negation commutes with a double sum over `Fin n × Fin n`. -/ -theorem sum_negPairs {f : Fin n → Fin n → ℝ} : - ∑ i, ∑ j, -f i j = -∑ i, ∑ j, f i j := by - rw [Finset.sum_congr rfl fun i _ => Finset.sum_neg_distrib (f := fun j => f i j), - Finset.sum_neg_distrib (f := fun i => ∑ j, f i j)] - -/-- A skew-symmetric matrix annihilates its own quadratic form. -/ -theorem skewQuadratic_eq_zero (Q : Fin n → Fin n → ℝ) (g : Fin n → ℝ) - (hQ : SkewSymmetric Q) : dot g (mulVec Q g) = 0 := by - have key : dot g (mulVec Q g) = ∑ i, ∑ j, Q i j * (g i * g j) := by - simp only [dot, mulVec, Finset.mul_sum] - exact Finset.sum_congr rfl fun i _ => - Finset.sum_congr rfl fun j _ => by ring - have negated : dot g (mulVec Q g) = -dot g (mulVec Q g) := by - calc dot g (mulVec Q g) - = ∑ i, ∑ j, Q i j * (g i * g j) := key - _ = ∑ i, ∑ j, Q j i * (g j * g i) := sum_swapPairs - _ = ∑ i, ∑ j, -(Q i j * (g i * g j)) := by - refine Finset.sum_congr rfl fun i _ => ?_ - exact Finset.sum_congr rfl fun j _ => by rw [hQ j i]; ring - _ = -∑ i, ∑ j, Q i j * (g i * g j) := sum_negPairs - _ = -dot g (mulVec Q g) := by rw [key] - linarith - -/-- The trace-term cancellation: a skew matrix contracted against a -symmetric matrix has zero trace. -/ -theorem skewTrace_eq_zero (Q H : Fin n → Fin n → ℝ) - (hQ : SkewSymmetric Q) (hH : SymmetricOf H) : traceOf (mulOf Q H) = 0 := by - have key : traceOf (mulOf Q H) = ∑ i, ∑ j, Q i j * H j i := by - simp only [traceOf, mulOf] - have negated : traceOf (mulOf Q H) = -traceOf (mulOf Q H) := by - calc traceOf (mulOf Q H) - = ∑ i, ∑ j, Q i j * H j i := key - _ = ∑ i, ∑ j, Q j i * H i j := sum_swapPairs - _ = ∑ i, ∑ j, -(Q i j * H j i) := by - refine Finset.sum_congr rfl fun i _ => ?_ - exact Finset.sum_congr rfl fun j _ => by rw [hQ j i, hH i j]; ring - _ = -∑ i, ∑ j, Q i j * H j i := sum_negPairs - _ = -traceOf (mulOf Q H) := by rw [key] - linarith - -end SkewAlgebra +/-! ## Skew bilinear algebra (shared matrix kit) + +The plain-matrix kit and its cancellation lemmas are defined once in +`FEP.GeometricMechanics`; the names are re-exported here so that +`FEP.HelmholtzAoNess.` keeps resolving to the same declarations. -/ + +export FEP.GeometricMechanics + (dot mulVec mulOf traceOf SkewSymmetric SymmetricOf sum_swapPairs + sum_negPairs skewTrace_eq_zero skewQuadratic_eq_zero) /-! ## The Helmholtz–Ao decomposition of a rate field -/ diff --git a/src/fep_lean/formal/path_thermodynamics.lean b/src/fep_lean/formal/path_thermodynamics.lean index 43fc447b..6ef6f9a9 100644 --- a/src/fep_lean/formal/path_thermodynamics.lean +++ b/src/fep_lean/formal/path_thermodynamics.lean @@ -463,4 +463,525 @@ theorem irreversibleForward_unitWork_not_jarzynski : rw [hSum] at hNormalization linarith +/-! ## Markov path laws -/ + +section MarkovPaths + +variable {S : Type*} [Fintype S] + +/-- Mass of a length-`n+1` trajectory under a homogeneous Markov chain: +initial mass times the product of stage transition masses. -/ +def markovPathMass (kernel : FiniteKernel S S) (initial : FiniteLaw S) (n : ℕ) + (path : Fin (n + 1) → S) : ℝ := + initial (path 0) * ∏ t : Fin n, kernel (path t.castSucc) (path t.succ) + +/-- Mass of the same trajectory read backwards, in forward coordinates, under a +chain driven by `reverse` and started from `final` at the last time. -/ +def markovReverseMass (reverse : FiniteKernel S S) (final : FiniteLaw S) (n : ℕ) + (path : Fin (n + 1) → S) : ℝ := + final (path (Fin.last n)) * ∏ t : Fin n, reverse (path t.succ) (path t.castSucc) + +/-- Appending one step multiplies the path mass by one transition mass. -/ +theorem markovPathMass_snoc (kernel : FiniteKernel S S) (initial : FiniteLaw S) + (n : ℕ) (path : Fin (n + 1) → S) (next : S) : + markovPathMass kernel initial (n + 1) + (Fin.snoc (α := fun _ => S) path next) = + markovPathMass kernel initial n path * kernel (path (Fin.last n)) next := by + unfold markovPathMass + rw [Fin.prod_univ_castSucc] + have hStage : ∀ t : Fin n, + kernel ((Fin.snoc (α := fun _ => S) path next) t.castSucc.castSucc) + ((Fin.snoc (α := fun _ => S) path next) t.castSucc.succ) = + kernel (path t.castSucc) (path t.succ) := by + intro t + rw [Fin.succ_castSucc, Fin.snoc_castSucc, Fin.snoc_castSucc] + have hZero : (Fin.snoc (α := fun _ => S) path next) (0 : Fin (n + 2)) = + path 0 := by + rw [← Fin.castSucc_zero, Fin.snoc_castSucc] + have hLast : (Fin.snoc (α := fun _ => S) path next) + (Fin.last n).castSucc = path (Fin.last n) := Fin.snoc_castSucc _ _ _ + have hNext : (Fin.snoc (α := fun _ => S) path next) + (Fin.last n).succ = next := by + rw [Fin.succ_last] + exact Fin.snoc_last _ _ + rw [Finset.prod_congr rfl (fun t _ => hStage t), hZero, hLast, hNext] + ring + +/-- Every Markov path mass is nonnegative. -/ +theorem markovPathMass_nonneg (kernel : FiniteKernel S S) + (initial : FiniteLaw S) (n : ℕ) (path : Fin (n + 1) → S) : + 0 ≤ markovPathMass kernel initial n path := + mul_nonneg (initial.nonneg _) + (Finset.prod_nonneg fun _ _ => kernel.nonneg _ _) + +/-- Total Markov path mass is one, by induction on the horizon. -/ +theorem markovPathMass_sum_one (kernel : FiniteKernel S S) + (initial : FiniteLaw S) (n : ℕ) : + ∑ path : Fin (n + 1) → S, markovPathMass kernel initial n path = 1 := by + induction n with + | zero => + have hBase : ∀ path : Fin 1 → S, + markovPathMass kernel initial 0 path = initial (path 0) := by + intro path + simp [markovPathMass] + simp_rw [hBase] + rw [Fintype.sum_equiv (Equiv.funUnique (Fin 1) S) _ (fun s => initial s) + (fun path => by simp)] + exact initial.sum_one + | succ n ih => + rw [← (Fin.snocEquiv fun _ : Fin (n + 2) => S).sum_comp, Fintype.sum_prod_type] + have hSnoc : ∀ (next : S) (path : Fin (n + 1) → S), + markovPathMass kernel initial (n + 1) + ((Fin.snocEquiv fun _ : Fin (n + 2) => S) (next, path)) = + markovPathMass kernel initial n path * + kernel (path (Fin.last n)) next := by + intro next path + exact markovPathMass_snoc kernel initial n path next + simp_rw [hSnoc] + rw [Finset.sum_comm] + calc + (∑ path : Fin (n + 1) → S, ∑ next : S, + markovPathMass kernel initial n path * + kernel (path (Fin.last n)) next) = + ∑ path : Fin (n + 1) → S, markovPathMass kernel initial n path := by + apply Finset.sum_congr rfl + intro path _ + rw [← Finset.mul_sum, (kernel.sum_one _), mul_one] + _ = 1 := ih + +/-- Forward Markov path law on `Fin (n+1) → S`, normalized by +`markovPathMass_sum_one`. -/ +def markovPathLaw (kernel : FiniteKernel S S) (initial : FiniteLaw S) (n : ℕ) : + FiniteLaw (Fin (n + 1) → S) where + mass := markovPathMass kernel initial n + nonneg := markovPathMass_nonneg kernel initial n + sum_one := markovPathMass_sum_one kernel initial n + +/-- Reversal of a trajectory: read it backwards. -/ +def pathReverse (n : ℕ) (path : Fin (n + 1) → S) : Fin (n + 1) → S := + path ∘ Fin.rev + +omit [Fintype S] in +/-- Trajectory reversal is an involution. -/ +theorem pathReverse_involutive (n : ℕ) : + Function.Involutive (pathReverse (S := S) n) := by + intro path + funext i + simp [pathReverse] + +/-- The aligned reverse mass is the reverse chain's forward mass at the +reversed trajectory. -/ +theorem markovReverseMass_eq (reverse : FiniteKernel S S) (final : FiniteLaw S) + (n : ℕ) (path : Fin (n + 1) → S) : + markovReverseMass reverse final n path = + markovPathMass reverse final n (pathReverse n path) := by + unfold markovReverseMass markovPathMass pathReverse + simp only [Function.comp_apply, Fin.rev_zero, Fin.rev_castSucc, Fin.rev_succ] + congr 1 + exact (Equiv.prod_comp Fin.revPerm + fun t => reverse (path t.succ) (path t.castSucc)).symm + +/-- Reverse-driven path law, expressed in forward-path coordinates. -/ +def markovReversePathLaw (reverse : FiniteKernel S S) (final : FiniteLaw S) + (n : ℕ) : FiniteLaw (Fin (n + 1) → S) where + mass := markovReverseMass reverse final n + nonneg path := by + rw [markovReverseMass_eq] + exact markovPathMass_nonneg reverse final n _ + sum_one := by + simp_rw [markovReverseMass_eq] + exact (Equiv.sum_comp (pathReverse_involutive (S := S) n).toPerm + (markovPathMass reverse final n)).trans + (markovPathMass_sum_one reverse final n) + +/-- The forward Markov path law paired with a reverse-driven chain, with +trajectory reversal as the involution. -/ +noncomputable def markovPathProtocol + (kernel : FiniteKernel S S) (initial : FiniteLaw S) + (reverse : FiniteKernel S S) (final : FiniteLaw S) (n : ℕ) : + FinitePathProtocol (Fin (n + 1) → S) where + forward := markovPathLaw kernel initial n + reverseAligned := markovReversePathLaw reverse final n + reversal := pathReverse n + reversal_involutive := pathReverse_involutive n + +/-- Supported trajectories have positive forward mass. -/ +theorem markovPathMass_pos (kernel : FiniteKernel S S) (initial : FiniteLaw S) + (hInitial : ∀ s, 0 < initial s) (hKernel : ∀ a b, 0 < kernel a b) + (n : ℕ) (path : Fin (n + 1) → S) : + 0 < markovPathMass kernel initial n path := + mul_pos (hInitial _) (Finset.prod_pos fun _ _ => hKernel _ _) + +/-- Supported trajectories have positive aligned reverse mass. -/ +theorem markovReverseMass_pos (reverse : FiniteKernel S S) (final : FiniteLaw S) + (hFinal : ∀ s, 0 < final s) (hReverse : ∀ a b, 0 < reverse a b) + (n : ℕ) (path : Fin (n + 1) → S) : + 0 < markovReverseMass reverse final n path := + mul_pos (hFinal _) (Finset.prod_pos fun _ _ => hReverse _ _) + +/-- Pathwise entropy production of a Markov path protocol is a boundary log +ratio plus the sum of stage log ratios `log (K_{x_t x_{t+1}} / R_{x_{t+1} x_t})`. -/ +theorem pathwiseEntropyProduction_markov + (kernel reverse : FiniteKernel S S) (initial final : FiniteLaw S) + (hInitial : ∀ s, 0 < initial s) (hFinal : ∀ s, 0 < final s) + (hKernel : ∀ a b, 0 < kernel a b) (hReverse : ∀ a b, 0 < reverse a b) + (n : ℕ) (path : Fin (n + 1) → S) : + pathwiseEntropyProduction + (markovPathProtocol kernel initial reverse final n) path = + Real.log (initial (path 0) / final (path (Fin.last n))) + + ∑ t : Fin n, Real.log + (kernel (path t.castSucc) (path t.succ) / + reverse (path t.succ) (path t.castSucc)) := by + have hRatio : pathRatio (markovPathProtocol kernel initial reverse final n) + path = (initial (path 0) / final (path (Fin.last n))) * + ∏ t : Fin n, (kernel (path t.castSucc) (path t.succ) / + reverse (path t.succ) (path t.castSucc)) := by + change markovPathMass kernel initial n path / + markovReverseMass reverse final n path = _ + unfold markovPathMass markovReverseMass + rw [Finset.prod_div_distrib, mul_div_mul_comm] + unfold pathwiseEntropyProduction + rw [hRatio, Real.log_mul (div_pos (hInitial _) (hFinal _)).ne' + (Finset.prod_pos fun _ _ => div_pos (hKernel _ _) (hReverse _ _)).ne', + Real.log_prod fun _ _ => (div_pos (hKernel _ _) (hReverse _ _)).ne'] + +/-- Path KL splits into the boundary term plus the sum of expected stage log +ratios, for every horizon `n`. -/ +theorem entropyProduction_markov_decomposition + (kernel reverse : FiniteKernel S S) (initial final : FiniteLaw S) + (hInitial : ∀ s, 0 < initial s) (hFinal : ∀ s, 0 < final s) + (hKernel : ∀ a b, 0 < kernel a b) (hReverse : ∀ a b, 0 < reverse a b) + (n : ℕ) : + entropyProduction (markovPathProtocol kernel initial reverse final n) = + (∑ path : Fin (n + 1) → S, markovPathLaw kernel initial n path * + Real.log (initial (path 0) / final (path (Fin.last n)))) + + ∑ t : Fin n, ∑ path : Fin (n + 1) → S, + markovPathLaw kernel initial n path * + Real.log (kernel (path t.castSucc) (path t.succ) / + reverse (path t.succ) (path t.castSucc)) := by + rw [entropyProduction_eq_expected_logRatio _ + (fun path => markovPathMass_pos kernel initial hInitial hKernel n path) + (fun path => by + change 0 < markovReverseMass reverse final n path + exact markovReverseMass_pos reverse final hFinal hReverse n path)] + have hPath : ∀ path : Fin (n + 1) → S, + (markovPathProtocol kernel initial reverse final n).forward path = + markovPathLaw kernel initial n path := fun _ => rfl + simp_rw [hPath, pathwiseEntropyProduction_markov kernel reverse initial final + hInitial hFinal hKernel hReverse, mul_add, Finset.mul_sum] + rw [Finset.sum_add_distrib, Finset.sum_comm (s := Finset.univ)] + +/-! ### One-step paths -/ + +/-- A two-point trajectory sums as a double sum over its endpoints. -/ +theorem sum_pathTwo (g : (Fin 2 → S) → ℝ) : + ∑ path : Fin 2 → S, g path = ∑ i : S, ∑ j : S, g ![i, j] := by + rw [← (finTwoArrowEquiv S).symm.sum_comp, Fintype.sum_prod_type] + rfl + +/-- One-step forward path mass is the joint mass `π₀ i K_{ij}`. -/ +theorem markovPathMass_one (kernel : FiniteKernel S S) (initial : FiniteLaw S) + (path : Fin 2 → S) : + markovPathMass kernel initial 1 path = initial (path 0) * kernel (path 0) (path 1) := by + simp [markovPathMass] + +/-- One-step aligned reverse mass is `ρ_j R_{ji}`. -/ +theorem markovReverseMass_one (reverse : FiniteKernel S S) (final : FiniteLaw S) + (path : Fin 2 → S) : + markovReverseMass reverse final 1 path = final (path 1) * reverse (path 1) (path 0) := by + simp [markovReverseMass] + +/-- One-step path KL as a double sum of joint-weighted log ratios. -/ +theorem entropyProduction_markov_oneStep + (kernel reverse : FiniteKernel S S) (initial final : FiniteLaw S) + (hInitial : ∀ s, 0 < initial s) (hFinal : ∀ s, 0 < final s) + (hKernel : ∀ a b, 0 < kernel a b) (hReverse : ∀ a b, 0 < reverse a b) : + entropyProduction (markovPathProtocol kernel initial reverse final 1) = + ∑ i : S, ∑ j : S, initial i * kernel i j * + Real.log (initial i * kernel i j / (final j * reverse j i)) := by + rw [entropyProduction_eq_expected_logRatio _ + (fun path => markovPathMass_pos kernel initial hInitial hKernel 1 path) + (fun path => by + change 0 < markovReverseMass reverse final 1 path + exact markovReverseMass_pos reverse final hFinal hReverse 1 path), + sum_pathTwo] + apply Finset.sum_congr rfl + intro i _ + apply Finset.sum_congr rfl + intro j _ + change markovPathMass kernel initial 1 ![i, j] * + Real.log (markovPathMass kernel initial 1 ![i, j] / + markovReverseMass reverse final 1 ![i, j]) = _ + rw [markovPathMass_one, markovReverseMass_one] + simp + +/-- One-step path KL as boundary entropy term plus the stage log-ratio sum. -/ +theorem entropyProduction_markov_oneStep_split + (kernel reverse : FiniteKernel S S) (initial final : FiniteLaw S) + (hInitial : ∀ s, 0 < initial s) (hFinal : ∀ s, 0 < final s) + (hKernel : ∀ a b, 0 < kernel a b) (hReverse : ∀ a b, 0 < reverse a b) : + entropyProduction (markovPathProtocol kernel initial reverse final 1) = + (∑ i : S, initial i * Real.log (initial i) - + ∑ j : S, kernel.predictive initial j * Real.log (final j)) + + ∑ i : S, ∑ j : S, initial i * kernel i j * + Real.log (kernel i j / reverse j i) := by + rw [entropyProduction_markov_oneStep kernel reverse initial final hInitial + hFinal hKernel hReverse] + have hTerm : ∀ i j : S, initial i * kernel i j * + Real.log (initial i * kernel i j / (final j * reverse j i)) = + (initial i * kernel i j * Real.log (initial i) - + initial i * kernel i j * Real.log (final j)) + + initial i * kernel i j * Real.log (kernel i j / reverse j i) := by + intro i j + have hI := (hInitial i).ne' + have hF := (hFinal j).ne' + have hK := (hKernel i j).ne' + have hR := (hReverse j i).ne' + rw [Real.log_div (mul_ne_zero hI hK) (mul_ne_zero hF hR), + Real.log_div hK hR, Real.log_mul hI hK, Real.log_mul hF hR] + ring + have hBoundaryStart : ∑ i : S, ∑ j : S, initial i * kernel i j * + Real.log (initial i) = ∑ i : S, initial i * Real.log (initial i) := by + apply Finset.sum_congr rfl + intro i _ + calc + ∑ j : S, initial i * kernel i j * Real.log (initial i) = + (initial i * ∑ j : S, kernel i j) * Real.log (initial i) := by + rw [Finset.mul_sum, Finset.sum_mul] + _ = initial i * Real.log (initial i) := by rw [kernel.sum_one, mul_one] + have hBoundaryEnd : ∑ i : S, ∑ j : S, initial i * kernel i j * + Real.log (final j) = + ∑ j : S, kernel.predictive initial j * Real.log (final j) := by + rw [Finset.sum_comm] + apply Finset.sum_congr rfl + intro j _ + rw [FiniteKernel.predictive_mass, Finset.sum_mul] + simp_rw [hTerm, Finset.sum_add_distrib, Finset.sum_sub_distrib] + rw [hBoundaryStart, hBoundaryEnd] + +/-! ### Stationary one-step production and detailed balance -/ + +/-- Stationary Schnakenberg form: when both path endpoints carry the same +supported law `π`, one-step path KL against the same kernel run on the +reversed trajectory is `∑ π_i K_ij log (π_i K_ij / (π_j K_ji))`. -/ +theorem entropyProduction_markov_schnakenberg + (kernel : FiniteKernel S S) (law : FiniteLaw S) + (hLaw : ∀ s, 0 < law s) (hKernel : ∀ a b, 0 < kernel a b) : + entropyProduction (markovPathProtocol kernel law kernel law 1) = + ∑ i : S, ∑ j : S, law i * kernel i j * + Real.log (law i * kernel i j / (law j * kernel j i)) := + entropyProduction_markov_oneStep kernel kernel law law hLaw hLaw hKernel + hKernel + +/-- The Schnakenberg form is the `localAffinity`-weighted probability flux. -/ +theorem entropyProduction_markov_eq_localAffinity + (kernel : FiniteKernel S S) (law : FiniteLaw S) + (hLaw : ∀ s, 0 < law s) (hKernel : ∀ a b, 0 < kernel a b) : + entropyProduction (markovPathProtocol kernel law kernel law 1) = + ∑ i : S, ∑ j : S, law i * kernel i j * localAffinity law kernel i j := + entropyProduction_markov_schnakenberg kernel law hLaw hKernel + +/-- For an invariant supported law the boundary entropy term vanishes, leaving +only the stage log-ratio sum `∑ π_i K_ij log (K_ij / K_ji)`. -/ +theorem entropyProduction_markov_stationary + (kernel : FiniteKernel S S) (law : FiniteLaw S) + (hLaw : ∀ s, 0 < law s) (hKernel : ∀ a b, 0 < kernel a b) + (hInvariant : IsInvariant law kernel) : + entropyProduction (markovPathProtocol kernel law kernel law 1) = + ∑ i : S, ∑ j : S, law i * kernel i j * + Real.log (kernel i j / kernel j i) := by + rw [entropyProduction_markov_oneStep_split kernel kernel law law hLaw hLaw + hKernel hKernel] + have hInv : kernel.predictive law = law := hInvariant + rw [hInv, sub_self, zero_add] + +/-- Under detailed balance the forward and reversed one-step path laws agree. -/ +theorem markovPathLaw_eq_reverse_of_reversible + (kernel : FiniteKernel S S) (law : FiniteLaw S) + (hReversible : IsReversible law kernel) : + markovPathLaw kernel law 1 = markovReversePathLaw kernel law 1 := by + apply FiniteLaw.ext_mass + funext path + change markovPathMass kernel law 1 path = markovReverseMass kernel law 1 path + rw [markovPathMass_one, markovReverseMass_one] + exact hReversible (path 0) (path 1) + +/-- Detailed balance gives exactly zero one-step path entropy production, with +no support hypothesis. -/ +theorem entropyProduction_markov_reversible_zero + (kernel : FiniteKernel S S) (law : FiniteLaw S) + (hReversible : IsReversible law kernel) : + entropyProduction (markovPathProtocol kernel law kernel law 1) = 0 := by + unfold entropyProduction + change finiteKL (markovPathLaw kernel law 1) + (markovReversePathLaw kernel law 1) = 0 + rw [markovPathLaw_eq_reverse_of_reversible kernel law hReversible] + exact finiteKL_self _ + +/-- Detailed balance cancels every local affinity (zero numerator/denominator +ratio is `1`, or the totalized `0` at a zero edge). -/ +theorem localAffinity_zero_of_reversible + (kernel : FiniteKernel S S) (law : FiniteLaw S) + (hReversible : IsReversible law kernel) (source target : S) : + localAffinity law kernel source target = 0 := by + unfold localAffinity + rw [hReversible source target] + by_cases h : law target * kernel target source = 0 + · simp [h] + · rw [div_self h, Real.log_one] + +/-! ### Bayesian time-reversed kernel -/ + +/-- Time-reversed kernel of a chain against a supported invariant law: +`K†_{ab} = π_b K_{ba} / π_a`. -/ +noncomputable def reversedKernel (law : FiniteLaw S) (kernel : FiniteKernel S S) + (hLaw : ∀ s, 0 < law s) (hInvariant : IsInvariant law kernel) : + FiniteKernel S S where + mass a b := law b * kernel b a / law a + nonneg a b := div_nonneg (mul_nonneg (law.nonneg b) (kernel.nonneg b a)) (hLaw a).le + sum_one a := by + have hInv : kernel.predictive law a = law a := by + rw [show kernel.predictive law = law from hInvariant] + rw [FiniteKernel.predictive_mass] at hInv + rw [← Finset.sum_div, hInv] + exact div_self (hLaw a).ne' + +/-- The reversed kernel satisfies detailed balance against the original. -/ +theorem reversedKernel_detailedBalance (law : FiniteLaw S) + (kernel : FiniteKernel S S) (hLaw : ∀ s, 0 < law s) + (hInvariant : IsInvariant law kernel) (a b : S) : + law a * reversedKernel law kernel hLaw hInvariant a b = + law b * kernel b a := by + change law a * (law b * kernel b a / law a) = _ + field_simp [(hLaw a).ne'] + +/-- Detailed balance makes the reversed kernel the kernel itself. -/ +theorem reversedKernel_eq_of_reversible (law : FiniteLaw S) + (kernel : FiniteKernel S S) (hLaw : ∀ s, 0 < law s) + (hReversible : IsReversible law kernel) : + reversedKernel law kernel hLaw (isInvariant_of_isReversible law kernel hReversible) = + kernel := by + apply FiniteKernel.ext_mass + funext a b + change law b * kernel b a / law a = kernel a b + rw [div_eq_iff (hLaw a).ne', ← hReversible a b] + ring + +/-- Telescoping of stage ratios of a positive function along a trajectory. -/ +theorem prod_stage_ratio_telescope (n : ℕ) (f : Fin (n + 1) → ℝ) + (hf : ∀ i, f i ≠ 0) : + ∏ t : Fin n, f t.castSucc / f t.succ = f 0 / f (Fin.last n) := by + induction n with + | zero => simp [div_self (hf 0)] + | succ n ih => + rw [Fin.prod_univ_castSucc] + have hIh := ih (fun i => f i.castSucc) (fun i => hf _) + simp only [Fin.succ_castSucc] at hIh ⊢ + rw [hIh] + simp only [Fin.castSucc_zero, Fin.succ_last] + have h1 := hf (Fin.last n).castSucc + have h2 := hf (Fin.last (n + 1)) + field_simp + +/-- Stationary time-reversal duality for every horizon: the chain driven by the +reversed kernel and started from `π`, read backwards, has exactly the forward +path mass of the original chain started from `π`. -/ +theorem markovReverseMass_reversedKernel (law : FiniteLaw S) + (kernel : FiniteKernel S S) (hLaw : ∀ s, 0 < law s) + (hInvariant : IsInvariant law kernel) (n : ℕ) (path : Fin (n + 1) → S) : + markovReverseMass (reversedKernel law kernel hLaw hInvariant) law n path = + markovPathMass kernel law n path := by + have hStage : ∀ t : Fin n, + reversedKernel law kernel hLaw hInvariant (path t.succ) (path t.castSucc) = + (law (path t.castSucc) / law (path t.succ)) * + kernel (path t.castSucc) (path t.succ) := by + intro t + change law (path t.castSucc) * kernel (path t.castSucc) (path t.succ) / + law (path t.succ) = _ + ring + unfold markovReverseMass markovPathMass + rw [Finset.prod_congr rfl (fun t _ => hStage t), Finset.prod_mul_distrib, + prod_stage_ratio_telescope n (fun i => law (path i)) (fun i => (hLaw _).ne')] + have hLast := (hLaw (path (Fin.last n))).ne' + field_simp + +/-- Under invariance the reversed-kernel chain reproduces the forward path law. -/ +theorem markovReversePathLaw_reversedKernel (law : FiniteLaw S) + (kernel : FiniteKernel S S) (hLaw : ∀ s, 0 < law s) + (hInvariant : IsInvariant law kernel) (n : ℕ) : + markovReversePathLaw (reversedKernel law kernel hLaw hInvariant) law n = + markovPathLaw kernel law n := by + apply FiniteLaw.ext_mass + funext path + exact markovReverseMass_reversedKernel law kernel hLaw hInvariant n path + +/-- The Bayesian time reversal of a stationary chain has zero path entropy +production against the chain itself: reversal by `K†` is the identity on laws. -/ +theorem entropyProduction_markov_reversedKernel_zero (law : FiniteLaw S) + (kernel : FiniteKernel S S) (hLaw : ∀ s, 0 < law s) + (hInvariant : IsInvariant law kernel) (n : ℕ) : + entropyProduction (markovPathProtocol kernel law + (reversedKernel law kernel hLaw hInvariant) law n) = 0 := by + unfold entropyProduction + change finiteKL (markovPathLaw kernel law n) + (markovReversePathLaw (reversedKernel law kernel hLaw hInvariant) law n) = 0 + rw [markovReversePathLaw_reversedKernel] + exact finiteKL_self _ + +end MarkovPaths + +/-! ## Irreversible three-state stationary chain -/ + +/-- Full-support biased three-cycle: stay or step back with mass `1/4`, step +forward with mass `1/2`. -/ +noncomputable def biasedCycleKernel : FiniteKernel (Fin 3) (Fin 3) where + mass := ![![1 / 4, 1 / 2, 1 / 4], ![1 / 4, 1 / 4, 1 / 2], + ![1 / 2, 1 / 4, 1 / 4]] + nonneg i j := by fin_cases i <;> fin_cases j <;> norm_num + sum_one i := by + fin_cases i <;> norm_num [Fin.sum_univ_succ] + +/-- The biased cycle is strictly positive. -/ +theorem biasedCycleKernel_pos (i j : Fin 3) : 0 < biasedCycleKernel i j := by + fin_cases i <;> fin_cases j <;> norm_num [biasedCycleKernel] + +/-- The uniform law is invariant for the doubly stochastic biased cycle. -/ +theorem biasedCycle_invariant : + IsInvariant (FiniteLaw.uniform : FiniteLaw (Fin 3)) biasedCycleKernel := by + apply FiniteLaw.ext_mass + funext j + rw [FiniteKernel.predictive_mass] + fin_cases j <;> + norm_num [biasedCycleKernel, FiniteLaw.uniform, Fin.sum_univ_succ] + +/-- The biased cycle violates detailed balance against its stationary law. -/ +theorem biasedCycle_not_reversible : + ¬ IsReversible (FiniteLaw.uniform : FiniteLaw (Fin 3)) biasedCycleKernel := by + intro hReversible + have h := hReversible 0 1 + norm_num [biasedCycleKernel, FiniteLaw.uniform] at h + +/-- Exact stationary one-step entropy production of the biased cycle: +`(1/4) log 2`. -/ +theorem biasedCycle_entropyProduction : + entropyProduction (markovPathProtocol biasedCycleKernel + FiniteLaw.uniform biasedCycleKernel FiniteLaw.uniform 1) = + Real.log 2 / 4 := by + rw [entropyProduction_markov_stationary biasedCycleKernel FiniteLaw.uniform + (fun _ => by simp [FiniteLaw.uniform]) biasedCycleKernel_pos + biasedCycle_invariant] + norm_num [Fin.sum_univ_succ, biasedCycleKernel, FiniteLaw.uniform] + have hHalf : Real.log (1 / 2 : ℝ) = -Real.log 2 := by + rw [one_div, Real.log_inv] + rw [hHalf] + ring + +/-- The biased cycle has strictly positive stationary entropy production. -/ +theorem biasedCycle_entropyProduction_pos : + 0 < entropyProduction (markovPathProtocol biasedCycleKernel + FiniteLaw.uniform biasedCycleKernel FiniteLaw.uniform 1) := by + rw [biasedCycle_entropyProduction] + have := Real.log_pos (by norm_num : (1 : ℝ) < 2) + linarith + end FEP.PathThermodynamics diff --git a/src/fep_lean/formal/predictive_coding.lean b/src/fep_lean/formal/predictive_coding.lean index 6d2b888f..54557e9c 100644 --- a/src/fep_lean/formal/predictive_coding.lean +++ b/src/fep_lean/formal/predictive_coding.lean @@ -3,8 +3,13 @@ import Mathlib.Algebra.Order.Ring.Basic import Mathlib.Analysis.Calculus.Deriv.Add import Mathlib.Analysis.Calculus.Deriv.Mul import Mathlib.Analysis.Calculus.Deriv.Pow +import Mathlib.Analysis.Calculus.IteratedDeriv.Defs +import Mathlib.Analysis.SpecialFunctions.ExpDeriv import Mathlib.Basic.Real.Basic +import Mathlib.Analysis.Convex.SpecificFunctions.Basic +import Mathlib.Analysis.SpecialFunctions.Log.Deriv import Mathlib.Order.Filter.Tendsto +import Mathlib.Probability.Distributions.Gaussian.Real import Mathlib.Topology.Algebra.Monoid import Mathlib.Tactic @@ -167,6 +172,75 @@ theorem shift_top_zero {order : ℕ} (jet : FiniteJet order) : change jet.coefficient (order + 1) = 0 exact jet.truncated (order + 1) (by omega) +/-- The order-`order` jet of `f` at `t`: coordinate `k` is the `k`-th iterated +derivative `iteratedDeriv k f t` for `k ≤ order` and zero above the truncation. -/ +noncomputable def functionJet (order : ℕ) (f : ℝ → ℝ) (t : ℝ) : FiniteJet order where + coefficient k := if k ≤ order then iteratedDeriv k f t else 0 + truncated degree hDegree := by + simp [show ¬ degree ≤ order by omega] + +theorem functionJet_coefficient_of_le {order : ℕ} (f : ℝ → ℝ) (t : ℝ) {k : ℕ} + (hk : k ≤ order) : + (functionJet order f t).coefficient k = iteratedDeriv k f t := by + simp [functionJet, hk] + +/-- The one-step shift of the jet of `f` is the jet of `deriv f` on every +coordinate strictly below the truncation order: the shift realises +differentiation. -/ +theorem shift_one_functionJet {order : ℕ} (f : ℝ → ℝ) (t : ℝ) {k : ℕ} + (hk : k < order) : + (shift 1 (functionJet order f t)).coefficient k = + (functionJet order (deriv f) t).coefficient k := by + rw [shift_coefficient, functionJet_coefficient_of_le f t (by omega), + functionJet_coefficient_of_le (deriv f) t (by omega), iteratedDeriv_succ'] + +/-- The `m`-fold shift of the jet of `f` is the jet of the `m`-th iterated +derivative on every coordinate `k` with `k + m ≤ order`. -/ +theorem shift_functionJet {order : ℕ} (m : ℕ) (f : ℝ → ℝ) (t : ℝ) {k : ℕ} + (hk : k + m ≤ order) : + (shift m (functionJet order f t)).coefficient k = + (functionJet order (iteratedDeriv m f) t).coefficient k := by + rw [shift_coefficient, functionJet_coefficient_of_le f t hk, + functionJet_coefficient_of_le (iteratedDeriv m f) t (by omega), + iteratedDeriv_eq_iterate, iteratedDeriv_eq_iterate, iteratedDeriv_eq_iterate, + Function.iterate_add_apply] + +/-- The `(m + 1)`-fold shift is the one-step shift of the `m`-fold shift +(semigroup law via `shift_add`). -/ +theorem shift_functionJet_succ {order : ℕ} (m : ℕ) (f : ℝ → ℝ) (t : ℝ) (k : ℕ) : + (shift (m + 1) (functionJet order f t)).coefficient k = + (shift 1 (shift m (functionJet order f t))).coefficient k := by + rw [show m + 1 = 1 + m from Nat.add_comm m 1, shift_add] + +/-- Truncation boundary: the top coordinate of the shifted jet is zero, while +the jet of `deriv f` keeps the genuine `(order + 1)`-th derivative there. -/ +theorem shift_one_functionJet_top {order : ℕ} (f : ℝ → ℝ) (t : ℝ) : + (shift 1 (functionJet order f t)).coefficient order = 0 ∧ + (functionJet order (deriv f) t).coefficient order = + iteratedDeriv (order + 1) f t := by + refine ⟨shift_top_zero _, ?_⟩ + rw [functionJet_coefficient_of_le (deriv f) t le_rfl, iteratedDeriv_succ'] + +theorem iteratedDeriv_exp_eq (k : ℕ) (t : ℝ) : iteratedDeriv k Real.exp t = Real.exp t := by + induction k generalizing t with + | zero => simp + | succ k ih => + rw [iteratedDeriv_succ', Real.deriv_exp] + exact ih t + +/-- Nonvacuous witness: every retained coordinate of the exponential jet is +`exp t ≠ 0`, and the shift agrees with the jet of the derivative (again `exp`) +below the truncation order while the top coordinate of the shift is zero. -/ +theorem exp_jet_shift_witness (order : ℕ) (t : ℝ) : + (∀ k, k ≤ order → (functionJet order Real.exp t).coefficient k ≠ 0) ∧ + (∀ k, k < order → + (shift 1 (functionJet order Real.exp t)).coefficient k = + (functionJet order (deriv Real.exp) t).coefficient k) ∧ + (shift 1 (functionJet order Real.exp t)).coefficient order = 0 := by + refine ⟨fun k hk => ?_, fun k hk => shift_one_functionJet _ t hk, shift_top_zero _⟩ + rw [functionJet_coefficient_of_le _ t hk, iteratedDeriv_exp_eq] + exact (Real.exp_pos t).ne' + /-- A concrete first-order jet with value and velocity coefficients. -/ def firstOrderJet (value velocity : ℝ) : FiniteJet 1 where coefficient degree := @@ -398,4 +472,168 @@ theorem halfStep_energy_witness : precisionEnergy 2 1 (predictionUpdate (1 / 2) 1 0) = 1 / 4 := by norm_num [precisionEnergy, predictionError, predictionUpdate] +/-! ## Precision as inference -/ + +/-- Scalar free energy of a precision `precision` given a fixed prediction +error `error`: `precision/2 * error² - log(precision)/2`. The log term is the +Gaussian normaliser that makes precision an inferred quantity rather than a +free weight. -/ +noncomputable def precisionFreeEnergy (error precision : ℝ) : ℝ := + precision * error ^ 2 / 2 - Real.log precision / 2 + +/-- Exact gap to the candidate optimum `1/error²`. -/ +theorem precisionFreeEnergy_sub_opt {error : ℝ} (hError : error ≠ 0) + {precision : ℝ} (hPrecision : 0 < precision) : + precisionFreeEnergy error precision - precisionFreeEnergy error (1 / error ^ 2) = + (error ^ 2 * precision - 1 - Real.log (error ^ 2 * precision)) / 2 := by + have hE : 0 < error ^ 2 := by positivity + have hLog : Real.log (error ^ 2 * precision) = + Real.log (error ^ 2) + Real.log precision := + Real.log_mul hE.ne' hPrecision.ne' + have hInv : Real.log (1 / error ^ 2) = -Real.log (error ^ 2) := by + rw [one_div, Real.log_inv] + rw [precisionFreeEnergy, precisionFreeEnergy, hInv, hLog] + field_simp + ring + +/-- The free energy is minimised at `1/error²`. -/ +theorem precisionFreeEnergy_min {error : ℝ} (hError : error ≠ 0) + {precision : ℝ} (hPrecision : 0 < precision) : + precisionFreeEnergy error (1 / error ^ 2) ≤ + precisionFreeEnergy error precision := by + have hE : 0 < error ^ 2 := by positivity + have hGap := precisionFreeEnergy_sub_opt hError hPrecision + have hLe := Real.log_le_sub_one_of_pos (mul_pos hE hPrecision) + linarith + +/-- The minimiser `1/error²` is unique. -/ +theorem precisionFreeEnergy_eq_iff {error : ℝ} (hError : error ≠ 0) + {precision : ℝ} (hPrecision : 0 < precision) : + precisionFreeEnergy error precision = + precisionFreeEnergy error (1 / error ^ 2) ↔ + precision = 1 / error ^ 2 := by + have hE : 0 < error ^ 2 := by positivity + have hGap := precisionFreeEnergy_sub_opt hError hPrecision + have hX : 0 < error ^ 2 * precision := mul_pos hE hPrecision + constructor + · intro hEq + by_contra hNe + have hX1 : error ^ 2 * precision ≠ 1 := by + intro h + apply hNe + field_simp + linarith + have := Real.log_lt_sub_one_of_pos hX hX1 + linarith + · intro h + rw [h] + +/-- Derivative of the precision free energy in the precision. -/ +theorem precisionFreeEnergy_hasDerivAt (error : ℝ) {precision : ℝ} + (hPrecision : 0 < precision) : + HasDerivAt (precisionFreeEnergy error) + (error ^ 2 / 2 - 1 / (2 * precision)) precision := by + have h1 : HasDerivAt (fun p : ℝ => p * error ^ 2 / 2) (error ^ 2 / 2) precision := by + simpa using ((hasDerivAt_id precision).mul_const (error ^ 2)).div_const 2 + have h2 := (Real.hasDerivAt_log hPrecision.ne').div_const 2 + have h3 := h1.sub h2 + have hF : precisionFreeEnergy error = + (fun p : ℝ => p * error ^ 2 / 2) - fun x => Real.log x / 2 := by + funext p + simp [precisionFreeEnergy] + rw [hF] + convert h3 using 1 + field_simp + +/-- The free energy is strictly convex on positive precisions. -/ +theorem precisionFreeEnergy_strictConvexOn (error : ℝ) : + StrictConvexOn ℝ (Set.Ioi 0) (precisionFreeEnergy error) := by + refine ⟨convex_Ioi 0, fun x hx y hy hxy a b ha hb hab => ?_⟩ + have hLog := strictConcaveOn_log_Ioi.2 hx hy hxy ha hb hab + simp only [smul_eq_mul, precisionFreeEnergy] at hLog ⊢ + nlinarith [hLog] + +/-- Boundary case: with zero prediction error no precision is optimal; the +free energy is unbounded below as precision grows. -/ +theorem precisionFreeEnergy_zero_error_unbounded (M : ℝ) : + ∃ precision : ℝ, 0 < precision ∧ precisionFreeEnergy 0 precision < M := by + refine ⟨Real.exp (-2 * M + 2), Real.exp_pos _, ?_⟩ + rw [precisionFreeEnergy, Real.log_exp] + linarith + +/-! ## Linear-Gaussian chain: energy equals negative log-density -/ + +/-- Chain energy: precision-weighted errors minus half the log-precisions. -/ +noncomputable def gaussianChainEnergy {Level : Type*} [Fintype Level] + (precision error : Level → ℝ) : ℝ := + hierarchicalEnergy precision error - (∑ level, Real.log (precision level)) / 2 + +/-- One Gaussian factor: `-log N(x; μ, v)` is the precision-form energy plus +`log(2π)/2`, with precision `1/v`. -/ +theorem neg_log_gaussianPDFReal (mean x : ℝ) {variance : NNReal} + (hVariance : variance ≠ 0) : + -Real.log (ProbabilityTheory.gaussianPDFReal mean variance x) = + (1 / (variance : ℝ)) / 2 * (x - mean) ^ 2 + - Real.log (1 / (variance : ℝ)) / 2 + Real.log (2 * Real.pi) / 2 := by + have hV : 0 < (variance : ℝ) := by + exact_mod_cast pos_iff_ne_zero.mpr hVariance + have hPi := Real.pi_pos + have hArg : 0 < 2 * Real.pi * (variance : ℝ) := by positivity + have hSqrt : 0 < √(2 * Real.pi * (variance : ℝ)) := Real.sqrt_pos.mpr hArg + rw [ProbabilityTheory.gaussianPDFReal, Real.log_mul (inv_ne_zero hSqrt.ne') + (Real.exp_pos _).ne', Real.log_inv, Real.log_exp, Real.log_sqrt hArg.le, + Real.log_mul (by positivity) hV.ne', one_div, Real.log_inv] + field_simp + ring + +/-- A hierarchy of independent Gaussian conditionals (explicit means and +variances per level, observed values `x`): the chain energy equals the +negative log of the product of Gaussian densities up to `n/2 · log(2π)`. -/ +theorem gaussianChainEnergy_eq_neg_log_prod + {Level : Type*} [Fintype Level] + (mean x : Level → ℝ) (variance : Level → NNReal) + (hVariance : ∀ level, variance level ≠ 0) : + -Real.log (∏ level, ProbabilityTheory.gaussianPDFReal + (mean level) (variance level) (x level)) = + gaussianChainEnergy (fun level => 1 / (variance level : ℝ)) + (fun level => x level - mean level) + + (Fintype.card Level : ℝ) / 2 * Real.log (2 * Real.pi) := by + have hNe : ∀ level ∈ (Finset.univ : Finset Level), + ProbabilityTheory.gaussianPDFReal (mean level) (variance level) (x level) ≠ 0 := + fun level _ => (ProbabilityTheory.gaussianPDFReal_pos _ _ _ (hVariance level)).ne' + rw [Real.log_prod hNe, ← Finset.sum_neg_distrib] + simp_rw [neg_log_gaussianPDFReal _ _ (hVariance _)] + rw [gaussianChainEnergy, hierarchicalEnergy, Finset.sum_add_distrib, + Finset.sum_sub_distrib, ← Finset.sum_div, ← Finset.sum_div] + simp [Finset.sum_const, Finset.card_univ] + ring + +/-- Two-level instance with explicit means and variances. -/ +theorem gaussianChain_twoLevel + (mean x : Fin 2 → ℝ) (variance : Fin 2 → NNReal) + (hVariance : ∀ level, variance level ≠ 0) : + -Real.log (ProbabilityTheory.gaussianPDFReal (mean 0) (variance 0) (x 0) * + ProbabilityTheory.gaussianPDFReal (mean 1) (variance 1) (x 1)) = + gaussianChainEnergy (fun level => 1 / (variance level : ℝ)) + (fun level => x level - mean level) + Real.log (2 * Real.pi) := by + have := gaussianChainEnergy_eq_neg_log_prod mean x variance hVariance + rw [Fin.prod_univ_two] at this + rw [this] + simp + +/-- Numeric witness consistent with `twoLevel_energy_witness`: precisions +`2, 4` (variances `1/2, 1/4`) and errors `3, 1` give hierarchical energy `11` +and chain energy `11 - (3/2) log 2`. -/ +theorem twoLevel_chain_energy_witness : + gaussianChainEnergy + (fun level : Fin 2 => if level = 0 then 2 else 4) + (fun level : Fin 2 => if level = 0 then 3 else 1) = + 11 - 3 / 2 * Real.log 2 := by + have h4 : Real.log 4 = 2 * Real.log 2 := by + rw [show (4 : ℝ) = 2 ^ 2 by norm_num, Real.log_pow]; norm_num + rw [gaussianChainEnergy, twoLevelEnergy_witness] + simp [Fin.sum_univ_two, h4] + ring + + end FEP.PredictiveCoding diff --git a/src/fep_lean/formal/variational_duality.lean b/src/fep_lean/formal/variational_duality.lean index 650267b4..61cb30df 100644 --- a/src/fep_lean/formal/variational_duality.lean +++ b/src/fep_lean/formal/variational_duality.lean @@ -1207,4 +1207,289 @@ theorem boolZeroBudget_unique_feasible (joint : FiniteLaw (Bool × Bool)) rcases xy with ⟨x, y⟩ cases x <;> cases y <;> simp [boolZeroDistortionJoint, htf, hft, htt, hff] +/-! ## Gibbs maximum entropy under a mean-energy constraint -/ + +/-- Unnormalized partition function `Z(β) = ∑ exp(-β E)`. -/ +noncomputable def energyPartition (E : α → ℝ) (β : ℝ) : ℝ := + ∑ x, Real.exp (-β * E x) + +/-- The energy partition function is strictly positive. -/ +theorem energyPartition_pos [Nonempty α] (E : α → ℝ) (β : ℝ) : + 0 < energyPartition E β := + Finset.sum_pos (fun _ _ => Real.exp_pos _) Finset.univ_nonempty + +/-- The Gibbs law `p_β(x) = exp(-β E x) / Z(β)`. -/ +noncomputable def energyGibbsLaw [Nonempty α] (E : α → ℝ) (β : ℝ) : + FiniteLaw α where + mass x := Real.exp (-β * E x) / energyPartition E β + nonneg x := div_nonneg (Real.exp_pos _).le (energyPartition_pos E β).le + sum_one := by + rw [← Finset.sum_div] + exact div_self (energyPartition_pos E β).ne' + +/-- Every atom of the Gibbs law is positive. -/ +theorem energyGibbsLaw_pos [Nonempty α] (E : α → ℝ) (β : ℝ) (x : α) : + 0 < energyGibbsLaw E β x := + div_pos (Real.exp_pos _) (energyPartition_pos E β) + +/-- Entropy decomposition against the Gibbs law: +`H(q) = β⟨E⟩_q + log Z - KL(q ‖ p_β)`. -/ +theorem entropy_eq_energy_add_logPartition_sub_kl [Nonempty α] + (E : α → ℝ) (β : ℝ) (q : FiniteLaw α) : + entropy q = β * expectation q E + Real.log (energyPartition E β) - + finiteKL q (energyGibbsLaw E β) := by + rw [finiteKL_eq_crossEntropy_sub_entropy q _ (energyGibbsLaw_pos E β)] + have hlog : ∀ x, -(q x) * Real.log (energyGibbsLaw E β x) = + q x * (β * E x) + q x * Real.log (energyPartition E β) := by + intro x + change -(q x) * Real.log (Real.exp (-β * E x) / energyPartition E β) = _ + rw [Real.log_div (Real.exp_pos _).ne' (energyPartition_pos E β).ne', + Real.log_exp] + ring + have hce : crossEntropy q (energyGibbsLaw E β) = + β * expectation q E + Real.log (energyPartition E β) := by + unfold crossEntropy expectation + rw [Finset.sum_congr rfl fun x _ => hlog x, Finset.sum_add_distrib, + ← Finset.sum_mul, q.sum_one, one_mul, Finset.mul_sum] + congr 1 + refine Finset.sum_congr rfl fun x _ => by ring + rw [hce] + ring + +/-- Gibbs maximum entropy: among all finite laws with the same mean energy as +`p_β`, the Gibbs law has maximal entropy, and uniquely so. -/ +theorem energyGibbs_maxEntropy [Nonempty α] (E : α → ℝ) (β : ℝ) + (q : FiniteLaw α) + (hq : expectation q E = expectation (energyGibbsLaw E β) E) : + entropy q ≤ entropy (energyGibbsLaw E β) ∧ + (entropy q = entropy (energyGibbsLaw E β) ↔ q = energyGibbsLaw E β) := by + have hq' := entropy_eq_energy_add_logPartition_sub_kl E β q + have hg := entropy_eq_energy_add_logPartition_sub_kl E β + (energyGibbsLaw E β) + rw [finiteKL_self] at hg + rw [hq] at hq' + refine ⟨?_, ?_⟩ + · linarith [finiteKL_nonneg q (energyGibbsLaw E β)] + · rw [← finiteKL_eq_zero_iff] + constructor <;> intro h <;> linarith + +/-- Strict form: a mean-energy-matched law different from `p_β` has strictly +smaller entropy. -/ +theorem energyGibbs_entropy_lt_of_ne [Nonempty α] (E : α → ℝ) (β : ℝ) + (q : FiniteLaw α) + (hq : expectation q E = expectation (energyGibbsLaw E β) E) + (hne : q ≠ energyGibbsLaw E β) : + entropy q < entropy (energyGibbsLaw E β) := + lt_of_le_of_ne (energyGibbs_maxEntropy E β q hq).1 + fun h => hne ((energyGibbs_maxEntropy E β q hq).2.mp h) + +/-- With the zero energy, the Gibbs law is uniform. -/ +theorem energyGibbsLaw_zero_energy [Nonempty α] (β : ℝ) : + energyGibbsLaw (fun _ : α => (0 : ℝ)) β = FiniteLaw.uniform := by + apply FiniteLaw.ext_mass + funext x + simp [energyGibbsLaw, energyPartition, FiniteLaw.uniform] + +/-- Strict constrained witness on `Bool`: with zero energy every law meets the +mean-energy constraint, and the biased law has entropy strictly below the +Gibbs (uniform) law. -/ +theorem boolBiased_entropy_lt_zeroEnergyGibbs (β : ℝ) : + entropy boolBiased < + entropy (energyGibbsLaw (fun _ : Bool => (0 : ℝ)) β) := by + have hne : boolBiased ≠ energyGibbsLaw (fun _ : Bool => (0 : ℝ)) β := by + rw [energyGibbsLaw_zero_energy] + intro h + have := congrArg (fun r : FiniteLaw Bool => r.mass true) h + simp [boolBiased, FiniteLaw.uniform] at this + norm_num at this + refine energyGibbs_entropy_lt_of_ne _ β boolBiased ?_ hne + simp [expectation] + +/-! ## Helmholtz free energy on finite laws + +For energies `E` and temperature `T > 0`, the Gibbs law `exp (-E/T) / Z(T)` +satisfies the exact Helmholtz decomposition +`⟨E⟩_q - T H(q) = F(T) + T KL(q ‖ p_T)` with `F(T) = -T log Z(T)`. This is a +finite-law identification of `F` with a variational free energy; it does not +alter the abstract `dF/dT = -S` statement for unspecified `U, S`. -/ + +/-- Partition function `Z(T) = ∑ exp (-E x / T)`. -/ +noncomputable def helmholtzPartition (E : α → ℝ) (T : ℝ) : ℝ := + ∑ x, Real.exp (-E x / T) + +/-- Helmholtz free energy `F(T) = -T log Z(T)`. -/ +noncomputable def helmholtzFreeEnergy (E : α → ℝ) (T : ℝ) : ℝ := + -T * Real.log (helmholtzPartition E T) + +theorem helmholtzPartition_pos [Nonempty α] (E : α → ℝ) (T : ℝ) : + 0 < helmholtzPartition E T := + Finset.sum_pos (fun _ _ => Real.exp_pos _) Finset.univ_nonempty + +/-- Gibbs law with mass `exp (-E x / T) / Z(T)`. -/ +noncomputable def helmholtzGibbsLaw [Nonempty α] (E : α → ℝ) (T : ℝ) : + FiniteLaw α where + mass x := Real.exp (-E x / T) / helmholtzPartition E T + nonneg x := div_nonneg (Real.exp_pos _).le (helmholtzPartition_pos E T).le + sum_one := by + rw [← Finset.sum_div] + exact div_self (helmholtzPartition_pos E T).ne' + +theorem helmholtzGibbsLaw_pos [Nonempty α] (E : α → ℝ) (T : ℝ) (x : α) : + 0 < helmholtzGibbsLaw E T x := + div_pos (Real.exp_pos _) (helmholtzPartition_pos E T) + +theorem log_helmholtzGibbsLaw [Nonempty α] (E : α → ℝ) (T : ℝ) (x : α) : + Real.log (helmholtzGibbsLaw E T x) = + -E x / T - Real.log (helmholtzPartition E T) := by + change Real.log (Real.exp (-E x / T) / helmholtzPartition E T) = _ + rw [Real.log_div (Real.exp_pos _).ne' (helmholtzPartition_pos E T).ne', + Real.log_exp] + +/-- Helmholtz decomposition: mean energy minus `T` times entropy equals the +free energy plus `T` times the KL divergence to the Gibbs law. -/ +theorem helmholtz_decomposition [Nonempty α] (E : α → ℝ) {T : ℝ} (hT : 0 < T) + (q : FiniteLaw α) : + expectation q E - T * entropy q = + helmholtzFreeEnergy E T + T * finiteKL q (helmholtzGibbsLaw E T) := by + rw [finiteKL_eq_crossEntropy_sub_entropy q _ (helmholtzGibbsLaw_pos E T)] + have hcross : crossEntropy q (helmholtzGibbsLaw E T) = + expectation q E / T + Real.log (helmholtzPartition E T) := by + unfold crossEntropy expectation + simp_rw [log_helmholtzGibbsLaw] + have h : ∀ x, -q x * (-E x / T - Real.log (helmholtzPartition E T)) = + q x * E x / T + q x * Real.log (helmholtzPartition E T) := by + intro x; ring + simp_rw [h] + rw [Finset.sum_add_distrib, ← Finset.sum_div, ← Finset.sum_mul, q.sum_one, + one_mul] + rw [hcross] + unfold helmholtzFreeEnergy + field_simp + ring + +/-- Variational characterisation: the Gibbs free energy lower-bounds the +variational free energy of every law. -/ +theorem helmholtzFreeEnergy_le [Nonempty α] (E : α → ℝ) {T : ℝ} (hT : 0 < T) + (q : FiniteLaw α) : + helmholtzFreeEnergy E T ≤ expectation q E - T * entropy q := by + rw [helmholtz_decomposition E hT q] + have := mul_nonneg hT.le (finiteKL_nonneg q (helmholtzGibbsLaw E T)) + linarith + +/-- Equality holds exactly at the Gibbs law. -/ +theorem helmholtzFreeEnergy_eq_iff [Nonempty α] (E : α → ℝ) {T : ℝ} + (hT : 0 < T) (q : FiniteLaw α) : + expectation q E - T * entropy q = helmholtzFreeEnergy E T ↔ + q = helmholtzGibbsLaw E T := by + rw [helmholtz_decomposition E hT q, ← finiteKL_eq_zero_iff] + constructor + · intro h + have : T * finiteKL q (helmholtzGibbsLaw E T) = 0 := by linarith + exact (mul_eq_zero.mp this).resolve_left hT.ne' + · intro h + rw [h, mul_zero, add_zero] + +/-- Strict inequality away from the Gibbs law. -/ +theorem helmholtzFreeEnergy_lt [Nonempty α] (E : α → ℝ) {T : ℝ} (hT : 0 < T) + (q : FiniteLaw α) (hq : q ≠ helmholtzGibbsLaw E T) : + helmholtzFreeEnergy E T < expectation q E - T * entropy q := by + refine lt_of_le_of_ne (helmholtzFreeEnergy_le E hT q) fun h => hq ?_ + exact (helmholtzFreeEnergy_eq_iff E hT q).mp h.symm + +/-- Entropy of the Gibbs law in terms of the energy-weighted Boltzmann sum. -/ +theorem entropy_helmholtzGibbsLaw [Nonempty α] (E : α → ℝ) {T : ℝ} + (hT : 0 < T) : + entropy (helmholtzGibbsLaw E T) = + (∑ x, Real.exp (-E x / T) * E x) / (T * helmholtzPartition E T) + + Real.log (helmholtzPartition E T) := by + have hZ := (helmholtzPartition_pos E T).ne' + have hterm : ∀ x, Real.negMulLog (helmholtzGibbsLaw E T x) = + Real.exp (-E x / T) * E x / (T * helmholtzPartition E T) + + Real.exp (-E x / T) / helmholtzPartition E T * + Real.log (helmholtzPartition E T) := by + intro x + rw [Real.negMulLog, log_helmholtzGibbsLaw] + change -(Real.exp (-E x / T) / helmholtzPartition E T) * _ = _ + field_simp + ring + unfold entropy + simp_rw [hterm] + rw [Finset.sum_add_distrib, ← Finset.sum_div, ← Finset.sum_mul, + ← Finset.sum_div] + have : (∑ x, Real.exp (-E x / T)) / helmholtzPartition E T = 1 := + div_self hZ + rw [this, one_mul] + +/-- Thermodynamic derivative: `dF/dT = -S(p_T)`. -/ +theorem hasDerivAt_helmholtzFreeEnergy [Nonempty α] (E : α → ℝ) {T : ℝ} + (hT : 0 < T) : + HasDerivAt (helmholtzFreeEnergy E) (-entropy (helmholtzGibbsLaw E T)) T := by + have hterm : ∀ x, HasDerivAt (fun t : ℝ => Real.exp (-E x / t)) + (Real.exp (-E x / T) * (E x / T ^ 2)) T := by + intro x + have h1 : HasDerivAt (fun t : ℝ => -E x / t) (E x / T ^ 2) T := by + have := (hasDerivAt_inv hT.ne').const_mul (-E x) + convert this using 1 + · funext t; simp [div_eq_mul_inv] + · field_simp + exact h1.exp + have hZ : HasDerivAt (helmholtzPartition E) + (∑ x, Real.exp (-E x / T) * (E x / T ^ 2)) T := by + have := HasDerivAt.fun_sum (u := Finset.univ) (fun x _ => hterm x) + convert this using 1 + funext t; simp [helmholtzPartition] + have hlog := hZ.log (helmholtzPartition_pos E T).ne' + have hF := (hasDerivAt_id T).neg.mul hlog + have hfun : helmholtzFreeEnergy E = + (-id) * fun y => Real.log (helmholtzPartition E y) := by + funext t; simp [helmholtzFreeEnergy] + rw [hfun] + refine hF.congr_deriv ?_ + have hZpos := helmholtzPartition_pos E T + rw [entropy_helmholtzGibbsLaw E hT] + simp only [id, Pi.neg_apply] + have : (∑ x, Real.exp (-E x / T) * (E x / T ^ 2)) = + (∑ x, Real.exp (-E x / T) * E x) / T ^ 2 := by + rw [Finset.sum_div] + exact Finset.sum_congr rfl fun x _ => by ring + rw [this] + field_simp + ring + +/-- Two-level energy: `0` on `false`, `1` on `true`. -/ +def helmholtzBoolEnergy : Bool → ℝ := fun b => if b then 1 else 0 + +theorem helmholtzPartition_bool (T : ℝ) : + helmholtzPartition helmholtzBoolEnergy T = Real.exp (-1 / T) + 1 := by + simp [helmholtzPartition, helmholtzBoolEnergy] + +/-- Non-vacuity: at every positive temperature the uniform (non-Gibbs) law on +the two-level system has strictly larger variational free energy than `F(T)`. -/ +theorem helmholtz_bool_uniform_gt {T : ℝ} (hT : 0 < T) : + helmholtzFreeEnergy helmholtzBoolEnergy T < + expectation (FiniteLaw.uniform : FiniteLaw Bool) helmholtzBoolEnergy - + T * entropy (FiniteLaw.uniform : FiniteLaw Bool) := by + apply helmholtzFreeEnergy_lt _ hT + intro h + have h0 := congrArg (fun p : FiniteLaw Bool => p.mass false) h + have hZ : helmholtzPartition helmholtzBoolEnergy T = Real.exp (-1 / T) + 1 := + helmholtzPartition_bool T + have hZpos := helmholtzPartition_pos helmholtzBoolEnergy T + simp only [FiniteLaw.uniform, helmholtzGibbsLaw, helmholtzBoolEnergy, + Fintype.card_bool] at h0 + rw [hZ] at h0 + simp only [Bool.false_eq_true, ↓reduceIte, neg_zero, zero_div, + Real.exp_zero] at h0 + have hpos : 0 < Real.exp (-1 / T) := Real.exp_pos _ + have h1 : Real.exp (-1 / T) = 1 := by + field_simp at h0 + push_cast at h0 + have e : -1 / T = -(1 / T) := by ring + rw [e] + linarith + have h2 := Real.exp_eq_one_iff _ |>.mp h1 + have : (0 : ℝ) < 1 / T := by positivity + have : -1 / T = -(1 / T) := by ring + linarith + end FEP.VariationalDuality diff --git a/tests/test_collective_learning_formalisms.py b/tests/test_collective_learning_formalisms.py index ef4a7daa..365ff1bb 100644 --- a/tests/test_collective_learning_formalisms.py +++ b/tests/test_collective_learning_formalisms.py @@ -68,6 +68,34 @@ class FamilyContract(TypedDict): "boolConsensus_nonzero_strict_witness", "coupledPotential_contracts", "coupledPotential_strict_descent", + "crossEntropy_linearPool_left", + "crossEntropy_self_eq_entropy", + "linearPool_kl_decomposition", + "linearPool_kl_minimal", + "linearPool_kl_unique_minimiser", + "logPoolNormalizer_pos", + "logPool_pos", + "log_logPool", + "logPool_kl_decomposition", + "logPool_kl_minimal", + "logPool_kl_unique_minimiser", + "valueSpread_nonneg", + "sub_le_valueSpread", + "mixStep_diff_le", + "valueSpread_mixStep_le", + "valueSpread_mixStep_lt", + "consensusMatrix2_nonneg", + "consensusMatrix2_row", + "consensusMatrix2_scrambling", + "mixStep_consensusMatrix2", + "consensus_spread_le_half", + "asymMatrix3_nonneg", + "asymMatrix3_row", + "asymMatrix3_scrambling", + "asymMatrix3_strict_contraction", + "identityMixing2_nonneg", + "identityMixing2_row", + "identityMixing2_no_contraction", ), "learning_theory": ( "subGaussian_empiricalMean_tail", diff --git a/tests/test_formal_foundations.py b/tests/test_formal_foundations.py index c5c9f0c3..a404644f 100644 --- a/tests/test_formal_foundations.py +++ b/tests/test_formal_foundations.py @@ -45,7 +45,7 @@ def test_formal_kernel_has_exact_manifested_declaration_closure() -> None: ) == ("FepSketches.composed",) assert Counter(owners.values()) == { "FepSketches.finite_probability": 19, - "FepSketches.finite_information": 25, + "FepSketches.finite_information": 31, "FepSketches.active_inference": 44, "FepSketches.gnn_denotation": 7, "FepSketches.gnn_denotation_continuous": 9, @@ -54,16 +54,16 @@ def test_formal_kernel_has_exact_manifested_declaration_closure() -> None: "FepSketches.information_geometry": 33, "FepSketches.statistical_convergence": 7, "FepSketches.measure_bayes": 12, - "FepSketches.variational_duality": 56, + "FepSketches.variational_duality": 74, "FepSketches.controlled_markov": 30, "FepSketches.temporal_inference": 34, "FepSketches.finite_markov_dynamics": 17, "FepSketches.causal_dynamics": 34, - "FepSketches.predictive_coding": 30, + "FepSketches.predictive_coding": 47, "FepSketches.ness_flow": 9, - "FepSketches.path_thermodynamics": 25, + "FepSketches.path_thermodynamics": 56, "FepSketches.geometric_optimization": 25, - "FepSketches.collective_inference": 13, + "FepSketches.collective_inference": 41, "FepSketches.learning_theory": 12, "FepSketches.empirical_risk": 17, "FepSketches.policy_tree": 13, @@ -80,7 +80,7 @@ def test_formal_kernel_has_exact_manifested_declaration_closure() -> None: "FepSketches.decision_risk": 25, "FepSketches.finite_posterior_learning": 13, "FepSketches.posterior_convergence": 26, - "FepSketches.compositions.core": 22, + "FepSketches.compositions.core": 26, "FepSketches.compositions.measure_variational": 14, "FepSketches.compositions.control_temporal": 14, "FepSketches.compositions.causal_predictive": 14, @@ -106,7 +106,7 @@ def test_formal_kernel_has_exact_manifested_declaration_closure() -> None: "FepSketches.compositions.perception_action_loop": 1, "FepSketches.compositions.bayesian_model_reduction": 1, "FepSketches.compositions.efe_time_scale_separation": 1, - "FepSketches.helmholtz_ao_ness": 26, + "FepSketches.helmholtz_ao_ness": 22, "FepSketches.geometric_mechanics": 37, "FepSketches.compositions.helmholtz_ao_ness": 2, "FepSketches.compositions.geometric_mechanics": 7, diff --git a/tests/test_formalism_catalogue_155.py b/tests/test_formalism_catalogue_155.py index 34d82d96..a048df44 100644 --- a/tests/test_formalism_catalogue_155.py +++ b/tests/test_formalism_catalogue_155.py @@ -71,6 +71,16 @@ "cap-standalone-efe-theorems", "cap-geometric-mechanics-solenoidal", } +# Reviewed derivational edges added after the 1.5 release (LEAN-8, issue 106). +# Edges are kept sorted by source, so a new edge from a released core topic +# lands inside the released prefix; excluding exactly these keys keeps every +# released edge row byte-identical under the historical digest. +NEW_EDGE_KEYS = { + ("fep-007", "formal", "fep-028"), + ("fep-029", "formal", "fep-104"), + ("fep-046", "formal", "fep-045"), + ("fep-050", "formal", "fep-049"), +} H1_0_FEP014_ASSUMPTION = ( "Self-divergence uses SigmaFinite; zero-characterization and the chain rule use " "finite measures; the chain rule additionally requires Markov kernels. The pin " @@ -265,7 +275,17 @@ def test_expansion_vii_preserves_released_rows_except_reviewed_deltas() -> None: == baseline["capabilities_digest"] ) assert ( - _length_prefixed_sha256([_canonical(row) for row in relations["edges"][:98]]) + _length_prefixed_sha256( + [ + _canonical(row) + for row in [ + edge + for edge in relations["edges"] + if (edge["source"], edge["kind"], edge["target"]) + not in NEW_EDGE_KEYS + ][:98] + ] + ) == baseline["edges_digest"] ) diff --git a/tests/test_formalism_relations.py b/tests/test_formalism_relations.py index 906f6559..a5e37a73 100644 --- a/tests/test_formalism_relations.py +++ b/tests/test_formalism_relations.py @@ -324,7 +324,7 @@ def test_shipped_graph_conserves_relation_and_capability_state() -> None: assert expansion_topic_ids <= theorem_witnessed_sources assert Counter(edge.kind for edge in graph.edges) == { - EdgeKind.FORMAL: 20, + EdgeKind.FORMAL: 24, EdgeKind.FORMAL_PAIRING: 118, EdgeKind.CONCEPTUAL: 8, } diff --git a/tests/test_mathematical_methods.py b/tests/test_mathematical_methods.py index dd46d107..8a47da49 100644 --- a/tests/test_mathematical_methods.py +++ b/tests/test_mathematical_methods.py @@ -45,7 +45,7 @@ def test_exact_statement_analysis_preserves_all_reviewed_contracts(packaged): data = packaged.as_dict() declarations = data["theorem_analysis"]["declarations"] - assert len(declarations) == 1953 + assert len(declarations) == 2053 assert "not a certified" not in data["theorem_analysis"]["analysis_boundary"] assert ( "neither a certified translation"